yoastseo
Version:
Yoast client-side content analysis
61 lines (59 loc) • 3.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getTextLengthAssessment = exports.default = void 0;
var _assessor = _interopRequireDefault(require("./assessor.js"));
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 _KeyphraseInSEOTitleAssessment = _interopRequireDefault(require("../assessments/seo/KeyphraseInSEOTitleAssessment.js"));
var _UrlKeywordAssessment = _interopRequireDefault(require("../assessments/seo/UrlKeywordAssessment.js"));
var _MetaDescriptionLengthAssessment = _interopRequireDefault(require("../assessments/seo/MetaDescriptionLengthAssessment.js"));
var _TextLengthAssessment = _interopRequireDefault(require("../assessments/seo/TextLengthAssessment.js"));
var _PageTitleWidthAssessment = _interopRequireDefault(require("../assessments/seo/PageTitleWidthAssessment.js"));
var _FunctionWordsInKeyphraseAssessment = _interopRequireDefault(require("../assessments/seo/FunctionWordsInKeyphraseAssessment.js"));
var _SingleH1Assessment = _interopRequireDefault(require("../assessments/seo/SingleH1Assessment.js"));
var _helpers = require("../../helpers");
var _SEOScoreAggregator = _interopRequireDefault(require("../scoreAggregators/SEOScoreAggregator"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* Returns the text length assessment to use.
*
* @returns {TextLengthAssessment} The text length assessment (with taxonomy configuration) to use.
*/
const getTextLengthAssessment = () => {
// Export so it can be used in tests.
return new _TextLengthAssessment.default({
recommendedMinimum: 30,
slightlyBelowMinimum: 10,
veryFarBelowMinimum: 1,
urlTitle: (0, _helpers.createAnchorOpeningTag)("https://yoa.st/34j"),
urlCallToAction: (0, _helpers.createAnchorOpeningTag)("https://yoa.st/34k"),
customContentType: "taxonomyAssessor"
});
};
/**
* The TaxonomyAssessor is used for the assessment of terms.
*/
exports.getTextLengthAssessment = getTextLengthAssessment;
class TaxonomyAssessor extends _assessor.default {
/**
* Creates a new TaxonomyAssessor instance.
* @param {Researcher} researcher The researcher to use.
* @param {Object} [options] The assessor options.
*/
constructor(researcher, options) {
super(researcher, options);
this.type = "taxonomyAssessor";
this._assessments = [new _IntroductionKeywordAssessment.default(), new _KeyphraseLengthAssessment.default(), new _KeywordDensityAssessment.default(), new _MetaDescriptionKeywordAssessment.default(), new _MetaDescriptionLengthAssessment.default(), getTextLengthAssessment(), new _KeyphraseInSEOTitleAssessment.default(), new _PageTitleWidthAssessment.default({
scores: {
widthTooShort: 9
}
}, true), new _UrlKeywordAssessment.default(), new _FunctionWordsInKeyphraseAssessment.default(), new _SingleH1Assessment.default()];
this._scoreAggregator = new _SEOScoreAggregator.default();
}
}
exports.default = TaxonomyAssessor;
//# sourceMappingURL=taxonomyAssessor.js.map