yoastseo
Version:
Yoast client-side content analysis
104 lines (103 loc) • 6.57 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _seoAssessor = _interopRequireDefault(require("../seoAssessor"));
var _IntroductionKeywordAssessment = _interopRequireDefault(require("../../assessments/seo/IntroductionKeywordAssessment.js"));
var _KeyphraseLengthAssessment = _interopRequireDefault(require("../../assessments/seo/KeyphraseLengthAssessment.js"));
var _KeywordDensityAssessment = _interopRequireDefault(require("../../assessments/seo/KeywordDensityAssessment.js"));
var _MetaDescriptionKeywordAssessment = _interopRequireDefault(require("../../assessments/seo/MetaDescriptionKeywordAssessment.js"));
var _TextCompetingLinksAssessment = _interopRequireDefault(require("../../assessments/seo/TextCompetingLinksAssessment.js"));
var _FunctionWordsInKeyphraseAssessment = _interopRequireDefault(require("../../assessments/seo/FunctionWordsInKeyphraseAssessment.js"));
var _KeyphraseInImageTextAssessment = _interopRequireDefault(require("../../assessments/seo/KeyphraseInImageTextAssessment.js"));
var _MetaDescriptionLengthAssessment = _interopRequireDefault(require("../../assessments/seo/MetaDescriptionLengthAssessment.js"));
var _SubHeadingsKeywordAssessment = _interopRequireDefault(require("../../assessments/seo/SubHeadingsKeywordAssessment.js"));
var _TextLengthAssessment = _interopRequireDefault(require("../../assessments/seo/TextLengthAssessment.js"));
var _KeyphraseInSEOTitleAssessment = _interopRequireDefault(require("../../assessments/seo/KeyphraseInSEOTitleAssessment.js"));
var _PageTitleWidthAssessment = _interopRequireDefault(require("../../assessments/seo/PageTitleWidthAssessment.js"));
var _UrlKeywordAssessment = _interopRequireDefault(require("../../assessments/seo/UrlKeywordAssessment.js"));
var _SingleH1Assessment = _interopRequireDefault(require("../../assessments/seo/SingleH1Assessment.js"));
var _ImageCountAssessment = _interopRequireDefault(require("../../assessments/seo/ImageCountAssessment.js"));
var _helpers = require("../../../helpers");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* The ProductSEOAssessor class is used for the SEO analysis for products.
*/
class ProductSEOAssessor extends _seoAssessor.default {
/**
* Creates a new ProductSEOAssessor instance.
* @param {Researcher} researcher The researcher to use.
* @param {Object} [options] The assessor options.
*/
constructor(researcher, options) {
super(researcher, options);
this.type = "productSEOAssessor";
this._assessments = [new _IntroductionKeywordAssessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.introductionKeyphraseUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.introductionKeyphraseCTAUrl)
}), new _KeyphraseLengthAssessment.default({
parameters: {
recommendedMinimum: 4,
recommendedMaximum: 6,
acceptableMaximum: 8,
acceptableMinimum: 2
},
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.keyphraseLengthUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.keyphraseLengthCTAUrl)
}, true), new _KeywordDensityAssessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.keyphraseDensityUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.keyphraseDensityCTAUrl)
}), new _MetaDescriptionKeywordAssessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.metaDescriptionKeyphraseUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.metaDescriptionKeyphraseCTAUrl)
}), new _MetaDescriptionLengthAssessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.metaDescriptionLengthUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.metaDescriptionLengthCTAUrl)
}), new _SubHeadingsKeywordAssessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.subheadingsKeyphraseUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.subheadingsKeyphraseCTAUrl)
}), new _TextCompetingLinksAssessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.textCompetingLinksUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.textCompetingLinksCTAUrl)
}), new _TextLengthAssessment.default({
recommendedMinimum: 200,
slightlyBelowMinimum: 150,
belowMinimum: 100,
veryFarBelowMinimum: 50,
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.textLengthUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.textLengthCTAUrl),
customContentType: this.type
}), new _KeyphraseInSEOTitleAssessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.titleKeyphraseUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.titleKeyphraseCTAUrl)
}), new _PageTitleWidthAssessment.default({
scores: {
widthTooShort: 9
},
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.titleWidthUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.titleWidthCTAUrl)
}, true), new _UrlKeywordAssessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.urlKeyphraseUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.urlKeyphraseCTAUrl)
}), new _FunctionWordsInKeyphraseAssessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.functionWordsInKeyphraseUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.functionWordsInKeyphraseCTAUrl)
}), new _SingleH1Assessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.singleH1UrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.singleH1CTAUrl)
}), new _ImageCountAssessment.default({
scores: {
okay: 6
},
recommendedCount: 4,
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.imageCountUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.imageCountCTAUrl)
}, options.countVideos), new _KeyphraseInImageTextAssessment.default({
urlTitle: (0, _helpers.createAnchorOpeningTag)(options.imageKeyphraseUrlTitle),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)(options.imageKeyphraseCTAUrl)
})];
}
}
exports.default = ProductSEOAssessor;
//# sourceMappingURL=seoAssessor.js.map