Version Description
[Sep 24, 2022] = * Fixed: Clicking on the Questions tab of Content AI was crashing the editor on some setups * Fixed: Button to open the Rank Math modal was not working in the Divi's Frontend editor on some installations * Fixed: Error in console when Frontend Stats Bar option was enabled
Note: From the next update, we will stop supporting older versions.
Full changelog can be found here - Rank Math changelog
Download this release
Release Info
Developer | rankmath |
Plugin | WordPress SEO Plugin – Rank Math |
Version | 1.0.98.2 |
Comparing to | |
See all releases |
Code changes from version 1.0.98.1 to 1.0.98.2
includes/3rdparty/divi/class-divi.php
CHANGED
@@ -140,6 +140,8 @@ class Divi {
|
|
140 |
]
|
141 |
);
|
142 |
|
|
|
|
|
143 |
Helper::add_json(
|
144 |
'validationl10n',
|
145 |
[
|
140 |
]
|
141 |
);
|
142 |
|
143 |
+
Helper::add_json( 'links', KB::get_links() );
|
144 |
+
|
145 |
Helper::add_json(
|
146 |
'validationl10n',
|
147 |
[
|
includes/modules/analytics/class-analytics-stats.php
CHANGED
@@ -11,6 +11,7 @@
|
|
11 |
namespace RankMath\Analytics;
|
12 |
|
13 |
use RankMath\Helper;
|
|
|
14 |
use RankMath\Traits\Hooker;
|
15 |
|
16 |
defined( 'ABSPATH' ) || exit;
|
@@ -47,5 +48,7 @@ class Analytics_Stats {
|
|
47 |
|
48 |
Helper::add_json( 'isAnalyticsConnected', \RankMath\Google\Analytics::is_analytics_connected() );
|
49 |
Helper::add_json( 'hideFrontendStats', get_user_meta( get_current_user_id(), 'rank_math_hide_frontend_stats', true ) );
|
|
|
|
|
50 |
}
|
51 |
}
|
11 |
namespace RankMath\Analytics;
|
12 |
|
13 |
use RankMath\Helper;
|
14 |
+
use RankMath\KB;
|
15 |
use RankMath\Traits\Hooker;
|
16 |
|
17 |
defined( 'ABSPATH' ) || exit;
|
48 |
|
49 |
Helper::add_json( 'isAnalyticsConnected', \RankMath\Google\Analytics::is_analytics_connected() );
|
50 |
Helper::add_json( 'hideFrontendStats', get_user_meta( get_current_user_id(), 'rank_math_hide_frontend_stats', true ) );
|
51 |
+
|
52 |
+
Helper::add_json( 'links', KB::get_links() );
|
53 |
}
|
54 |
}
|
includes/modules/content-ai/assets/js/content-ai.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(){var e={184:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=a.apply(null,n);i&&e.push(i)}}else if("object"===o){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var c in n)r.call(n,c)&&n[c]&&e.push(c)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=jQuery,t=n.n(e),r=n(184),a=n.n(r),o=lodash,i=wp.i18n,c=wp.hooks,s=wp.components,l=wp.element,u=wp.plugins,m=wp.editPost,p=wp.data,h=wp.compose,f=wp.apiFetch,d=n.n(f);function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function k(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function b(e,t){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},b(e,t)}function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=E(e);if(t){var a=E(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return g(this,n)}}function g(e,t){if(t&&("object"===y(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _(e)}function _(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}var C=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&b(e,t)}(c,e);var t,n,r,a=v(c);function c(){var e;return k(this,c),(e=a.apply(this,arguments)).state={score:0},e.setState=e.setState.bind(_(e)),e}return t=c,(n=[{key:"render",value:function(){var e=this;return setTimeout((function(){e.setState({score:e.props.score})}),1e3),wp.element.createElement("div",{className:"rank-math-ca-score"},wp.element.createElement("div",{className:"score-text"},(0,i.__)("Score:","rank-math")," ",this.state.score,wp.element.createElement("span",null," / ",(0,i.__)("100","rank-math"))),wp.element.createElement("div",{className:"score-wrapper"},wp.element.createElement("span",{className:"score-dot",style:{left:((0,o.inRange)(this.state.score,0,5)?5:this.state.score)+"%"}})))}}])&&w(t.prototype,n),r&&w(t,r),Object.defineProperty(t,"prototype",{writable:!1}),c}(l.Component),S=(0,h.compose)((0,p.withSelect)((function(e){var t=Object.values(e("rank-math").getContentAIScore());return{score:(0,o.round)((0,o.sum)(t)/t.length)}})))(C);function O(e){return 100<e?"bad-fk dark":80<e?"good-fk":50<e?"ok-fk":"bad-fk"}function N(e){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N(e)}function j(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function P(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function R(e,t){return R=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},R(e,t)}function T(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=I(e);if(t){var a=I(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return A(this,n)}}function A(e,t){if(t&&("object"===N(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return x(e)}function x(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function I(e){return I=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},I(e)}var D=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&R(e,t)}(s,e);var t,n,r,c=T(s);function s(){var e;return j(this,s),(e=c.apply(this,arguments)).state={activeTab:""},e.setState=e.setState.bind(x(e)),e}return t=s,n=[{key:"render",value:function(){return wp.element.createElement("div",{className:"rank-math-ca-recommendations"},this.getRecommendations(this.props.recommendations))}},{key:"getRecommendations",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];return(0,o.forEach)(e,(function(e,c){if("total"!==c){var s=(0,o.isUndefined)(e.total)?e:e.total,l=t.getPostStats(c),u=a()(c,{"has-children":!(0,o.isUndefined)(e.total),show:c===t.state.activeTab}),m=t.getScore(c,l,s,n),p=(0,o.ceil)(150*s/100);r.push(wp.element.createElement("div",{className:u+" "+O(m),onClick:function(){return t.setState({activeTab:t.state.activeTab!==c?c:""})},role:"presentation"},wp.element.createElement("h4",null,n?c:(0,o.startCase)(c)),n&&wp.element.createElement("span",null,l," / ",s),!n&&wp.element.createElement(React.Fragment,null,wp.element.createElement("strong",null,l),wp.element.createElement("span",{className:"desc"},(0,i.__)("Use","rank-math")," ",s," ",(0,i.__)("to","rank-math")," ",p)),(0,o.isObject)(e)&&t.getRecommendations(e,!0)))}})),n?wp.element.createElement("div",{className:"submenu"},r):r}},{key:"getPostStats",value:function(e){return(0,o.has)(this.props.postStats,e)?this.props.postStats[e]:0}},{key:"getScore",value:function(e,t,n,r){var a=t===n?100:t/n*100;if(0===n&&t<=2&&(a=100),r)return a>100&&a<=125?100:a;var o=a>80?100:t/n*80;return a>125&&"wordCount"!==e&&(o=0),this.props.updateAiScore(e,o),a>100&&"wordCount"===e||a>100&&a<=125?100:a}}],n&&P(t.prototype,n),r&&P(t,r),Object.defineProperty(t,"prototype",{writable:!1}),s}(l.Component),M=(0,h.compose)((0,p.withSelect)((function(e,t){var n=1518,r=12,a=2,i=5,c=3,s=0,l=0,u=0,m=8,p=19;if(t.hasCredits){var h=t.researcher.getResearch("wordCount"),f=rankMathEditor.assessor.analyzer.defaultAnalyses.contentHasAssets;n=h(t.content),r=(0,o.isUndefined)(f)?0:f.getImages(t.researcher.paper,t.content),a=(0,o.isUndefined)(f)?0:f.getVideos(t.content),i=(t.content.match(/<h2\b[^>]*>(.*?)<\/h2>/g)||[]).length,c=(t.content.match(/<h3\b[^>]*>(.*?)<\/h3>/g)||[]).length,s=(t.content.match(/<h4\b[^>]*>(.*?)<\/h4>/g)||[]).length,l=(t.content.match(/<h5\b[^>]*>(.*?)<\/h5>/g)||[]).length,u=(t.content.match(/<h6\b[^>]*>(.*?)<\/h6>/g)||[]).length;var d=t.researcher.getResearch("getLinkStats")(t.content);m=d.internalTotal,p=d.externalTotal}return{postStats:{wordCount:n,images:r,videos:a,mediaCount:r+a,h2:i,h3:c,h4:s,h5:l,h6:u,headingCount:i+c+s+l+u,internal:m,external:p,linkCount:m+p}}})))(D);function B(e){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B(e)}var K=["tabId","onClick","children","selected"];function F(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function L(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function U(e,t){return U=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},U(e,t)}function q(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=z(e);if(t){var a=z(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return $(this,n)}}function $(e,t){if(t&&("object"===B(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return H(e)}function H(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function z(e){return z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},z(e)}function W(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Q(){return Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)}function V(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var J=function(e){var t=e.tabId,n=e.onClick,r=e.children,a=e.selected,o=V(e,K);return wp.element.createElement(s.Button,Q({role:"tab",tabIndex:a?null:-1,"aria-selected":a,id:t,onClick:n},o),r)},Y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&U(e,t)}(c,e);var t,n,r,i=q(c);function c(){var e;F(this,c),W(H(e=i.apply(this,arguments)),"handleClick",(function(t){var n=e.props.onSelect,r=void 0===n?o.noop:n;e.setState({selected:t}),r(t)})),W(H(e),"onNavigate",(function(e,t){t.click()}));var t=e.props,n=t.tabs,r=t.initialTabName;return e.state={selected:r||(n.length>0?n[0].name:null)},e}return t=c,(n=[{key:"render",value:function(){var e=this,t=this.state.selected,n=this.props,r=n.activeClass,i=void 0===r?"is-active":r,c=n.className,l=n.instanceId,u=n.orientation,m=void 0===u?"horizontal":u,p=n.tabs,h=(0,o.find)(p,{name:t}),f=l+"-"+h.name,d=p.slice(4);return wp.element.createElement("div",{className:c},wp.element.createElement(s.NavigableMenu,{role:"tablist",orientation:m,onNavigate:this.onNavigate,className:"components-tab-panel__tabs "+t},p.slice(0,4).map((function(n){return wp.element.createElement(J,{className:a()("components-tab-panel__tabs-item",n.className,W({},i,n.name===t)),tabId:l+"-"+n.name,"aria-controls":l+"-"+n.name+"-view",selected:n.name===t,key:n.name,onClick:(0,o.partial)(e.handleClick,n.name)},n.title)})),d.map((function(n){return wp.element.createElement(J,{className:a()("components-tab-panel__tabs-item",n.className,W({},i,n.name===t)),tabId:l+"-"+n.name,"aria-controls":l+"-"+n.name+"-view",selected:n.name===t,key:n.name,onClick:(0,o.partial)(e.handleClick,n.name)},n.title)}))),h&&wp.element.createElement("div",{"aria-labelledby":f,role:"tabpanel",id:f+"-view",className:"components-tab-panel__tab-content"},this.props.children(h)))}}])&&L(t.prototype,n),r&&L(t,r),Object.defineProperty(t,"prototype",{writable:!1}),c}(l.Component),G=(0,h.withInstanceId)(Y),X=rankMathAnalyzer;function Z(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=rankMath.links[e]||"";if(!n)return"#";if(!t)return n;var r={utm_source:"Plugin",utm_medium:encodeURIComponent(t),utm_campaign:"WP"};return n+"?"+Object.keys(r).map((function(e){return"".concat(e,"=").concat(r[e])})).join("&")}function ee(e){return ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ee(e)}function te(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ne(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function re(e,t){return re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},re(e,t)}function ae(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ce(e);if(t){var a=ce(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return oe(this,n)}}function oe(e,t){if(t&&("object"===ee(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return ie(e)}function ie(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ce(e){return ce=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ce(e)}var se=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&re(e,t)}(u,e);var t,n,r,c=ae(u);function u(){var e;return te(this,u),(e=c.apply(this,arguments)).state={type:"content",selected:""},e.setState=e.setState.bind(ie(e)),e.initializeClipboard(e.setState),e}return t=u,n=[{key:"initializeClipboard",value:function(e){"function"==typeof ClipboardJS&&this.props.hasCredits&&new ClipboardJS(".rank-math-tooltip strong",{text:function(e){return e.getAttribute("data-key")}}).on("success",(function(){setTimeout((function(){e({selected:""})}),3e3)}))}},{key:"render",value:function(){var e=this;return wp.element.createElement(l.Fragment,null,wp.element.createElement(s.PanelBody,{initialOpen:!0},wp.element.createElement(s.SelectControl,{label:(0,i.__)("Use Keyword in","rank-math"),value:this.state.type,options:[{value:"content",label:(0,i.__)("Content","rank-math")},{value:"heading",label:(0,i.__)("Headings","rank-math")},{value:"title",label:(0,i.__)("SEO Title","rank-math")},{value:"description",label:(0,i.__)("SEO Description","rank-math")}],onChange:function(t){e.setState({type:t})}}),wp.element.createElement("a",{href:Z("content-ai-keywords","Sidebar Keywords KB Icon"),rel:"noreferrer",target:"_blank",id:"rank-math-help-icon",title:(0,i.__)("Know more about Keywords.","rank-math")},"﹖"),wp.element.createElement(React.Fragment,null,wp.element.createElement("span",{className:"components-form-token-field__help"},(0,i.__)("Click on any keyword to copy it.","rank-math")),wp.element.createElement("br",null),(0,o.includes)(["title","description"],this.state.type)&&wp.element.createElement("span",{className:"components-form-token-field__help"},(0,i.__)("Please use only one or two keywords from here.","rank-math")),wp.element.createElement("ul",null,this.getKeywords())),this.getRelatedKeywords()))}},{key:"getRelatedKeywords",value:function(){var e=this;if("content"!==this.state.type||(0,o.isEmpty)(this.props.caData.data.related_keywords))return!1;var t=[];return(0,o.forEach)(this.props.caData.data.related_keywords,(function(n){t.push(wp.element.createElement("li",{className:"rank-math-tooltip show",onClick:function(){return e.setState({selected:n})},role:"presentation"},wp.element.createElement("strong",{"data-key":n},n),e.getTooltipContent({keyword:n},!0)))})),wp.element.createElement("div",{className:"rank-math-related-keywords"},wp.element.createElement("h3",null,(0,i.__)("Related Keywords","rank-math")),wp.element.createElement("ul",null,t))}},{key:"getKeywords",value:function(){var e=this;if((0,o.isEmpty)(this.props.caData.data.keywords))return wp.element.createElement("h3",{className:"no-data"},(0,i.__)("There are no recommended Keywords for this researched keyword.","rank-math"));var t=[];return this.contentAiScore={},(0,o.forEach)(this.props.caData.data.keywords,(function(n,r){(0,o.isEmpty)(n)||(e.contentAiScore[r]={},(0,o.forEach)(n,(function(n){var o=e.props.hasCredits?e.getCount(n.keyword,r):n.count,i=O(e.getScore(n.keyword,o,n.average,r)),c=a()("rank-math-tooltip",{show:e.state.type===r});t.push(wp.element.createElement("li",{className:c+" "+i,onClick:function(){return e.setState({selected:n.keyword})},role:"presentation"},wp.element.createElement("strong",{"data-key":n.keyword},n.keyword,wp.element.createElement("span",null,o," / ",n.average)),e.getTooltipContent(n)))})))})),this.updateContentAiScore(),t}},{key:"updateContentAiScore",value:function(){var e=0,t=0;(0,o.forEach)(this.contentAiScore,(function(n,r){var a=Object.values(n),i=(0,o.sum)(a);"title"!==r&&"description"!==r||100!==(0,o.max)(a)||(i=100*a.length),e+=i,t+=a.length})),e/=t,(0,o.isNaN)(e)||this.props.updateAiScore("keywords",e)}},{key:"getScore",value:function(e,t,n,r){var a=t/n*100;return this.contentAiScore[r][e]=a>100?0:a>80?100:a,a}},{key:"getTooltipContent",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.props.hasCredits)return this.state.selected===e.keyword?wp.element.createElement("span",{className:"rank-math-tooltip-data"},(0,i.__)("Copied","rank-math")):e.competition||e.cpc||e.search_volume?wp.element.createElement("span",{className:"rank-math-tooltip-data"},wp.element.createElement("span",null,(0,i.__)("Ad Competition:","rank-math")," ",(0,o.round)(100*e.competition)),wp.element.createElement("span",null,(0,i.__)("CPC:","rank-math")," $",(0,o.round)(e.cpc,2)),wp.element.createElement("span",null,(0,i.__)("Volume:","rank-math")," ",(0,o.round)(e.search_volume))):wp.element.createElement("span",{className:"rank-math-tooltip-data"},t?(0,i.__)("Click to copy keyword","rank-math"):(0,i.__)("No data available","rank-math"))}},{key:"getCount",value:function(e,t){var n=this.props.caData.content;if(e=X.Helpers.removeDiacritics(e).toLowerCase(),"heading"===t){e=e.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&");var r=new RegExp("<h[2-6][^>]*>.*?"+e+".*?</h[2-6]>","g"),a=n.match(r);return(0,o.isNull)(a)?0:a.length}return"title"===t&&(n=this.props.caData.title),"description"===t&&(n=this.props.caData.description),X.Helpers.cleanTagsOnly(n).split(e).length-1}}],n&&ne(t.prototype,n),r&&ne(t,r),Object.defineProperty(t,"prototype",{writable:!1}),u}(l.Component),le=(0,h.compose)((0,p.withDispatch)((function(e){return{toggleEditor:function(){e("rank-math").toggleSnippetEditor(!0)}}})))(se),ue=function(){return!((0,o.isNil)(window.wp)||(0,o.isNil)(wp.data)||(0,o.isNil)(wp.data.select("core/editor"))||!window.document.body.classList.contains("block-editor-page")||!(0,o.isFunction)(wp.data.select("core/editor").getEditedPostAttribute))};function me(e){return me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},me(e)}function pe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function he(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function fe(e,t){return fe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},fe(e,t)}function de(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=we(e);if(t){var a=we(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return ye(this,n)}}function ye(e,t){if(t&&("object"===me(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return ke(e)}function ke(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function we(e){return we=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},we(e)}var be=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&fe(e,t)}(c,e);var t,n,r,a=de(c);function c(){var e;return pe(this,c),(e=a.apply(this,arguments)).state={iconClass:"rm-icon-copy",selected:""},e.setState=e.setState.bind(ke(e)),e.initializeClipboard(e.setState),e}return t=c,(n=[{key:"initializeClipboard",value:function(e){var t=this;"function"==typeof ClipboardJS&&new ClipboardJS(".rank-math-copy-questions, .rank-math-questions-item h3",{text:function(e){if(!(0,o.isNull)(e.getAttribute("data-key")))return e.getAttribute("data-key");if(!ue())return document.getElementById("rank-math-ca-questions-data").innerHTML;var n=[];return(0,o.forEach)(t.props.caData.data.related_questions,(function(e){n.push({id:(0,o.uniqueId)("faq-question-"),title:e,content:"",visible:!0})})),"\x3c!-- wp:rank-math/faq-block "+JSON.stringify({questions:n})+' --\x3e<div class="wp-block-rank-math-faq-block"></div>\x3c!-- /wp:rank-math/faq-block --\x3e'}}).on("success",(function(){setTimeout((function(){e({iconClass:"rm-icon-copy"})}),3e3)}))}},{key:"render",value:function(){var e=this,t=[];return(0,o.isEmpty)(this.props.caData.data.related_questions)?wp.element.createElement("h3",{className:"no-data"},(0,i.__)("There are no recommended Questions for this researched keyword.","rank-math")):((0,o.forEach)(this.props.caData.data.related_questions,(function(n){t.push(wp.element.createElement("div",{className:"rank-math-questions-item"},wp.element.createElement("h3",{className:"rank-math-tooltip","data-key":n,onClick:function(){return e.setState({selected:n})},role:"presentation"},n,e.getTooltipContent(n))))})),wp.element.createElement(l.Fragment,null,wp.element.createElement(s.PanelBody,{initialOpen:!0},wp.element.createElement("div",{className:"rank-math-section-heading"},wp.element.createElement("h2",null,(0,i.__)("Related Questions","rank-math"),wp.element.createElement("a",{href:getLink("content-ai-settings","Sidebar Questions KB Icon"),rel:"noreferrer",target:"_blank",id:"rank-math-help-icon",title:(0,i.__)("Know more about Questions.","rank-math")},"﹖")),wp.element.createElement(s.Button,{onClick:function(){e.setState({iconClass:"rm-icon-tick"})},className:"rank-math-copy-questions button-secondary rank-math-tooltip left"},wp.element.createElement("i",{className:"rm-icon "+this.state.iconClass}),wp.element.createElement("span",null,(0,i.__)("Copy this data as a FAQ Block.","rank-math")))),wp.element.createElement("span",{className:"components-form-token-field__help"},(0,i.__)("Click on any question to copy it.","rank-math")),wp.element.createElement("div",{id:"rank-math-ca-questions-data"},t))))}},{key:"getTooltipContent",value:function(e){return this.state.selected===e&&wp.element.createElement("span",{className:"rank-math-tooltip-data"},(0,i.__)("Copied","rank-math"))}}])&&he(t.prototype,n),r&&he(t,r),Object.defineProperty(t,"prototype",{writable:!1}),c}(l.Component),ve=be,ge=function(e){var t=[];return(0,o.isEmpty)(e.caData.data.links)?wp.element.createElement("h3",{className:"no-data"},(0,i.__)("There are no recommended Links for this researched keyword.","rank-math")):((0,o.forEach)(e.caData.data.links,(function(e){return t.push(wp.element.createElement("li",null,wp.element.createElement("a",{href:e,rel:"noreferrer",target:"_blank"},e)))})),wp.element.createElement(l.Fragment,null,wp.element.createElement(s.PanelBody,{initialOpen:!0},wp.element.createElement("div",{className:"rank-math-section-heading"},wp.element.createElement("h2",null,(0,i.__)("Related External Links","rank-math"),wp.element.createElement("a",{href:Z("content-ai-links","Sidebar Links KB Icon"),rel:"noreferrer",target:"_blank",id:"rank-math-help-icon",title:(0,i.__)("Know more about Links.","rank-math")},"﹖")),wp.element.createElement("p",null,(0,i.__)("Use some of these external links in the content area. It is recommended to add","rank-math")," ",wp.element.createElement("a",{href:Z("about-and-mentions-schema","Use Some External Links"),rel:"noreferrer",target:"_blank"},(0,i.__)("about or mention Schema.","rank-math")))),wp.element.createElement("ul",null,t))))},_e=function(e){"social"===e&&(0,p.dispatch)("rank-math").toggleSnippetEditor(!0)},Ee=function(e){return wp.element.createElement(G,{className:"rank-math-contentai-tabs",activeClass:"is-active",tabs:[{name:"keywords",title:wp.element.createElement(l.Fragment,null,wp.element.createElement("span",null,(0,i.__)("Keywords","rank-math"))),view:le,className:"rank-math-keywords-tab"},{name:"questions",title:wp.element.createElement(l.Fragment,null,wp.element.createElement("span",null,(0,i.__)("Questions","rank-math"))),view:ve,className:"rank-math-questions-tab"},{name:"links",title:wp.element.createElement(l.Fragment,null,wp.element.createElement("span",null,(0,i.__)("Links","rank-math"))),view:ge,className:"rank-math-recommended-links-tab"}],onSelect:_e,data:e},(function(t){return wp.element.createElement("div",{className:"rank-math-contentai-tab-content-"+t.name},(0,l.createElement)(t.view,e))}))},Ce=React;function Se(e){return e.startsWith("{{/")?{type:"componentClose",value:e.replace(/\W/g,"")}:e.endsWith("/}}")?{type:"componentSelfClosing",value:e.replace(/\W/g,"")}:e.startsWith("{{")?{type:"componentOpen",value:e.replace(/\W/g,"")}:{type:"string",value:e}}function Oe(e,t){let n,r,a=[];for(let o=0;o<e.length;o++){const i=e[o];if("string"!==i.type){if(void 0===t[i.value])throw new Error(`Invalid interpolation, missing component node: \`${i.value}\``);if("object"!=typeof t[i.value])throw new Error(`Invalid interpolation, component node must be a ReactElement or null: \`${i.value}\``);if("componentClose"===i.type)throw new Error(`Missing opening component token: \`${i.value}\``);if("componentOpen"===i.type){n=t[i.value],r=o;break}a.push(t[i.value])}else a.push(i.value)}if(n){const o=function(e,t){const n=t[e];let r=0;for(let a=e+1;a<t.length;a++){const e=t[a];if(e.value===n.value){if("componentOpen"===e.type){r++;continue}if("componentClose"===e.type){if(0===r)return a;r--}}}throw new Error("Missing closing component token `"+n.value+"`")}(r,e),i=Oe(e.slice(r+1,o),t),c=(0,Ce.cloneElement)(n,{},i);if(a.push(c),o<e.length-1){const n=Oe(e.slice(o+1),t);a=a.concat(n)}}return a=a.filter(Boolean),0===a.length?null:1===a.length?a[0]:(0,Ce.createElement)(Ce.Fragment,null,...a)}function Ne(e){const{mixedString:t,components:n,throwErrors:r}=e;if(!n)return t;if("object"!=typeof n){if(r)throw new Error(`Interpolation Error: unable to process \`${t}\` because components is not an object`);return t}const a=function(e){return e.split(/(\{\{\/?\s*\w+\s*\/?\}\})/g).map(Se)}(t);try{return Oe(a,n)}catch(e){if(r)throw new Error(`Interpolation Error: unable to process \`${t}\` because of error \`${e.message}\``);return t}}var je=function(e){var t=e.tags,n=e.components,r=e.children;return n=n||{},!1===(0,o.isUndefined)(t)&&(t=t.split(",")).forEach((function(e){var t=e;n[e]=wp.element.createElement(t,null)})),Ne({mixedString:r,components:n})};function Pe(e){return Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe(e)}function Re(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Te(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ae(e,t){return Ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ae(e,t)}function xe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Me(e);if(t){var a=Me(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return Ie(this,n)}}function Ie(e,t){if(t&&("object"===Pe(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return De(e)}function De(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Me(e){return Me=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Me(e)}var Be=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ae(e,t)}(m,e);var n,r,c,u=xe(m);function m(){var e;return Re(this,m),(e=u.apply(this,arguments)).state={keyword:e.props.keyword,showResearch:e.props.keyword!==rankMath.ca_keyword.keyword,country:e.props.country,credits:1,creditsValue:rankMath.ca_credits,loading:!1,loadingCredits:!1},e.setState=e.setState.bind(De(e)),e}return n=m,(r=[{key:"componentDidMount",value:function(){!this.state.creditsValue&&rankMath.isUserRegistered&&this.updateCredits()}},{key:"updateCredits",value:function(){var e=this;this.setState({loadingCredits:!0}),d()({method:"POST",path:"/rankmath/v1/ca/getCredits"}).catch((function(t){e.setState({loadingCredits:!1}),alert(t.message)})).then((function(t){e.setState({creditsValue:t}),e.setState({loadingCredits:!1})}))}},{key:"render",value:function(){var e=rankMath.isUserRegistered&&(0,o.isNumber)(this.state.credits),t=a()("rank-math-content-ai-data",{loading:this.state.loading,blurred:!e}),n=this.props.data;return(!e&&(0,o.isEmpty)(n)||"show_dummy_data"===n)&&(n=this.getDummyData()),wp.element.createElement(l.Fragment,null,wp.element.createElement(s.PanelBody,{className:"rank-math-content-ai-wrapper",initialOpen:!0},wp.element.createElement(React.Fragment,null,this.getHeader(),!rankMath.isUserRegistered&&this.connectAccountNotice(),rankMath.isUserRegistered&&!e&&this.creditsNotice(e),e&&this.keywordField(),wp.element.createElement("div",{className:t},wp.element.createElement("span",{className:"loader-text"},wp.element.createElement("span",null,(0,i.__)("Fetching Search Results","rank-math")),wp.element.createElement("span",null,(0,i.__)("Analysing Your Competitors","rank-math")),wp.element.createElement("span",null,(0,i.__)("Crunching the Numbers","rank-math")),wp.element.createElement("span",null,(0,i.__)("Cooking a Personalized SEO Plan","rank-math")),wp.element.createElement("span",null,(0,i.__)("Final Touches to the SEO Recommendations","rank-math"))),(0,o.isString)(n)&&wp.element.createElement("h3",{className:"no-data"},n),!(0,o.isEmpty)(n)&&!(0,o.isString)(n)&&wp.element.createElement("div",null,wp.element.createElement("h3",{className:"rank-math-ca-section-title"},(0,i.__)("Content AI","rank-math"),wp.element.createElement("span",null,(0,i.__)("New!","rank-math")),wp.element.createElement("a",{href:Z("content-ai-settings","Sidebar KB Icon"),rel:"noreferrer",target:"_blank",id:"rank-math-help-icon",title:(0,i.__)("Content AI Knowledge Base.","rank-math")},"﹖")),wp.element.createElement(S,null),wp.element.createElement(M,{recommendations:n.recommendations,hasCredits:e,content:this.props.content,researcher:this.props.researcher,updateAiScore:this.props.updateAiScore,hasThumbnail:this.props.hasThumbnail}),wp.element.createElement(Ee,{caData:this.props,updateAiScore:this.props.updateAiScore,hasCredits:e}))))))}},{key:"getDummyData",value:function(){return{keywords:{content:{"rank math":{keyword:"rank math",average:17,count:12},"rank math vs yoast seo":{keyword:"rank math vs yoast seo",average:1,count:1},"what is rank math":{keyword:"what is rank math",average:1,count:1},"rank math schema":{keyword:"rank math schema",average:1,count:1},"rank math configuration":{keyword:"rank math configuration",average:1,count:1},"rank math pro version":{keyword:"rank math pro version",average:1,count:2},"rank math comparison":{keyword:"rank math comparison",average:1,count:1},"rank math for seo":{keyword:"rank math for seo",average:1,count:1},"seo by rank math":{keyword:"seo by rank math",average:1,count:0}}},related_keywords:["rank math plugin","rank math pricing","rank math vs yoast","rank math review","rank math premium","how to use rank math","rank math training","rank math woocommerce","wordpress seo plugin"],recommendations:{wordCount:1829,linkCount:{total:16},headingCount:{total:9},mediaCount:{total:18}}}}},{key:"getHeader",value:function(){var e=this;return wp.element.createElement("div",{className:"rank-math-ca-top-section"},wp.element.createElement(s.Button,{onClick:function(){return t()(".rank-math-general-tab").trigger("click")}},wp.element.createElement("i",{className:"dashicons dashicons-arrow-left-alt"}),(0,i.__)("Back","rank-math")),wp.element.createElement(s.SelectControl,{value:this.state.country,onChange:function(t){return e.setState({country:t,showResearch:!0})},options:rankMath.countries}))}},{key:"keywordField",value:function(){var e=this,t=a()("rank-math-tooltip update-credits",{loading:this.state.loadingCredits});return wp.element.createElement("div",{className:"rank-math-ca-keywords-wrapper"},wp.element.createElement("div",{className:"rank-math-ca-credits-wrapper"},wp.element.createElement(s.TextControl,{label:(0,i.__)("Focus Keyword","rank-math"),value:this.state.keyword,onChange:function(t){return e.setState({keyword:t,showResearch:!0})},onKeyDown:function(e){"Enter"===e.key&&e.preventDefault()},help:wp.element.createElement(React.Fragment,null,(0,i.__)("Upgrade to buy more credits from ","rank-math"),wp.element.createElement("a",{href:Z("content-ai-pricing-tables","Sidebar Upgrade Text"),rel:"noreferrer",target:"_blank",title:(0,i.__)("Content AI Pricing.","rank-math")},(0,i.__)("here.","rank-math"))),placeholder:(0,i.__)("Suggested length 2-3 Words","rank-math")}),wp.element.createElement("div",{className:"help-text"},(0,i.__)("To learn how to use it","rank-math")," ",wp.element.createElement("a",{href:Z("content-ai-settings","Content AI Sidebar KB Link"),target:"_blank",rel:"noreferrer"},(0,i.__)("Click here","rank-math"))),!this.state.showResearch&&!this.state.loading&&!(0,o.isEmpty)(this.props.data)&&wp.element.createElement(s.Button,{className:"rank-math-ca-force-update rank-math-tooltip left",onClick:function(){return e.props.researchKeyword(e.state,e.setState,!0)}},wp.element.createElement("i",{className:"dashicons dashicons-image-rotate"}),wp.element.createElement("span",null,(0,i.__)("Refresh will use one new credit.","rank-math"))),wp.element.createElement("div",{className:"rank-math-ca-credits"},wp.element.createElement(s.Button,{className:t,onClick:function(){return e.updateCredits()}},wp.element.createElement("i",{className:"dashicons dashicons-image-rotate"}),wp.element.createElement("span",null,(0,i.__)("Click to refresh the available credits.","rank-math"))),wp.element.createElement("span",null,(0,i.__)("Credits","rank-math")),wp.element.createElement("a",{href:Z("content-ai-credits-usage","Sidebar Credits Tooltip Icon"),rel:"noreferrer",target:"_blank",id:"rank-math-help-icon",title:(0,i.__)("Know more about credits.","rank-math")},"﹖"),wp.element.createElement("strong",null,this.state.creditsValue))),this.state.showResearch&&wp.element.createElement(s.Button,{className:"is-primary",onClick:function(){return e.props.researchKeyword(e.state,e.setState)},title:(0,i.__)("One credit will be used.","rank-math"),disabled:!this.state.keyword},(0,i.__)("Research","rank-math")))}},{key:"connectAccountNotice",value:function(){return wp.element.createElement("div",{className:"rank-math-ca-warning"},wp.element.createElement("h3",null,(0,i.__)("Content AI","rank-math")),wp.element.createElement("p",null,(0,i.__)("Please connect your account to use this feature.","rank-math")),wp.element.createElement(s.Button,{href:rankMath.connectSiteUrl,className:"is-primary"},(0,i.__)("Connect Now","rank-math")))}},{key:"creditsNotice",value:function(){return wp.element.createElement("div",{className:"rank-math-ca-warning"},wp.element.createElement("h3",null,(0,i.__)("Content AI","rank-math")),"site_limit_reached"===this.state.credits&&wp.element.createElement("p",null,wp.element.createElement(je,{components:{link1:wp.element.createElement("a",{href:Z("free-account","Sidebar No Credits"),target:"_blank",rel:"noopener noreferrer"}),link2:wp.element.createElement("a",{href:Z("content-ai-pricing-tables","Sidebar No Credits"),target:"_blank",rel:"noopener noreferrer"})}},(0,i.__)("All credits assigned to this site are used. Please add more credits from {{link1}}My Account{{/link1}} Page or {{link2}}upgrade your plan{{/link2}}.","rank-math"))),"account_limit_reached"===this.state.credits&&wp.element.createElement(React.Fragment,null,wp.element.createElement("p",null,(0,i.__)("You don't have any credits left.","rank-math")),wp.element.createElement(s.Button,{href:Z("content-ai-pricing-tables","Sidebar No Credits"),target:"_blank",rel:"noreferrer",className:"is-primary"},(0,i.__)("Get More Credits","rank-math"))))}}])&&Te(n.prototype,r),c&&Te(n,c),Object.defineProperty(n,"prototype",{writable:!1}),m}(l.Component),Ke=(0,h.compose)((0,p.withSelect)((function(e){var t=rankMathEditor.assessor.analyzer.researcher,n=t.paper;return{data:e("rank-math").getKeywordsData(),keyword:(0,o.get)(rankMath.ca_keyword,"keyword",e("rank-math").getKeywords().split(",")[0]),country:(0,o.get)(rankMath.ca_keyword,"country",rankMath.contentAiCountry),researcher:t,content:(0,o.isUndefined)(n)?"":n.getTextLower(),title:(0,o.isUndefined)(n)?"":n.getTitle().toLowerCase(),description:(0,o.isUndefined)(n)?"":n.getDescription().toLowerCase(),hasThumbnail:(0,o.isUndefined)(n)?"":n.hasThumbnail(),score:e("rank-math").getContentAIScore()}})),(0,p.withDispatch)((function(e,t){return{researchKeyword:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t.force_update=r,t.objectID=rankMath.objectID,t.objectType=rankMath.objectType,n({showResearch:!1,loading:!0}),d()({method:"POST",path:"/rankmath/v1/ca/researchKeyword",data:t}).catch((function(e){n({loading:!1,showResearch:!0}),alert(e.message)})).then((function(t){n({loading:!1}),e("rank-math").updateKeywordsData(t.data),(0,o.isNull)(t.credits)||(0,o.isUndefined)(t.credits)||n({credits:t.credits,creditsValue:(0,o.isNumber)(t.credits)?t.credits:0}),(0,c.doAction)("rank_math_content_ai_changed",t.keyword)}))},updateAiScore:function(n,r){var a=t.score;a[n]=(0,o.round)(r,2),e("rank-math").updateAIScore(a)}}})))(Be);function Fe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var Le=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),rankMath.isUserRegistered&&(this.init=this.init.bind(this),this.contentLength=this.contentLength.bind(this),this.contentLengthBoundary=this.contentLengthBoundary.bind(this),this.keywordDensity=this.keywordDensity.bind(this),this.removeTests=this.removeTests.bind(this),this.researchesTests=rankMath.assessor.researchesTests,this.ca_keyword=rankMath.ca_keyword.keyword,(0,c.addAction)("rank_math_loaded","rank-math",this.init),(0,c.addAction)("rank_math_keyword_refresh","rank-math",this.init),(0,c.addAction)("rank_math_content_ai_changed","rank-math",this.init))}var t,n,r;return t=e,(n=[{key:"init",value:function(e){e&&(this.ca_keyword=e),this.keyword=rankMathEditor.assessor.getPrimaryKeyword(),this.data=(0,p.select)("rank-math").getKeywordsData(),(0,o.isEmpty)(this.data)||(this.filters(),this.removeTests(),e&&rankMathEditor.refresh("content"))}},{key:"removeTests",value:function(){if(this.ca_keyword===this.keyword){var e=this.data.recommendations;rankMath.assessor.researchesTests=(0,o.filter)(rankMath.assessor.researchesTests,(function(t){return!(!e.mediaCount&&"contentHasAssets"===t||!e.linkCount.internal&&"linksHasInternal"===t||!(e.linkCount.external||"linksHasExternals"!==t&&"linksNotAllExternals"!==t))}))}else rankMath.assessor.researchesTests=this.researchesTests}},{key:"filters",value:function(){(0,c.addFilter)("rankMath_analysis_contentLength","rank-math",this.contentLength),(0,c.addFilter)("rankMath_analysis_contentLength_boundaries","rank-math",this.contentLengthBoundary),(0,c.addFilter)("rankMath_analysis_keywordDensity","rank-math",this.keywordDensity)}},{key:"contentLength",value:function(e){if(this.ca_keyword!==this.keyword)return e;var t=this.data.recommendations.wordCount,n=(0,o.ceil)(150*t/100);return{hasScore:e.hasScore,failed:(0,i.sprintf)((0,i.__)("Content is %1$s words long. Consider using at least %2$s words.","rank-math"),"%1$d",t),tooltipText:(0,i.sprintf)((0,i.__)("Minimum recommended content length should be %1$d words.","rank-math"),t),emptyContent:(0,i.sprintf)((0,i.__)("Content should be %1$s long.","rank-math"),'<a href="https://s.rankmath.com/100contentlength" target="_blank">'+t+" - "+n+(0,i.__)(" words","rank-math")+"</a>")}}},{key:"contentLengthBoundary",value:function(e){if(this.ca_keyword!==this.keyword)return e;var t=this.data.recommendations.wordCount,n=(0,o.ceil)(150*t/100);return{recommended:{boundary:n,score:8},belowRecommended:{boundary:(0,o.ceil)(n/2),score:5},low:{boundary:t,score:2}}}},{key:"keywordDensity",value:function(e,t){if((0,o.isEmpty)(this.data.keywords.content)||(0,o.isEmpty)(this.data.keywords.content[this.keyword]))return e;var n=t/this.data.keywords.content[this.keyword].average*100;return n>80?1.1:100<n?2.5:80<n?1.1:50<n?.8:.5}}])&&Fe(t.prototype,n),r&&Fe(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Ue=function(){var e=a()("button-secondary rank-math-content-ai",{"is-new":!rankMath.ca_viewed});return wp.element.createElement(s.Button,{className:e,onClick:function(){return t()(".rank-math-content-ai-tab").trigger("click")}},wp.element.createElement("i",{className:"rm-icon rm-icon-target"}),(0,i.__)("Content AI","rank-math"))};(0,c.addFilter)("rankMath.analytics.contentAI","rank-math",(function(){return Ue})),(0,c.addAction)("rank_math_loaded","rank-math",(function(){(0,c.addFilter)("rank_math_sidebar_tabs","rank-math",(function(e){return e.push({name:"contentAI",title:wp.element.createElement(l.Fragment,null,wp.element.createElement("i",{className:"rm-icon rm-icon-target"}),wp.element.createElement("span",null,(0,i.__)("Content AI","rank-math"))),view:Ke,className:"rank-math-content-ai-tab hidden is-active"}),e}));var e=document.getElementById("cmb2-metabox-rank_math_metabox_content_ai");e&&setTimeout((function(){(0,l.render)((0,l.createElement)(Ke),e)}),1e3),"gutenberg"===rankMath.currentEditor&&(0,u.registerPlugin)("rank-math-content-ai-box",{render:function(){var e=(0,p.select)("rank-math").getContentAIScore();return!(!(0,o.isEmpty)(e)||!(0,o.isEmpty)(rankMath.ca_keyword))&&wp.element.createElement(m.PluginPrePublishPanel,{title:(0,i.__)("Content AI","rank-math"),icon:"rm-icon rm-icon-target",initialOpen:"true",className:"rank-math-content-ai-box"},wp.element.createElement("p",null,(0,i.__)("Improve your content with a personal Content AI.","rank-math")),wp.element.createElement(s.Button,{className:"button-primary",onClick:function(){t()(".editor-post-publish-panel__header-cancel-button button").trigger("click"),t()(".rank-math-toolbar-score").parent().hasClass("is-pressed")||t()(".rank-math-toolbar-score").trigger("click"),setTimeout((function(){t()(".rank-math-content-ai-tab").trigger("click")}),100)}},(0,i.__)("Improve Now","rank-math")))}}),"classic"!==rankMath.currentEditor&&t()(document).on("click",".rank-math-open-contentai",(function(e){return e.preventDefault(),t()(".rank-math-content-ai-tab").trigger("click"),!1})),new Le}))}()}();
|
1 |
+
!function(){var e={184:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)){if(n.length){var i=a.apply(null,n);i&&e.push(i)}}else if("object"===o){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var c in n)r.call(n,c)&&n[c]&&e.push(c)}}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()}},t={};function n(r){var a=t[r];if(void 0!==a)return a.exports;var o=t[r]={exports:{}};return e[r](o,o.exports,n),o.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=jQuery,t=n.n(e),r=n(184),a=n.n(r),o=lodash,i=wp.i18n,c=wp.hooks,s=wp.components,l=wp.element,u=wp.plugins,m=wp.editPost,p=wp.data,h=wp.compose,f=wp.apiFetch,d=n.n(f);function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}function k(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function b(e,t){return b=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},b(e,t)}function v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=E(e);if(t){var a=E(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return g(this,n)}}function g(e,t){if(t&&("object"===y(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return _(e)}function _(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}var C=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&b(e,t)}(c,e);var t,n,r,a=v(c);function c(){var e;return k(this,c),(e=a.apply(this,arguments)).state={score:0},e.setState=e.setState.bind(_(e)),e}return t=c,(n=[{key:"render",value:function(){var e=this;return setTimeout((function(){e.setState({score:e.props.score})}),1e3),wp.element.createElement("div",{className:"rank-math-ca-score"},wp.element.createElement("div",{className:"score-text"},(0,i.__)("Score:","rank-math")," ",this.state.score,wp.element.createElement("span",null," / ",(0,i.__)("100","rank-math"))),wp.element.createElement("div",{className:"score-wrapper"},wp.element.createElement("span",{className:"score-dot",style:{left:((0,o.inRange)(this.state.score,0,5)?5:this.state.score)+"%"}})))}}])&&w(t.prototype,n),r&&w(t,r),Object.defineProperty(t,"prototype",{writable:!1}),c}(l.Component),S=(0,h.compose)((0,p.withSelect)((function(e){var t=Object.values(e("rank-math").getContentAIScore());return{score:(0,o.round)((0,o.sum)(t)/t.length)}})))(C);function O(e){return 100<e?"bad-fk dark":80<e?"good-fk":50<e?"ok-fk":"bad-fk"}function N(e){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N(e)}function j(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function P(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function R(e,t){return R=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},R(e,t)}function T(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=I(e);if(t){var a=I(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return A(this,n)}}function A(e,t){if(t&&("object"===N(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return x(e)}function x(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function I(e){return I=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},I(e)}var D=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&R(e,t)}(s,e);var t,n,r,c=T(s);function s(){var e;return j(this,s),(e=c.apply(this,arguments)).state={activeTab:""},e.setState=e.setState.bind(x(e)),e}return t=s,n=[{key:"render",value:function(){return wp.element.createElement("div",{className:"rank-math-ca-recommendations"},this.getRecommendations(this.props.recommendations))}},{key:"getRecommendations",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];return(0,o.forEach)(e,(function(e,c){if("total"!==c){var s=(0,o.isUndefined)(e.total)?e:e.total,l=t.getPostStats(c),u=a()(c,{"has-children":!(0,o.isUndefined)(e.total),show:c===t.state.activeTab}),m=t.getScore(c,l,s,n),p=(0,o.ceil)(150*s/100);r.push(wp.element.createElement("div",{className:u+" "+O(m),onClick:function(){return t.setState({activeTab:t.state.activeTab!==c?c:""})},role:"presentation"},wp.element.createElement("h4",null,n?c:(0,o.startCase)(c)),n&&wp.element.createElement("span",null,l," / ",s),!n&&wp.element.createElement(React.Fragment,null,wp.element.createElement("strong",null,l),wp.element.createElement("span",{className:"desc"},(0,i.__)("Use","rank-math")," ",s," ",(0,i.__)("to","rank-math")," ",p)),(0,o.isObject)(e)&&t.getRecommendations(e,!0)))}})),n?wp.element.createElement("div",{className:"submenu"},r):r}},{key:"getPostStats",value:function(e){return(0,o.has)(this.props.postStats,e)?this.props.postStats[e]:0}},{key:"getScore",value:function(e,t,n,r){var a=t===n?100:t/n*100;if(0===n&&t<=2&&(a=100),r)return a>100&&a<=125?100:a;var o=a>80?100:t/n*80;return a>125&&"wordCount"!==e&&(o=0),this.props.updateAiScore(e,o),a>100&&"wordCount"===e||a>100&&a<=125?100:a}}],n&&P(t.prototype,n),r&&P(t,r),Object.defineProperty(t,"prototype",{writable:!1}),s}(l.Component),M=(0,h.compose)((0,p.withSelect)((function(e,t){var n=1518,r=12,a=2,i=5,c=3,s=0,l=0,u=0,m=8,p=19;if(t.hasCredits){var h=t.researcher.getResearch("wordCount"),f=rankMathEditor.assessor.analyzer.defaultAnalyses.contentHasAssets;n=h(t.content),r=(0,o.isUndefined)(f)?0:f.getImages(t.researcher.paper,t.content),a=(0,o.isUndefined)(f)?0:f.getVideos(t.content),i=(t.content.match(/<h2\b[^>]*>(.*?)<\/h2>/g)||[]).length,c=(t.content.match(/<h3\b[^>]*>(.*?)<\/h3>/g)||[]).length,s=(t.content.match(/<h4\b[^>]*>(.*?)<\/h4>/g)||[]).length,l=(t.content.match(/<h5\b[^>]*>(.*?)<\/h5>/g)||[]).length,u=(t.content.match(/<h6\b[^>]*>(.*?)<\/h6>/g)||[]).length;var d=t.researcher.getResearch("getLinkStats")(t.content);m=d.internalTotal,p=d.externalTotal}return{postStats:{wordCount:n,images:r,videos:a,mediaCount:r+a,h2:i,h3:c,h4:s,h5:l,h6:u,headingCount:i+c+s+l+u,internal:m,external:p,linkCount:m+p}}})))(D);function B(e){return B="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},B(e)}var K=["tabId","onClick","children","selected"];function F(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function L(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function U(e,t){return U=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},U(e,t)}function q(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=z(e);if(t){var a=z(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return $(this,n)}}function $(e,t){if(t&&("object"===B(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return H(e)}function H(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function z(e){return z=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},z(e)}function W(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Q(){return Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)}function V(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var J=function(e){var t=e.tabId,n=e.onClick,r=e.children,a=e.selected,o=V(e,K);return wp.element.createElement(s.Button,Q({role:"tab",tabIndex:a?null:-1,"aria-selected":a,id:t,onClick:n},o),r)},Y=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&U(e,t)}(c,e);var t,n,r,i=q(c);function c(){var e;F(this,c),W(H(e=i.apply(this,arguments)),"handleClick",(function(t){var n=e.props.onSelect,r=void 0===n?o.noop:n;e.setState({selected:t}),r(t)})),W(H(e),"onNavigate",(function(e,t){t.click()}));var t=e.props,n=t.tabs,r=t.initialTabName;return e.state={selected:r||(n.length>0?n[0].name:null)},e}return t=c,(n=[{key:"render",value:function(){var e=this,t=this.state.selected,n=this.props,r=n.activeClass,i=void 0===r?"is-active":r,c=n.className,l=n.instanceId,u=n.orientation,m=void 0===u?"horizontal":u,p=n.tabs,h=(0,o.find)(p,{name:t}),f=l+"-"+h.name,d=p.slice(4);return wp.element.createElement("div",{className:c},wp.element.createElement(s.NavigableMenu,{role:"tablist",orientation:m,onNavigate:this.onNavigate,className:"components-tab-panel__tabs "+t},p.slice(0,4).map((function(n){return wp.element.createElement(J,{className:a()("components-tab-panel__tabs-item",n.className,W({},i,n.name===t)),tabId:l+"-"+n.name,"aria-controls":l+"-"+n.name+"-view",selected:n.name===t,key:n.name,onClick:(0,o.partial)(e.handleClick,n.name)},n.title)})),d.map((function(n){return wp.element.createElement(J,{className:a()("components-tab-panel__tabs-item",n.className,W({},i,n.name===t)),tabId:l+"-"+n.name,"aria-controls":l+"-"+n.name+"-view",selected:n.name===t,key:n.name,onClick:(0,o.partial)(e.handleClick,n.name)},n.title)}))),h&&wp.element.createElement("div",{"aria-labelledby":f,role:"tabpanel",id:f+"-view",className:"components-tab-panel__tab-content"},this.props.children(h)))}}])&&L(t.prototype,n),r&&L(t,r),Object.defineProperty(t,"prototype",{writable:!1}),c}(l.Component),G=(0,h.withInstanceId)(Y),X=rankMathAnalyzer;function Z(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=rankMath.links[e]||"";if(!n)return"#";if(!t)return n;var r={utm_source:"Plugin",utm_medium:encodeURIComponent(t),utm_campaign:"WP"};return n+"?"+Object.keys(r).map((function(e){return"".concat(e,"=").concat(r[e])})).join("&")}function ee(e){return ee="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ee(e)}function te(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ne(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function re(e,t){return re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},re(e,t)}function ae(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ce(e);if(t){var a=ce(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return oe(this,n)}}function oe(e,t){if(t&&("object"===ee(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return ie(e)}function ie(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ce(e){return ce=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ce(e)}var se=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&re(e,t)}(u,e);var t,n,r,c=ae(u);function u(){var e;return te(this,u),(e=c.apply(this,arguments)).state={type:"content",selected:""},e.setState=e.setState.bind(ie(e)),e.initializeClipboard(e.setState),e}return t=u,n=[{key:"initializeClipboard",value:function(e){"function"==typeof ClipboardJS&&this.props.hasCredits&&new ClipboardJS(".rank-math-tooltip strong",{text:function(e){return e.getAttribute("data-key")}}).on("success",(function(){setTimeout((function(){e({selected:""})}),3e3)}))}},{key:"render",value:function(){var e=this;return wp.element.createElement(l.Fragment,null,wp.element.createElement(s.PanelBody,{initialOpen:!0},wp.element.createElement(s.SelectControl,{label:(0,i.__)("Use Keyword in","rank-math"),value:this.state.type,options:[{value:"content",label:(0,i.__)("Content","rank-math")},{value:"heading",label:(0,i.__)("Headings","rank-math")},{value:"title",label:(0,i.__)("SEO Title","rank-math")},{value:"description",label:(0,i.__)("SEO Description","rank-math")}],onChange:function(t){e.setState({type:t})}}),wp.element.createElement("a",{href:Z("content-ai-keywords","Sidebar Keywords KB Icon"),rel:"noreferrer",target:"_blank",id:"rank-math-help-icon",title:(0,i.__)("Know more about Keywords.","rank-math")},"﹖"),wp.element.createElement(React.Fragment,null,wp.element.createElement("span",{className:"components-form-token-field__help"},(0,i.__)("Click on any keyword to copy it.","rank-math")),wp.element.createElement("br",null),(0,o.includes)(["title","description"],this.state.type)&&wp.element.createElement("span",{className:"components-form-token-field__help"},(0,i.__)("Please use only one or two keywords from here.","rank-math")),wp.element.createElement("ul",null,this.getKeywords())),this.getRelatedKeywords()))}},{key:"getRelatedKeywords",value:function(){var e=this;if("content"!==this.state.type||(0,o.isEmpty)(this.props.caData.data.related_keywords))return!1;var t=[];return(0,o.forEach)(this.props.caData.data.related_keywords,(function(n){t.push(wp.element.createElement("li",{className:"rank-math-tooltip show",onClick:function(){return e.setState({selected:n})},role:"presentation"},wp.element.createElement("strong",{"data-key":n},n),e.getTooltipContent({keyword:n},!0)))})),wp.element.createElement("div",{className:"rank-math-related-keywords"},wp.element.createElement("h3",null,(0,i.__)("Related Keywords","rank-math")),wp.element.createElement("ul",null,t))}},{key:"getKeywords",value:function(){var e=this;if((0,o.isEmpty)(this.props.caData.data.keywords))return wp.element.createElement("h3",{className:"no-data"},(0,i.__)("There are no recommended Keywords for this researched keyword.","rank-math"));var t=[];return this.contentAiScore={},(0,o.forEach)(this.props.caData.data.keywords,(function(n,r){(0,o.isEmpty)(n)||(e.contentAiScore[r]={},(0,o.forEach)(n,(function(n){var o=e.props.hasCredits?e.getCount(n.keyword,r):n.count,i=O(e.getScore(n.keyword,o,n.average,r)),c=a()("rank-math-tooltip",{show:e.state.type===r});t.push(wp.element.createElement("li",{className:c+" "+i,onClick:function(){return e.setState({selected:n.keyword})},role:"presentation"},wp.element.createElement("strong",{"data-key":n.keyword},n.keyword,wp.element.createElement("span",null,o," / ",n.average)),e.getTooltipContent(n)))})))})),this.updateContentAiScore(),t}},{key:"updateContentAiScore",value:function(){var e=0,t=0;(0,o.forEach)(this.contentAiScore,(function(n,r){var a=Object.values(n),i=(0,o.sum)(a);"title"!==r&&"description"!==r||100!==(0,o.max)(a)||(i=100*a.length),e+=i,t+=a.length})),e/=t,(0,o.isNaN)(e)||this.props.updateAiScore("keywords",e)}},{key:"getScore",value:function(e,t,n,r){var a=t/n*100;return this.contentAiScore[r][e]=a>100?0:a>80?100:a,a}},{key:"getTooltipContent",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.props.hasCredits)return this.state.selected===e.keyword?wp.element.createElement("span",{className:"rank-math-tooltip-data"},(0,i.__)("Copied","rank-math")):e.competition||e.cpc||e.search_volume?wp.element.createElement("span",{className:"rank-math-tooltip-data"},wp.element.createElement("span",null,(0,i.__)("Ad Competition:","rank-math")," ",(0,o.round)(100*e.competition)),wp.element.createElement("span",null,(0,i.__)("CPC:","rank-math")," $",(0,o.round)(e.cpc,2)),wp.element.createElement("span",null,(0,i.__)("Volume:","rank-math")," ",(0,o.round)(e.search_volume))):wp.element.createElement("span",{className:"rank-math-tooltip-data"},t?(0,i.__)("Click to copy keyword","rank-math"):(0,i.__)("No data available","rank-math"))}},{key:"getCount",value:function(e,t){var n=this.props.caData.content;if(e=X.Helpers.removeDiacritics(e).toLowerCase(),"heading"===t){e=e.replace(/[\\^$*+?.()|[\]{}]/g,"\\$&");var r=new RegExp("<h[2-6][^>]*>.*?"+e+".*?</h[2-6]>","g"),a=n.match(r);return(0,o.isNull)(a)?0:a.length}return"title"===t&&(n=this.props.caData.title),"description"===t&&(n=this.props.caData.description),X.Helpers.cleanTagsOnly(n).split(e).length-1}}],n&&ne(t.prototype,n),r&&ne(t,r),Object.defineProperty(t,"prototype",{writable:!1}),u}(l.Component),le=(0,h.compose)((0,p.withDispatch)((function(e){return{toggleEditor:function(){e("rank-math").toggleSnippetEditor(!0)}}})))(se),ue=function(){return!((0,o.isNil)(window.wp)||(0,o.isNil)(wp.data)||(0,o.isNil)(wp.data.select("core/editor"))||!window.document.body.classList.contains("block-editor-page")||!(0,o.isFunction)(wp.data.select("core/editor").getEditedPostAttribute))};function me(e){return me="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},me(e)}function pe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function he(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function fe(e,t){return fe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},fe(e,t)}function de(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=we(e);if(t){var a=we(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return ye(this,n)}}function ye(e,t){if(t&&("object"===me(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return ke(e)}function ke(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function we(e){return we=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},we(e)}var be=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&fe(e,t)}(c,e);var t,n,r,a=de(c);function c(){var e;return pe(this,c),(e=a.apply(this,arguments)).state={iconClass:"rm-icon-copy",selected:""},e.setState=e.setState.bind(ke(e)),e.initializeClipboard(e.setState),e}return t=c,(n=[{key:"initializeClipboard",value:function(e){var t=this;"function"==typeof ClipboardJS&&new ClipboardJS(".rank-math-copy-questions, .rank-math-questions-item h3",{text:function(e){if(!(0,o.isNull)(e.getAttribute("data-key")))return e.getAttribute("data-key");if(!ue())return document.getElementById("rank-math-ca-questions-data").innerHTML;var n=[];return(0,o.forEach)(t.props.caData.data.related_questions,(function(e){n.push({id:(0,o.uniqueId)("faq-question-"),title:e,content:"",visible:!0})})),"\x3c!-- wp:rank-math/faq-block "+JSON.stringify({questions:n})+' --\x3e<div class="wp-block-rank-math-faq-block"></div>\x3c!-- /wp:rank-math/faq-block --\x3e'}}).on("success",(function(){setTimeout((function(){e({iconClass:"rm-icon-copy"})}),3e3)}))}},{key:"render",value:function(){var e=this,t=[];return(0,o.isEmpty)(this.props.caData.data.related_questions)?wp.element.createElement("h3",{className:"no-data"},(0,i.__)("There are no recommended Questions for this researched keyword.","rank-math")):((0,o.forEach)(this.props.caData.data.related_questions,(function(n){t.push(wp.element.createElement("div",{className:"rank-math-questions-item"},wp.element.createElement("h3",{className:"rank-math-tooltip","data-key":n,onClick:function(){return e.setState({selected:n})},role:"presentation"},n,e.getTooltipContent(n))))})),wp.element.createElement(l.Fragment,null,wp.element.createElement(s.PanelBody,{initialOpen:!0},wp.element.createElement("div",{className:"rank-math-section-heading"},wp.element.createElement("h2",null,(0,i.__)("Related Questions","rank-math"),wp.element.createElement("a",{href:Z("content-ai-settings","Sidebar Questions KB Icon"),rel:"noreferrer",target:"_blank",id:"rank-math-help-icon",title:(0,i.__)("Know more about Questions.","rank-math")},"﹖")),wp.element.createElement(s.Button,{onClick:function(){e.setState({iconClass:"rm-icon-tick"})},className:"rank-math-copy-questions button-secondary rank-math-tooltip left"},wp.element.createElement("i",{className:"rm-icon "+this.state.iconClass}),wp.element.createElement("span",null,(0,i.__)("Copy this data as a FAQ Block.","rank-math")))),wp.element.createElement("span",{className:"components-form-token-field__help"},(0,i.__)("Click on any question to copy it.","rank-math")),wp.element.createElement("div",{id:"rank-math-ca-questions-data"},t))))}},{key:"getTooltipContent",value:function(e){return this.state.selected===e&&wp.element.createElement("span",{className:"rank-math-tooltip-data"},(0,i.__)("Copied","rank-math"))}}])&&he(t.prototype,n),r&&he(t,r),Object.defineProperty(t,"prototype",{writable:!1}),c}(l.Component),ve=be,ge=function(e){var t=[];return(0,o.isEmpty)(e.caData.data.links)?wp.element.createElement("h3",{className:"no-data"},(0,i.__)("There are no recommended Links for this researched keyword.","rank-math")):((0,o.forEach)(e.caData.data.links,(function(e){return t.push(wp.element.createElement("li",null,wp.element.createElement("a",{href:e,rel:"noreferrer",target:"_blank"},e)))})),wp.element.createElement(l.Fragment,null,wp.element.createElement(s.PanelBody,{initialOpen:!0},wp.element.createElement("div",{className:"rank-math-section-heading"},wp.element.createElement("h2",null,(0,i.__)("Related External Links","rank-math"),wp.element.createElement("a",{href:Z("content-ai-links","Sidebar Links KB Icon"),rel:"noreferrer",target:"_blank",id:"rank-math-help-icon",title:(0,i.__)("Know more about Links.","rank-math")},"﹖")),wp.element.createElement("p",null,(0,i.__)("Use some of these external links in the content area. It is recommended to add","rank-math")," ",wp.element.createElement("a",{href:Z("about-and-mentions-schema","Use Some External Links"),rel:"noreferrer",target:"_blank"},(0,i.__)("about or mention Schema.","rank-math")))),wp.element.createElement("ul",null,t))))},_e=function(e){"social"===e&&(0,p.dispatch)("rank-math").toggleSnippetEditor(!0)},Ee=function(e){return wp.element.createElement(G,{className:"rank-math-contentai-tabs",activeClass:"is-active",tabs:[{name:"keywords",title:wp.element.createElement(l.Fragment,null,wp.element.createElement("span",null,(0,i.__)("Keywords","rank-math"))),view:le,className:"rank-math-keywords-tab"},{name:"questions",title:wp.element.createElement(l.Fragment,null,wp.element.createElement("span",null,(0,i.__)("Questions","rank-math"))),view:ve,className:"rank-math-questions-tab"},{name:"links",title:wp.element.createElement(l.Fragment,null,wp.element.createElement("span",null,(0,i.__)("Links","rank-math"))),view:ge,className:"rank-math-recommended-links-tab"}],onSelect:_e,data:e},(function(t){return wp.element.createElement("div",{className:"rank-math-contentai-tab-content-"+t.name},(0,l.createElement)(t.view,e))}))},Ce=React;function Se(e){return e.startsWith("{{/")?{type:"componentClose",value:e.replace(/\W/g,"")}:e.endsWith("/}}")?{type:"componentSelfClosing",value:e.replace(/\W/g,"")}:e.startsWith("{{")?{type:"componentOpen",value:e.replace(/\W/g,"")}:{type:"string",value:e}}function Oe(e,t){let n,r,a=[];for(let o=0;o<e.length;o++){const i=e[o];if("string"!==i.type){if(void 0===t[i.value])throw new Error(`Invalid interpolation, missing component node: \`${i.value}\``);if("object"!=typeof t[i.value])throw new Error(`Invalid interpolation, component node must be a ReactElement or null: \`${i.value}\``);if("componentClose"===i.type)throw new Error(`Missing opening component token: \`${i.value}\``);if("componentOpen"===i.type){n=t[i.value],r=o;break}a.push(t[i.value])}else a.push(i.value)}if(n){const o=function(e,t){const n=t[e];let r=0;for(let a=e+1;a<t.length;a++){const e=t[a];if(e.value===n.value){if("componentOpen"===e.type){r++;continue}if("componentClose"===e.type){if(0===r)return a;r--}}}throw new Error("Missing closing component token `"+n.value+"`")}(r,e),i=Oe(e.slice(r+1,o),t),c=(0,Ce.cloneElement)(n,{},i);if(a.push(c),o<e.length-1){const n=Oe(e.slice(o+1),t);a=a.concat(n)}}return a=a.filter(Boolean),0===a.length?null:1===a.length?a[0]:(0,Ce.createElement)(Ce.Fragment,null,...a)}function Ne(e){const{mixedString:t,components:n,throwErrors:r}=e;if(!n)return t;if("object"!=typeof n){if(r)throw new Error(`Interpolation Error: unable to process \`${t}\` because components is not an object`);return t}const a=function(e){return e.split(/(\{\{\/?\s*\w+\s*\/?\}\})/g).map(Se)}(t);try{return Oe(a,n)}catch(e){if(r)throw new Error(`Interpolation Error: unable to process \`${t}\` because of error \`${e.message}\``);return t}}var je=function(e){var t=e.tags,n=e.components,r=e.children;return n=n||{},!1===(0,o.isUndefined)(t)&&(t=t.split(",")).forEach((function(e){var t=e;n[e]=wp.element.createElement(t,null)})),Ne({mixedString:r,components:n})};function Pe(e){return Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Pe(e)}function Re(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Te(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ae(e,t){return Ae=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},Ae(e,t)}function xe(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Me(e);if(t){var a=Me(this).constructor;n=Reflect.construct(r,arguments,a)}else n=r.apply(this,arguments);return Ie(this,n)}}function Ie(e,t){if(t&&("object"===Pe(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return De(e)}function De(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Me(e){return Me=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},Me(e)}var Be=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ae(e,t)}(m,e);var n,r,c,u=xe(m);function m(){var e;return Re(this,m),(e=u.apply(this,arguments)).state={keyword:e.props.keyword,showResearch:e.props.keyword!==rankMath.ca_keyword.keyword,country:e.props.country,credits:1,creditsValue:rankMath.ca_credits,loading:!1,loadingCredits:!1},e.setState=e.setState.bind(De(e)),e}return n=m,(r=[{key:"componentDidMount",value:function(){!this.state.creditsValue&&rankMath.isUserRegistered&&this.updateCredits()}},{key:"updateCredits",value:function(){var e=this;this.setState({loadingCredits:!0}),d()({method:"POST",path:"/rankmath/v1/ca/getCredits"}).catch((function(t){e.setState({loadingCredits:!1}),alert(t.message)})).then((function(t){e.setState({creditsValue:t}),e.setState({loadingCredits:!1})}))}},{key:"render",value:function(){var e=rankMath.isUserRegistered&&(0,o.isNumber)(this.state.credits),t=a()("rank-math-content-ai-data",{loading:this.state.loading,blurred:!e}),n=this.props.data;return(!e&&(0,o.isEmpty)(n)||"show_dummy_data"===n)&&(n=this.getDummyData()),wp.element.createElement(l.Fragment,null,wp.element.createElement(s.PanelBody,{className:"rank-math-content-ai-wrapper",initialOpen:!0},wp.element.createElement(React.Fragment,null,this.getHeader(),!rankMath.isUserRegistered&&this.connectAccountNotice(),rankMath.isUserRegistered&&!e&&this.creditsNotice(e),e&&this.keywordField(),wp.element.createElement("div",{className:t},wp.element.createElement("span",{className:"loader-text"},wp.element.createElement("span",null,(0,i.__)("Fetching Search Results","rank-math")),wp.element.createElement("span",null,(0,i.__)("Analysing Your Competitors","rank-math")),wp.element.createElement("span",null,(0,i.__)("Crunching the Numbers","rank-math")),wp.element.createElement("span",null,(0,i.__)("Cooking a Personalized SEO Plan","rank-math")),wp.element.createElement("span",null,(0,i.__)("Final Touches to the SEO Recommendations","rank-math"))),(0,o.isString)(n)&&wp.element.createElement("h3",{className:"no-data"},n),!(0,o.isEmpty)(n)&&!(0,o.isString)(n)&&wp.element.createElement("div",null,wp.element.createElement("h3",{className:"rank-math-ca-section-title"},(0,i.__)("Content AI","rank-math"),wp.element.createElement("span",null,(0,i.__)("New!","rank-math")),wp.element.createElement("a",{href:Z("content-ai-settings","Sidebar KB Icon"),rel:"noreferrer",target:"_blank",id:"rank-math-help-icon",title:(0,i.__)("Content AI Knowledge Base.","rank-math")},"﹖")),wp.element.createElement(S,null),wp.element.createElement(M,{recommendations:n.recommendations,hasCredits:e,content:this.props.content,researcher:this.props.researcher,updateAiScore:this.props.updateAiScore,hasThumbnail:this.props.hasThumbnail}),wp.element.createElement(Ee,{caData:this.props,updateAiScore:this.props.updateAiScore,hasCredits:e}))))))}},{key:"getDummyData",value:function(){return{keywords:{content:{"rank math":{keyword:"rank math",average:17,count:12},"rank math vs yoast seo":{keyword:"rank math vs yoast seo",average:1,count:1},"what is rank math":{keyword:"what is rank math",average:1,count:1},"rank math schema":{keyword:"rank math schema",average:1,count:1},"rank math configuration":{keyword:"rank math configuration",average:1,count:1},"rank math pro version":{keyword:"rank math pro version",average:1,count:2},"rank math comparison":{keyword:"rank math comparison",average:1,count:1},"rank math for seo":{keyword:"rank math for seo",average:1,count:1},"seo by rank math":{keyword:"seo by rank math",average:1,count:0}}},related_keywords:["rank math plugin","rank math pricing","rank math vs yoast","rank math review","rank math premium","how to use rank math","rank math training","rank math woocommerce","wordpress seo plugin"],recommendations:{wordCount:1829,linkCount:{total:16},headingCount:{total:9},mediaCount:{total:18}}}}},{key:"getHeader",value:function(){var e=this;return wp.element.createElement("div",{className:"rank-math-ca-top-section"},wp.element.createElement(s.Button,{onClick:function(){return t()(".rank-math-general-tab").trigger("click")}},wp.element.createElement("i",{className:"dashicons dashicons-arrow-left-alt"}),(0,i.__)("Back","rank-math")),wp.element.createElement(s.SelectControl,{value:this.state.country,onChange:function(t){return e.setState({country:t,showResearch:!0})},options:rankMath.countries}))}},{key:"keywordField",value:function(){var e=this,t=a()("rank-math-tooltip update-credits",{loading:this.state.loadingCredits});return wp.element.createElement("div",{className:"rank-math-ca-keywords-wrapper"},wp.element.createElement("div",{className:"rank-math-ca-credits-wrapper"},wp.element.createElement(s.TextControl,{label:(0,i.__)("Focus Keyword","rank-math"),value:this.state.keyword,onChange:function(t){return e.setState({keyword:t,showResearch:!0})},onKeyDown:function(e){"Enter"===e.key&&e.preventDefault()},help:wp.element.createElement(React.Fragment,null,(0,i.__)("Upgrade to buy more credits from ","rank-math"),wp.element.createElement("a",{href:Z("content-ai-pricing-tables","Sidebar Upgrade Text"),rel:"noreferrer",target:"_blank",title:(0,i.__)("Content AI Pricing.","rank-math")},(0,i.__)("here.","rank-math"))),placeholder:(0,i.__)("Suggested length 2-3 Words","rank-math")}),wp.element.createElement("div",{className:"help-text"},(0,i.__)("To learn how to use it","rank-math")," ",wp.element.createElement("a",{href:Z("content-ai-settings","Content AI Sidebar KB Link"),target:"_blank",rel:"noreferrer"},(0,i.__)("Click here","rank-math"))),!this.state.showResearch&&!this.state.loading&&!(0,o.isEmpty)(this.props.data)&&wp.element.createElement(s.Button,{className:"rank-math-ca-force-update rank-math-tooltip left",onClick:function(){return e.props.researchKeyword(e.state,e.setState,!0)}},wp.element.createElement("i",{className:"dashicons dashicons-image-rotate"}),wp.element.createElement("span",null,(0,i.__)("Refresh will use one new credit.","rank-math"))),wp.element.createElement("div",{className:"rank-math-ca-credits"},wp.element.createElement(s.Button,{className:t,onClick:function(){return e.updateCredits()}},wp.element.createElement("i",{className:"dashicons dashicons-image-rotate"}),wp.element.createElement("span",null,(0,i.__)("Click to refresh the available credits.","rank-math"))),wp.element.createElement("span",null,(0,i.__)("Credits","rank-math")),wp.element.createElement("a",{href:Z("content-ai-credits-usage","Sidebar Credits Tooltip Icon"),rel:"noreferrer",target:"_blank",id:"rank-math-help-icon",title:(0,i.__)("Know more about credits.","rank-math")},"﹖"),wp.element.createElement("strong",null,this.state.creditsValue))),this.state.showResearch&&wp.element.createElement(s.Button,{className:"is-primary",onClick:function(){return e.props.researchKeyword(e.state,e.setState)},title:(0,i.__)("One credit will be used.","rank-math"),disabled:!this.state.keyword},(0,i.__)("Research","rank-math")))}},{key:"connectAccountNotice",value:function(){return wp.element.createElement("div",{className:"rank-math-ca-warning"},wp.element.createElement("h3",null,(0,i.__)("Content AI","rank-math")),wp.element.createElement("p",null,(0,i.__)("Please connect your account to use this feature.","rank-math")),wp.element.createElement(s.Button,{href:rankMath.connectSiteUrl,className:"is-primary"},(0,i.__)("Connect Now","rank-math")))}},{key:"creditsNotice",value:function(){return wp.element.createElement("div",{className:"rank-math-ca-warning"},wp.element.createElement("h3",null,(0,i.__)("Content AI","rank-math")),"site_limit_reached"===this.state.credits&&wp.element.createElement("p",null,wp.element.createElement(je,{components:{link1:wp.element.createElement("a",{href:Z("free-account","Sidebar No Credits"),target:"_blank",rel:"noopener noreferrer"}),link2:wp.element.createElement("a",{href:Z("content-ai-pricing-tables","Sidebar No Credits"),target:"_blank",rel:"noopener noreferrer"})}},(0,i.__)("All credits assigned to this site are used. Please add more credits from {{link1}}My Account{{/link1}} Page or {{link2}}upgrade your plan{{/link2}}.","rank-math"))),"account_limit_reached"===this.state.credits&&wp.element.createElement(React.Fragment,null,wp.element.createElement("p",null,(0,i.__)("You don't have any credits left.","rank-math")),wp.element.createElement(s.Button,{href:Z("content-ai-pricing-tables","Sidebar No Credits"),target:"_blank",rel:"noreferrer",className:"is-primary"},(0,i.__)("Get More Credits","rank-math"))))}}])&&Te(n.prototype,r),c&&Te(n,c),Object.defineProperty(n,"prototype",{writable:!1}),m}(l.Component),Ke=(0,h.compose)((0,p.withSelect)((function(e){var t=rankMathEditor.assessor.analyzer.researcher,n=t.paper;return{data:e("rank-math").getKeywordsData(),keyword:(0,o.get)(rankMath.ca_keyword,"keyword",e("rank-math").getKeywords().split(",")[0]),country:(0,o.get)(rankMath.ca_keyword,"country",rankMath.contentAiCountry),researcher:t,content:(0,o.isUndefined)(n)?"":n.getTextLower(),title:(0,o.isUndefined)(n)?"":n.getTitle().toLowerCase(),description:(0,o.isUndefined)(n)?"":n.getDescription().toLowerCase(),hasThumbnail:(0,o.isUndefined)(n)?"":n.hasThumbnail(),score:e("rank-math").getContentAIScore()}})),(0,p.withDispatch)((function(e,t){return{researchKeyword:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t.force_update=r,t.objectID=rankMath.objectID,t.objectType=rankMath.objectType,n({showResearch:!1,loading:!0}),d()({method:"POST",path:"/rankmath/v1/ca/researchKeyword",data:t}).catch((function(e){n({loading:!1,showResearch:!0}),alert(e.message)})).then((function(t){n({loading:!1}),e("rank-math").updateKeywordsData(t.data),(0,o.isNull)(t.credits)||(0,o.isUndefined)(t.credits)||n({credits:t.credits,creditsValue:(0,o.isNumber)(t.credits)?t.credits:0}),(0,c.doAction)("rank_math_content_ai_changed",t.keyword)}))},updateAiScore:function(n,r){var a=t.score;a[n]=(0,o.round)(r,2),e("rank-math").updateAIScore(a)}}})))(Be);function Fe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var Le=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),rankMath.isUserRegistered&&(this.init=this.init.bind(this),this.contentLength=this.contentLength.bind(this),this.contentLengthBoundary=this.contentLengthBoundary.bind(this),this.keywordDensity=this.keywordDensity.bind(this),this.removeTests=this.removeTests.bind(this),this.researchesTests=rankMath.assessor.researchesTests,this.ca_keyword=rankMath.ca_keyword.keyword,(0,c.addAction)("rank_math_loaded","rank-math",this.init),(0,c.addAction)("rank_math_keyword_refresh","rank-math",this.init),(0,c.addAction)("rank_math_content_ai_changed","rank-math",this.init))}var t,n,r;return t=e,(n=[{key:"init",value:function(e){e&&(this.ca_keyword=e),this.keyword=rankMathEditor.assessor.getPrimaryKeyword(),this.data=(0,p.select)("rank-math").getKeywordsData(),(0,o.isEmpty)(this.data)||(this.filters(),this.removeTests(),e&&rankMathEditor.refresh("content"))}},{key:"removeTests",value:function(){if(this.ca_keyword===this.keyword){var e=this.data.recommendations;rankMath.assessor.researchesTests=(0,o.filter)(rankMath.assessor.researchesTests,(function(t){return!(!e.mediaCount&&"contentHasAssets"===t||!e.linkCount.internal&&"linksHasInternal"===t||!(e.linkCount.external||"linksHasExternals"!==t&&"linksNotAllExternals"!==t))}))}else rankMath.assessor.researchesTests=this.researchesTests}},{key:"filters",value:function(){(0,c.addFilter)("rankMath_analysis_contentLength","rank-math",this.contentLength),(0,c.addFilter)("rankMath_analysis_contentLength_boundaries","rank-math",this.contentLengthBoundary),(0,c.addFilter)("rankMath_analysis_keywordDensity","rank-math",this.keywordDensity)}},{key:"contentLength",value:function(e){if(this.ca_keyword!==this.keyword)return e;var t=this.data.recommendations.wordCount,n=(0,o.ceil)(150*t/100);return{hasScore:e.hasScore,failed:(0,i.sprintf)((0,i.__)("Content is %1$s words long. Consider using at least %2$s words.","rank-math"),"%1$d",t),tooltipText:(0,i.sprintf)((0,i.__)("Minimum recommended content length should be %1$d words.","rank-math"),t),emptyContent:(0,i.sprintf)((0,i.__)("Content should be %1$s long.","rank-math"),'<a href="https://s.rankmath.com/100contentlength" target="_blank">'+t+" - "+n+(0,i.__)(" words","rank-math")+"</a>")}}},{key:"contentLengthBoundary",value:function(e){if(this.ca_keyword!==this.keyword)return e;var t=this.data.recommendations.wordCount,n=(0,o.ceil)(150*t/100);return{recommended:{boundary:n,score:8},belowRecommended:{boundary:(0,o.ceil)(n/2),score:5},low:{boundary:t,score:2}}}},{key:"keywordDensity",value:function(e,t){if((0,o.isEmpty)(this.data.keywords.content)||(0,o.isEmpty)(this.data.keywords.content[this.keyword]))return e;var n=t/this.data.keywords.content[this.keyword].average*100;return n>80?1.1:100<n?2.5:80<n?1.1:50<n?.8:.5}}])&&Fe(t.prototype,n),r&&Fe(t,r),Object.defineProperty(t,"prototype",{writable:!1}),e}(),Ue=function(){var e=a()("button-secondary rank-math-content-ai",{"is-new":!rankMath.ca_viewed});return wp.element.createElement(s.Button,{className:e,onClick:function(){return t()(".rank-math-content-ai-tab").trigger("click")}},wp.element.createElement("i",{className:"rm-icon rm-icon-target"}),(0,i.__)("Content AI","rank-math"))};(0,c.addFilter)("rankMath.analytics.contentAI","rank-math",(function(){return Ue})),(0,c.addAction)("rank_math_loaded","rank-math",(function(){(0,c.addFilter)("rank_math_sidebar_tabs","rank-math",(function(e){return e.push({name:"contentAI",title:wp.element.createElement(l.Fragment,null,wp.element.createElement("i",{className:"rm-icon rm-icon-target"}),wp.element.createElement("span",null,(0,i.__)("Content AI","rank-math"))),view:Ke,className:"rank-math-content-ai-tab hidden is-active"}),e}));var e=document.getElementById("cmb2-metabox-rank_math_metabox_content_ai");e&&setTimeout((function(){(0,l.render)((0,l.createElement)(Ke),e)}),1e3),"gutenberg"===rankMath.currentEditor&&(0,u.registerPlugin)("rank-math-content-ai-box",{render:function(){var e=(0,p.select)("rank-math").getContentAIScore();return!(!(0,o.isEmpty)(e)||!(0,o.isEmpty)(rankMath.ca_keyword))&&wp.element.createElement(m.PluginPrePublishPanel,{title:(0,i.__)("Content AI","rank-math"),icon:"rm-icon rm-icon-target",initialOpen:"true",className:"rank-math-content-ai-box"},wp.element.createElement("p",null,(0,i.__)("Improve your content with a personal Content AI.","rank-math")),wp.element.createElement(s.Button,{className:"button-primary",onClick:function(){t()(".editor-post-publish-panel__header-cancel-button button").trigger("click"),t()(".rank-math-toolbar-score").parent().hasClass("is-pressed")||t()(".rank-math-toolbar-score").trigger("click"),setTimeout((function(){t()(".rank-math-content-ai-tab").trigger("click")}),100)}},(0,i.__)("Improve Now","rank-math")))}}),"classic"!==rankMath.currentEditor&&t()(document).on("click",".rank-math-open-contentai",(function(e){return e.preventDefault(),t()(".rank-math-content-ai-tab").trigger("click"),!1})),new Le}))}()}();
|
languages/rank-math.pot
CHANGED
@@ -8,7 +8,7 @@ msgstr ""
|
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
9 |
"Language-Team: Rank Math\n"
|
10 |
"Last-Translator: Rank Math\n"
|
11 |
-
"POT-Creation-Date: 2022-09-
|
12 |
"Project-Id-Version: undefined\n"
|
13 |
"X-Poedit-Basepath: ..\n"
|
14 |
"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
@@ -4661,13 +4661,13 @@ msgstr ""
|
|
4661 |
msgid "Recommended: PHP 7.4 or later"
|
4662 |
msgstr ""
|
4663 |
|
4664 |
-
msgid "Rank Math is compatible with your PHP version but we recommend updating to PHP 7.
|
4665 |
msgstr ""
|
4666 |
|
4667 |
msgid "More information"
|
4668 |
msgstr ""
|
4669 |
|
4670 |
-
msgid "This plugin is compatible with your PHP version but we recommend updating to PHP 7.
|
4671 |
msgstr ""
|
4672 |
|
4673 |
msgid "You are using the recommended WordPress version."
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
9 |
"Language-Team: Rank Math\n"
|
10 |
"Last-Translator: Rank Math\n"
|
11 |
+
"POT-Creation-Date: 2022-09-23 18:50+0000\n"
|
12 |
"Project-Id-Version: undefined\n"
|
13 |
"X-Poedit-Basepath: ..\n"
|
14 |
"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
4661 |
msgid "Recommended: PHP 7.4 or later"
|
4662 |
msgstr ""
|
4663 |
|
4664 |
+
msgid "Rank Math is compatible with your PHP version but we recommend updating to PHP 7.4 for increased speed and security."
|
4665 |
msgstr ""
|
4666 |
|
4667 |
msgid "More information"
|
4668 |
msgstr ""
|
4669 |
|
4670 |
+
msgid "This plugin is compatible with your PHP version but we recommend updating to PHP 7.4 for increased speed and security."
|
4671 |
msgstr ""
|
4672 |
|
4673 |
msgid "You are using the recommended WordPress version."
|
rank-math.php
CHANGED
@@ -9,7 +9,7 @@
|
|
9 |
*
|
10 |
* @wordpress-plugin
|
11 |
* Plugin Name: Rank Math SEO
|
12 |
-
* Version: 1.0.98.
|
13 |
* Plugin URI: https://s.rankmath.com/home
|
14 |
* Description: Rank Math is a revolutionary SEO product that combines the features of many SEO tools and lets you multiply your traffic in the easiest way possible.
|
15 |
* Author: Rank Math
|
@@ -34,7 +34,7 @@ final class RankMath {
|
|
34 |
*
|
35 |
* @var string
|
36 |
*/
|
37 |
-
public $version = '1.0.98.
|
38 |
|
39 |
/**
|
40 |
* Rank Math database version.
|
9 |
*
|
10 |
* @wordpress-plugin
|
11 |
* Plugin Name: Rank Math SEO
|
12 |
+
* Version: 1.0.98.2
|
13 |
* Plugin URI: https://s.rankmath.com/home
|
14 |
* Description: Rank Math is a revolutionary SEO product that combines the features of many SEO tools and lets you multiply your traffic in the easiest way possible.
|
15 |
* Author: Rank Math
|
34 |
*
|
35 |
* @var string
|
36 |
*/
|
37 |
+
public $version = '1.0.98.2';
|
38 |
|
39 |
/**
|
40 |
* Rank Math database version.
|
readme.txt
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
-
=== Rank Math SEO
|
2 |
Contributors: rankmath
|
3 |
Plugin link: https://rankmath.com/?utm_source=LP&utm_campaign=WP
|
4 |
Tags: seo, sitemap, google search console, schema, redirection, WordPress SEO
|
5 |
Tested up to: 6.0
|
6 |
Requires at least: 5.6
|
7 |
-
Requires PHP: 7.
|
8 |
-
Stable tag: 1.0.98.
|
9 |
License: GPLv3 or later
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
|
@@ -17,16 +17,16 @@ Rank Math SEO is the Best WordPress SEO plugin combines the features of many SEO
|
|
17 |
**1st WordPress SEO Plugin to use AI (Artificial Intelligence)** 🦾
|
18 |
★★★★★<br>
|
19 |
|
20 |
-
**SEO is the most consistent source of traffic for any website.** We created <a href="https://rankmath.com/wordpress/plugin/seo-suite/?utm_source=LP&utm_campaign=WP" target="_blank">**Rank Math
|
21 |
-
## <a href="https://demo.rankmath.com/wp-admin/admin.php?page=rank-math-wizard" target="_blank">Try The FREE Demo of Rank Math
|
22 |
|
23 |
[youtube https://www.youtube.com/watch?v=NgeaqIy2OB0]
|
24 |
|
25 |
-
<a href="https://rankmath.com/wordpress/plugin/seo-suite/?utm_source=LP&utm_campaign=WP#features" target="_blank">Features</a> | <a href="https://rankmath.com/wordpress/plugin/seo-suite/?utm_source=LP&utm_campaign=WP#reasons" target="_blank">Why Choose Rank Math
|
26 |
|
27 |
-
SEO might be the best and most **consistent source of traffic** for one's website, but it's not without its quirks. The constant process of optimizing your posts can sometimes take more time than actually writing the content. **If you always feel that you can do more on the SEO** front for your website but don't have the time, **then Rank Math
|
28 |
|
29 |
-
Its host of **intelligent features** brings top SEO capabilities in your hands that were previously out of reach. The **smart automation** features give you the **power of an entire SEO team** with just a few clicks. A **well thought out design, powerful features, and years of development** by the MyThemeShop squad make Rank Math
|
30 |
|
31 |
### Exclusive Content AI. Write Highly Optimized SEO Content ###
|
32 |
|
@@ -42,133 +42,133 @@ Its host of **intelligent features** brings top SEO capabilities in your hands t
|
|
42 |
➜ Related Keywords
|
43 |
➜ Full Control via Role Manager
|
44 |
|
45 |
-
### Rank Math
|
46 |
|
47 |
-
See the features which are exclusive to the Rank Math
|
48 |
|
49 |
* **Setup Wizard (Easy to follow)**
|
50 |
-
Rank Math
|
51 |
|
52 |
* **Google Schema Markup aka Rich Snippets Integrated**
|
53 |
-
Configuring Google Schema Markup, aka Rich Snippets, is now easy, thanks to Rank Math
|
54 |
|
55 |
* **Optimize Unlimited Keywords**
|
56 |
-
Unlike other plugins, Rank Math
|
57 |
|
58 |
* **Content AI**
|
59 |
Rank Math is the FIRST & ONLY SEO plugin that uses AI to help you write content. Your personal AI Assistant for creating SEO friendly content. Our Content AI takes all the hassle out of writing. It ensures that the content you write is not only great for your visitors, but for search engines (SEO) as well. [Learn how to use Content AI for writing SEO optimized content that ranks](https://rankmath.com/kb/how-to-use-content-ai/).
|
60 |
|
61 |
* **Google Search Console Integration**
|
62 |
-
Rank Math
|
63 |
|
64 |
* **Google Keyword Ranking**
|
65 |
-
With Rank Math
|
66 |
|
67 |
* **Google Analytics Integration**
|
68 |
-
Rank Math
|
69 |
|
70 |
* **Optimal Settings Pre-Selected**
|
71 |
-
Configuring an SEO plugin takes time, and can be confusing. Rank Math
|
72 |
|
73 |
* **LSI Keyword Tool Integrated**
|
74 |
-
Rank Math
|
75 |
|
76 |
* **Add Overlay Icons On Social Images**
|
77 |
-
Rank Math
|
78 |
|
79 |
* **Advanced SEO Analysis Tool**
|
80 |
-
With just a single click, Rank Math
|
81 |
|
82 |
* **30 Detailed SEO Tests**
|
83 |
-
Rank Math
|
84 |
|
85 |
* **Module Based System**
|
86 |
-
Rank Math
|
87 |
|
88 |
* **Smart Redirection Manager**
|
89 |
-
Rank Math
|
90 |
|
91 |
* **Local Business SEO**
|
92 |
-
Rank Math
|
93 |
|
94 |
* **SEO Optimized Breadcrumbs**
|
95 |
-
Rank Math
|
96 |
|
97 |
* **404 Monitor**
|
98 |
-
Rank Math
|
99 |
|
100 |
* **Deep Content Analysis Tests**
|
101 |
-
On-Page SEO is no longer a mystery with Rank Math
|
102 |
|
103 |
* **Internal Linking Suggestions**
|
104 |
-
Rank Math
|
105 |
|
106 |
* **Role Manager**
|
107 |
-
Even if you have multiple employees manage your website, you can precisely control what each of them has to access to in Rank Math
|
108 |
|
109 |
* **Multisite Ready**
|
110 |
-
Whether you run a single WordPress website or an entire network of sites - we are ready for you. Rank Math
|
111 |
|
112 |
* **and has lightweight Code compared to slow-loading in other SEO plugins.**
|
113 |
-
Even with significantly more features than other plugins, Rank Math
|
114 |
|
115 |
-
### Why is Rank Math
|
116 |
|
117 |
-
* **Auto Configuration** — All you have to do is set a few options, and Rank Math
|
118 |
|
119 |
-
* **Super Fast SEO Plugin** — Even after packing so many features, Rank Math
|
120 |
|
121 |
-
* **Automatic Keyword Suggestions from Google** — Get keyword suggestions from Google as you start typing letters in the focus keyword field of Rank Math
|
122 |
|
123 |
-
* **New SEO Analyzer** — Rank Math
|
124 |
|
125 |
* **[Elementor SEO](https://rankmath.com/blog/elementor-seo/)** - Deep integration with the Elementor Page builder. Now, you don’t need to go back and forth between tabs to configure your page’s SEO. Everything related to SEO for Elementor can be configured in the visual editor.
|
126 |
|
127 |
* **[Divi SEO](https://rankmath.com/blog/divi-seo/)** - One of its kind integration with the Divi Page Builder and theme. Handle everything related to SEO from the page editor screen without jumping back to the default editor. This helps you optimize your website in real-time for SEO.
|
128 |
|
129 |
-
* **Page Builder SEO** - The Rank Math
|
130 |
|
131 |
-
* **Optimize UNLIMITED Keywords At Once** — You can optimize your post for up to 5 different keywords by default with the Rank Math
|
132 |
|
133 |
-
* **Image SEO** - With Rank Math
|
134 |
|
135 |
* **[Web Stories SEO](https://rankmath.com/kb/google-web-stories/)** - Make any Story created with the Google's Web Stories plugin SEO-Ready. Automatically adds AMP-friendly Schema markup and Meta tags.
|
136 |
|
137 |
-
* **[WooCommerce SEO](https://rankmath.com/blog/woocommerce-seo/)** - Optimizing your store products is easier with Rank Math. SEO Meta tags and Schema are automatically added but can be customized with total control as well. Rank Math
|
138 |
|
139 |
-
* **Google AMP SEO** - Accelerated Mobile Pages need to be prepared for search engines. What better way to do that than letting Rank Math
|
140 |
|
141 |
-
* **bbPress SEO** - User-generated content in bbPress is properly optimized with Rank Math
|
142 |
|
143 |
-
* **BuddyPress SEO** - As with bbPress, SEO for BuddyPress content is done automatically done using Rank Math
|
144 |
|
145 |
-
* **Quick Edit SEO Details** - Go through a lot of posts/pages quickly by ensuring they are optimized for search engines. Quickly edit multiple SEO fields at once using Rank Math
|
146 |
|
147 |
* **[Instant Indexing for Bing & Yandex](https://rankmath.com/kb/how-to-use-indexnow/)** - Get your content instantly indexed by Bing & Yandex using their IndexNow API.
|
148 |
|
149 |
-
* **[Instant Indexing for Google](https://rankmath.com/blog/google-indexing-api/)** - Instantly getting indexed by Google used to be reserved to huge brands and large websites. Not anymore. Just about anyone can take advantage of Google’s Instant Indexing feature using Rank Math
|
150 |
|
151 |
* **[Version Control](https://rankmath.com/kb/version-control/)** - Rollback or try beta versions. Updating and downgrading your plugins is now a matter of few clicks. Automatically update to the latest versions or try out the latest beta builds.
|
152 |
|
153 |
-
* **Translation Plugins Support** — Rank Math
|
154 |
|
155 |
-
* **XML Sitemap** - The Rank Math
|
156 |
|
157 |
-
* **1-Click Import From Yoast** — With a single click of your mouse, Rank Math
|
158 |
|
159 |
-
* **1-Click Import From AIO SEO** — Rank Math
|
160 |
|
161 |
-
* **1-Click Import From All In One Schema Rich Snippets** — Rank Math
|
162 |
|
163 |
-
* **1-Click Import From SEOPress SEO** — With a single click of your mouse, Rank Math
|
164 |
|
165 |
* **1-Click Import From Redirection** — Moving all your redirects shouldn’t be a hassle. That’s why we have made importing redirections from the popular Redirection plugin as simple as clicking a button.
|
166 |
|
167 |
-
* **Google Keyword Suggestion** — When deciding on focus keywords, Rank Math
|
168 |
|
169 |
-
### Who Can Benefit From Rank Math
|
170 |
|
171 |
-
#### Rank Math
|
172 |
✔ Bloggers
|
173 |
✔ eCommerce Store Owners
|
174 |
✔ Niche Sites
|
@@ -182,12 +182,12 @@ Even with significantly more features than other plugins, Rank Math SEO loads am
|
|
182 |
✔ Vloggers (Video Bloggers)
|
183 |
✔ Or any WordPress Website
|
184 |
|
185 |
-
### Take a sneak peek into Rank Math
|
186 |
|
187 |
#### Detailed Setup Tutorial ####
|
188 |
[youtube https://www.youtube.com/watch?v=cQLvCBVev3I]
|
189 |
|
190 |
-
### List of Best Rank Math
|
191 |
|
192 |
* Clean, & Simple User Interface
|
193 |
* **Optimal Settings Pre-Selected**
|
@@ -314,18 +314,18 @@ Even with significantly more features than other plugins, Rank Math SEO loads am
|
|
314 |
* **Detailed Documentation**
|
315 |
* Contextual Help
|
316 |
|
317 |
-
### BIG Publications are Raving About Rank Math
|
318 |
-
**<a href="https://s.rankmath.com/reviews" target="_blank">Rank Math
|
319 |
|
320 |
[youtube https://www.youtube.com/watch?v=cFI_jRVOQZk]
|
321 |
|
322 |
[youtube https://www.youtube.com/watch?v=rkZRtRizyUw]
|
323 |
|
324 |
-
<a href="https://www.matthewwoodward.co.uk/seo/reviews/rank-math/?utm_campaign=Rank+Math" target="_blank">Rank Math
|
325 |
|
326 |
-
<a href="https://www.producthunt.com/posts/rank-math-seo/?utm_campaign=Rank+Math" target="_blank">Rank Math
|
327 |
|
328 |
-
<a href="https://www.suganthan.com/blog/rank-math-seo-plugin-review-from-an-seo-guy/?utm_campaign=Rank+Math" target="_blank">Rank Math
|
329 |
|
330 |
and many more
|
331 |
|
@@ -333,9 +333,9 @@ and many more
|
|
333 |
## Check RANK MATH PRO WHICH MAKES SEO EASIER & FASTER ##
|
334 |
[youtube https://www.youtube.com/watch?v=fq8Dnl09W5g]
|
335 |
|
336 |
-
## <a href="https://rankmath.com/free-vs-pro/" target="_blank">Rank Math
|
337 |
|
338 |
-
## UNIQUE FEATURES OF
|
339 |
|
340 |
**Google Analytics & Search Console Integration (The only SEO plugin that provides it)**
|
341 |
✔ Integrated Google Analytics, AdSense & Search Console Data
|
@@ -400,48 +400,48 @@ and many more
|
|
400 |
|
401 |
## CONNECT WITH THE TEAM AND SEO EXPERTS ##
|
402 |
|
403 |
-
**<a href="https://www.facebook.com/groups/rankmathseopluginwordpress/?utm_campaign=Rank+Math" target="_blank">JOIN FACEBOOK GROUP COMMUNITY</a>**: The purpose of this Facebook group is to have a collective place where the community can help each other, and we can get some feedback to improve Rank Math
|
404 |
|
405 |
= Branding Guideline =
|
406 |
-
Rank Math® SEO is a registered trademark. Please use the following format when mentioning the Rank Math
|
407 |
-
* Rank Math
|
408 |
* RankMath [incorrect]
|
409 |
* Rankmath [incorrect]
|
410 |
* rankmath [incorrect]
|
411 |
* rankMath [incorrect]
|
412 |
|
413 |
= Getting Started: =
|
414 |
-
**<a href="https://rankmath.com/kb/how-to-setup/?utm_source=LP&utm_campaign=WP" target="_blank">1. How to Setup Rank Math
|
415 |
|
416 |
-
**<a href="https://www.facebook.com/groups/rankmathseopluginwordpress/?utm_campaign=Rank+Math">2. Facebook Group:</a>** In this group, you will find the team of Rank Math
|
417 |
|
418 |
-
**<a href="https://rankmath.com/kb/wordpress/seo-suite/?utm_source=LP&utm_campaign=WP" target="_blank">3. User Documentation:</a>** Although Rank Math
|
419 |
|
420 |
-
**<a href="https://translate.wordpress.org/projects/wp-plugins/seo-by-rank-math/?utm_campaign=Rank+Math" target="_blank">4. Contribute (Sharing is caring):</a>** If you are one of those caring hearts that want to help, go to our <a href="https://github.com/RankMath/seo-by-rank-math/?utm_campaign=Rank+Math" target="_blank">Rank Math
|
421 |
|
422 |
**<a href="https://mythemeshop.com/wordpress-errors-fixes/?utm_campaign=Rank+Math" target="_blank">5. Fixing Common Errors:</a>** Sometimes, avoidable or common issues can get you stuck. We’ve created a common guide where we discuss all the common issues and how to fix them.
|
423 |
|
424 |
-
**<a href="https://support.rankmath.com/?utm_source=LP&utm_campaign=WP" target="_blank">6. Support Ticket Forum:</a>** Our dedicated forum is where you can get support for any issues that you face with Rank Math
|
425 |
|
426 |
-
**[7. Frequently Asked Questions:](#faq-header)** Here, we’ve answered the most commonly asked questions about Rank Math
|
427 |
|
428 |
== Installation ==
|
429 |
|
430 |
1. Visit `Plugins > Add New`
|
431 |
-
2. Search for `Rank Math
|
432 |
-
3. Install Rank Math
|
433 |
-
4. Activate Rank Math
|
434 |
5. Go to "after activation" below.
|
435 |
|
436 |
= Manually =
|
437 |
|
438 |
1. Upload the `seo-by-rank-math` folder to the `/wp-content/plugins/` directory
|
439 |
-
2. Activate the Rank Math
|
440 |
3. Go to "after activation" below.
|
441 |
|
442 |
= After activation =
|
443 |
|
444 |
-
1. You should see the Rank Math
|
445 |
2. Go through the setup wizard and set up the plugin for your site.
|
446 |
3. You're done!
|
447 |
|
@@ -453,39 +453,39 @@ Quite honestly - no one can give you a guarantee that your traffic will increase
|
|
453 |
SEO is an ever-changing game, and what works today might not work tomorrow. With that said, we do guarantee that our plugin is the best SEO plugin there is, and it gives you the best chance of ranking higher in Google than any other SEO plugin available right now.
|
454 |
|
455 |
|
456 |
-
= Can I transfer my SEO & Redirection settings from another plugin to Rank Math
|
457 |
-
Absolutely. Rank Math
|
458 |
|
459 |
-
= What themes does Rank Math
|
460 |
-
Rank Math
|
461 |
|
462 |
-
= What plugins is Rank Math
|
463 |
-
Rank Math
|
464 |
|
465 |
-
= Will my website slow down if I Install Rank Math
|
466 |
-
No. Rank Math
|
467 |
|
468 |
-
= Is creating a Rank Math
|
469 |
-
Absolutely not. Creating a FREE Rank Math
|
470 |
|
471 |
-
= Will you set up Rank Math
|
472 |
-
Rank Math
|
473 |
|
474 |
-
= Do I have to remove other SEO plugins if I install Rank Math
|
475 |
-
That is recommended. Rank Math
|
476 |
|
477 |
-
= I already use an SEO plugin. Can I use Rank Math
|
478 |
-
You can, but we do not recommend it. Rank Math
|
479 |
|
480 |
-
= Will I lose my rankings if I switch to Rank Math
|
481 |
-
No, you won't. When you install Rank Math
|
482 |
|
483 |
-
If you set up Rank Math
|
484 |
|
485 |
-
= What are the technical requirements for using Rank Math
|
486 |
-
Rank Math
|
487 |
|
488 |
-
= Can I use Rank Math
|
489 |
Yes, as the plugin is provided through WordPress.org, it is available on WordPress.com as well. However, you might be required to opt for the Business plan of WordPress.com
|
490 |
|
491 |
= Which Schema type is best for coupon websites? =
|
@@ -498,9 +498,9 @@ Google is almost never willing to index all the pages and images available on a
|
|
498 |
|
499 |
= How do I noindex inner paginated posts of a website? =
|
500 |
|
501 |
-
Rank Math
|
502 |
|
503 |
-
Head over to WordPress Dashboard > Rank Math
|
504 |
|
505 |
Scroll down a bit and you will see the `NoIndex Paginated Pages` option.
|
506 |
|
@@ -509,7 +509,7 @@ Enable it and you are good to good. Here is a screenshot for reference: https://
|
|
509 |
Now, your paginated pages like `/page/2` etc. will no longer appear in Search Engines.
|
510 |
|
511 |
= The tag "rel=canonical" appears more than once in the document =
|
512 |
-
That must be coming from the theme's code or some other SEO/AMP plugin as the Rank Math
|
513 |
|
514 |
You should try disabling all other plugins and/or switch to a different theme and check.
|
515 |
|
@@ -519,7 +519,7 @@ There are mainly two types of Schema entities, Article and BlogPosting. Article
|
|
519 |
On the contrary, BlogPosting Schema is used for blog posts. They can be personal or commercial in nature. Most of the non-professional blogs you see online use this Schema type.
|
520 |
|
521 |
= Why is Google not showing the Schema data? =
|
522 |
-
For the Rich Snippet data, Rank Math
|
523 |
|
524 |
Google WILL NOT necessarily show the Schema data though. They check a few things first and may choose not to show your rich schema. For instance, they check the overall quality of the site, and if the Schema content is representative of the main content of the page or not.
|
525 |
|
@@ -531,7 +531,7 @@ Link: <a href="https://s.rankmath.com/googlestructureddata" target="_blank">http
|
|
531 |
= Why is the Carousel or Data Highlighter Not Working? =
|
532 |
Google can actually extract content from your pages and display it as a rich carousel (AMP or not).
|
533 |
|
534 |
-
But to make it easier, the best you can do is to use the Data Highlighter option in your Search Appearance tab in Webmaster Tools for your important pages (especially the pillar posts) but not on all content types. Rank Math
|
535 |
|
536 |
To learn more about using this feature, visit <a href="https://s.rankmath.com/googledatahighlighter" target="_blank">https://s.rankmath.com/googledatahighlighter</a>
|
537 |
|
@@ -572,11 +572,11 @@ Please drop us an email at support@rankmath.com and we would be more than happy
|
|
572 |
6. Support for 15+ Rich Snippet types.
|
573 |
7. No need to pay for any service when you can track keyword ranking change from our own Search Console.
|
574 |
8. Comes with in-built options for social media optimization.
|
575 |
-
9. Rank Math
|
576 |
10. Ground Breaking Integration with Elementor Page Builder.
|
577 |
11. Powerful XML Sitemap.
|
578 |
12. Role Manager gives you full control. Useful for multi-author sites.
|
579 |
-
13. Rank Math
|
580 |
|
581 |
== Changelog ==
|
582 |
|
@@ -597,6 +597,11 @@ Please drop us an email at support@rankmath.com and we would be more than happy
|
|
597 |
= 1.0.98.1 [Sep 22, 2022] =
|
598 |
* Fixed: Strict PHP 7.2 error. It is recommended to update the PHP version to at least 7.4.
|
599 |
|
|
|
|
|
|
|
|
|
|
|
600 |
**Note:** From the next update, we will stop supporting older versions.
|
601 |
|
602 |
-
Full changelog can be found here - **[Rank Math
|
1 |
+
=== Rank Math SEO ===
|
2 |
Contributors: rankmath
|
3 |
Plugin link: https://rankmath.com/?utm_source=LP&utm_campaign=WP
|
4 |
Tags: seo, sitemap, google search console, schema, redirection, WordPress SEO
|
5 |
Tested up to: 6.0
|
6 |
Requires at least: 5.6
|
7 |
+
Requires PHP: 7.4
|
8 |
+
Stable tag: 1.0.98.2
|
9 |
License: GPLv3 or later
|
10 |
License URI: https://www.gnu.org/licenses/gpl-3.0.txt
|
11 |
|
17 |
**1st WordPress SEO Plugin to use AI (Artificial Intelligence)** 🦾
|
18 |
★★★★★<br>
|
19 |
|
20 |
+
**SEO is the most consistent source of traffic for any website.** We created <a href="https://rankmath.com/wordpress/plugin/seo-suite/?utm_source=LP&utm_campaign=WP" target="_blank">**Rank Math, a WordPress SEO plugin**</a>, to help every website owner get access to the SEO tools they need to improve their SEO and attract more traffic to their website.
|
21 |
+
## <a href="https://demo.rankmath.com/wp-admin/admin.php?page=rank-math-wizard" target="_blank">Try The FREE Demo of Rank Math</a> ##
|
22 |
|
23 |
[youtube https://www.youtube.com/watch?v=NgeaqIy2OB0]
|
24 |
|
25 |
+
<a href="https://rankmath.com/wordpress/plugin/seo-suite/?utm_source=LP&utm_campaign=WP#features" target="_blank">Features</a> | <a href="https://rankmath.com/wordpress/plugin/seo-suite/?utm_source=LP&utm_campaign=WP#reasons" target="_blank">Why Choose Rank Math?</a> | <a href="https://rankmath.com/wordpress/plugin/seo-suite/?utm_source=LP&utm_campaign=WP#comparison" target="_blank">Compare</a> | <a href="https://rankmath.com/wordpress/plugin/seo-suite/?utm_source=LP&utm_campaign=WP#screenshots" target="_blank">Screenshots</a> | <a href="https://rankmath.com/wordpress/plugin/seo-suite/?utm_source=LP&utm_campaign=WP#benefits" target="_blank">Benefits</a>
|
26 |
|
27 |
+
SEO might be the best and most **consistent source of traffic** for one's website, but it's not without its quirks. The constant process of optimizing your posts can sometimes take more time than actually writing the content. **If you always feel that you can do more on the SEO** front for your website but don't have the time, **then Rank Math is what you're looking for.**
|
28 |
|
29 |
+
Its host of **intelligent features** brings top SEO capabilities in your hands that were previously out of reach. The **smart automation** features give you the **power of an entire SEO team** with just a few clicks. A **well thought out design, powerful features, and years of development** by the MyThemeShop squad make Rank Math a game-changing SEO plugin that will level the SEO playing field in your favor to help increase traffic.
|
30 |
|
31 |
### Exclusive Content AI. Write Highly Optimized SEO Content ###
|
32 |
|
42 |
➜ Related Keywords
|
43 |
➜ Full Control via Role Manager
|
44 |
|
45 |
+
### Rank Math beats all of its competitors, hands down. ###
|
46 |
|
47 |
+
See the features which are exclusive to the Rank Math plugin and understand why Rank Math is possibly the **Best SEO Plugin for WordPress**.
|
48 |
|
49 |
* **Setup Wizard (Easy to follow)**
|
50 |
+
Rank Math practically configures itself. Rank Math features a [step-by-step installation and configuration wizard](https://rankmath.com/kb/how-to-setup/?utm_source=LP&utm_campaign=WP) that sets up SEO for WordPress perfectly.
|
51 |
|
52 |
* **Google Schema Markup aka Rich Snippets Integrated**
|
53 |
+
Configuring Google Schema Markup, aka Rich Snippets, is now easy, thanks to Rank Math. With support for [16+ types of Schema Markups, aka Rich Snippets, including the Rating Schema,](https://rankmath.com/kb/rich-snippets/?utm_source=LP&utm_campaign=WP#schema-types-offers-by-rank-math) you'll be able to optimize your posts in just a few clicks. It also includes the [FAQ Schema aka FAQPage Schema Block](https://rankmath.com/blog/faq-schema/?utm_source=LP&utm_campaign=WP) & the [HowTo aka How To Schema Block](https://rankmath.com/blog/howto-schema/?utm_source=LP&utm_campaign=WP) in the plugin.
|
54 |
|
55 |
* **Optimize Unlimited Keywords**
|
56 |
+
Unlike other plugins, Rank Math lets you optimize your posts for **unlimited focus keywords** per post. 5 by default. Increase by adding this [filter](https://rankmath.com/kb/filters-hooks-api-developer/#unlimited-keywords).
|
57 |
|
58 |
* **Content AI**
|
59 |
Rank Math is the FIRST & ONLY SEO plugin that uses AI to help you write content. Your personal AI Assistant for creating SEO friendly content. Our Content AI takes all the hassle out of writing. It ensures that the content you write is not only great for your visitors, but for search engines (SEO) as well. [Learn how to use Content AI for writing SEO optimized content that ranks](https://rankmath.com/kb/how-to-use-content-ai/).
|
60 |
|
61 |
* **Google Search Console Integration**
|
62 |
+
Rank Math saves you a ton of time by integrating with Google Search Console and displaying important information about your website right inside WordPress.
|
63 |
|
64 |
* **Google Keyword Ranking**
|
65 |
+
With Rank Math Plugin, you can track your keyword rankings in Google.
|
66 |
|
67 |
* **Google Analytics Integration**
|
68 |
+
Rank Math offers a one-click solution to install Google Analytics script without pasting anything manually anywhere. You can also exclude the Logged-in users.
|
69 |
|
70 |
* **Optimal Settings Pre-Selected**
|
71 |
+
Configuring an SEO plugin takes time, and can be confusing. Rank Math saves you the trouble with its optimal default settings, which are ideal for most websites, and if needed, can be changed.
|
72 |
|
73 |
* **LSI Keyword Tool Integrated**
|
74 |
+
Rank Math's integrated LSI keyword tool gives you multiple keyword variations of your focus keyword, which helps you attract more traffic to your posts. Free account needed.
|
75 |
|
76 |
* **Add Overlay Icons On Social Images**
|
77 |
+
Rank Math makes social thumbnails click magnets by giving you the option of overlaying a GIF or a video icon on the thumbnail.
|
78 |
|
79 |
* **Advanced SEO Analysis Tool**
|
80 |
+
With just a single click, Rank Math can perform an SEO audit of your website.
|
81 |
|
82 |
* **30 Detailed SEO Tests**
|
83 |
+
Rank Math is designed to completely supercharge your website's SEO with its 30 detailed SEO tests. Free account needed.
|
84 |
|
85 |
* **Module Based System**
|
86 |
+
Rank Math has been designed with a module-based system, each of which can be enabled or disabled as per your needs, giving you extra speed and control.
|
87 |
|
88 |
* **Smart Redirection Manager**
|
89 |
+
Rank Math's built-in smart redirection manager will help you create, manage, delete, enable, or disable redirects at scale.
|
90 |
|
91 |
* **Local Business SEO**
|
92 |
+
Rank Math is designed to be used by Global websites and local websites alike. With its local SEO features, local sites can stand out in the search engine results like Google's and attract more traffic.
|
93 |
|
94 |
* **SEO Optimized Breadcrumbs**
|
95 |
+
Rank Math can display SEO optimized Breadcrumbs on all websites, even if the theme doesn't support Schema.org coding.
|
96 |
|
97 |
* **404 Monitor**
|
98 |
+
Rank Math has a built-in 404 error monitor that helps you find and resolve 404 errors for a better user experience.
|
99 |
|
100 |
* **Deep Content Analysis Tests**
|
101 |
+
On-Page SEO is no longer a mystery with Rank Math's deep content analysis and precise recommendations.
|
102 |
|
103 |
* **Internal Linking Suggestions**
|
104 |
+
Rank Math intelligently suggests other posts from your website for internal linking from your current posts, improving the chances of ranking higher in the SERPs.
|
105 |
|
106 |
* **Role Manager**
|
107 |
+
Even if you have multiple employees manage your website, you can precisely control what each of them has to access to in Rank Math with its role manager.
|
108 |
|
109 |
* **Multisite Ready**
|
110 |
+
Whether you run a single WordPress website or an entire network of sites - we are ready for you. Rank Math fully supports the WordPress Multiuser project (WPMU).
|
111 |
|
112 |
* **and has lightweight Code compared to slow-loading in other SEO plugins.**
|
113 |
+
Even with significantly more features than other plugins, Rank Math loads amazingly fast and keeps your website fast always.
|
114 |
|
115 |
+
### Why is Rank Math such a game-changer? ###
|
116 |
|
117 |
+
* **Auto Configuration** — All you have to do is set a few options, and Rank Math will configure itself perfectly for your website.
|
118 |
|
119 |
+
* **Super Fast SEO Plugin** — Even after packing so many features, Rank Math has a negligible load on your server, thus making it one of the fastest SEO plugins for WordPress.
|
120 |
|
121 |
+
* **Automatic Keyword Suggestions from Google** — Get keyword suggestions from Google as you start typing letters in the focus keyword field of Rank Math.
|
122 |
|
123 |
+
* **New SEO Analyzer** — Rank Math's built-in SEO analysis will give you SEO recommendations that you'd normally spend hundreds of dollars to get.
|
124 |
|
125 |
* **[Elementor SEO](https://rankmath.com/blog/elementor-seo/)** - Deep integration with the Elementor Page builder. Now, you don’t need to go back and forth between tabs to configure your page’s SEO. Everything related to SEO for Elementor can be configured in the visual editor.
|
126 |
|
127 |
* **[Divi SEO](https://rankmath.com/blog/divi-seo/)** - One of its kind integration with the Divi Page Builder and theme. Handle everything related to SEO from the page editor screen without jumping back to the default editor. This helps you optimize your website in real-time for SEO.
|
128 |
|
129 |
+
* **Page Builder SEO** - The Rank Math plugin's content analysis works perfectly with popular page builders and themes like Oxygen Builder, WPBakery, Avada, Astra, Kadence, Themify, Beaver Builder, Page Builder Framework, Schema theme, Flothemes, OceanWP, etc.
|
130 |
|
131 |
+
* **Optimize UNLIMITED Keywords At Once** — You can optimize your post for up to 5 different keywords by default with the Rank Math plugin and can use a filter to optimize for unlimited keywords.
|
132 |
|
133 |
+
* **Image SEO** - With Rank Math's perfect solution to add ALT & Title tags on the fly, to optimize images, showing inside the content, and that too for FREE, there is no reason to choose any other SEO solution that does not provide all the essential SEO features.
|
134 |
|
135 |
* **[Web Stories SEO](https://rankmath.com/kb/google-web-stories/)** - Make any Story created with the Google's Web Stories plugin SEO-Ready. Automatically adds AMP-friendly Schema markup and Meta tags.
|
136 |
|
137 |
+
* **[WooCommerce SEO](https://rankmath.com/blog/woocommerce-seo/)** - Optimizing your store products is easier with Rank Math. SEO Meta tags and Schema are automatically added but can be customized with total control as well. Rank Math has the most advanced SEO for WooCommerce.
|
138 |
|
139 |
+
* **Google AMP SEO** - Accelerated Mobile Pages need to be prepared for search engines. What better way to do that than letting Rank Math use your regular SEO details and optimizing AMPs based on that data?
|
140 |
|
141 |
+
* **bbPress SEO** - User-generated content in bbPress is properly optimized with Rank Math handling all the important SEO aspects. Q&A Schema is added to bbPress topics along with other essential meta tags.
|
142 |
|
143 |
+
* **BuddyPress SEO** - As with bbPress, SEO for BuddyPress content is done automatically done using Rank Math. You get all the options you need to get higher rankings with your user-generated content.
|
144 |
|
145 |
+
* **Quick Edit SEO Details** - Go through a lot of posts/pages quickly by ensuring they are optimized for search engines. Quickly edit multiple SEO fields at once using Rank Math.
|
146 |
|
147 |
* **[Instant Indexing for Bing & Yandex](https://rankmath.com/kb/how-to-use-indexnow/)** - Get your content instantly indexed by Bing & Yandex using their IndexNow API.
|
148 |
|
149 |
+
* **[Instant Indexing for Google](https://rankmath.com/blog/google-indexing-api/)** - Instantly getting indexed by Google used to be reserved to huge brands and large websites. Not anymore. Just about anyone can take advantage of Google’s Instant Indexing feature using Rank Math.
|
150 |
|
151 |
* **[Version Control](https://rankmath.com/kb/version-control/)** - Rollback or try beta versions. Updating and downgrading your plugins is now a matter of few clicks. Automatically update to the latest versions or try out the latest beta builds.
|
152 |
|
153 |
+
* **Translation Plugins Support** — Rank Math works flawlessly with the top translations plugins like WPML, TranslatePress, Weglot, Polylang (not entirely compatible yet), etc., making it a perfect companion.
|
154 |
|
155 |
+
* **XML Sitemap** - The Rank Math plugin comes with a fast-loading Sitemap feature that works with different post types, including the custom ones, and provides deep controlling. One can also generate a Locations KML file via filter for Local Sitemap, & a WooCommerce Sitemap.
|
156 |
|
157 |
+
* **1-Click Import From Yoast** — With a single click of your mouse, Rank Math can import all your settings from Yoast SEO & Yoast SEO Premium to itself. The transfer is instant, and you don't lose any SERP rankings as a result.
|
158 |
|
159 |
+
* **1-Click Import From AIO SEO** — Rank Math can also import all your settings from AIO SEO & All in One SEO Pack Pro in a single click. The transfer is instant, and you don't lose any SERP rankings as a result.
|
160 |
|
161 |
+
* **1-Click Import From All In One Schema Rich Snippets** — Rank Math can also import all of AIO's Rich Snippet & Schema Pro settings in a few clicks, which help preserve your rich rankings when moving to Rank Math.
|
162 |
|
163 |
+
* **1-Click Import From SEOPress SEO** — With a single click of your mouse, Rank Math can import all your settings from SEOPress & SEOPress Pro SEO plugin to itself. The transfer is instant, and you don't lose any SERP rankings as a result.
|
164 |
|
165 |
* **1-Click Import From Redirection** — Moving all your redirects shouldn’t be a hassle. That’s why we have made importing redirections from the popular Redirection plugin as simple as clicking a button.
|
166 |
|
167 |
+
* **Google Keyword Suggestion** — When deciding on focus keywords, Rank Math can help you discover more keywords by pulling in automatic keyword suggestions from Google.
|
168 |
|
169 |
+
### Who Can Benefit From Rank Math? ###
|
170 |
|
171 |
+
#### Rank Math Plugin is perfect for: ####
|
172 |
✔ Bloggers
|
173 |
✔ eCommerce Store Owners
|
174 |
✔ Niche Sites
|
182 |
✔ Vloggers (Video Bloggers)
|
183 |
✔ Or any WordPress Website
|
184 |
|
185 |
+
### Take a sneak peek into Rank Math’s features ###
|
186 |
|
187 |
#### Detailed Setup Tutorial ####
|
188 |
[youtube https://www.youtube.com/watch?v=cQLvCBVev3I]
|
189 |
|
190 |
+
### List of Best Rank Math Features ###
|
191 |
|
192 |
* Clean, & Simple User Interface
|
193 |
* **Optimal Settings Pre-Selected**
|
314 |
* **Detailed Documentation**
|
315 |
* Contextual Help
|
316 |
|
317 |
+
### BIG Publications are Raving About Rank Math ###
|
318 |
+
**<a href="https://s.rankmath.com/reviews" target="_blank">Rank Math Reviews</a>**
|
319 |
|
320 |
[youtube https://www.youtube.com/watch?v=cFI_jRVOQZk]
|
321 |
|
322 |
[youtube https://www.youtube.com/watch?v=rkZRtRizyUw]
|
323 |
|
324 |
+
<a href="https://www.matthewwoodward.co.uk/seo/reviews/rank-math/?utm_campaign=Rank+Math" target="_blank">Rank Math Review – Why I Ditched Yoast For Rank Math</a>
|
325 |
|
326 |
+
<a href="https://www.producthunt.com/posts/rank-math-seo/?utm_campaign=Rank+Math" target="_blank">Rank Math on Product Hunt</a>
|
327 |
|
328 |
+
<a href="https://www.suganthan.com/blog/rank-math-seo-plugin-review-from-an-seo-guy/?utm_campaign=Rank+Math" target="_blank">Rank Math Plugin Review from an SEO Consultant</a>
|
329 |
|
330 |
and many more
|
331 |
|
333 |
## Check RANK MATH PRO WHICH MAKES SEO EASIER & FASTER ##
|
334 |
[youtube https://www.youtube.com/watch?v=fq8Dnl09W5g]
|
335 |
|
336 |
+
## <a href="https://rankmath.com/free-vs-pro/" target="_blank">Rank Math FREE VS PRO COMPARISON</a> ##
|
337 |
|
338 |
+
## UNIQUE FEATURES OF Rank Math PRO ##
|
339 |
|
340 |
**Google Analytics & Search Console Integration (The only SEO plugin that provides it)**
|
341 |
✔ Integrated Google Analytics, AdSense & Search Console Data
|
400 |
|
401 |
## CONNECT WITH THE TEAM AND SEO EXPERTS ##
|
402 |
|
403 |
+
**<a href="https://www.facebook.com/groups/rankmathseopluginwordpress/?utm_campaign=Rank+Math" target="_blank">JOIN FACEBOOK GROUP COMMUNITY</a>**: The purpose of this Facebook group is to have a collective place where the community can help each other, and we can get some feedback to improve Rank Math as well. Joining the group is also a great way to connect with like-minded people and share your SEO experience.
|
404 |
|
405 |
= Branding Guideline =
|
406 |
+
Rank Math® SEO is a registered trademark. Please use the following format when mentioning the Rank Math plugin anywhere.
|
407 |
+
* Rank Math [correct]
|
408 |
* RankMath [incorrect]
|
409 |
* Rankmath [incorrect]
|
410 |
* rankmath [incorrect]
|
411 |
* rankMath [incorrect]
|
412 |
|
413 |
= Getting Started: =
|
414 |
+
**<a href="https://rankmath.com/kb/how-to-setup/?utm_source=LP&utm_campaign=WP" target="_blank">1. How to Setup Rank Math:</a>** Once you install Rank Math for the first time, you will be greeted with the Setup Wizard, which is discussed in detail here.
|
415 |
|
416 |
+
**<a href="https://www.facebook.com/groups/rankmathseopluginwordpress/?utm_campaign=Rank+Math">2. Facebook Group:</a>** In this group, you will find the team of Rank Math plugin fairly active and ready to answer your SEO related queries.
|
417 |
|
418 |
+
**<a href="https://rankmath.com/kb/wordpress/seo-suite/?utm_source=LP&utm_campaign=WP" target="_blank">3. User Documentation:</a>** Although Rank Math is already easy to set up, we've put together tutorials, guides, and some knowledge bases to help you set up and get started with Rank Math.
|
419 |
|
420 |
+
**<a href="https://translate.wordpress.org/projects/wp-plugins/seo-by-rank-math/?utm_campaign=Rank+Math" target="_blank">4. Contribute (Sharing is caring):</a>** If you are one of those caring hearts that want to help, go to our <a href="https://github.com/RankMath/seo-by-rank-math/?utm_campaign=Rank+Math" target="_blank">Rank Math's GitHub Repository</a> and see how you can contribute to the SEO community. You can also add a new language via <a href="https://translate.wordpress.org/projects/wp-plugins/seo-by-rank-math/?utm_campaign=Rank+Math" target="_blank">translate.wordpress.org.</a>
|
421 |
|
422 |
**<a href="https://mythemeshop.com/wordpress-errors-fixes/?utm_campaign=Rank+Math" target="_blank">5. Fixing Common Errors:</a>** Sometimes, avoidable or common issues can get you stuck. We’ve created a common guide where we discuss all the common issues and how to fix them.
|
423 |
|
424 |
+
**<a href="https://support.rankmath.com/?utm_source=LP&utm_campaign=WP" target="_blank">6. Support Ticket Forum:</a>** Our dedicated forum is where you can get support for any issues that you face with Rank Math. In the forum, we'll also try to answer some SEO queries. User experience is important to us, and our aim is to answer all the queries on the forum in a timely manner.
|
425 |
|
426 |
+
**[7. Frequently Asked Questions:](#faq-header)** Here, we’ve answered the most commonly asked questions about Rank Math. The questions are related to features, pricing, and others.
|
427 |
|
428 |
== Installation ==
|
429 |
|
430 |
1. Visit `Plugins > Add New`
|
431 |
+
2. Search for `Rank Math`
|
432 |
+
3. Install Rank Math once it appears
|
433 |
+
4. Activate Rank Math from your Plugins page.
|
434 |
5. Go to "after activation" below.
|
435 |
|
436 |
= Manually =
|
437 |
|
438 |
1. Upload the `seo-by-rank-math` folder to the `/wp-content/plugins/` directory
|
439 |
+
2. Activate the Rank Math plugin through the 'Plugins' menu in WordPress
|
440 |
3. Go to "after activation" below.
|
441 |
|
442 |
= After activation =
|
443 |
|
444 |
+
1. You should see the Rank Math setup wizard.
|
445 |
2. Go through the setup wizard and set up the plugin for your site.
|
446 |
3. You're done!
|
447 |
|
453 |
SEO is an ever-changing game, and what works today might not work tomorrow. With that said, we do guarantee that our plugin is the best SEO plugin there is, and it gives you the best chance of ranking higher in Google than any other SEO plugin available right now.
|
454 |
|
455 |
|
456 |
+
= Can I transfer my SEO & Redirection settings from another plugin to Rank Math? =
|
457 |
+
Absolutely. Rank Math has a built-in feature to import SEO settings from the most popular SEO plugins like Yoast SEO, Yoast SEO Premium, AIO SEO Pack, All In One Schema Rich Snippets, and Redirection. Once you install Rank Math and run the setup wizard, you'll see a dedicated step where you'll get to import all your SEO settings to Rank Math.
|
458 |
|
459 |
+
= What themes does Rank Math support? =
|
460 |
+
Rank Math has been tested with many WordPress themes and supports all major WordPress themes. Since we follow WordPress' plugin development guidelines, you can rest assured that Rank Math will work perfectly, no matter what theme you use. If you've installed Rank Math and are facing issues, it might not be because of theme incompatibility. Please get in touch with the support team by opening a support ticket in our support forum, and we will fix it for you.
|
461 |
|
462 |
+
= What plugins is Rank Math compatible with? =
|
463 |
+
Rank Math has been designed using WordPress' strict plugin development guidelines and therefore, is compatible with the majority of plugins. However, if you use another SEO plugin that performs any of the functions that Rank Math does, then you might get unexpected results. We recommend that you disable or delete other SEO plugins for best results.
|
464 |
|
465 |
+
= Will my website slow down if I Install Rank Math? =
|
466 |
+
No. Rank Math's code has been created and optimized for maximum performance. That is why using Rank Math on your website will not slow down your website. On the contrary, there is a good chance that your website will perform better than ever with Rank Math, as it does the job of multiple plugins. Once you remove the unnecessary plugins from your website, your website's performance is sure to get better.
|
467 |
|
468 |
+
= Is creating a Rank Math account needed to use the plugin? =
|
469 |
+
Absolutely not. Creating a FREE Rank Math account is needed only to utilize our API via which one can get automatic keyword suggestions from Google and can run SEO Site Analysis inside WordPress. <a href="https://rankmath.com/kb/free-account-benefits/" target="_blank">You can read more about that here.</a>
|
470 |
|
471 |
+
= Will you set up Rank Math on my website? =
|
472 |
+
Rank Math is pretty easy to set up on your website. Apart from detailed instructions on how to install Rank Math on our website, we've built in a user-friendly setup wizard that will help you set up and configure Rank Math perfectly for your website. If you face any issues even after using the setup wizard, please get in touch with the support team by sending an email to support@rankmath.com
|
473 |
|
474 |
+
= Do I have to remove other SEO plugins if I install Rank Math? =
|
475 |
+
That is recommended. Rank Math is designed to be an all-in-one SEO plugin that takes care of everything SEO-related. If you use other SEO plugins with Rank Math on your website, not only will the performance of your website be negatively affected, but both plugins working together can produce unexpected SEO results.
|
476 |
|
477 |
+
= I already use an SEO plugin. Can I use Rank Math on top of that plugin? =
|
478 |
+
You can, but we do not recommend it. Rank Math has all the functionalities that you would need in an SEO plugin. If you still prefer using another plugin for a specific feature, you can do that. But, we would recommend that you turn off that functionality of Rank Math to avoid potential conflicts/issues.
|
479 |
|
480 |
+
= Will I lose my rankings if I switch to Rank Math? =
|
481 |
+
No, you won't. When you install Rank Math, it will seamlessly import your settings from your current SEO plugin. Once the process is complete, the search engines won't even notice a change on your website.
|
482 |
|
483 |
+
If you set up Rank Math from scratch, then your search engine rankings will depend on how you configure it. But please be advised that Google and other search engines prefer good, useful content over anything else.
|
484 |
|
485 |
+
= What are the technical requirements for using Rank Math? =
|
486 |
+
Rank Math requires at least PHP 7.2, cURL lib, cron jobs, to be installed and enabled on the server. Those things are mostly installed on every good hosting server. When you initiate Rank Math's setup process, Rank Math will also perform a compatibility check to confirm if your server can run Rank Math. If your server has a lower configuration of any Software, please ask your hosting to update it to the latest version.
|
487 |
|
488 |
+
= Can I use Rank Math on a WordPress.com website? =
|
489 |
Yes, as the plugin is provided through WordPress.org, it is available on WordPress.com as well. However, you might be required to opt for the Business plan of WordPress.com
|
490 |
|
491 |
= Which Schema type is best for coupon websites? =
|
498 |
|
499 |
= How do I noindex inner paginated posts of a website? =
|
500 |
|
501 |
+
Rank Math makes it extremely simple and easy to NoIndex the paginated series’ of your homepage, archives, or single posts.
|
502 |
|
503 |
+
Head over to WordPress Dashboard > Rank Math > Titles & Meta > Misc. Pages.
|
504 |
|
505 |
Scroll down a bit and you will see the `NoIndex Paginated Pages` option.
|
506 |
|
509 |
Now, your paginated pages like `/page/2` etc. will no longer appear in Search Engines.
|
510 |
|
511 |
= The tag "rel=canonical" appears more than once in the document =
|
512 |
+
That must be coming from the theme's code or some other SEO/AMP plugin as the Rank Math plugin adds only one canonical URL per page.
|
513 |
|
514 |
You should try disabling all other plugins and/or switch to a different theme and check.
|
515 |
|
519 |
On the contrary, BlogPosting Schema is used for blog posts. They can be personal or commercial in nature. Most of the non-professional blogs you see online use this Schema type.
|
520 |
|
521 |
= Why is Google not showing the Schema data? =
|
522 |
+
For the Rich Snippet data, Rank Math plugin adds the necessary markup for rich snippets. It may take some time before they show up in the search results. Please allow a few days for Google to pick up the new information.
|
523 |
|
524 |
Google WILL NOT necessarily show the Schema data though. They check a few things first and may choose not to show your rich schema. For instance, they check the overall quality of the site, and if the Schema content is representative of the main content of the page or not.
|
525 |
|
531 |
= Why is the Carousel or Data Highlighter Not Working? =
|
532 |
Google can actually extract content from your pages and display it as a rich carousel (AMP or not).
|
533 |
|
534 |
+
But to make it easier, the best you can do is to use the Data Highlighter option in your Search Appearance tab in Webmaster Tools for your important pages (especially the pillar posts) but not on all content types. Rank Math makes it extremely convenient to do so.
|
535 |
|
536 |
To learn more about using this feature, visit <a href="https://s.rankmath.com/googledatahighlighter" target="_blank">https://s.rankmath.com/googledatahighlighter</a>
|
537 |
|
572 |
6. Support for 15+ Rich Snippet types.
|
573 |
7. No need to pay for any service when you can track keyword ranking change from our own Search Console.
|
574 |
8. Comes with in-built options for social media optimization.
|
575 |
+
9. Rank Math Comes with a 404 monitor and easy-to-use Redirection Manager.
|
576 |
10. Ground Breaking Integration with Elementor Page Builder.
|
577 |
11. Powerful XML Sitemap.
|
578 |
12. Role Manager gives you full control. Useful for multi-author sites.
|
579 |
+
13. Rank Math Comes with 15+ FREE modules.
|
580 |
|
581 |
== Changelog ==
|
582 |
|
597 |
= 1.0.98.1 [Sep 22, 2022] =
|
598 |
* Fixed: Strict PHP 7.2 error. It is recommended to update the PHP version to at least 7.4.
|
599 |
|
600 |
+
= 1.0.98.2 [Sep 24, 2022] =
|
601 |
+
* Fixed: Clicking on the [Questions tab of Content AI](https://rankmath.com/kb/how-to-use-content-ai/#questions) was crashing the editor on some setups
|
602 |
+
* Fixed: Button to open the Rank Math modal was not working in the [Divi's Frontend editor](https://rankmath.com/blog/divi-seo/) on some installations
|
603 |
+
* Fixed: Error in console when [Frontend Stats Bar](https://rankmath.com/kb/analytics-stats-bar/#num-2-2-enable-stats) option was enabled
|
604 |
+
|
605 |
**Note:** From the next update, we will stop supporting older versions.
|
606 |
|
607 |
+
Full changelog can be found here - **[Rank Math changelog](https://rankmath.com/changelog/?utm_source=Plugin&utm_medium=Changelog&utm_campaign=WP)**
|
vendor/composer/installed.php
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
<?php return array(
|
2 |
'root' => array(
|
3 |
'name' => 'rankmath/seo-by-rank-math',
|
4 |
-
'pretty_version' => '1.0.98.
|
5 |
-
'version' => '1.0.98.
|
6 |
-
'reference' => '
|
7 |
'type' => 'wordpress-plugin',
|
8 |
'install_path' => __DIR__ . '/../../',
|
9 |
'aliases' => array(),
|
@@ -47,9 +47,9 @@
|
|
47 |
'dev_requirement' => false,
|
48 |
),
|
49 |
'rankmath/seo-by-rank-math' => array(
|
50 |
-
'pretty_version' => '1.0.98.
|
51 |
-
'version' => '1.0.98.
|
52 |
-
'reference' => '
|
53 |
'type' => 'wordpress-plugin',
|
54 |
'install_path' => __DIR__ . '/../../',
|
55 |
'aliases' => array(),
|
1 |
<?php return array(
|
2 |
'root' => array(
|
3 |
'name' => 'rankmath/seo-by-rank-math',
|
4 |
+
'pretty_version' => '1.0.98.2-dev',
|
5 |
+
'version' => '1.0.98.2-dev',
|
6 |
+
'reference' => '8fcc3c87ae962fb3c6589ec71b43dfc0582d9914',
|
7 |
'type' => 'wordpress-plugin',
|
8 |
'install_path' => __DIR__ . '/../../',
|
9 |
'aliases' => array(),
|
47 |
'dev_requirement' => false,
|
48 |
),
|
49 |
'rankmath/seo-by-rank-math' => array(
|
50 |
+
'pretty_version' => '1.0.98.2-dev',
|
51 |
+
'version' => '1.0.98.2-dev',
|
52 |
+
'reference' => '8fcc3c87ae962fb3c6589ec71b43dfc0582d9914',
|
53 |
'type' => 'wordpress-plugin',
|
54 |
'install_path' => __DIR__ . '/../../',
|
55 |
'aliases' => array(),
|