axyseo 2.1.23 → 2.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/scoring/assessments/seo/KeywordFAQsAssessment.js +1 -2
- package/build/cjs/scoring/assessments/seo/KeywordFAQsAssessment.js.map +1 -1
- package/build/esm/scoring/assessments/seo/KeywordFAQsAssessment.js +1 -2
- package/build/esm/scoring/assessments/seo/KeywordFAQsAssessment.js.map +1 -1
- package/package.json +1 -1
|
@@ -69,8 +69,7 @@ class KeywordFAQsAssessment extends _assessment.default {
|
|
|
69
69
|
calculateResult(paper) {
|
|
70
70
|
const faqs = paper.getFAQs()?.questions || [];
|
|
71
71
|
const keyword = paper.getKeyword();
|
|
72
|
-
const
|
|
73
|
-
const hasKeywords = this.checkKeywordsInFAQs(faqs, [...relatedKeywords, keyword]);
|
|
72
|
+
const hasKeywords = this.checkKeywordsInFAQs(faqs, [keyword]);
|
|
74
73
|
const status = hasKeywords ? 'good' : 'bad';
|
|
75
74
|
const score = this.getScore(_analysis.FAQS_POINTS, status);
|
|
76
75
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeywordFAQsAssessment.js","names":["_lodash","require","_assessment","_interopRequireDefault","_AssessmentResult","_analysis","e","__esModule","default","KeywordFAQsAssessment","Assessment","constructor","config","defaultConfig","id","KEYWORD_FAQs_ASSESSMENT_ID","ctaType","docUrl","priority","fixPosition","title","content","good","improve","bad","identifier","_config","merge","getResult","paper","researcher","calculatedResult","calculateResult","assessmentResult","AssessmentResult","setScore","score","setStatus","status","faqs","getFAQs","questions","keyword","getKeyword","
|
|
1
|
+
{"version":3,"file":"KeywordFAQsAssessment.js","names":["_lodash","require","_assessment","_interopRequireDefault","_AssessmentResult","_analysis","e","__esModule","default","KeywordFAQsAssessment","Assessment","constructor","config","defaultConfig","id","KEYWORD_FAQs_ASSESSMENT_ID","ctaType","docUrl","priority","fixPosition","title","content","good","improve","bad","identifier","_config","merge","getResult","paper","researcher","calculatedResult","calculateResult","assessmentResult","AssessmentResult","setScore","score","setStatus","status","faqs","getFAQs","questions","keyword","getKeyword","hasKeywords","checkKeywordsInFAQs","getScore","FAQS_POINTS","keywords","some","faq","question","toLowerCase","answer","keywordLower","includes","isApplicable","exports"],"sources":["../../../../../src/scoring/assessments/seo/KeywordFAQsAssessment.js"],"sourcesContent":["import {merge} from 'lodash';\nimport Assessment from '../assessment';\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport {FAQS_POINTS, KEYWORD_FAQs_ASSESSMENT_ID} from '@axyseo/const/analysis';\n\n/**\n * Represents an assessment that checks if keywords exist in FAQs.\n */\nexport default class KeywordFAQsAssessment extends Assessment {\n /**\n * Sets the identifier and the config.\n *\n * @param {Object} [config] The configuration to use.\n *\n * @returns {void}\n */\n constructor(config = {}) {\n super();\n\n const defaultConfig = {\n id: KEYWORD_FAQs_ASSESSMENT_ID,\n ctaType: 'fix',\n docUrl: 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/faqs-builder',\n priority: 'high',\n fixPosition: 'faqs',\n title: 'Keyword in FAQs',\n content: {\n good: 'Keywords are found in FAQs.',\n improve: '',\n bad: 'No keywords found in FAQs.'\n }\n };\n\n this.identifier = KEYWORD_FAQs_ASSESSMENT_ID;\n this._config = merge(defaultConfig, config);\n }\n\n /**\n * Executes the Assessment and returns a result.\n *\n * @param {Paper} paper The Paper object to assess.\n * @param {Researcher} researcher The Researcher object containing all available researches.\n *\n * @returns {AssessmentResult} The result of the assessment, containing both a score and a descriptive text.\n */\n getResult({paper, researcher}) {\n const calculatedResult = this.calculateResult(paper);\n\n const assessmentResult = new AssessmentResult({config: this._config});\n assessmentResult.setScore(calculatedResult.score);\n assessmentResult.setStatus(calculatedResult.status);\n\n return assessmentResult;\n }\n\n /**\n * Calculates the result of the assessment based on keyword presence in FAQs.\n *\n * @param {Paper} paper The paper to use for the assessment.\n * @returns {Object} The calculated result.\n */\n calculateResult(paper) {\n const faqs = paper.getFAQs()?.questions || [];\n const keyword = paper.getKeyword();\n const hasKeywords = this.checkKeywordsInFAQs(faqs, [keyword]);\n const status = hasKeywords ? 'good' : 'bad';\n const score = this.getScore(FAQS_POINTS, status);\n\n return {\n status,\n score\n };\n }\n\n /**\n * Checks if keywords exist in FAQs\n * @param {Array} faqs\n * @param {Array} keywords\n * @returns {boolean}\n */\n checkKeywordsInFAQs(faqs, keywords) {\n return faqs.some(faq => {\n const question = faq.question.toLowerCase();\n const answer = faq.answer.toLowerCase();\n return keywords.some(keyword => {\n const keywordLower = keyword.toLowerCase();\n return question.includes(keywordLower) || answer.includes(keywordLower);\n });\n });\n }\n\n /**\n * Checks whether the paper has text.\n *\n * @param {Paper} paper The paper to use for the assessment.\n *\n * @returns {boolean} True when there is text.\n */\n isApplicable(paper) {\n return true;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -63,8 +63,7 @@ export default class KeywordFAQsAssessment extends Assessment {
|
|
|
63
63
|
calculateResult(paper) {
|
|
64
64
|
const faqs = paper.getFAQs()?.questions || [];
|
|
65
65
|
const keyword = paper.getKeyword();
|
|
66
|
-
const
|
|
67
|
-
const hasKeywords = this.checkKeywordsInFAQs(faqs, [...relatedKeywords, keyword]);
|
|
66
|
+
const hasKeywords = this.checkKeywordsInFAQs(faqs, [keyword]);
|
|
68
67
|
const status = hasKeywords ? 'good' : 'bad';
|
|
69
68
|
const score = this.getScore(FAQS_POINTS, status);
|
|
70
69
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeywordFAQsAssessment.js","names":["merge","Assessment","AssessmentResult","FAQS_POINTS","KEYWORD_FAQs_ASSESSMENT_ID","KeywordFAQsAssessment","constructor","config","defaultConfig","id","ctaType","docUrl","priority","fixPosition","title","content","good","improve","bad","identifier","_config","getResult","paper","researcher","calculatedResult","calculateResult","assessmentResult","setScore","score","setStatus","status","faqs","getFAQs","questions","keyword","getKeyword","
|
|
1
|
+
{"version":3,"file":"KeywordFAQsAssessment.js","names":["merge","Assessment","AssessmentResult","FAQS_POINTS","KEYWORD_FAQs_ASSESSMENT_ID","KeywordFAQsAssessment","constructor","config","defaultConfig","id","ctaType","docUrl","priority","fixPosition","title","content","good","improve","bad","identifier","_config","getResult","paper","researcher","calculatedResult","calculateResult","assessmentResult","setScore","score","setStatus","status","faqs","getFAQs","questions","keyword","getKeyword","hasKeywords","checkKeywordsInFAQs","getScore","keywords","some","faq","question","toLowerCase","answer","keywordLower","includes","isApplicable"],"sources":["../../../../../src/scoring/assessments/seo/KeywordFAQsAssessment.js"],"sourcesContent":["import {merge} from 'lodash';\nimport Assessment from '../assessment';\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport {FAQS_POINTS, KEYWORD_FAQs_ASSESSMENT_ID} from '@axyseo/const/analysis';\n\n/**\n * Represents an assessment that checks if keywords exist in FAQs.\n */\nexport default class KeywordFAQsAssessment extends Assessment {\n /**\n * Sets the identifier and the config.\n *\n * @param {Object} [config] The configuration to use.\n *\n * @returns {void}\n */\n constructor(config = {}) {\n super();\n\n const defaultConfig = {\n id: KEYWORD_FAQs_ASSESSMENT_ID,\n ctaType: 'fix',\n docUrl: 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/faqs-builder',\n priority: 'high',\n fixPosition: 'faqs',\n title: 'Keyword in FAQs',\n content: {\n good: 'Keywords are found in FAQs.',\n improve: '',\n bad: 'No keywords found in FAQs.'\n }\n };\n\n this.identifier = KEYWORD_FAQs_ASSESSMENT_ID;\n this._config = merge(defaultConfig, config);\n }\n\n /**\n * Executes the Assessment and returns a result.\n *\n * @param {Paper} paper The Paper object to assess.\n * @param {Researcher} researcher The Researcher object containing all available researches.\n *\n * @returns {AssessmentResult} The result of the assessment, containing both a score and a descriptive text.\n */\n getResult({paper, researcher}) {\n const calculatedResult = this.calculateResult(paper);\n\n const assessmentResult = new AssessmentResult({config: this._config});\n assessmentResult.setScore(calculatedResult.score);\n assessmentResult.setStatus(calculatedResult.status);\n\n return assessmentResult;\n }\n\n /**\n * Calculates the result of the assessment based on keyword presence in FAQs.\n *\n * @param {Paper} paper The paper to use for the assessment.\n * @returns {Object} The calculated result.\n */\n calculateResult(paper) {\n const faqs = paper.getFAQs()?.questions || [];\n const keyword = paper.getKeyword();\n const hasKeywords = this.checkKeywordsInFAQs(faqs, [keyword]);\n const status = hasKeywords ? 'good' : 'bad';\n const score = this.getScore(FAQS_POINTS, status);\n\n return {\n status,\n score\n };\n }\n\n /**\n * Checks if keywords exist in FAQs\n * @param {Array} faqs\n * @param {Array} keywords\n * @returns {boolean}\n */\n checkKeywordsInFAQs(faqs, keywords) {\n return faqs.some(faq => {\n const question = faq.question.toLowerCase();\n const answer = faq.answer.toLowerCase();\n return keywords.some(keyword => {\n const keywordLower = keyword.toLowerCase();\n return question.includes(keywordLower) || answer.includes(keywordLower);\n });\n });\n }\n\n /**\n * Checks whether the paper has text.\n *\n * @param {Paper} paper The paper to use for the assessment.\n *\n * @returns {boolean} True when there is text.\n */\n isApplicable(paper) {\n return true;\n }\n}\n"],"mappings":"AAAA,SAAQA,KAAK,QAAO,QAAQ;AAC5B,OAAOC,UAAU;AACjB,OAAOC,gBAAgB;AACvB,SAAQC,WAAW,EAAEC,0BAA0B;;AAE/C;AACA;AACA;AACA,eAAe,MAAMC,qBAAqB,SAASJ,UAAU,CAAC;EAC5D;AACF;AACA;AACA;AACA;AACA;AACA;EACEK,WAAWA,CAACC,MAAM,GAAG,CAAC,CAAC,EAAE;IACvB,KAAK,CAAC,CAAC;IAEP,MAAMC,aAAa,GAAG;MACpBC,EAAE,EAAEL,0BAA0B;MAC9BM,OAAO,EAAE,KAAK;MACdC,MAAM,EAAE,gFAAgF;MACxFC,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE,MAAM;MACnBC,KAAK,EAAE,iBAAiB;MACxBC,OAAO,EAAE;QACPC,IAAI,EAAE,6BAA6B;QACnCC,OAAO,EAAE,EAAE;QACXC,GAAG,EAAE;MACP;IACF,CAAC;IAED,IAAI,CAACC,UAAU,GAAGf,0BAA0B;IAC5C,IAAI,CAACgB,OAAO,GAAGpB,KAAK,CAACQ,aAAa,EAAED,MAAM,CAAC;EAC7C;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEc,SAASA,CAAC;IAACC,KAAK;IAAEC;EAAU,CAAC,EAAE;IAC7B,MAAMC,gBAAgB,GAAG,IAAI,CAACC,eAAe,CAACH,KAAK,CAAC;IAEpD,MAAMI,gBAAgB,GAAG,IAAIxB,gBAAgB,CAAC;MAACK,MAAM,EAAE,IAAI,CAACa;IAAO,CAAC,CAAC;IACrEM,gBAAgB,CAACC,QAAQ,CAACH,gBAAgB,CAACI,KAAK,CAAC;IACjDF,gBAAgB,CAACG,SAAS,CAACL,gBAAgB,CAACM,MAAM,CAAC;IAEnD,OAAOJ,gBAAgB;EACzB;;EAEA;AACF;AACA;AACA;AACA;AACA;EACED,eAAeA,CAACH,KAAK,EAAE;IACrB,MAAMS,IAAI,GAAGT,KAAK,CAACU,OAAO,CAAC,CAAC,EAAEC,SAAS,IAAI,EAAE;IAC7C,MAAMC,OAAO,GAAGZ,KAAK,CAACa,UAAU,CAAC,CAAC;IAClC,MAAMC,WAAW,GAAG,IAAI,CAACC,mBAAmB,CAACN,IAAI,EAAE,CAACG,OAAO,CAAC,CAAC;IAC7D,MAAMJ,MAAM,GAAGM,WAAW,GAAG,MAAM,GAAG,KAAK;IAC3C,MAAMR,KAAK,GAAG,IAAI,CAACU,QAAQ,CAACnC,WAAW,EAAE2B,MAAM,CAAC;IAEhD,OAAO;MACLA,MAAM;MACNF;IACF,CAAC;EACH;;EAEA;AACF;AACA;AACA;AACA;AACA;EACES,mBAAmBA,CAACN,IAAI,EAAEQ,QAAQ,EAAE;IAClC,OAAOR,IAAI,CAACS,IAAI,CAACC,GAAG,IAAI;MACtB,MAAMC,QAAQ,GAAGD,GAAG,CAACC,QAAQ,CAACC,WAAW,CAAC,CAAC;MAC3C,MAAMC,MAAM,GAAGH,GAAG,CAACG,MAAM,CAACD,WAAW,CAAC,CAAC;MACvC,OAAOJ,QAAQ,CAACC,IAAI,CAACN,OAAO,IAAI;QAC9B,MAAMW,YAAY,GAAGX,OAAO,CAACS,WAAW,CAAC,CAAC;QAC1C,OAAOD,QAAQ,CAACI,QAAQ,CAACD,YAAY,CAAC,IAAID,MAAM,CAACE,QAAQ,CAACD,YAAY,CAAC;MACzE,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,YAAYA,CAACzB,KAAK,EAAE;IAClB,OAAO,IAAI;EACb;AACF","ignoreList":[]}
|