axyseo 2.0.0-alpha.0.0.28.1 → 2.0.0-alpha.0.0.28.2
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/components/RelatedKeywordsDescription.js +11 -9
- package/build/components/RelatedKeywordsDescription.js.map +1 -1
- package/build/scoring/assessments/readability/RelatedKeywordsAssessment.js +0 -1
- package/build/scoring/assessments/readability/RelatedKeywordsAssessment.js.map +1 -1
- package/build/scoring/assessors/avadaAssessor.js +1 -1
- package/build/scoring/assessors/avadaAssessor.js.map +1 -1
- package/package.json +1 -1
|
@@ -4,9 +4,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var _react = require("react");
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _polaris = require("@shopify/polaris");
|
|
9
9
|
require("./RelatedKeywordsDescription.scss");
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
10
12
|
const RelatedKeywordDescription = ({
|
|
11
13
|
words,
|
|
12
14
|
i18n
|
|
@@ -19,22 +21,22 @@ const RelatedKeywordDescription = ({
|
|
|
19
21
|
}
|
|
20
22
|
return [];
|
|
21
23
|
}, [words, viewMore]);
|
|
22
|
-
return /*#__PURE__*/
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
23
25
|
className: "Avada-Seo-Checklist__Description"
|
|
24
|
-
}, words && /*#__PURE__*/
|
|
26
|
+
}, words && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_polaris.BlockStack, {
|
|
25
27
|
gap: "200"
|
|
26
|
-
}, arr.map(key => /*#__PURE__*/
|
|
28
|
+
}, arr.map(key => /*#__PURE__*/_react.default.createElement(_polaris.InlineStack, {
|
|
27
29
|
key: key,
|
|
28
30
|
gap: "200"
|
|
29
|
-
}, /*#__PURE__*/
|
|
31
|
+
}, /*#__PURE__*/_react.default.createElement(_polaris.Badge, null, key, ":"), /*#__PURE__*/_react.default.createElement(_polaris.Text, {
|
|
30
32
|
as: "span"
|
|
31
|
-
}, words[key].length, " words"), /*#__PURE__*/
|
|
33
|
+
}, words[key].length, " words"), /*#__PURE__*/_react.default.createElement(_polaris.Text, {
|
|
32
34
|
as: "span"
|
|
33
|
-
}, "|"), /*#__PURE__*/
|
|
35
|
+
}, "|"), /*#__PURE__*/_react.default.createElement(_polaris.Text, {
|
|
34
36
|
as: "span"
|
|
35
|
-
}, words[key].percentage, "% used")))), Object.keys(words).length > 2 && /*#__PURE__*/
|
|
37
|
+
}, words[key].percentage, "% used")))), Object.keys(words).length > 2 && /*#__PURE__*/_react.default.createElement("div", {
|
|
36
38
|
className: "Avada-Seo-Checklist__Description-Backdrop"
|
|
37
|
-
}, /*#__PURE__*/
|
|
39
|
+
}, /*#__PURE__*/_react.default.createElement(_polaris.Button, {
|
|
38
40
|
size: "medium",
|
|
39
41
|
variant: "plain",
|
|
40
42
|
onClick: () => setViewMore(!viewMore)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedKeywordsDescription.js","names":["_react","require","_polaris","RelatedKeywordDescription","words","i18n","viewMore","setViewMore","useState","arr","useMemo","wordsArr","
|
|
1
|
+
{"version":3,"file":"RelatedKeywordsDescription.js","names":["_react","_interopRequireWildcard","require","_polaris","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","RelatedKeywordDescription","words","i18n","viewMore","setViewMore","useState","arr","useMemo","wordsArr","keys","length","slice","createElement","className","Fragment","BlockStack","gap","map","key","InlineStack","Badge","Text","as","percentage","Button","size","variant","onClick","translate","_default","exports"],"sources":["../../src/components/RelatedKeywordsDescription.js"],"sourcesContent":["import React, {useMemo, useState} from 'react';\nimport {Badge, BlockStack, Button, InlineStack, Text} from '@shopify/polaris';\nimport './RelatedKeywordsDescription.scss';\n\nconst RelatedKeywordDescription = ({words, i18n}) => {\n const [viewMore, setViewMore] = useState(false);\n const arr = useMemo(() => {\n if (words) {\n const wordsArr = Object.keys(words);\n return wordsArr?.length > 2 && !viewMore ? wordsArr.slice(0, 2) : wordsArr;\n }\n return [];\n }, [words, viewMore]);\n\n return (\n <div className=\"Avada-Seo-Checklist__Description\">\n {words && (\n <>\n <BlockStack gap=\"200\">\n {arr.map(key => (\n <InlineStack key={key} gap=\"200\">\n <Badge>{key}:</Badge>\n <Text as=\"span\">{words[key].length} words</Text>\n <Text as=\"span\">|</Text>\n <Text as=\"span\">{words[key].percentage}% used</Text>\n </InlineStack>\n ))}\n </BlockStack>\n {Object.keys(words).length > 2 && (\n <div className=\"Avada-Seo-Checklist__Description-Backdrop\">\n <Button size=\"medium\" variant=\"plain\" onClick={() => setViewMore(!viewMore)}>\n {viewMore\n ? i18n.translate('Axyseo.Button.viewLess')\n : i18n.translate('Axyseo.Button.viewMore')}\n </Button>\n </div>\n )}\n </>\n )}\n </div>\n );\n};\n\nexport default RelatedKeywordDescription;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -105,7 +105,6 @@ class RelatedKeywordsAssessment extends _assessment.default {
|
|
|
105
105
|
* @returns {boolean} Returns true if the language is available, the paper is not empty and the text is longer than the minimum required length.
|
|
106
106
|
*/
|
|
107
107
|
isApplicable(paper, researcher) {
|
|
108
|
-
console.log(paper.hasRelatedKeywords());
|
|
109
108
|
return paper.hasRelatedKeywords();
|
|
110
109
|
}
|
|
111
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelatedKeywordsAssessment.js","names":["_lodash","require","_react","_interopRequireDefault","_AssessmentResult","_assessment","_RelatedKeywordsDescription","e","__esModule","default","RelatedKeywordsAssessment","Assessment","constructor","config","defaultConfig","id","fixPosition","ctaType","docUrl","priority","title","content","good","bad","improve","identifier","_config","merge","calculateResult","paper","relatedKeywords","i18n","data","getData","totalWordUsed","words","isWordUsedExceeding","status","related_keywords","length","score","getScore","body","createElement","getResult","researcher","getResearch","result","assessmentResult","AssessmentResult","setScore","setStatus","setBody","isApplicable","
|
|
1
|
+
{"version":3,"file":"RelatedKeywordsAssessment.js","names":["_lodash","require","_react","_interopRequireDefault","_AssessmentResult","_assessment","_RelatedKeywordsDescription","e","__esModule","default","RelatedKeywordsAssessment","Assessment","constructor","config","defaultConfig","id","fixPosition","ctaType","docUrl","priority","title","content","good","bad","improve","identifier","_config","merge","calculateResult","paper","relatedKeywords","i18n","data","getData","totalWordUsed","words","isWordUsedExceeding","status","related_keywords","length","score","getScore","body","createElement","getResult","researcher","getResearch","result","assessmentResult","AssessmentResult","setScore","setStatus","setBody","isApplicable","hasRelatedKeywords","exports"],"sources":["../../../../src/scoring/assessments/readability/RelatedKeywordsAssessment.js"],"sourcesContent":["import {merge} from 'lodash';\nimport React from 'react';\n\nimport AssessmentResult from '../../../values/AssessmentResult';\nimport Assessment from '../assessment';\n\nimport RelatedKeywordsDescription from '@axyseo/components/RelatedKeywordsDescription';\n\n/**\n * Represents the assessment that checks whether there are enough transition words in the text.\n */\nexport default class RelatedKeywordsAssessment 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: 'relatedKeywords',\n fixPosition: 'description',\n ctaType: 'fix',\n docUrl:\n 'https://docs.avada.io/seo-suite-help-center/seo-audit/on-page-seo/checklist#duplicate-title',\n priority: 'high',\n title: 'Related keywords',\n content: {\n good: 'Related keyword density is optimized',\n bad:\n 'Consider using at least a related keyword in your page to establish topical relevance.',\n improve: 'Too high related keyword density. Keep related keyword density from 0.5% - 1%.'\n }\n };\n\n this.identifier = 'relatedKeywords';\n this._config = merge(defaultConfig, config);\n }\n\n /**\n *\n * @param paper\n * @param relatedKeywords\n * @param i18n\n * @returns {{score: number, body: React.JSX.Element, status: string}}\n */\n calculateResult(paper, relatedKeywords, i18n) {\n const data = paper.getData();\n const {totalWordUsed, words, isWordUsedExceeding} = relatedKeywords;\n let status = 'good';\n if (!data?.related_keywords?.length || totalWordUsed <= 0) {\n status = 'bad';\n }\n\n if (isWordUsedExceeding) {\n status = 'improve';\n }\n\n const score = this.getScore(this._config.priority, status);\n\n return {\n score,\n status,\n body: <RelatedKeywordsDescription {...{words, i18n}} />\n };\n }\n\n /**\n *\n * @param paper\n * @param researcher\n * @param i18n\n * @returns {AssessmentResult}\n */\n getResult({paper, researcher, i18n}) {\n const relatedKeywords = researcher.getResearch('checkRelatedKeywords');\n\n const result = this.calculateResult(paper, relatedKeywords, i18n);\n const assessmentResult = new AssessmentResult({config: this._config});\n\n assessmentResult.setScore(result.score);\n assessmentResult.setStatus(result.status);\n assessmentResult.setBody(result.body);\n\n return assessmentResult;\n }\n\n /**\n * Checks if the transition words assessment is applicable to the paper. Language-specific length requirements and methods of counting text length\n * may apply (e.g. for Japanese, the text should be counted in characters instead of words, which also makes the minimum required length higher).\n *\n * @param {Paper} paper The paper to check.\n * @param {Researcher} researcher The researcher object.\n *\n * @returns {boolean} Returns true if the language is available, the paper is not empty and the text is longer than the minimum required length.\n */\n isApplicable(paper, researcher) {\n return paper.hasRelatedKeywords();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,7 @@ class AvadaAssessor {
|
|
|
15
15
|
* @param {Researcher} researcher The researcher to use.
|
|
16
16
|
* @param {Object} [config] The assessor config.
|
|
17
17
|
*/
|
|
18
|
-
constructor(researcher, config) {
|
|
18
|
+
constructor(researcher, config = {}) {
|
|
19
19
|
const seoAssessor = new _index.SEOAssessor(researcher, config);
|
|
20
20
|
const contentAssessor = new _index.ContentAssessor(researcher, config);
|
|
21
21
|
this.seoAssessor = seoAssessor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avadaAssessor.js","names":["_index","require","_helpers","AvadaAssessor","constructor","researcher","config","seoAssessor","SEOAssessor","contentAssessor","ContentAssessor","assess","paper","i18n","assessments","results","map","assessment","body","status","score","title","getResult","groupBy","getScore","groupAssessmentsByCategory","groupAssessmentsByStatus","point","forEach","maxPoint","getMaxPoint","Math","round","exports","default"],"sources":["../../../src/scoring/assessors/avadaAssessor.js"],"sourcesContent":["import {ContentAssessor, SEOAssessor} from '@axyseo/scoring/assessors/index';\nimport {getMaxPoint, groupAssessmentsByCategory, groupAssessmentsByStatus} from '../helpers';\n\n/**\n * The AvadaAssessor class is used for the general SEO analysis.\n */\nexport default class AvadaAssessor {\n /**\n * Creates a new AvadaAssessor instance.\n * @param {Researcher} researcher The researcher to use.\n * @param {Object} [config] The assessor config.\n */\n constructor(researcher, config) {\n const seoAssessor = new SEOAssessor(researcher, config);\n const contentAssessor = new ContentAssessor(researcher, config);\n this.seoAssessor = seoAssessor;\n this.contentAssessor = contentAssessor;\n this.researcher = researcher;\n this.config = config;\n }\n\n assess(paper, i18n) {\n this.seoAssessor.assess(paper, i18n);\n this.contentAssessor.assess(paper, i18n);\n\n let assessments = [...this.seoAssessor.results, ...this.contentAssessor.results];\n assessments = assessments.map(assessment => ({\n ...assessment.config,\n body: assessment.body,\n status: assessment.status,\n score: assessment.score,\n title: assessment.title || assessment.config.title\n }));\n this.assessments = assessments;\n }\n\n getResult(groupBy = 'category', getScore = true) {\n let assessments = [];\n switch (groupBy) {\n case 'category':\n assessments = groupAssessmentsByCategory(this.assessments);\n break;\n case 'status':\n assessments = groupAssessmentsByStatus(this.assessments);\n break;\n }\n\n return {\n assessments,\n ...(getScore ? {score: this.getScore()} : {})\n };\n }\n\n getScore() {\n let point = 0;\n\n this.assessments.forEach(assessment => {\n point += assessment.score;\n });\n\n const maxPoint = getMaxPoint(this.assessments);\n return Math.round((point * 100) / maxPoint);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACe,MAAME,aAAa,CAAC;EACjC;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,UAAU,EAAEC,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"avadaAssessor.js","names":["_index","require","_helpers","AvadaAssessor","constructor","researcher","config","seoAssessor","SEOAssessor","contentAssessor","ContentAssessor","assess","paper","i18n","assessments","results","map","assessment","body","status","score","title","getResult","groupBy","getScore","groupAssessmentsByCategory","groupAssessmentsByStatus","point","forEach","maxPoint","getMaxPoint","Math","round","exports","default"],"sources":["../../../src/scoring/assessors/avadaAssessor.js"],"sourcesContent":["import {ContentAssessor, SEOAssessor} from '@axyseo/scoring/assessors/index';\nimport {getMaxPoint, groupAssessmentsByCategory, groupAssessmentsByStatus} from '../helpers';\n\n/**\n * The AvadaAssessor class is used for the general SEO analysis.\n */\nexport default class AvadaAssessor {\n /**\n * Creates a new AvadaAssessor instance.\n * @param {Researcher} researcher The researcher to use.\n * @param {Object} [config] The assessor config.\n */\n constructor(researcher, config = {}) {\n const seoAssessor = new SEOAssessor(researcher, config);\n const contentAssessor = new ContentAssessor(researcher, config);\n this.seoAssessor = seoAssessor;\n this.contentAssessor = contentAssessor;\n this.researcher = researcher;\n this.config = config;\n }\n\n assess(paper, i18n) {\n this.seoAssessor.assess(paper, i18n);\n this.contentAssessor.assess(paper, i18n);\n\n let assessments = [...this.seoAssessor.results, ...this.contentAssessor.results];\n assessments = assessments.map(assessment => ({\n ...assessment.config,\n body: assessment.body,\n status: assessment.status,\n score: assessment.score,\n title: assessment.title || assessment.config.title\n }));\n this.assessments = assessments;\n }\n\n getResult(groupBy = 'category', getScore = true) {\n let assessments = [];\n switch (groupBy) {\n case 'category':\n assessments = groupAssessmentsByCategory(this.assessments);\n break;\n case 'status':\n assessments = groupAssessmentsByStatus(this.assessments);\n break;\n }\n\n return {\n assessments,\n ...(getScore ? {score: this.getScore()} : {})\n };\n }\n\n getScore() {\n let point = 0;\n\n this.assessments.forEach(assessment => {\n point += assessment.score;\n });\n\n const maxPoint = getMaxPoint(this.assessments);\n return Math.round((point * 100) / maxPoint);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACe,MAAME,aAAa,CAAC;EACjC;AACF;AACA;AACA;AACA;EACEC,WAAWA,CAACC,UAAU,EAAEC,MAAM,GAAG,CAAC,CAAC,EAAE;IACnC,MAAMC,WAAW,GAAG,IAAIC,kBAAW,CAACH,UAAU,EAAEC,MAAM,CAAC;IACvD,MAAMG,eAAe,GAAG,IAAIC,sBAAe,CAACL,UAAU,EAAEC,MAAM,CAAC;IAC/D,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACE,eAAe,GAAGA,eAAe;IACtC,IAAI,CAACJ,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,MAAM,GAAGA,MAAM;EACtB;EAEAK,MAAMA,CAACC,KAAK,EAAEC,IAAI,EAAE;IAClB,IAAI,CAACN,WAAW,CAACI,MAAM,CAACC,KAAK,EAAEC,IAAI,CAAC;IACpC,IAAI,CAACJ,eAAe,CAACE,MAAM,CAACC,KAAK,EAAEC,IAAI,CAAC;IAExC,IAAIC,WAAW,GAAG,CAAC,GAAG,IAAI,CAACP,WAAW,CAACQ,OAAO,EAAE,GAAG,IAAI,CAACN,eAAe,CAACM,OAAO,CAAC;IAChFD,WAAW,GAAGA,WAAW,CAACE,GAAG,CAACC,UAAU,KAAK;MAC3C,GAAGA,UAAU,CAACX,MAAM;MACpBY,IAAI,EAAED,UAAU,CAACC,IAAI;MACrBC,MAAM,EAAEF,UAAU,CAACE,MAAM;MACzBC,KAAK,EAAEH,UAAU,CAACG,KAAK;MACvBC,KAAK,EAAEJ,UAAU,CAACI,KAAK,IAAIJ,UAAU,CAACX,MAAM,CAACe;IAC/C,CAAC,CAAC,CAAC;IACH,IAAI,CAACP,WAAW,GAAGA,WAAW;EAChC;EAEAQ,SAASA,CAACC,OAAO,GAAG,UAAU,EAAEC,QAAQ,GAAG,IAAI,EAAE;IAC/C,IAAIV,WAAW,GAAG,EAAE;IACpB,QAAQS,OAAO;MACb,KAAK,UAAU;QACbT,WAAW,GAAG,IAAAW,mCAA0B,EAAC,IAAI,CAACX,WAAW,CAAC;QAC1D;MACF,KAAK,QAAQ;QACXA,WAAW,GAAG,IAAAY,iCAAwB,EAAC,IAAI,CAACZ,WAAW,CAAC;QACxD;IACJ;IAEA,OAAO;MACLA,WAAW;MACX,IAAIU,QAAQ,GAAG;QAACJ,KAAK,EAAE,IAAI,CAACI,QAAQ,CAAC;MAAC,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;EACH;EAEAA,QAAQA,CAAA,EAAG;IACT,IAAIG,KAAK,GAAG,CAAC;IAEb,IAAI,CAACb,WAAW,CAACc,OAAO,CAACX,UAAU,IAAI;MACrCU,KAAK,IAAIV,UAAU,CAACG,KAAK;IAC3B,CAAC,CAAC;IAEF,MAAMS,QAAQ,GAAG,IAAAC,oBAAW,EAAC,IAAI,CAAChB,WAAW,CAAC;IAC9C,OAAOiB,IAAI,CAACC,KAAK,CAAEL,KAAK,GAAG,GAAG,GAAIE,QAAQ,CAAC;EAC7C;AACF;AAACI,OAAA,CAAAC,OAAA,GAAA/B,aAAA","ignoreList":[]}
|