UNPKG

yoastseo

Version:

Yoast client-side content analysis

104 lines (103 loc) 6.57 kB
"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