diff --git a/dist/yoast-seo.js b/dist/yoast-seo.js index 96313acfb..d4355f891 100644 --- a/dist/yoast-seo.js +++ b/dist/yoast-seo.js @@ -944,7 +944,7 @@ YoastSEO = ( "undefined" === typeof YoastSEO ) ? {} : YoastSEO; */ YoastSEO.App = function( args ) { window.YoastSEO.app = this; - this.config = args; + this.config = this.extendConfig( args ); this.inputs = {}; this.rawData = args.callbacks.getData(); this.constructI18n( args.translations ); @@ -961,6 +961,56 @@ YoastSEO.App = function( args ) { this.init(); }; +/** + * Default config for YoastSEO.js + * + * @type {Object} + */ +YoastSEO.App.defaultConfig = { + sampleText: { + baseUrl: "example.org/", + snippetCite: "example-post/", + title: "This is an example title - edit by clicking here", + keyword: "Choose a focus keyword", + meta: "Modify your meta description by editing it right here", + text: "Start writing your text!" + } +}; + +/** + * Extend the config with defaults. + * + * @param {Object} args + * @returns {Object} args + */ +YoastSEO.App.prototype.extendConfig = function( args ) { + args.sampleText = this.extendSampleText( args.sampleText ); + + return args; +}; + +/** + * Extend sample text config with defaults. + * + * @param {Object} sampleText + * @returns {Object} sampleText + */ +YoastSEO.App.prototype.extendSampleText = function( sampleText ) { + var defaultSampleText = YoastSEO.App.defaultConfig.sampleText; + + if ( sampleText === undefined ) { + sampleText = defaultSampleText; + } else { + for ( var key in sampleText ) { + if ( sampleText[ key ] === undefined ) { + sampleText[ key ] = defaultSampleText[ key ]; + } + } + } + + return sampleText; +}; + /** * Initializes i18n object based on passed configuration * diff --git a/dist/yoast-seo.min.js b/dist/yoast-seo.min.js index 982ce3ebf..270fc09c2 100644 --- a/dist/yoast-seo.min.js +++ b/dist/yoast-seo.min.js @@ -1,5 +1,5 @@ -YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.Analyzer=function(a){this.config=a,this.checkConfig(),this.init(a)},YoastSEO.Analyzer.prototype.checkConfig=function(){"undefined"==typeof this.config.text&&(this.config.text="")},YoastSEO.Analyzer.prototype.init=function(a){this.config=a,this.initDependencies(),this.formatKeyword(),this.initQueue(),this.loadWordlists(),this.__output=[],this.__store={}},YoastSEO.Analyzer.prototype.formatKeyword=function(){"undefined"!=typeof this.config.keyword&&""!==this.config.keyword&&(this.keywordRegex=new RegExp(this.preProcessor.replaceDiacritics(this.config.keyword.replace(/[-_]/," ")),"ig"),this.keywordRegexInverse=new RegExp(this.preProcessor.replaceDiacritics(this.config.keyword.replace(" ","-")),"ig"))},YoastSEO.Analyzer.prototype.initDependencies=function(){this.preProcessor=new YoastSEO.getPreProcessor(this.config.text),this.stringHelper=YoastSEO.getStringHelper(),this.analyzeScorer=new YoastSEO.AnalyzeScorer(this)},YoastSEO.Analyzer.prototype.initQueue=function(){"undefined"!=typeof this.config.queue&&0!==this.config.queue.length?this.queue=this.config.queue.slice():this.queue=YoastSEO.analyzerConfig.queue.slice()},YoastSEO.Analyzer.prototype.loadWordlists=function(){"undefined"==typeof this.config.wordsToRemove&&(this.config.wordsToRemove=YoastSEO.analyzerConfig.wordsToRemove),"undefined"==typeof this.config.stopWords&&(this.config.stopWords=YoastSEO.analyzerConfig.stopWords)},YoastSEO.Analyzer.prototype.runQueue=function(){this.queue.length>0?(this.__output=this.__output.concat(this[this.queue.shift()]()),this.runQueue()):this.score()},YoastSEO.Analyzer.prototype.wordCount=function(){return[{test:"wordCount",result:this.preProcessor.__store.wordcountNoTags}]},YoastSEO.Analyzer.prototype.keyWordCheck=function(){return""===this.config.keyword?[{test:"keywordCheck",result:0}]:void 0},YoastSEO.Analyzer.prototype.keywordDensity=function(){var a=[{test:"keywordDensity",result:0}];if(this.preProcessor.__store.wordcount>100){var b=this.keywordDensityCheck();return a[0].result=b.toFixed(1),a}},YoastSEO.Analyzer.prototype.keywordDensityCheck=function(){var a=this.keywordCount(),b=0;return 0!==a&&(b=100*(a/this.preProcessor.__store.wordcount-(a-1*a))),b},YoastSEO.Analyzer.prototype.keywordCount=function(){var a=this.preProcessor.__store.cleanText.match(this.keywordRegex),b=0;return null!==a&&(b=a.length),this.__store.keywordCount=b,b},YoastSEO.Analyzer.prototype.subHeadings=function(){var a=[{test:"subHeadings",result:{count:0,matches:0}}],b=this.preProcessor.__store.cleanTextSomeTags.match(/]+)?>(.*?)<\/h\1>/gi);return null!==b&&(a[0].result.count=b.length,a[0].result.matches=this.subHeadingsCheck(b)),a},YoastSEO.Analyzer.prototype.subHeadingsCheck=function(a){var b;if(null===a)b=-1;else{b=0;for(var c=0;ca?a=0:a>100&&(a=100),[{test:"fleschReading",result:a}]},YoastSEO.Analyzer.prototype.linkCount=function(){var a=this.preProcessor.__store.originalText.match(/]+)?>(.*?)<\/a>/gi),b={total:0,totalKeyword:0,internalTotal:0,internalDofollow:0,internalNofollow:0,externalTotal:0,externalDofollow:0,externalNofollow:0,otherTotal:0,otherDofollow:0,otherNofollow:0};if(null!==a){b.total=a.length;for(var c=0;c");return null!==c[1].match(this.keywordRegex)&&(b=!0),b},YoastSEO.Analyzer.prototype.linkResult=function(a){var b=a;return b.externalHasNofollow=!1,b.externalAllNofollow=!1,b.externalAllDofollow=!1,b.externalTotal!==b.externalDofollow&&b.externalTotal>0&&(b.externalHasNofollow=!0),b.externalTotal===b.externalNofollow&&b.externalTotal>0&&(b.externalAllNofollow=!0),b.externalTotal===b.externalDofollow&&b.externalTotal>0&&(b.externalAllDofollow=!0),b},YoastSEO.Analyzer.prototype.imageCount=function(){var a={total:0,alt:0,noAlt:0,altKeyword:0},b=this.preProcessor.__store.originalText.match(/]+)?>/gi);if(null!==b){a.total=b.length;for(var c=0;c]+)?>(.*?)

","ig"));return 0===b&&(b=this.paragraphChecker(this.preProcessor.__store.originalText,new RegExp("[^]*?\n\n","ig"))),a[0].result=b,a},YoastSEO.Analyzer.prototype.paragraphChecker=function(a,b){var c=a.match(b),d=0;return null!==c&&(d=this.stringHelper.countMatches(c[0],this.keywordRegex)),d},YoastSEO.Analyzer.prototype.metaDescription=function(){var a=[{test:"metaDescriptionLength",result:0},{test:"metaDescriptionKeyword",result:0}];return"undefined"!=typeof this.config.meta&&(a[0].result=this.config.meta.length,a[1].result=-1,this.config.meta.length>0&&(a[1].result=this.stringHelper.countMatches(this.config.meta,this.keywordRegex))),a},YoastSEO.Analyzer.prototype.urlKeyword=function(){var a=[{test:"urlKeyword",result:0}];return"undefined"!=typeof this.config.url&&(a[0].result=this.stringHelper.countMatches(this.config.url,this.keywordRegexInverse)),a},YoastSEO.Analyzer.prototype.urlLength=function(){var a=[{test:"urlLength",result:{urlTooLong:!1}}];if("undefined"!=typeof this.config.url){var b=this.config.url.length;b>this.config.maxUrlLength&&b>this.config.maxSlugLength+this.config.keyword.length&&(a[0].result.urlTooLong=!0)}return a},YoastSEO.Analyzer.prototype.urlStopwords=function(){var a=[{test:"urlStopwords",result:0}];if("undefined"!=typeof this.config.url){var b=this.stringHelper.matchString(this.config.url,this.config.stopWords);null!==b&&(a[0].result=b.length)}return a},YoastSEO.Analyzer.prototype.keywordDoubles=function(){var a=[{test:"keywordDoubles",result:{count:0,id:0}}];return"undefined"!=typeof this.config.keyword&&"undefined"!=typeof this.config.usedKeywords[this.config.keyword]&&(a[0].result.count=this.config.usedKeywords[this.config.keyword].length,1===a[0].result.count&&(a[0].result.id=this.config.usedKeywords[this.config.keyword][0])),a},YoastSEO.Analyzer.prototype.score=function(){this.analyzeScorer.score(this.__output)},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.AnalyzeScorer=function(a){this.__score=[],this.refObj=a,this.i18n=a.config.i18n,this.init()},YoastSEO.AnalyzeScorer.prototype.init=function(){var a=new YoastSEO.AnalyzerScoring(this.i18n);this.scoring=a.analyzerScoring},YoastSEO.AnalyzeScorer.prototype.score=function(a){this.resultObj=a,this.runQueue()},YoastSEO.AnalyzeScorer.prototype.runQueue=function(){for(var a=0;a=b.scoreArray[d].min:return this.returnScore(c,b,d);case this.matcher>=b.scoreArray[d].min&&this.matcher<=b.scoreArray[d].max:return this.returnScore(c,b,d)}return c}},YoastSEO.AnalyzeScorer.prototype.setMatcher=function(a,b,c){this.matcher=parseFloat(a.result),this.result=a.result,"undefined"!=typeof b.scoreArray[c].matcher&&(this.matcher=parseFloat(this.result[b.scoreArray[c].matcher]))},YoastSEO.AnalyzeScorer.prototype.scoreLookup=function(a){for(var b=0;b-1&&this.queue.splice(b,1)},YoastSEO.App.prototype.createSnippetPreview=function(){var a=document.getElementById(this.config.targets.snippet),b=document.createElement("div");b.id="snippet_preview",a.appendChild(b),this.createSnippetPreviewTitle(b),this.createSnippetPreviewUrl(b),this.createSnippetPreviewMeta(b),this.snippetPreview=new YoastSEO.SnippetPreview(this),this.bindEvent(),this.bindSnippetEvents()},YoastSEO.App.prototype.createSnippetPreviewTitle=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="title_container",b.__refObj=this,a.appendChild(b);var c;c=document.createElement("span"),c.contentEditable=!0,c.textContent=this.config.sampleText.title,c.className="title",c.id="snippet_title",b.appendChild(c)},YoastSEO.App.prototype.createSnippetPreviewUrl=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="url_container",b.__refObj=this,a.appendChild(b);var c=document.createElement("cite");c.className="url urlBase",c.id="snippet_citeBase",c.textContent=this.config.sampleText.baseUrl,b.appendChild(c);var d=document.createElement("cite");d.className="url",d.id="snippet_cite",d.textContent=this.config.sampleText.snippetCite,d.contentEditable=!0,b.appendChild(d)},YoastSEO.App.prototype.createSnippetPreviewMeta=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="meta_container",b.__refObj=this,a.appendChild(b);var c=document.createElement("span");c.className="desc",c.id="snippet_meta",c.contentEditable=!0,c.textContent=this.config.sampleText.meta,b.appendChild(c)},YoastSEO.App.prototype.defineElements=function(){this.target=document.getElementById(this.config.targets.output);for(var a=0;aNo focus keyword was set for this page. If you do not set a focus keyword, no score can be calculated.

",this.target.appendChild(a)},YoastSEO.App.prototype.startTime=function(){this.startTimestamp=(new Date).getTime()},YoastSEO.App.prototype.endTime=function(){this.endTimestamp=(new Date).getTime(),this.endTimestamp-this.startTimestamp>this.config.typeDelay&&this.config.typeDelay"},YoastSEO.App.prototype.removeLoadingDialog=function(){document.getElementById(this.config.targets.output).removeChild(document.getElementById("YoastSEO-plugin-loading"))},YoastSEO.initialize=function(){"complete"===document.readyState?YoastSEO.app=new YoastSEO.App(YoastSEO.analyzerArgs):setTimeout(YoastSEO.initialize,50)},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.InputGenerator=function(a,b){this.config=a,this.refObj=b,this.analyzerData={},this.formattedData={}},YoastSEO.InputGenerator.prototype.createElements=function(){var a=document.getElementById(this.config.elementTarget);this.createText("text",a,"text"),this.createInput("keyword",a,"Focus keyword")},YoastSEO.InputGenerator.prototype.getData=function(){return this.analyzerData.keyword=this.refObj.config.sampleText.keyword,this.analyzerData.meta=this.refObj.config.sampleText.meta,this.analyzerData.snippetMeta=this.refObj.config.sampleText.meta,this.analyzerData.text=this.refObj.config.sampleText.text,this.analyzerData.title=this.refObj.config.sampleText.title,this.analyzerData.snippetTitle=this.refObj.config.sampleText.title,this.analyzerData.pageTitle=this.refObj.config.sampleText.title,this.analyzerData.url=this.refObj.config.sampleText.url,this.analyzerData.snippetCite=this.refObj.config.sampleText.url,this.formattedData=this.analyzerData,this.refObj.analyzerData=this.analyzerData,this.refObj.formattedData=this.formattedData,this.analyzerData},YoastSEO.InputGenerator.prototype.createInput=function(a,b,c){this.createLabel(a,b,c);var d=document.createElement("input");d.type="text",d.id=a+"Input",d.refObj=this.refObj,d.placeholder=this.config.sampleText[a],b.appendChild(d)},YoastSEO.InputGenerator.prototype.createText=function(a,b,c){this.createLabel(a,b,c);var d=document.createElement("textarea");d.placeholder=this.config.sampleText[a],d.id=a+"Input",b.appendChild(d)},YoastSEO.InputGenerator.prototype.createLabel=function(a,b,c){var d=document.createElement("label");d.textContent=c,d.htmlFor=a+"Input",b.appendChild(d)},YoastSEO.InputGenerator.prototype.getAnalyzerInput=function(){"undefined"==typeof this.refObj.snippetPreview?this.refObj.init():(this.rawData.text=this.getDataFromInput("text"),this.rawData.keyword=this.getDataFromInput("keyword"),this.rawData.pageTitle=this.getDataFromInput("title"),this.rawData.snippetMeta=this.getDataFromInput("meta"),this.rawData.snippetCite=this.getDataFromInput("url"),this.refObj.rawData=this.formattedData,this.refObj.reloadSnippetText()),this.refObj.runAnalyzerCallback()},YoastSEO.InputGenerator.prototype.getDataFromInput=function(a){var b;switch(a){case"text":b=document.getElementById("textInput").value;break;case"url":b=document.getElementById("snippet_cite").innerText;break;case"meta":b=document.getElementById("snippet_meta").innerText;break;case"keyword":b=document.getElementById("keywordInput").value;break;case"title":b=document.getElementById("snippet_title").innerText}return b},YoastSEO.InputGenerator.prototype.bindElementEvents=function(){this.inputElementEventBinder(),this.snippetPreviewEventBinder()},YoastSEO.InputGenerator.prototype.snippetPreviewEventBinder=function(){for(var a=["cite","meta","title"],b=0;b=this.preloadThreshold?this._pollTimeExceeded():(a+=50,setTimeout(this._pollLoadingPlugins.bind(this,a),50))},YoastSEO.Pluggable.prototype._allReady=function(){for(var a in this.plugins)if("ready"!==this.plugins[a].status)return!1;return!0},YoastSEO.Pluggable.prototype._pollTimeExceeded=function(){for(var a in this.plugins)void 0!==this.plugins[a].options&&"ready"!==this.plugins[a].options.status&&(console.error("Error: Plugin "+a+". did not finish loading in time."),delete this.plugins[a]);this.loaded=!0,YoastSEO.app.pluginsLoaded()},YoastSEO.Pluggable.prototype._applyModifications=function(a,b,c){var d=this.modifications[a];if(d instanceof Array&&d.length>0){d=this._stripIllegalModifications(d),d.sort(function(a,b){return a.priority-b.priority});for(var e in d){var f=d[e].callable,g=f(b,c);typeof g==typeof b?b=g:console.error("Modification with name "+a+" performed by plugin with name "+d[e].origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}}return b},YoastSEO.Pluggable.prototype._stripIllegalModifications=function(a){for(var b in a)this._validateOrigin(a[b].origin)===!1&&delete a[b];return a},YoastSEO.Pluggable.prototype._validateOrigin=function(a){return"ready"!==this.plugins[a].status?!1:!0},YoastSEO.Pluggable.prototype._validateUniqueness=function(a){return void 0!==this.plugins[a]?!1:!0},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.PreProcessor=function(a){this.__store={},this.__store.originalText=a,this.stringHelper=YoastSEO.getStringHelper(),this.init()},YoastSEO.PreProcessor.prototype.init=function(){this.textFormat(),this.countStore()},YoastSEO.PreProcessor.prototype.textFormat=function(){this.__store.cleanText=this.cleanText(this.__store.originalText),this.__store.cleanTextSomeTags=this.stringHelper.stripSomeTags(this.__store.cleanText),this.__store.cleanTextNoTags=this.stringHelper.stripAllTags(this.__store.cleanTextSomeTags)},YoastSEO.PreProcessor.prototype.countStore=function(){this.__store.wordcount=""===this.__store.cleanText?0:this.__store.cleanText.split(" ").length,this.__store.wordcountNoTags=""===this.__store.cleanTextNoTags?0:this.__store.cleanTextNoTags.split(" ").length,this.__store.sentenceCount=this.sentenceCount(this.__store.cleanText),this.__store.sentenceCountNoTags=this.sentenceCount(this.__store.cleanTextNoTags),this.__store.syllablecount=this.syllableCount(this.__store.cleanTextNoTags)},YoastSEO.PreProcessor.prototype.sentenceCount=function(a){for(var b=a.split("."),c=0,d=0;d0&&this.syllableCount++},YoastSEO.PreProcessor.prototype.advancedSyllableCount=function(a,b,c){var d=a.match(b);null!==d&&("subtract"===c?this.syllableCount-=d.length:"add"===c&&(this.syllableCount+=d.length))},YoastSEO.PreProcessor.prototype.removeWords=function(a){for(var b=YoastSEO.preprocessorConfig,c=0;c0)for(var e=0;e0&&(d+=2);break}d=c.shift()}}return""===this.refObj.stringHelper.stripAllTags(a)?this.refObj.config.sampleText.meta:a.substring(0,YoastSEO.analyzerConfig.maxMeta)},YoastSEO.SnippetPreview.prototype.getIndexMatches=function(){for(var a=[],b=0,c=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,b);c>-1;)a.push(c),b=c+this.refObj.rawData.keyword.length,c=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,b);return a},YoastSEO.SnippetPreview.prototype.getPeriodMatches=function(){for(var a,b=[0],c=0;(a=this.refObj.rawData.text.indexOf(".",c))>-1;)b.push(a),c=a+1;return b},YoastSEO.SnippetPreview.prototype.formatKeyword=function(a){var b=new RegExp("\\b"+this.refObj.rawData.keyword+"\\b","ig");return a.replace(b,function(a){return""+a+""})},YoastSEO.SnippetPreview.prototype.formatKeywordUrl=function(a){var b=this.refObj.rawData.keyword.replace(" ","[-_]");return b=new RegExp(b,"ig"),a.replace(b,function(a){return""+a+""})},YoastSEO.SnippetPreview.prototype.renderOutput=function(){document.getElementById("snippet_title").innerHTML=this.output.title,document.getElementById("snippet_cite").innerHTML=this.output.cite,document.getElementById("snippet_citeBase").innerHTML=this.output.url,document.getElementById("snippet_meta").innerHTML=this.output.meta},YoastSEO.SnippetPreview.prototype.reRender=function(){this.init()},YoastSEO.SnippetPreview.prototype.disableEnter=function(a){13===a.keyCode&&(a.returnValue=!1,a.cancelBubble=!0,a.preventDefault())},YoastSEO.SnippetPreview.prototype.checkTextLength=function(a){var b=a.currentTarget.textContent;switch(a.currentTarget.id){case"snippet_meta":a.currentTarget.className="desc",b.length>YoastSEO.analyzerConfig.maxMeta&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=a.currentTarget.textContent,a.currentTarget.textContent=b.substring(0,YoastSEO.analyzerConfig.maxMeta));break;case"snippet_title":a.currentTarget.className="title",b.length>40&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=a.currentTarget.textContent,a.currentTarget.textContent=b.substring(0,40))}},YoastSEO.SnippetPreview.prototype.getUnformattedText=function(a){var b=a.currentTarget.id;"undefined"!=typeof YoastSEO.app.snippetPreview.unformattedText[b]&&(a.currentTarget.textContent=YoastSEO.app.snippetPreview.unformattedText[b])},YoastSEO.SnippetPreview.prototype.setUnformattedElemText=function(a){YoastSEO.app.snippetPreview.unformattedText[a]=document.getElementById(a).textContent},YoastSEO.SnippetPreview.prototype.setUnformattedText=function(a){a.currentTarget.refObj.snippetPreview.setUnformattedElemText(a.currentTarget.id)},YoastSEO.SnippetPreview.prototype.textFeedback=function(a){var b=a.currentTarget.textContent;switch(a.currentTarget.id){case"snippet_meta":b.length>YoastSEO.analyzerConfig.maxMeta?a.currentTarget.className="desc tooLong":a.currentTarget.className="desc";break;case"snippet_title":b.length>40?a.currentTarget.className="title tooLong":a.currentTarget.className="title"}},YoastSEO.SnippetPreview.prototype.showEditIcon=function(a){a.currentTarget.parentElement.className="editIcon snippet_container"},YoastSEO.SnippetPreview.prototype.hideEditIcon=function(){for(var a=document.getElementsByClassName("editIcon "),b=0;b0&&(c+="|"),c+=d+a[e]+d;return new RegExp(c,"g")},YoastSEO.StringHelper.prototype.stripSpaces=function(a){return a=a.replace(/ {2,}/g," "),a=a.replace(/^\s+|\s+$/g,"")},YoastSEO.StringHelper.prototype.addEscapeChars=function(a){return a.replace(/[\-\[\]\/\{}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},YoastSEO.StringHelper.prototype.stripSomeTags=function(a){return a=a.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?\>/g," "),a=this.stripSpaces(a)},YoastSEO.StringHelper.prototype.stripAllTags=function(a){return a=a.replace(/(<([^>]+)>)/gi," "),a=a.replace(/[<>]/g,""),a=this.stripSpaces(a)},YoastSEO.getStringHelper=function(){return"object"!=typeof YoastSEO.cachedStringHelper&&(YoastSEO.cachedStringHelper=new YoastSEO.StringHelper),YoastSEO.cachedStringHelper},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,function(){/** +YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.Analyzer=function(a){this.config=a,this.checkConfig(),this.init(a)},YoastSEO.Analyzer.prototype.checkConfig=function(){"undefined"==typeof this.config.text&&(this.config.text="")},YoastSEO.Analyzer.prototype.init=function(a){this.config=a,this.initDependencies(),this.formatKeyword(),this.initQueue(),this.loadWordlists(),this.__output=[],this.__store={}},YoastSEO.Analyzer.prototype.formatKeyword=function(){"undefined"!=typeof this.config.keyword&&""!==this.config.keyword&&(this.keywordRegex=new RegExp(this.preProcessor.replaceDiacritics(this.config.keyword.replace(/[-_]/," ")),"ig"),this.keywordRegexInverse=new RegExp(this.preProcessor.replaceDiacritics(this.config.keyword.replace(" ","-")),"ig"))},YoastSEO.Analyzer.prototype.initDependencies=function(){this.preProcessor=new YoastSEO.getPreProcessor(this.config.text),this.stringHelper=YoastSEO.getStringHelper(),this.analyzeScorer=new YoastSEO.AnalyzeScorer(this)},YoastSEO.Analyzer.prototype.initQueue=function(){"undefined"!=typeof this.config.queue&&0!==this.config.queue.length?this.queue=this.config.queue.slice():this.queue=YoastSEO.analyzerConfig.queue.slice()},YoastSEO.Analyzer.prototype.loadWordlists=function(){"undefined"==typeof this.config.wordsToRemove&&(this.config.wordsToRemove=YoastSEO.analyzerConfig.wordsToRemove),"undefined"==typeof this.config.stopWords&&(this.config.stopWords=YoastSEO.analyzerConfig.stopWords)},YoastSEO.Analyzer.prototype.runQueue=function(){this.queue.length>0?(this.__output=this.__output.concat(this[this.queue.shift()]()),this.runQueue()):this.score()},YoastSEO.Analyzer.prototype.wordCount=function(){return[{test:"wordCount",result:this.preProcessor.__store.wordcountNoTags}]},YoastSEO.Analyzer.prototype.keyWordCheck=function(){return""===this.config.keyword?[{test:"keywordCheck",result:0}]:void 0},YoastSEO.Analyzer.prototype.keywordDensity=function(){var a=[{test:"keywordDensity",result:0}];if(this.preProcessor.__store.wordcount>100){var b=this.keywordDensityCheck();return a[0].result=b.toFixed(1),a}},YoastSEO.Analyzer.prototype.keywordDensityCheck=function(){var a=this.keywordCount(),b=0;return 0!==a&&(b=100*(a/this.preProcessor.__store.wordcount-(a-1*a))),b},YoastSEO.Analyzer.prototype.keywordCount=function(){var a=this.preProcessor.__store.cleanText.match(this.keywordRegex),b=0;return null!==a&&(b=a.length),this.__store.keywordCount=b,b},YoastSEO.Analyzer.prototype.subHeadings=function(){var a=[{test:"subHeadings",result:{count:0,matches:0}}],b=this.preProcessor.__store.cleanTextSomeTags.match(/]+)?>(.*?)<\/h\1>/gi);return null!==b&&(a[0].result.count=b.length,a[0].result.matches=this.subHeadingsCheck(b)),a},YoastSEO.Analyzer.prototype.subHeadingsCheck=function(a){var b;if(null===a)b=-1;else{b=0;for(var c=0;ca?a=0:a>100&&(a=100),[{test:"fleschReading",result:a}]},YoastSEO.Analyzer.prototype.linkCount=function(){var a=this.preProcessor.__store.originalText.match(/]+)?>(.*?)<\/a>/gi),b={total:0,totalKeyword:0,internalTotal:0,internalDofollow:0,internalNofollow:0,externalTotal:0,externalDofollow:0,externalNofollow:0,otherTotal:0,otherDofollow:0,otherNofollow:0};if(null!==a){b.total=a.length;for(var c=0;c");return null!==c[1].match(this.keywordRegex)&&(b=!0),b},YoastSEO.Analyzer.prototype.linkResult=function(a){var b=a;return b.externalHasNofollow=!1,b.externalAllNofollow=!1,b.externalAllDofollow=!1,b.externalTotal!==b.externalDofollow&&b.externalTotal>0&&(b.externalHasNofollow=!0),b.externalTotal===b.externalNofollow&&b.externalTotal>0&&(b.externalAllNofollow=!0),b.externalTotal===b.externalDofollow&&b.externalTotal>0&&(b.externalAllDofollow=!0),b},YoastSEO.Analyzer.prototype.imageCount=function(){var a={total:0,alt:0,noAlt:0,altKeyword:0},b=this.preProcessor.__store.originalText.match(/]+)?>/gi);if(null!==b){a.total=b.length;for(var c=0;c]+)?>(.*?)

","ig"));return 0===b&&(b=this.paragraphChecker(this.preProcessor.__store.originalText,new RegExp("[^]*?\n\n","ig"))),a[0].result=b,a},YoastSEO.Analyzer.prototype.paragraphChecker=function(a,b){var c=a.match(b),d=0;return null!==c&&(d=this.stringHelper.countMatches(c[0],this.keywordRegex)),d},YoastSEO.Analyzer.prototype.metaDescription=function(){var a=[{test:"metaDescriptionLength",result:0},{test:"metaDescriptionKeyword",result:0}];return"undefined"!=typeof this.config.meta&&(a[0].result=this.config.meta.length,a[1].result=-1,this.config.meta.length>0&&(a[1].result=this.stringHelper.countMatches(this.config.meta,this.keywordRegex))),a},YoastSEO.Analyzer.prototype.urlKeyword=function(){var a=[{test:"urlKeyword",result:0}];return"undefined"!=typeof this.config.url&&(a[0].result=this.stringHelper.countMatches(this.config.url,this.keywordRegexInverse)),a},YoastSEO.Analyzer.prototype.urlLength=function(){var a=[{test:"urlLength",result:{urlTooLong:!1}}];if("undefined"!=typeof this.config.url){var b=this.config.url.length;b>this.config.maxUrlLength&&b>this.config.maxSlugLength+this.config.keyword.length&&(a[0].result.urlTooLong=!0)}return a},YoastSEO.Analyzer.prototype.urlStopwords=function(){var a=[{test:"urlStopwords",result:0}];if("undefined"!=typeof this.config.url){var b=this.stringHelper.matchString(this.config.url,this.config.stopWords);null!==b&&(a[0].result=b.length)}return a},YoastSEO.Analyzer.prototype.keywordDoubles=function(){var a=[{test:"keywordDoubles",result:{count:0,id:0}}];return"undefined"!=typeof this.config.keyword&&"undefined"!=typeof this.config.usedKeywords[this.config.keyword]&&(a[0].result.count=this.config.usedKeywords[this.config.keyword].length,1===a[0].result.count&&(a[0].result.id=this.config.usedKeywords[this.config.keyword][0])),a},YoastSEO.Analyzer.prototype.score=function(){this.analyzeScorer.score(this.__output)},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.AnalyzeScorer=function(a){this.__score=[],this.refObj=a,this.i18n=a.config.i18n,this.init()},YoastSEO.AnalyzeScorer.prototype.init=function(){var a=new YoastSEO.AnalyzerScoring(this.i18n);this.scoring=a.analyzerScoring},YoastSEO.AnalyzeScorer.prototype.score=function(a){this.resultObj=a,this.runQueue()},YoastSEO.AnalyzeScorer.prototype.runQueue=function(){for(var a=0;a=b.scoreArray[d].min:return this.returnScore(c,b,d);case this.matcher>=b.scoreArray[d].min&&this.matcher<=b.scoreArray[d].max:return this.returnScore(c,b,d)}return c}},YoastSEO.AnalyzeScorer.prototype.setMatcher=function(a,b,c){this.matcher=parseFloat(a.result),this.result=a.result,"undefined"!=typeof b.scoreArray[c].matcher&&(this.matcher=parseFloat(this.result[b.scoreArray[c].matcher]))},YoastSEO.AnalyzeScorer.prototype.scoreLookup=function(a){for(var b=0;b-1&&this.queue.splice(b,1)},YoastSEO.App.prototype.createSnippetPreview=function(){var a=document.getElementById(this.config.targets.snippet),b=document.createElement("div");b.id="snippet_preview",a.appendChild(b),this.createSnippetPreviewTitle(b),this.createSnippetPreviewUrl(b),this.createSnippetPreviewMeta(b),this.snippetPreview=new YoastSEO.SnippetPreview(this),this.bindEvent(),this.bindSnippetEvents()},YoastSEO.App.prototype.createSnippetPreviewTitle=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="title_container",b.__refObj=this,a.appendChild(b);var c;c=document.createElement("span"),c.contentEditable=!0,c.textContent=this.config.sampleText.title,c.className="title",c.id="snippet_title",b.appendChild(c)},YoastSEO.App.prototype.createSnippetPreviewUrl=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="url_container",b.__refObj=this,a.appendChild(b);var c=document.createElement("cite");c.className="url urlBase",c.id="snippet_citeBase",c.textContent=this.config.sampleText.baseUrl,b.appendChild(c);var d=document.createElement("cite");d.className="url",d.id="snippet_cite",d.textContent=this.config.sampleText.snippetCite,d.contentEditable=!0,b.appendChild(d)},YoastSEO.App.prototype.createSnippetPreviewMeta=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="meta_container",b.__refObj=this,a.appendChild(b);var c=document.createElement("span");c.className="desc",c.id="snippet_meta",c.contentEditable=!0,c.textContent=this.config.sampleText.meta,b.appendChild(c)},YoastSEO.App.prototype.defineElements=function(){this.target=document.getElementById(this.config.targets.output);for(var a=0;aNo focus keyword was set for this page. If you do not set a focus keyword, no score can be calculated.

",this.target.appendChild(a)},YoastSEO.App.prototype.startTime=function(){this.startTimestamp=(new Date).getTime()},YoastSEO.App.prototype.endTime=function(){this.endTimestamp=(new Date).getTime(),this.endTimestamp-this.startTimestamp>this.config.typeDelay&&this.config.typeDelay"},YoastSEO.App.prototype.removeLoadingDialog=function(){document.getElementById(this.config.targets.output).removeChild(document.getElementById("YoastSEO-plugin-loading"))},YoastSEO.initialize=function(){"complete"===document.readyState?YoastSEO.app=new YoastSEO.App(YoastSEO.analyzerArgs):setTimeout(YoastSEO.initialize,50)},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.InputGenerator=function(a,b){this.config=a,this.refObj=b,this.analyzerData={},this.formattedData={}},YoastSEO.InputGenerator.prototype.createElements=function(){var a=document.getElementById(this.config.elementTarget);this.createText("text",a,"text"),this.createInput("keyword",a,"Focus keyword")},YoastSEO.InputGenerator.prototype.getData=function(){return this.analyzerData.keyword=this.refObj.config.sampleText.keyword,this.analyzerData.meta=this.refObj.config.sampleText.meta,this.analyzerData.snippetMeta=this.refObj.config.sampleText.meta,this.analyzerData.text=this.refObj.config.sampleText.text,this.analyzerData.title=this.refObj.config.sampleText.title,this.analyzerData.snippetTitle=this.refObj.config.sampleText.title,this.analyzerData.pageTitle=this.refObj.config.sampleText.title,this.analyzerData.url=this.refObj.config.sampleText.url,this.analyzerData.snippetCite=this.refObj.config.sampleText.url,this.formattedData=this.analyzerData,this.refObj.analyzerData=this.analyzerData,this.refObj.formattedData=this.formattedData,this.analyzerData},YoastSEO.InputGenerator.prototype.createInput=function(a,b,c){this.createLabel(a,b,c);var d=document.createElement("input");d.type="text",d.id=a+"Input",d.refObj=this.refObj,d.placeholder=this.config.sampleText[a],b.appendChild(d)},YoastSEO.InputGenerator.prototype.createText=function(a,b,c){this.createLabel(a,b,c);var d=document.createElement("textarea");d.placeholder=this.config.sampleText[a],d.id=a+"Input",b.appendChild(d)},YoastSEO.InputGenerator.prototype.createLabel=function(a,b,c){var d=document.createElement("label");d.textContent=c,d.htmlFor=a+"Input",b.appendChild(d)},YoastSEO.InputGenerator.prototype.getAnalyzerInput=function(){"undefined"==typeof this.refObj.snippetPreview?this.refObj.init():(this.rawData.text=this.getDataFromInput("text"),this.rawData.keyword=this.getDataFromInput("keyword"),this.rawData.pageTitle=this.getDataFromInput("title"),this.rawData.snippetMeta=this.getDataFromInput("meta"),this.rawData.snippetCite=this.getDataFromInput("url"),this.refObj.rawData=this.formattedData,this.refObj.reloadSnippetText()),this.refObj.runAnalyzerCallback()},YoastSEO.InputGenerator.prototype.getDataFromInput=function(a){var b;switch(a){case"text":b=document.getElementById("textInput").value;break;case"url":b=document.getElementById("snippet_cite").innerText;break;case"meta":b=document.getElementById("snippet_meta").innerText;break;case"keyword":b=document.getElementById("keywordInput").value;break;case"title":b=document.getElementById("snippet_title").innerText}return b},YoastSEO.InputGenerator.prototype.bindElementEvents=function(){this.inputElementEventBinder(),this.snippetPreviewEventBinder()},YoastSEO.InputGenerator.prototype.snippetPreviewEventBinder=function(){for(var a=["cite","meta","title"],b=0;b=this.preloadThreshold?this._pollTimeExceeded():(a+=50,setTimeout(this._pollLoadingPlugins.bind(this,a),50))},YoastSEO.Pluggable.prototype._allReady=function(){for(var a in this.plugins)if("ready"!==this.plugins[a].status)return!1;return!0},YoastSEO.Pluggable.prototype._pollTimeExceeded=function(){for(var a in this.plugins)void 0!==this.plugins[a].options&&"ready"!==this.plugins[a].options.status&&(console.error("Error: Plugin "+a+". did not finish loading in time."),delete this.plugins[a]);this.loaded=!0,YoastSEO.app.pluginsLoaded()},YoastSEO.Pluggable.prototype._applyModifications=function(a,b,c){var d=this.modifications[a];if(d instanceof Array&&d.length>0){d=this._stripIllegalModifications(d),d.sort(function(a,b){return a.priority-b.priority});for(var e in d){var f=d[e].callable,g=f(b,c);typeof g==typeof b?b=g:console.error("Modification with name "+a+" performed by plugin with name "+d[e].origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}}return b},YoastSEO.Pluggable.prototype._stripIllegalModifications=function(a){for(var b in a)this._validateOrigin(a[b].origin)===!1&&delete a[b];return a},YoastSEO.Pluggable.prototype._validateOrigin=function(a){return"ready"!==this.plugins[a].status?!1:!0},YoastSEO.Pluggable.prototype._validateUniqueness=function(a){return void 0!==this.plugins[a]?!1:!0},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.PreProcessor=function(a){this.__store={},this.__store.originalText=a,this.stringHelper=YoastSEO.getStringHelper(),this.init()},YoastSEO.PreProcessor.prototype.init=function(){this.textFormat(),this.countStore()},YoastSEO.PreProcessor.prototype.textFormat=function(){this.__store.cleanText=this.cleanText(this.__store.originalText),this.__store.cleanTextSomeTags=this.stringHelper.stripSomeTags(this.__store.cleanText),this.__store.cleanTextNoTags=this.stringHelper.stripAllTags(this.__store.cleanTextSomeTags)},YoastSEO.PreProcessor.prototype.countStore=function(){this.__store.wordcount=""===this.__store.cleanText?0:this.__store.cleanText.split(" ").length,this.__store.wordcountNoTags=""===this.__store.cleanTextNoTags?0:this.__store.cleanTextNoTags.split(" ").length,this.__store.sentenceCount=this.sentenceCount(this.__store.cleanText),this.__store.sentenceCountNoTags=this.sentenceCount(this.__store.cleanTextNoTags),this.__store.syllablecount=this.syllableCount(this.__store.cleanTextNoTags)},YoastSEO.PreProcessor.prototype.sentenceCount=function(a){for(var b=a.split("."),c=0,d=0;d0&&this.syllableCount++},YoastSEO.PreProcessor.prototype.advancedSyllableCount=function(a,b,c){var d=a.match(b);null!==d&&("subtract"===c?this.syllableCount-=d.length:"add"===c&&(this.syllableCount+=d.length))},YoastSEO.PreProcessor.prototype.removeWords=function(a){for(var b=YoastSEO.preprocessorConfig,c=0;c0)for(var e=0;e0&&(d+=2);break}d=c.shift()}}return""===this.refObj.stringHelper.stripAllTags(a)?this.refObj.config.sampleText.meta:a.substring(0,YoastSEO.analyzerConfig.maxMeta)},YoastSEO.SnippetPreview.prototype.getIndexMatches=function(){for(var a=[],b=0,c=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,b);c>-1;)a.push(c),b=c+this.refObj.rawData.keyword.length,c=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,b);return a},YoastSEO.SnippetPreview.prototype.getPeriodMatches=function(){for(var a,b=[0],c=0;(a=this.refObj.rawData.text.indexOf(".",c))>-1;)b.push(a),c=a+1;return b},YoastSEO.SnippetPreview.prototype.formatKeyword=function(a){var b=new RegExp("\\b"+this.refObj.rawData.keyword+"\\b","ig");return a.replace(b,function(a){return""+a+""})},YoastSEO.SnippetPreview.prototype.formatKeywordUrl=function(a){var b=this.refObj.rawData.keyword.replace(" ","[-_]");return b=new RegExp(b,"ig"),a.replace(b,function(a){return""+a+""})},YoastSEO.SnippetPreview.prototype.renderOutput=function(){document.getElementById("snippet_title").innerHTML=this.output.title,document.getElementById("snippet_cite").innerHTML=this.output.cite,document.getElementById("snippet_citeBase").innerHTML=this.output.url,document.getElementById("snippet_meta").innerHTML=this.output.meta},YoastSEO.SnippetPreview.prototype.reRender=function(){this.init()},YoastSEO.SnippetPreview.prototype.disableEnter=function(a){13===a.keyCode&&(a.returnValue=!1,a.cancelBubble=!0,a.preventDefault())},YoastSEO.SnippetPreview.prototype.checkTextLength=function(a){var b=a.currentTarget.textContent;switch(a.currentTarget.id){case"snippet_meta":a.currentTarget.className="desc",b.length>YoastSEO.analyzerConfig.maxMeta&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=a.currentTarget.textContent,a.currentTarget.textContent=b.substring(0,YoastSEO.analyzerConfig.maxMeta));break;case"snippet_title":a.currentTarget.className="title",b.length>40&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=a.currentTarget.textContent,a.currentTarget.textContent=b.substring(0,40))}},YoastSEO.SnippetPreview.prototype.getUnformattedText=function(a){var b=a.currentTarget.id;"undefined"!=typeof YoastSEO.app.snippetPreview.unformattedText[b]&&(a.currentTarget.textContent=YoastSEO.app.snippetPreview.unformattedText[b])},YoastSEO.SnippetPreview.prototype.setUnformattedElemText=function(a){YoastSEO.app.snippetPreview.unformattedText[a]=document.getElementById(a).textContent},YoastSEO.SnippetPreview.prototype.setUnformattedText=function(a){a.currentTarget.refObj.snippetPreview.setUnformattedElemText(a.currentTarget.id)},YoastSEO.SnippetPreview.prototype.textFeedback=function(a){var b=a.currentTarget.textContent;switch(a.currentTarget.id){case"snippet_meta":b.length>YoastSEO.analyzerConfig.maxMeta?a.currentTarget.className="desc tooLong":a.currentTarget.className="desc";break;case"snippet_title":b.length>40?a.currentTarget.className="title tooLong":a.currentTarget.className="title"}},YoastSEO.SnippetPreview.prototype.showEditIcon=function(a){a.currentTarget.parentElement.className="editIcon snippet_container"},YoastSEO.SnippetPreview.prototype.hideEditIcon=function(){for(var a=document.getElementsByClassName("editIcon "),b=0;b0&&(c+="|"),c+=d+a[e]+d;return new RegExp(c,"g")},YoastSEO.StringHelper.prototype.stripSpaces=function(a){return a=a.replace(/ {2,}/g," "),a=a.replace(/^\s+|\s+$/g,"")},YoastSEO.StringHelper.prototype.addEscapeChars=function(a){return a.replace(/[\-\[\]\/\{}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},YoastSEO.StringHelper.prototype.stripSomeTags=function(a){return a=a.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?\>/g," "),a=this.stripSpaces(a)},YoastSEO.StringHelper.prototype.stripAllTags=function(a){return a=a.replace(/(<([^>]+)>)/gi," "),a=a.replace(/[<>]/g,""),a=this.stripSpaces(a)},YoastSEO.getStringHelper=function(){return"object"!=typeof YoastSEO.cachedStringHelper&&(YoastSEO.cachedStringHelper=new YoastSEO.StringHelper),YoastSEO.cachedStringHelper},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,function(){/** * @preserve jed.js https://github.com/SlexAxton/Jed */ !function(a,b){function c(a){return l.PF.compile(a||"nplurals=2; plural=(n != 1);")}function d(a,b){this._key=a,this._i18n=b}var e=Array.prototype,f=Object.prototype,g=e.slice,h=f.hasOwnProperty,i=e.forEach,j={},k={forEach:function(a,b,c){var d,e,f;if(null!==a)if(i&&a.forEach===i)a.forEach(b,c);else if(a.length===+a.length){for(d=0,e=a.length;e>d;d++)if(d in a&&b.call(c,a[d],d,a)===j)return}else for(f in a)if(h.call(a,f)&&b.call(c,a[f],f,a)===j)return},extend:function(a){return this.forEach(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a}},l=function(a){if(this.defaults={locale_data:{messages:{"":{domain:"messages",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}},domain:"messages",debug:!1},this.options=k.extend({},this.defaults,a),this.textdomain(this.options.domain),a.domain&&!this.options.locale_data[this.options.domain])throw new Error("Text domain set to non-existent domain: `"+a.domain+"`")};l.context_delimiter=String.fromCharCode(4),k.extend(d.prototype,{onDomain:function(a){return this._domain=a,this},withContext:function(a){return this._context=a,this},ifPlural:function(a,b){return this._val=a,this._pkey=b,this},fetch:function(a){return"[object Array]"!={}.toString.call(a)&&(a=[].slice.call(arguments,0)),(a&&a.length?l.sprintf:function(a){return a})(this._i18n.dcnpgettext(this._domain,this._context,this._key,this._pkey,this._val),a)}}),k.extend(l.prototype,{translate:function(a){return new d(a,this)},textdomain:function(a){return a?void(this._textdomain=a):this._textdomain},gettext:function(a){return this.dcnpgettext.call(this,b,b,a)},dgettext:function(a,c){return this.dcnpgettext.call(this,a,b,c)},dcgettext:function(a,c){return this.dcnpgettext.call(this,a,b,c)},ngettext:function(a,c,d){return this.dcnpgettext.call(this,b,b,a,c,d)},dngettext:function(a,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},dcngettext:function(a,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},pgettext:function(a,c){return this.dcnpgettext.call(this,b,a,c)},dpgettext:function(a,b,c){return this.dcnpgettext.call(this,a,b,c)},dcpgettext:function(a,b,c){return this.dcnpgettext.call(this,a,b,c)},npgettext:function(a,c,d,e){return this.dcnpgettext.call(this,b,a,c,d,e)},dnpgettext:function(a,b,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},dcnpgettext:function(a,b,d,e,f){e=e||d,a=a||this._textdomain;var g;if(!this.options)return g=new l,g.dcnpgettext.call(g,void 0,void 0,d,e,f);if(!this.options.locale_data)throw new Error("No locale data provided.");if(!this.options.locale_data[a])throw new Error("Domain `"+a+"` was not found.");if(!this.options.locale_data[a][""])throw new Error("No locale meta information provided.");if(!d)throw new Error("No translation key found.");var h,i,j,k=b?b+l.context_delimiter+d:d,m=this.options.locale_data,n=m[a],o=(m.messages||this.defaults.locale_data.messages)[""],p=n[""].plural_forms||n[""]["Plural-Forms"]||n[""]["plural-forms"]||o.plural_forms||o["Plural-Forms"]||o["plural-forms"];if(void 0===f)j=0;else{if("number"!=typeof f&&(f=parseInt(f,10),isNaN(f)))throw new Error("The number that was passed in is not a number.");j=c(p)(f)}if(!n)throw new Error("No domain named `"+a+"` could be found.");return h=n[k],!h||j>h.length?(this.options.missing_key_callback&&this.options.missing_key_callback(k,a),i=[d,e],this.options.debug===!0&&console.log(i[c(p)(f)]),i[c()(f)]):(i=h[j],i?i:(i=[d,e],i[c()(f)]))}});var m=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}function b(a,b){for(var c=[];b>0;c[--b]=a);return c.join("")}var c=function(){return c.cache.hasOwnProperty(arguments[0])||(c.cache[arguments[0]]=c.parse(arguments[0])),c.format.call(null,c.cache[arguments[0]],arguments)};return c.format=function(c,d){var e,f,g,h,i,j,k,l=1,n=c.length,o="",p=[];for(f=0;n>f;f++)if(o=a(c[f]),"string"===o)p.push(c[f]);else if("array"===o){if(h=c[f],h[2])for(e=d[l],g=0;g=0?"+"+e:e,j=h[4]?"0"==h[4]?"0":h[4].charAt(1):" ",k=h[6]-String(e).length,i=h[6]?b(j,k):"",p.push(h[5]?e+i:i+e)}return p.join("")},c.cache={},c.parse=function(a){for(var b=a,c=[],d=[],e=0;b;){if(null!==(c=/^[^\x25]+/.exec(b)))d.push(c[0]);else if(null!==(c=/^\x25{2}/.exec(b)))d.push("%");else{if(null===(c=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(b)))throw"[sprintf] huh?";if(c[2]){e|=1;var f=[],g=c[2],h=[];if(null===(h=/^([a-z_][a-z_\d]*)/i.exec(g)))throw"[sprintf] huh?";for(f.push(h[1]);""!==(g=g.substring(h[0].length));)if(null!==(h=/^\.([a-z_][a-z_\d]*)/i.exec(g)))f.push(h[1]);else{if(null===(h=/^\[(\d+)\]/.exec(g)))throw"[sprintf] huh?";f.push(h[1])}c[2]=f}else e|=2;if(3===e)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";d.push(c)}b=b.substring(c[0].length)}return d},c}(),n=function(a,b){return b.unshift(a),m.apply(null,b)};l.parse_plural=function(a,b){return a=a.replace(/n/g,b),l.parse_expression(a)},l.sprintf=function(a,b){return"[object Array]"=={}.toString.call(b)?n(a,[].slice.call(b)):m.apply(this,[].slice.call(arguments))},l.prototype.sprintf=function(){return l.sprintf.apply(this,arguments)},l.PF={},l.PF.parse=function(a){var b=l.PF.extractPluralExpr(a);return l.PF.parser.parse.call(l.PF.parser,b)},l.PF.compile=function(a){function b(a){return a===!0?1:a?a:0}var c=l.PF.parse(a);return function(a){return b(l.PF.interpreter(c)(a))}},l.PF.interpreter=function(a){return function(b){switch(a.type){case"GROUP":return l.PF.interpreter(a.expr)(b);case"TERNARY":return l.PF.interpreter(a.expr)(b)?l.PF.interpreter(a.truthy)(b):l.PF.interpreter(a.falsey)(b);case"OR":return l.PF.interpreter(a.left)(b)||l.PF.interpreter(a.right)(b);case"AND":return l.PF.interpreter(a.left)(b)&&l.PF.interpreter(a.right)(b);case"LT":return l.PF.interpreter(a.left)(b)l.PF.interpreter(a.right)(b);case"LTE":return l.PF.interpreter(a.left)(b)<=l.PF.interpreter(a.right)(b);case"GTE":return l.PF.interpreter(a.left)(b)>=l.PF.interpreter(a.right)(b);case"EQ":return l.PF.interpreter(a.left)(b)==l.PF.interpreter(a.right)(b);case"NEQ":return l.PF.interpreter(a.left)(b)!=l.PF.interpreter(a.right)(b);case"MOD":return l.PF.interpreter(a.left)(b)%l.PF.interpreter(a.right)(b);case"VAR":return b;case"NUM":return a.val;default:throw new Error("Invalid Token found.")}}},l.PF.extractPluralExpr=function(a){a=a.replace(/^\s\s*/,"").replace(/\s\s*$/,""),/;\s*$/.test(a)||(a=a.concat(";"));var b,c=/nplurals\=(\d+);/,d=/plural\=(.*);/,e=a.match(c),f={};if(!(e.length>1))throw new Error("nplurals not found in plural_forms string: "+a);if(f.nplurals=e[1],a=a.replace(c,""),b=a.match(d),!(b&&b.length>1))throw new Error("`plural` expression not found: "+a);return b[1]},l.PF.parser=function(){var a={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"?":6,":":7,"||":8,"&&":9,"<":10,"<=":11,">":12,">=":13,"!=":14,"==":15,"%":16,"(":17,")":18,n:19,NUMBER:20,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"?",7:":",8:"||",9:"&&",10:"<",11:"<=",12:">",13:">=",14:"!=",15:"==",16:"%",17:"(",18:")",19:"n",20:"NUMBER"},productions_:[0,[3,2],[4,5],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,1],[4,1]],performAction:function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:return{type:"GROUP",expr:f[h-1]};case 2:this.$={type:"TERNARY",expr:f[h-4],truthy:f[h-2],falsey:f[h]};break;case 3:this.$={type:"OR",left:f[h-2],right:f[h]};break;case 4:this.$={type:"AND",left:f[h-2],right:f[h]};break;case 5:this.$={type:"LT",left:f[h-2],right:f[h]};break;case 6:this.$={type:"LTE",left:f[h-2],right:f[h]};break;case 7:this.$={type:"GT",left:f[h-2],right:f[h]};break;case 8:this.$={type:"GTE",left:f[h-2],right:f[h]};break;case 9:this.$={type:"NEQ",left:f[h-2],right:f[h]};break;case 10:this.$={type:"EQ",left:f[h-2],right:f[h]};break;case 11:this.$={type:"MOD",left:f[h-2],right:f[h]};break;case 12:this.$={type:"GROUP",expr:f[h-1]};break;case 13:this.$={type:"VAR"};break;case 14:this.$={type:"NUM",val:Number(a)}}},table:[{3:1,4:2,17:[1,3],19:[1,4],20:[1,5]},{1:[3]},{5:[1,6],6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{4:17,17:[1,3],19:[1,4],20:[1,5]},{5:[2,13],6:[2,13],7:[2,13],8:[2,13],9:[2,13],10:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],18:[2,13]},{5:[2,14],6:[2,14],7:[2,14],8:[2,14],9:[2,14],10:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],18:[2,14]},{1:[2,1]},{4:18,17:[1,3],19:[1,4],20:[1,5]},{4:19,17:[1,3],19:[1,4],20:[1,5]},{4:20,17:[1,3],19:[1,4],20:[1,5]},{4:21,17:[1,3],19:[1,4],20:[1,5]},{4:22,17:[1,3],19:[1,4],20:[1,5]},{4:23,17:[1,3],19:[1,4],20:[1,5]},{4:24,17:[1,3],19:[1,4],20:[1,5]},{4:25,17:[1,3],19:[1,4],20:[1,5]},{4:26,17:[1,3],19:[1,4],20:[1,5]},{4:27,17:[1,3],19:[1,4],20:[1,5]},{6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[1,28]},{6:[1,7],7:[1,29],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{5:[2,3],6:[2,3],7:[2,3],8:[2,3],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,3]},{5:[2,4],6:[2,4],7:[2,4],8:[2,4],9:[2,4],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,4]},{5:[2,5],6:[2,5],7:[2,5],8:[2,5],9:[2,5],10:[2,5],11:[2,5],12:[2,5],13:[2,5],14:[2,5],15:[2,5],16:[1,16],18:[2,5]},{5:[2,6],6:[2,6],7:[2,6],8:[2,6],9:[2,6],10:[2,6],11:[2,6],12:[2,6],13:[2,6],14:[2,6],15:[2,6],16:[1,16],18:[2,6]},{5:[2,7],6:[2,7],7:[2,7],8:[2,7],9:[2,7],10:[2,7],11:[2,7],12:[2,7],13:[2,7],14:[2,7],15:[2,7],16:[1,16],18:[2,7]},{5:[2,8],6:[2,8],7:[2,8],8:[2,8],9:[2,8],10:[2,8],11:[2,8],12:[2,8],13:[2,8],14:[2,8],15:[2,8],16:[1,16],18:[2,8]},{5:[2,9],6:[2,9],7:[2,9],8:[2,9],9:[2,9],10:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[1,16],18:[2,9]},{5:[2,10],6:[2,10],7:[2,10],8:[2,10],9:[2,10],10:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[1,16],18:[2,10]},{5:[2,11],6:[2,11],7:[2,11],8:[2,11],9:[2,11],10:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],18:[2,11]},{5:[2,12],6:[2,12],7:[2,12],8:[2,12],9:[2,12],10:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],18:[2,12]},{4:30,17:[1,3],19:[1,4],20:[1,5]},{5:[2,2],6:[1,7],7:[2,2],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,2]}],defaultActions:{6:[2,1]},parseError:function(a,b){throw new Error(a)},parse:function(a){function b(a){e.length=e.length-2*a,f.length=f.length-a,g.length=g.length-a}function c(){var a;return a=d.lexer.lex()||1,"number"!=typeof a&&(a=d.symbols_[a]||a),a}var d=this,e=[0],f=[null],g=[],h=this.table,i="",j=0,k=0,l=0,m=2,n=1;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var o=this.lexer.yylloc;g.push(o),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var p,q,r,s,t,u,v,w,x,y={};;){if(r=e[e.length-1],this.defaultActions[r]?s=this.defaultActions[r]:(null==p&&(p=c()),s=h[r]&&h[r][p]),"undefined"==typeof s||!s.length||!s[0]){if(!l){x=[];for(u in h[r])this.terminals_[u]&&u>2&&x.push("'"+this.terminals_[u]+"'");var z="";z=this.lexer.showPosition?"Parse error on line "+(j+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+this.terminals_[p]+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(z,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:o,expected:x})}if(3==l){if(p==n)throw new Error(z||"Parsing halted.");k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,p=c()}for(;;){if(m.toString()in h[r])break;if(0==r)throw new Error(z||"Parsing halted.");b(1),r=e[e.length-1]}q=p,p=m,r=e[e.length-1],s=h[r]&&h[r][m],l=3}if(s[0]instanceof Array&&s.length>1)throw new Error("Parse Error: multiple actions possible at state: "+r+", token: "+p);switch(s[0]){case 1:e.push(p),f.push(this.lexer.yytext),g.push(this.lexer.yylloc),e.push(s[1]),p=null,q?(p=q,q=null):(k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,l>0&&l--);break;case 2:if(v=this.productions_[s[1]][1],y.$=f[f.length-v],y._$={first_line:g[g.length-(v||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(v||1)].first_column,last_column:g[g.length-1].last_column},t=this.performAction.call(y,i,k,j,this.yy,s[1],f,g),"undefined"!=typeof t)return t;v&&(e=e.slice(0,-1*v*2),f=f.slice(0,-1*v),g=g.slice(0,-1*v)),e.push(this.productions_[s[1]][0]),f.push(y.$),g.push(y._$),w=h[e[e.length-2]][e[e.length-1]],e.push(w);break;case 3:return!0}}return!0}},b=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parseError)throw new Error(a);this.yy.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.match+=a,this.matched+=a;var b=a.match(/\n/);return b&&this.yylineno++,this._input=this._input.slice(1),a},unput:function(a){return this._input=a+this._input,this},more:function(){return this._more=!0,this},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c;this._more||(this.yytext="",this.match="");for(var d=this._currentRules(),e=0;e=/,/^/,/^!=/,/^==/,/^%/,/^\(/,/^\)/,/^$/,/^./],a.conditions={INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}},a}();return a.lexer=b,a}(),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=l),exports.Jed=l):("function"==typeof define&&define.amd&&define("jed",function(){return l}),a.Jed=l)}(this)}.call(YoastSEO),YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.analyzerConfig={queue:["wordCount","keywordDensity","subHeadings","stopwords","fleschReading","linkCount","imageCount","urlKeyword","urlLength","metaDescription","pageTitleKeyword","pageTitleLength","firstParagraph"],stopWords:["a","about","above","after","again","against","all","am","an","and","any","are","as","at","be","because","been","before","being","below","between","both","but","by","could","did","do","does","doing","down","during","each","few","for","from","further","had","has","have","having","he","he'd","he'll","he's","her","here","here's","hers","herself","him","himself","his","how","how's","i","i'd","i'll","i'm","i've","if","in","into","is","it","it's","its","itself","let's","me","more","most","my","myself","nor","of","on","once","only","or","other","ought","our","ours","ourselves","out","over","own","same","she","she'd","she'll","she's","should","so","some","such","than","that","that's","the","their","theirs","them","themselves","then","there","there's","these","they","they'd","they'll","they're","they've","this","those","through","to","too","under","until","up","very","was","we","we'd","we'll","we're","we've","were","what","what's","when","when's","where","where's","which","while","who","who's","whom","why","why's","with","would","you","you'd","you'll","you're","you've","your","yours","yourself","yourselves"],wordsToRemove:[" a"," in"," an"," on"," for"," the"," and"],maxSlugLength:20,maxUrlLength:40,maxMeta:156},YoastSEO.preprocessorConfig={syllables:{subtractSyllables:["cial","tia","cius","cious","giu","ion","iou","sia$","[^aeiuoyt]{2,}ed$","[aeiouy][^aeiuoyts]{1,}e\\b",".ely$","[cg]h?e[sd]","rved$","rved","[aeiouy][dt]es?$","[aeiouy][^aeiouydt]e[sd]?$","^[dr]e[aeiou][^aeiou]+$","[aeiouy]rse$"],addSyllables:["ia","riet","dien","iu","io","ii","[aeiouym][bdp]l","[aeiou]{3}","^mc","ism$","([^aeiouy])l$","[^l]lien","^coa[dglx].","[^gq]ua[^auieo]","dnt$","uity$","ie(r|st)","[aeiouy]ing","[aeiouw]y[aeiou]"],exclusionWords:[{word:"shoreline",syllables:2},{word:"simile",syllables:3}]},diacriticsRemovalMap:[{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}]},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.analyzerScoreRating=9,YoastSEO.AnalyzerScoring=function(a){this.analyzerScoring=[{scoreName:"wordCount",scoreArray:[{min:300,score:9,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is more than the %2$d word recommended minimum.")},{min:250,max:299,score:7,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is slightly below the %2$d word recommended minimum, add a bit more copy.")},{min:200,max:249,score:5,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is below the %2$d word recommended minimum. Add more useful content on this topic for readers.")},{min:100,max:199,score:-10,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is below the %2$d word recommended minimum. Add more useful content on this topic for readers.")},{min:0,max:99,score:-20,text:a.dgettext("js-text-analysis","The text contains %1$d words. This is far too low and should be increased.")}],replaceArray:[{name:"wordCount",position:"%1$d",source:"matcher"},{name:"recommendedWordcount",position:"%2$d",value:300}]},{scoreName:"keywordCheck",scoreArray:[{max:0,score:-999,text:a.dgettext("js-text-analysis","No focus keyword was set for this page. If you do not set a focus keyword, no score can be calculated.")}]},{scoreName:"keywordDensity",scoreArray:[{min:3.5,score:-50,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is way over the advised 2.5% maximum, the focus keyword was found %2$d times.")},{min:2.5,max:3.49,score:-10,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is over the advised 2.5% maximum, the focus keyword was found %2$d times.")},{min:.5,max:2.49,score:9,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is great, the focus keyword was found %2$d times.")},{min:0,max:.49,score:4,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is a bit low, the focus keyword was found %2$d times.")}],replaceArray:[{name:"keywordDensity",position:"%1$f",source:"matcher"},{name:"keywordCount",position:"%2$d",sourceObj:".refObj.__store.keywordCount"}]},{scoreName:"linkCount",scoreArray:[{matcher:"total",min:0,max:0,score:6,text:a.dgettext("js-text-analysis","No outbound links appear in this page, consider adding some as appropriate.")},{matcher:"totalKeyword",min:1,score:2,text:a.dgettext("js-text-analysis","You're linking to another page with the focus keyword you want this page to rank for, consider changing that if you truly want this page to rank.")},{type:"externalAllNofollow",score:7,text:a.dgettext("js-text-analysis","This page has %2$s outbound link(s), all nofollowed.")},{type:"externalHasNofollow",score:8,text:a.dgettext("js-text-analysis","This page has %2$s nofollowed link(s) and %3$s normal outbound link(s).")},{type:"externalAllDofollow",score:9,text:a.dgettext("js-text-analysis","This page has %1$s outbound link(s).")}],replaceArray:[{name:"links",position:"%1$s",sourceObj:".result.externalTotal"},{name:"nofollow",position:"%2$s",sourceObj:".result.externalNofollow"},{name:"dofollow",position:"%3$s",sourceObj:".result.externalDofollow"}]},{scoreName:"fleschReading",scoreArray:[{min:90,score:9,text:"<%text%>",resultText:"very easy",note:""},{min:80,max:89.9,score:9,text:"<%text%>",resultText:"easy",note:""},{min:70,max:79.9,score:8,text:"<%text%>",resultText:"fairly easy",note:""},{min:60,max:69.9,score:7,text:"<%text%>",resultText:"ok",note:""},{min:50,max:59.9,score:6,text:"<%text%>",resultText:a.dgettext("js-text-analysis","fairly difficult"),note:a.dgettext("js-text-analysis","Try to make shorter sentences to improve readability.")},{min:30,max:49.9,score:5,text:"<%text%>",resultText:a.dgettext("js-text-analysis","difficult"),note:a.dgettext("js-text-analysis","Try to make shorter sentences, using less difficult words to improve readability.")},{min:0,max:29.9,score:4,text:"<%text%>",resultText:a.dgettext("js-text-analysis","very difficult"),note:a.dgettext("js-text-analysis","Try to make shorter sentences, using less difficult words to improve readability.")}],replaceArray:[{name:"scoreText",position:"<%text%>",value:a.dgettext("js-text-analysis","The copy scores %1$s in the %2$s test, which is considered %3$s to read. %4$s")},{name:"text",position:"%1$s",sourceObj:".result"},{name:"scoreUrl",position:"%2$s",value:"Flesch Reading Ease"},{name:"resultText",position:"%3$s",scoreObj:"resultText"},{name:"note",position:"%4$s",scoreObj:"note"}]},{scoreName:"metaDescriptionLength",metaMinLength:120,metaMaxLength:156,scoreArray:[{max:0,score:1,text:a.dgettext("js-text-analysis","No meta description has been specified, search engines will display copy from the page instead.")},{max:120,score:6,text:a.dgettext("js-text-analysis","The meta description is under %1$d characters, however up to %2$d characters are available.")},{min:156,score:6,text:a.dgettext("js-text-analysis","The specified meta description is over %2$d characters, reducing it will ensure the entire description is visible")},{min:120,max:156,score:9,text:a.dgettext("js-text-analysis","In the specified meta description, consider: How does it compare to the competition? Could it be made more appealing?")}],replaceArray:[{name:"minCharacters",position:"%1$d",value:120},{name:"maxCharacters",position:"%2$d",value:156}]},{scoreName:"metaDescriptionKeyword",scoreArray:[{min:1,score:9,text:a.dgettext("js-text-analysis","The meta description contains the focus keyword.")},{max:0,min:0,score:3,text:a.dgettext("js-text-analysis","A meta description has been specified, but it does not contain the focus keyword.")}]},{scoreName:"firstParagraph",scoreArray:[{max:0,score:3,text:a.dgettext("js-text-analysis","The focus keyword doesn't appear in the first paragraph of the copy, make sure the topic is clear immediately.")},{min:1,score:9,text:a.dgettext("js-text-analysis","The focus keyword appears in the first paragraph of the copy.")}]},{scoreName:"stopwordKeywordCount",scoreArray:[{matcher:"count",min:1,score:5,text:a.dgettext("js-text-analysis","The focus keyword for this page contains one or more %1$s, consider removing them. Found '%2$s'.")},{matcher:"count",max:0,score:0,text:""}],replaceArray:[{name:"scoreUrl",position:"%1$s",value:a.dgettext("js-text-analysis","stop words")},{name:"stopwords",position:"%2$s",sourceObj:".result.matches"}]},{scoreName:"subHeadings",scoreArray:[{matcher:"count",max:0,score:7,text:a.dgettext("js-text-analysis","No subheading tags (like an H2) appear in the copy.")},{matcher:"matches",max:0,score:3,text:a.dgettext("js-text-analysis","You have not used your focus keyword in any subheading (such as an H2) in your copy.")},{matcher:"matches",min:1,score:9,text:a.dgettext("js-text-analysis","The focus keyword appears in %2$d (out of %1$d) subheadings in the copy. While not a major ranking factor, this is beneficial.")}],replaceArray:[{name:"count",position:"%1$d",sourceObj:".result.count"},{name:"matches",position:"%2$d",sourceObj:".result.matches"}]},{scoreName:"pageTitleLength",scoreArray:[{max:0,score:1,text:a.dgettext("js-text-analysis","Please create a page title.")},{max:40,score:6,text:a.dgettext("js-text-analysis","The page title contains %3$d characters, which is less than the recommended minimum of %1$d characters. Use the space to add keyword variations or create compelling call-to-action copy.")},{min:70,score:6,text:a.dgettext("js-text-analysis","The page title contains %3$d characters, which is more than the viewable limit of %2$d characters; some words will not be visible to users in your listing.")},{min:40,max:70,score:9,text:a.dgettext("js-text-analysis","The page title is more than %1$d characters and less than the recommended %2$d character limit.")}],replaceArray:[{name:"minLength",position:"%1$d",value:40},{name:"maxLength",position:"%2$d",value:70},{name:"length",position:"%3$d",source:"matcher"}]},{scoreName:"pageTitleKeyword",scoreTitleKeywordLimit:0,scoreArray:[{matcher:"matches",max:0,score:2,text:a.dgettext("js-text-analysis","The focus keyword '%1$s' does not appear in the page title.")},{matcher:"position",max:1,score:9,text:a.dgettext("js-text-analysis","The page title contains the focus keyword, at the beginning which is considered to improve rankings.")},{matcher:"position",min:1,score:6,text:a.dgettext("js-text-analysis","The page title contains the focus keyword, but it does not appear at the beginning; try and move it to the beginning.")}],replaceArray:[{name:"keyword",position:"%1$s",sourceObj:".refObj.config.keyword"}]},{scoreName:"urlKeyword",scoreArray:[{min:1,score:9,text:a.dgettext("js-text-analysis","The focus keyword appears in the URL for this page.")},{max:0,score:6,text:a.dgettext("js-text-analysis","The focus keyword does not appear in the URL for this page. If you decide to rename the URL be sure to check the old URL 301 redirects to the new one!")}]},{scoreName:"urlLength",scoreArray:[{type:"urlTooLong",score:5,text:a.dgettext("js-text-analysis","The slug for this page is a bit long, consider shortening it.")}]},{scoreName:"urlStopwords",scoreArray:[{min:1,score:5,text:a.dgettext("js-text-analysis","The slug for this page contains one or more stop words, consider removing them.")}]},{scoreName:"imageCount",scoreArray:[{ diff --git a/js/dist/yoast-seo-content-analysis.min.js b/js/dist/yoast-seo-content-analysis.min.js deleted file mode 100644 index d8e21a998..000000000 --- a/js/dist/yoast-seo-content-analysis.min.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * @preserve jed.js https://github.com/SlexAxton/Jed - */ -!function(a,b){function c(a){return l.PF.compile(a||"nplurals=2; plural=(n != 1);")}function d(a,b){this._key=a,this._i18n=b}var e=Array.prototype,f=Object.prototype,g=e.slice,h=f.hasOwnProperty,i=e.forEach,j={},k={forEach:function(a,b,c){var d,e,f;if(null!==a)if(i&&a.forEach===i)a.forEach(b,c);else if(a.length===+a.length){for(d=0,e=a.length;e>d;d++)if(d in a&&b.call(c,a[d],d,a)===j)return}else for(f in a)if(h.call(a,f)&&b.call(c,a[f],f,a)===j)return},extend:function(a){return this.forEach(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a}},l=function(a){if(this.defaults={locale_data:{messages:{"":{domain:"messages",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}},domain:"messages",debug:!1},this.options=k.extend({},this.defaults,a),this.textdomain(this.options.domain),a.domain&&!this.options.locale_data[this.options.domain])throw new Error("Text domain set to non-existent domain: `"+a.domain+"`")};l.context_delimiter=String.fromCharCode(4),k.extend(d.prototype,{onDomain:function(a){return this._domain=a,this},withContext:function(a){return this._context=a,this},ifPlural:function(a,b){return this._val=a,this._pkey=b,this},fetch:function(a){return"[object Array]"!={}.toString.call(a)&&(a=[].slice.call(arguments,0)),(a&&a.length?l.sprintf:function(a){return a})(this._i18n.dcnpgettext(this._domain,this._context,this._key,this._pkey,this._val),a)}}),k.extend(l.prototype,{translate:function(a){return new d(a,this)},textdomain:function(a){return a?void(this._textdomain=a):this._textdomain},gettext:function(a){return this.dcnpgettext.call(this,b,b,a)},dgettext:function(a,c){return this.dcnpgettext.call(this,a,b,c)},dcgettext:function(a,c){return this.dcnpgettext.call(this,a,b,c)},ngettext:function(a,c,d){return this.dcnpgettext.call(this,b,b,a,c,d)},dngettext:function(a,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},dcngettext:function(a,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},pgettext:function(a,c){return this.dcnpgettext.call(this,b,a,c)},dpgettext:function(a,b,c){return this.dcnpgettext.call(this,a,b,c)},dcpgettext:function(a,b,c){return this.dcnpgettext.call(this,a,b,c)},npgettext:function(a,c,d,e){return this.dcnpgettext.call(this,b,a,c,d,e)},dnpgettext:function(a,b,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},dcnpgettext:function(a,b,d,e,f){e=e||d,a=a||this._textdomain;var g;if(!this.options)return g=new l,g.dcnpgettext.call(g,void 0,void 0,d,e,f);if(!this.options.locale_data)throw new Error("No locale data provided.");if(!this.options.locale_data[a])throw new Error("Domain `"+a+"` was not found.");if(!this.options.locale_data[a][""])throw new Error("No locale meta information provided.");if(!d)throw new Error("No translation key found.");var h,i,j,k=b?b+l.context_delimiter+d:d,m=this.options.locale_data,n=m[a],o=(m.messages||this.defaults.locale_data.messages)[""],p=n[""].plural_forms||n[""]["Plural-Forms"]||n[""]["plural-forms"]||o.plural_forms||o["Plural-Forms"]||o["plural-forms"];if(void 0===f)j=0;else{if("number"!=typeof f&&(f=parseInt(f,10),isNaN(f)))throw new Error("The number that was passed in is not a number.");j=c(p)(f)}if(!n)throw new Error("No domain named `"+a+"` could be found.");return h=n[k],!h||j>h.length?(this.options.missing_key_callback&&this.options.missing_key_callback(k,a),i=[d,e],this.options.debug===!0&&console.log(i[c(p)(f)]),i[c()(f)]):(i=h[j],i?i:(i=[d,e],i[c()(f)]))}});var m=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}function b(a,b){for(var c=[];b>0;c[--b]=a);return c.join("")}var c=function(){return c.cache.hasOwnProperty(arguments[0])||(c.cache[arguments[0]]=c.parse(arguments[0])),c.format.call(null,c.cache[arguments[0]],arguments)};return c.format=function(c,d){var e,f,g,h,i,j,k,l=1,n=c.length,o="",p=[];for(f=0;n>f;f++)if(o=a(c[f]),"string"===o)p.push(c[f]);else if("array"===o){if(h=c[f],h[2])for(e=d[l],g=0;g=0?"+"+e:e,j=h[4]?"0"==h[4]?"0":h[4].charAt(1):" ",k=h[6]-String(e).length,i=h[6]?b(j,k):"",p.push(h[5]?e+i:i+e)}return p.join("")},c.cache={},c.parse=function(a){for(var b=a,c=[],d=[],e=0;b;){if(null!==(c=/^[^\x25]+/.exec(b)))d.push(c[0]);else if(null!==(c=/^\x25{2}/.exec(b)))d.push("%");else{if(null===(c=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(b)))throw"[sprintf] huh?";if(c[2]){e|=1;var f=[],g=c[2],h=[];if(null===(h=/^([a-z_][a-z_\d]*)/i.exec(g)))throw"[sprintf] huh?";for(f.push(h[1]);""!==(g=g.substring(h[0].length));)if(null!==(h=/^\.([a-z_][a-z_\d]*)/i.exec(g)))f.push(h[1]);else{if(null===(h=/^\[(\d+)\]/.exec(g)))throw"[sprintf] huh?";f.push(h[1])}c[2]=f}else e|=2;if(3===e)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";d.push(c)}b=b.substring(c[0].length)}return d},c}(),n=function(a,b){return b.unshift(a),m.apply(null,b)};l.parse_plural=function(a,b){return a=a.replace(/n/g,b),l.parse_expression(a)},l.sprintf=function(a,b){return"[object Array]"=={}.toString.call(b)?n(a,[].slice.call(b)):m.apply(this,[].slice.call(arguments))},l.prototype.sprintf=function(){return l.sprintf.apply(this,arguments)},l.PF={},l.PF.parse=function(a){var b=l.PF.extractPluralExpr(a);return l.PF.parser.parse.call(l.PF.parser,b)},l.PF.compile=function(a){function b(a){return a===!0?1:a?a:0}var c=l.PF.parse(a);return function(a){return b(l.PF.interpreter(c)(a))}},l.PF.interpreter=function(a){return function(b){switch(a.type){case"GROUP":return l.PF.interpreter(a.expr)(b);case"TERNARY":return l.PF.interpreter(a.expr)(b)?l.PF.interpreter(a.truthy)(b):l.PF.interpreter(a.falsey)(b);case"OR":return l.PF.interpreter(a.left)(b)||l.PF.interpreter(a.right)(b);case"AND":return l.PF.interpreter(a.left)(b)&&l.PF.interpreter(a.right)(b);case"LT":return l.PF.interpreter(a.left)(b)l.PF.interpreter(a.right)(b);case"LTE":return l.PF.interpreter(a.left)(b)<=l.PF.interpreter(a.right)(b);case"GTE":return l.PF.interpreter(a.left)(b)>=l.PF.interpreter(a.right)(b);case"EQ":return l.PF.interpreter(a.left)(b)==l.PF.interpreter(a.right)(b);case"NEQ":return l.PF.interpreter(a.left)(b)!=l.PF.interpreter(a.right)(b);case"MOD":return l.PF.interpreter(a.left)(b)%l.PF.interpreter(a.right)(b);case"VAR":return b;case"NUM":return a.val;default:throw new Error("Invalid Token found.")}}},l.PF.extractPluralExpr=function(a){a=a.replace(/^\s\s*/,"").replace(/\s\s*$/,""),/;\s*$/.test(a)||(a=a.concat(";"));var b,c=/nplurals\=(\d+);/,d=/plural\=(.*);/,e=a.match(c),f={};if(!(e.length>1))throw new Error("nplurals not found in plural_forms string: "+a);if(f.nplurals=e[1],a=a.replace(c,""),b=a.match(d),!(b&&b.length>1))throw new Error("`plural` expression not found: "+a);return b[1]},l.PF.parser=function(){var a={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"?":6,":":7,"||":8,"&&":9,"<":10,"<=":11,">":12,">=":13,"!=":14,"==":15,"%":16,"(":17,")":18,n:19,NUMBER:20,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"?",7:":",8:"||",9:"&&",10:"<",11:"<=",12:">",13:">=",14:"!=",15:"==",16:"%",17:"(",18:")",19:"n",20:"NUMBER"},productions_:[0,[3,2],[4,5],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,1],[4,1]],performAction:function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:return{type:"GROUP",expr:f[h-1]};case 2:this.$={type:"TERNARY",expr:f[h-4],truthy:f[h-2],falsey:f[h]};break;case 3:this.$={type:"OR",left:f[h-2],right:f[h]};break;case 4:this.$={type:"AND",left:f[h-2],right:f[h]};break;case 5:this.$={type:"LT",left:f[h-2],right:f[h]};break;case 6:this.$={type:"LTE",left:f[h-2],right:f[h]};break;case 7:this.$={type:"GT",left:f[h-2],right:f[h]};break;case 8:this.$={type:"GTE",left:f[h-2],right:f[h]};break;case 9:this.$={type:"NEQ",left:f[h-2],right:f[h]};break;case 10:this.$={type:"EQ",left:f[h-2],right:f[h]};break;case 11:this.$={type:"MOD",left:f[h-2],right:f[h]};break;case 12:this.$={type:"GROUP",expr:f[h-1]};break;case 13:this.$={type:"VAR"};break;case 14:this.$={type:"NUM",val:Number(a)}}},table:[{3:1,4:2,17:[1,3],19:[1,4],20:[1,5]},{1:[3]},{5:[1,6],6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{4:17,17:[1,3],19:[1,4],20:[1,5]},{5:[2,13],6:[2,13],7:[2,13],8:[2,13],9:[2,13],10:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],18:[2,13]},{5:[2,14],6:[2,14],7:[2,14],8:[2,14],9:[2,14],10:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],18:[2,14]},{1:[2,1]},{4:18,17:[1,3],19:[1,4],20:[1,5]},{4:19,17:[1,3],19:[1,4],20:[1,5]},{4:20,17:[1,3],19:[1,4],20:[1,5]},{4:21,17:[1,3],19:[1,4],20:[1,5]},{4:22,17:[1,3],19:[1,4],20:[1,5]},{4:23,17:[1,3],19:[1,4],20:[1,5]},{4:24,17:[1,3],19:[1,4],20:[1,5]},{4:25,17:[1,3],19:[1,4],20:[1,5]},{4:26,17:[1,3],19:[1,4],20:[1,5]},{4:27,17:[1,3],19:[1,4],20:[1,5]},{6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[1,28]},{6:[1,7],7:[1,29],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{5:[2,3],6:[2,3],7:[2,3],8:[2,3],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,3]},{5:[2,4],6:[2,4],7:[2,4],8:[2,4],9:[2,4],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,4]},{5:[2,5],6:[2,5],7:[2,5],8:[2,5],9:[2,5],10:[2,5],11:[2,5],12:[2,5],13:[2,5],14:[2,5],15:[2,5],16:[1,16],18:[2,5]},{5:[2,6],6:[2,6],7:[2,6],8:[2,6],9:[2,6],10:[2,6],11:[2,6],12:[2,6],13:[2,6],14:[2,6],15:[2,6],16:[1,16],18:[2,6]},{5:[2,7],6:[2,7],7:[2,7],8:[2,7],9:[2,7],10:[2,7],11:[2,7],12:[2,7],13:[2,7],14:[2,7],15:[2,7],16:[1,16],18:[2,7]},{5:[2,8],6:[2,8],7:[2,8],8:[2,8],9:[2,8],10:[2,8],11:[2,8],12:[2,8],13:[2,8],14:[2,8],15:[2,8],16:[1,16],18:[2,8]},{5:[2,9],6:[2,9],7:[2,9],8:[2,9],9:[2,9],10:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[1,16],18:[2,9]},{5:[2,10],6:[2,10],7:[2,10],8:[2,10],9:[2,10],10:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[1,16],18:[2,10]},{5:[2,11],6:[2,11],7:[2,11],8:[2,11],9:[2,11],10:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],18:[2,11]},{5:[2,12],6:[2,12],7:[2,12],8:[2,12],9:[2,12],10:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],18:[2,12]},{4:30,17:[1,3],19:[1,4],20:[1,5]},{5:[2,2],6:[1,7],7:[2,2],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,2]}],defaultActions:{6:[2,1]},parseError:function(a,b){throw new Error(a)},parse:function(a){function b(a){e.length=e.length-2*a,f.length=f.length-a,g.length=g.length-a}function c(){var a;return a=d.lexer.lex()||1,"number"!=typeof a&&(a=d.symbols_[a]||a),a}var d=this,e=[0],f=[null],g=[],h=this.table,i="",j=0,k=0,l=0,m=2,n=1;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var o=this.lexer.yylloc;g.push(o),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var p,q,r,s,t,u,v,w,x,y={};;){if(r=e[e.length-1],this.defaultActions[r]?s=this.defaultActions[r]:(null==p&&(p=c()),s=h[r]&&h[r][p]),"undefined"==typeof s||!s.length||!s[0]){if(!l){x=[];for(u in h[r])this.terminals_[u]&&u>2&&x.push("'"+this.terminals_[u]+"'");var z="";z=this.lexer.showPosition?"Parse error on line "+(j+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+this.terminals_[p]+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(z,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:o,expected:x})}if(3==l){if(p==n)throw new Error(z||"Parsing halted.");k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,p=c()}for(;;){if(m.toString()in h[r])break;if(0==r)throw new Error(z||"Parsing halted.");b(1),r=e[e.length-1]}q=p,p=m,r=e[e.length-1],s=h[r]&&h[r][m],l=3}if(s[0]instanceof Array&&s.length>1)throw new Error("Parse Error: multiple actions possible at state: "+r+", token: "+p);switch(s[0]){case 1:e.push(p),f.push(this.lexer.yytext),g.push(this.lexer.yylloc),e.push(s[1]),p=null,q?(p=q,q=null):(k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,l>0&&l--);break;case 2:if(v=this.productions_[s[1]][1],y.$=f[f.length-v],y._$={first_line:g[g.length-(v||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(v||1)].first_column,last_column:g[g.length-1].last_column},t=this.performAction.call(y,i,k,j,this.yy,s[1],f,g),"undefined"!=typeof t)return t;v&&(e=e.slice(0,-1*v*2),f=f.slice(0,-1*v),g=g.slice(0,-1*v)),e.push(this.productions_[s[1]][0]),f.push(y.$),g.push(y._$),w=h[e[e.length-2]][e[e.length-1]],e.push(w);break;case 3:return!0}}return!0}},b=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parseError)throw new Error(a);this.yy.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.match+=a,this.matched+=a;var b=a.match(/\n/);return b&&this.yylineno++,this._input=this._input.slice(1),a},unput:function(a){return this._input=a+this._input,this},more:function(){return this._more=!0,this},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c;this._more||(this.yytext="",this.match="");for(var d=this._currentRules(),e=0;e=/,/^/,/^!=/,/^==/,/^%/,/^\(/,/^\)/,/^$/,/^./],a.conditions={INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}},a}();return a.lexer=b,a}(),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=l),exports.Jed=l):("function"==typeof define&&define.amd&&define("jed",function(){return l}),a.Jed=l)}(this),YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.Analyzer=function(a){this.config=a,this.checkConfig(),this.init(a)},YoastSEO.Analyzer.prototype.checkConfig=function(){"undefined"==typeof this.config.text&&(this.config.text="")},YoastSEO.Analyzer.prototype.init=function(a){this.config=a,this.initDependencies(),this.formatKeyword(),this.initQueue(),this.loadWordlists(),this.__output=[],this.__store={}},YoastSEO.Analyzer.prototype.formatKeyword=function(){"undefined"!=typeof this.config.keyword&&""!==this.config.keyword&&(this.keywordRegex=new RegExp(this.preProcessor.replaceDiacritics(this.config.keyword.replace(/[-_]/," ")),"ig"),this.keywordRegexInverse=new RegExp(this.preProcessor.replaceDiacritics(this.config.keyword.replace(" ","-")),"ig"))},YoastSEO.Analyzer.prototype.initDependencies=function(){this.preProcessor=new YoastSEO.getPreProcessor(this.config.text),this.stringHelper=YoastSEO.getStringHelper(),this.analyzeScorer=new YoastSEO.AnalyzeScorer(this)},YoastSEO.Analyzer.prototype.initQueue=function(){"undefined"!=typeof this.config.queue&&0!==this.config.queue.length?this.queue=this.config.queue.slice():this.queue=YoastSEO.analyzerConfig.queue.slice()},YoastSEO.Analyzer.prototype.loadWordlists=function(){"undefined"==typeof this.config.wordsToRemove&&(this.config.wordsToRemove=YoastSEO.analyzerConfig.wordsToRemove),"undefined"==typeof this.config.stopWords&&(this.config.stopWords=YoastSEO.analyzerConfig.stopWords)},YoastSEO.Analyzer.prototype.runQueue=function(){this.queue.length>0?(this.__output=this.__output.concat(this[this.queue.shift()]()),this.runQueue()):this.score()},YoastSEO.Analyzer.prototype.abortQueue=function(){this.queue=[]},YoastSEO.Analyzer.prototype.wordCount=function(){return[{test:"wordCount",result:this.preProcessor.__store.wordcountNoTags}]},YoastSEO.Analyzer.prototype.keyWordCheck=function(){return""===this.config.keyword?[{test:"keywordCheck",result:0}]:void 0},YoastSEO.Analyzer.prototype.keywordDensity=function(){var a=[{test:"keywordDensity",result:0}];if(this.preProcessor.__store.wordcount>100){var b=this.keywordDensityCheck();return a[0].result=b.toFixed(1),a}},YoastSEO.Analyzer.prototype.keywordDensityCheck=function(){var a=this.keywordCount(),b=0;return 0!==a&&(b=100*(a/this.preProcessor.__store.wordcount-(a-1*a))),b},YoastSEO.Analyzer.prototype.keywordCount=function(){var a=this.preProcessor.__store.cleanText.match(this.keywordRegex),b=0;return null!==a&&(b=a.length),this.__store.keywordCount=b,b},YoastSEO.Analyzer.prototype.subHeadings=function(){var a=[{test:"subHeadings",result:{count:0,matches:0}}],b=this.preProcessor.__store.cleanTextSomeTags.match(/]+)?>(.*?)<\/h\1>/gi);return null!==b&&(a[0].result.count=b.length,a[0].result.matches=this.subHeadingsCheck(b)),a},YoastSEO.Analyzer.prototype.subHeadingsCheck=function(a){var b;if(null===a)b=-1;else{b=0;for(var c=0;ca?a=0:a>100&&(a=100),[{test:"fleschReading",result:a}]},YoastSEO.Analyzer.prototype.linkCount=function(){var a=this.preProcessor.__store.originalText.match(/]+)?>(.*?)<\/a>/gi),b={total:0,totalKeyword:0,internalTotal:0,internalDofollow:0,internalNofollow:0,externalTotal:0,externalDofollow:0,externalNofollow:0,otherTotal:0,otherDofollow:0,otherNofollow:0};if(null!==a){b.total=a.length;for(var c=0;c");return null!==c[1].match(this.keywordRegex)&&(b=!0),b},YoastSEO.Analyzer.prototype.linkResult=function(a){var b=a;return b.externalHasNofollow=!1,b.externalAllNofollow=!1,b.externalAllDofollow=!1,b.externalTotal!==b.externalDofollow&&b.externalTotal>0&&(b.externalHasNofollow=!0),b.externalTotal===b.externalNofollow&&b.externalTotal>0&&(b.externalAllNofollow=!0),b.externalTotal===b.externalDofollow&&b.externalTotal>0&&(b.externalAllDofollow=!0),b},YoastSEO.Analyzer.prototype.imageCount=function(){var a={total:0,alt:0,noAlt:0,altKeyword:0},b=this.preProcessor.__store.originalText.match(/]+)?>/gi);if(null!==b){a.total=b.length;for(var c=0;c]+)?>(.*?)

","ig"));return 0===b&&(b=this.paragraphChecker(this.preProcessor.__store.originalText,new RegExp("[^]*?\n\n","ig"))),a[0].result=b,a},YoastSEO.Analyzer.prototype.paragraphChecker=function(a,b){var c=a.match(b),d=0;return null!==c&&(d=this.stringHelper.countMatches(c[0],this.keywordRegex)),d},YoastSEO.Analyzer.prototype.metaDescription=function(){var a=[{test:"metaDescriptionLength",result:0},{test:"metaDescriptionKeyword",result:0}];return"undefined"!=typeof this.config.meta&&(a[0].result=this.config.meta.length,a[1].result=-1,this.config.meta.length>0&&(a[1].result=this.stringHelper.countMatches(this.config.meta,this.keywordRegex))),a},YoastSEO.Analyzer.prototype.urlKeyword=function(){var a=[{test:"urlKeyword",result:0}];return"undefined"!=typeof this.config.url&&(a[0].result=this.stringHelper.countMatches(this.config.url,this.keywordRegexInverse)),a},YoastSEO.Analyzer.prototype.urlLength=function(){var a=[{test:"urlLength",result:{urlTooLong:!1}}];if("undefined"!=typeof this.config.url){var b=this.config.url.length;b>this.config.maxUrlLength&&b>this.config.maxSlugLength+this.config.keyword.length&&(a[0].result.urlTooLong=!0)}return a},YoastSEO.Analyzer.prototype.urlStopwords=function(){var a=[{test:"urlStopwords",result:0}];if("undefined"!=typeof this.config.url){var b=this.stringHelper.matchString(this.config.url,this.config.stopWords);null!==b&&(a[0].result=b.length)}return a},YoastSEO.Analyzer.prototype.keywordDoubles=function(){var a=[{test:"keywordDoubles",result:{count:0,id:0}}];return"undefined"!=typeof this.config.keyword&&"undefined"!=typeof this.config.usedKeywords[this.config.keyword]&&(a[0].result.count=this.config.usedKeywords[this.config.keyword].length,1===a[0].result.count&&(a[0].result.id=this.config.usedKeywords[this.config.keyword][0])),a},YoastSEO.Analyzer.prototype.score=function(){this.analyzeScorer.score(this.__output)},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.AnalyzeScorer=function(a){this.__score=[],this.refObj=a,this.i18n=a.config.i18n,this.init()},YoastSEO.AnalyzeScorer.prototype.init=function(){var a=new YoastSEO.AnalyzerScoring(this.i18n);this.scoring=a.analyzerScoring},YoastSEO.AnalyzeScorer.prototype.score=function(a){this.resultObj=a,this.runQueue()},YoastSEO.AnalyzeScorer.prototype.runQueue=function(){for(var a=0;a=b.scoreArray[d].min:return this.returnScore(c,b,d);case this.matcher>=b.scoreArray[d].min&&this.matcher<=b.scoreArray[d].max:return this.returnScore(c,b,d)}return c}},YoastSEO.AnalyzeScorer.prototype.setMatcher=function(a,b,c){this.matcher=parseFloat(a.result),this.result=a.result,"undefined"!=typeof b.scoreArray[c].matcher&&(this.matcher=parseFloat(this.result[b.scoreArray[c].matcher]))},YoastSEO.AnalyzeScorer.prototype.scoreLookup=function(a){for(var b=0;b-1&&this.queue.splice(b,1)},YoastSEO.App.prototype.createSnippetPreview=function(){var a=document.getElementById(this.config.targets.snippet),b=document.createElement("div");b.id="snippet_preview",a.appendChild(b),this.createSnippetPreviewTitle(b),this.createSnippetPreviewUrl(b),this.createSnippetPreviewMeta(b),this.snippetPreview=new YoastSEO.SnippetPreview(this),this.bindEvent(),this.bindSnippetEvents()},YoastSEO.App.prototype.createSnippetPreviewTitle=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="title_container",b.__refObj=this,a.appendChild(b);var c;c=document.createElement("span"),c.contentEditable=!0,c.textContent=this.config.sampleText.title,c.className="title",c.id="snippet_title",b.appendChild(c)},YoastSEO.App.prototype.createSnippetPreviewUrl=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="url_container",b.__refObj=this,a.appendChild(b);var c=document.createElement("cite");c.className="url urlBase",c.id="snippet_citeBase",b.appendChild(c);var d=document.createElement("cite");d.className="url",d.id="snippet_cite",d.textContent=this.config.sampleText.url,d.contentEditable=!0,b.appendChild(d)},YoastSEO.App.prototype.createSnippetPreviewMeta=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="meta_container",b.__refObj=this,a.appendChild(b);var c=document.createElement("span");c.className="desc",c.id="snippet_meta",c.contentEditable=!0,c.textContent=this.config.sampleText.meta,b.appendChild(c)},YoastSEO.App.prototype.defineElements=function(){this.target=document.getElementById(this.config.targets.output);for(var a=0;aNo focus keyword was set for this page. If you do not set a focus keyword, no score can be calculated.

",this.target.appendChild(a)},YoastSEO.App.prototype.startTime=function(){this.startTimestamp=(new Date).getTime()},YoastSEO.App.prototype.endTime=function(){this.endTimestamp=(new Date).getTime(),this.endTimestamp-this.startTimestamp>this.config.typeDelay&&this.config.typeDelay"},YoastSEO.App.prototype.removeLoadingDialog=function(){this.pluginLoading=!1,document.getElementById("wpseo_meta").removeChild(document.getElementById("wpseo-plugin-loading"))},YoastSEO.initialize=function(){"complete"===document.readyState?YoastSEO.app=new YoastSEO.App(YoastSEO.analyzerArgs):setTimeout(YoastSEO.initialize,50)},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.InputGenerator=function(a,b){this.config=a,this.refObj=b,this.analyzerData={},this.formattedData={}},YoastSEO.InputGenerator.prototype.createElements=function(){var a=document.getElementById(this.config.elementTarget);this.createText("text",a,"text"),this.createInput("keyword",a,"Focus keyword")},YoastSEO.InputGenerator.prototype.getData=function(){return this.analyzerData.keyword=this.refObj.config.sampleText.keyword,this.analyzerData.meta=this.refObj.config.sampleText.meta,this.analyzerData.snippetMeta=this.refObj.config.sampleText.meta,this.analyzerData.text=this.refObj.config.sampleText.text,this.analyzerData.title=this.refObj.config.sampleText.title,this.analyzerData.snippetTitle=this.refObj.config.sampleText.title,this.analyzerData.pageTitle=this.refObj.config.sampleText.title,this.analyzerData.url=this.refObj.config.sampleText.url,this.analyzerData.snippetCite=this.refObj.config.sampleText.url,this.formattedData=this.analyzerData,this.refObj.analyzerData=this.analyzerData,this.refObj.formattedData=this.formattedData,this.analyzerData},YoastSEO.InputGenerator.prototype.createInput=function(a,b,c){this.createLabel(a,b,c);var d=document.createElement("input");d.type="text",d.id=a+"Input",d.refObj=this.refObj,d.placeholder=this.config.sampleText[a],b.appendChild(d)},YoastSEO.InputGenerator.prototype.createText=function(a,b,c){this.createLabel(a,b,c);var d=document.createElement("textarea");d.placeholder=this.config.sampleText[a],d.id=a+"Input",b.appendChild(d)},YoastSEO.InputGenerator.prototype.createLabel=function(a,b,c){var d=document.createElement("label");d.textContent=c,d.htmlFor=a+"Input",b.appendChild(d)},YoastSEO.InputGenerator.prototype.getAnalyzerInput=function(){"undefined"==typeof this.refObj.snippetPreview?this.refObj.init():(this.formattedData.text=this.getDataFromInput("text"),this.formattedData.keyword=this.getDataFromInput("keyword"),this.formattedData.pageTitle=this.getDataFromInput("title"),this.formattedData.snippetMeta=this.getDataFromInput("meta"),this.formattedData.snippetCite=this.getDataFromInput("url"),this.refObj.formattedData=this.formattedData,this.refObj.reloadSnippetText()),this.refObj.runAnalyzerCallback()},YoastSEO.InputGenerator.prototype.getDataFromInput=function(a){var b;switch(a){case"text":b=document.getElementById("textInput").value;break;case"url":b=document.getElementById("snippet_cite").innerText;break;case"meta":b=document.getElementById("snippet_meta").innerText;break;case"keyword":b=document.getElementById("keywordInput").value;break;case"title":b=document.getElementById("snippet_title").innerText}return b},YoastSEO.InputGenerator.prototype.bindElementEvents=function(){this.inputElementEventBinder(),this.snippetPreviewEventBinder()},YoastSEO.InputGenerator.prototype.snippetPreviewEventBinder=function(){for(var a=["cite","meta","title"],b=0;b=this.preloadThreshold?this._pollTimeExceeded():(a+=50,setTimeout("YoastSEO.app.plugins._pollLoadingPlugins( "+a+" )",50))},YoastSEO.Plugins.prototype._allReady=function(){for(var a in this.plugins)if("ready"!==this.plugins[a].status)return!1;return!0},YoastSEO.Plugins.prototype._pollTimeExceeded=function(){for(var a in this.plugins)void 0!==this.plugins[a].options&&"ready"!==this.plugins[a].options.status&&(console.error("Error: Plugin "+a+". did not finish loading in time."),delete this.plugins[a]);YoastSEO.app.pluginsLoaded()},YoastSEO.Plugins.prototype._applyModifications=function(a,b,c){var d=this.modifications[a];if(d instanceof Array&&d.length>0){d=this._stripIllegalModifications(d),d.sort(function(a,b){return a.priority-b.priority});for(var e in d){var f=d[e].callable,g=f(b,c);typeof g==typeof b?b=g:console.error("Modification with name "+a+" performed by plugin with name "+d[e].origin+" was ignored because the data that was returned by it was of a different type than the data we had passed it.")}}return b},YoastSEO.Plugins.prototype._stripIllegalModifications=function(a){for(var b in a)this._validateOrigin(a[b].origin)===!1&&delete a[b];return a},YoastSEO.Plugins.prototype._validateOrigin=function(a){return"ready"!==this.plugins[a].status?!1:!0},YoastSEO.Plugins.prototype._validateUniqueness=function(a){return void 0!==this.plugins[a]?!1:!0},YoastSEO.Plugins.prototype.loaderTimerout=function(){YoastSEO.app.plugins._pollLoadingPlugins()},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.PreProcessor=function(a){this.__store={},this.__store.originalText=a,this.stringHelper=YoastSEO.getStringHelper(),this.init()},YoastSEO.PreProcessor.prototype.init=function(){this.textFormat(),this.countStore()},YoastSEO.PreProcessor.prototype.textFormat=function(){this.__store.cleanText=this.cleanText(this.__store.originalText),this.__store.cleanTextSomeTags=this.stringHelper.stripSomeTags(this.__store.cleanText),this.__store.cleanTextNoTags=this.stringHelper.stripAllTags(this.__store.cleanTextSomeTags)},YoastSEO.PreProcessor.prototype.countStore=function(){"."===this.__store.cleanText?this.__store.wordcount=0:this.__store.wordcount="."===this.__store.cleanText?0:this.__store.cleanText.split(" ").length,"."===this.__store.cleanTextNoTags?this.__store.wordcountNoTags=0:this.__store.wordcountNoTags=this.__store.cleanTextNoTags.split(" ").length,this.__store.sentenceCount=this.sentenceCount(this.__store.cleanText),this.__store.sentenceCountNoTags=this.sentenceCount(this.__store.cleanTextNoTags),this.__store.syllablecount=this.syllableCount(this.__store.cleanTextNoTags)},YoastSEO.PreProcessor.prototype.sentenceCount=function(a){for(var b=a.split("."),c=0,d=0;d0&&this.syllableCount++},YoastSEO.PreProcessor.prototype.advancedSyllableCount=function(a,b,c){var d=a.match(b);null!==d&&("subtract"===c?this.syllableCount-=d.length:"add"===c&&(this.syllableCount+=d.length))},YoastSEO.PreProcessor.prototype.removeWords=function(a){for(var b=YoastSEO.preprocessorConfig,c=0;c0)for(var e=0;e0&&(d+=2);break}d=c.shift()}}return""===this.refObj.stringHelper.stripAllTags(a)?this.refObj.config.sampleText.meta:a.substring(0,YoastSEO.analyzerConfig.maxMeta)},YoastSEO.SnippetPreview.prototype.getIndexMatches=function(){for(var a=[],b=0,c=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,b);c>-1;)a.push(c),b=c+this.refObj.rawData.keyword.length,c=this.refObj.rawData.text.indexOf(this.refObj.rawData.keyword,b);return a},YoastSEO.SnippetPreview.prototype.getPeriodMatches=function(){for(var a,b=[0],c=0;(a=this.refObj.rawData.text.indexOf(".",c))>-1;)b.push(a),c=a+1;return b},YoastSEO.SnippetPreview.prototype.formatKeyword=function(a){var b=new RegExp(this.refObj.rawData.keyword,"ig");return a.replace(b,function(a){return""+a+""})},YoastSEO.SnippetPreview.prototype.formatKeywordUrl=function(a){var b=this.refObj.rawData.keyword.replace(" ","[-_]");return b=new RegExp(b,"ig"),a.replace(b,function(a){return""+a+""})},YoastSEO.SnippetPreview.prototype.renderOutput=function(){document.getElementById("snippet_title").innerHTML=this.output.title,document.getElementById("snippet_cite").innerHTML=this.output.cite,document.getElementById("snippet_citeBase").innerHTML=this.output.url,document.getElementById("snippet_meta").innerHTML=this.output.meta},YoastSEO.SnippetPreview.prototype.reRender=function(){this.init()},YoastSEO.SnippetPreview.prototype.disableEnter=function(a){13===a.keyCode&&(a.returnValue=!1,a.cancelBubble=!0,a.preventDefault())},YoastSEO.SnippetPreview.prototype.checkTextLength=function(a){var b=a.currentTarget.textContent;switch(a.currentTarget.id){case"snippet_meta":b.length>YoastSEO.analyzerConfig.maxMeta&&(YoastSEO.app.snippetPreview.unformattedText.snippet_meta=a.currentTarget.textContent,a.currentTarget.textContent=b.substring(0,YoastSEO.analyzerConfig.maxMeta),a.currentTarget.className="desc");break;case"snippet_title":b.length>40&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=a.currentTarget.textContent,a.currentTarget.textContent=b.substring(0,40),a.currentTarget.className="title")}},YoastSEO.SnippetPreview.prototype.getUnformattedText=function(a){var b=a.currentTarget.firstChild.id;a.currentTarget.firstChild.textContent=YoastSEO.app.snippetPreview.unformattedText[b]},YoastSEO.SnippetPreview.prototype.setUnformattedText=function(a){var b=a.currentTarget.firstChild.id;YoastSEO.app.snippetPreview.unformattedText[b]=a.currentTarget.firstChild.textContent},YoastSEO.SnippetPreview.prototype.textFeedback=function(a){var b=a.currentTarget.textContent;switch(a.currentTarget.id){case"snippet_meta":b.length>YoastSEO.analyzerConfig.maxMeta?a.currentTarget.className="desc tooLong":a.currentTarget.className="desc";break;case"snippet_title":b.length>40?a.currentTarget.className="title tooLong":a.currentTarget.className="title"}},YoastSEO.SnippetPreview.prototype.showEditIcon=function(a){a.currentTarget.parentElement.className="editIcon snippet_container"},YoastSEO.SnippetPreview.prototype.hideEditIcon=function(){for(var a=document.getElementsByClassName("editIcon "),b=0;b0&&(c+="|"),c+=d+a[e]+d;return new RegExp(c,"g")},YoastSEO.StringHelper.prototype.stripSpaces=function(a){return a=a.replace(/ {2,}/g," "),a=a.replace(/^\s+|\s+$/g,"")},YoastSEO.StringHelper.prototype.addEscapeChars=function(a){return a.replace(/[\-\[\]\/\{}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},YoastSEO.StringHelper.prototype.stripSomeTags=function(a){return a=a.replace(/<(?!li|\/li|p|\/p|h1|\/h1|h2|\/h2|h3|\/h3|h4|\/h4|h5|\/h5|h6|\/h6|dd).*?\>/g," "),a=this.stripSpaces(a)},YoastSEO.StringHelper.prototype.stripAllTags=function(a){return a=a.replace(/(<([^>]+)>)/gi," "),a=a.replace(/[<>]/g,""),a=this.stripSpaces(a)},YoastSEO.getStringHelper=function(){return"object"!=typeof YoastSEO.cachedStringHelper&&(YoastSEO.cachedStringHelper=new YoastSEO.StringHelper),YoastSEO.cachedStringHelper},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.analyzerConfig={queue:["wordCount","keywordDensity","subHeadings","stopwords","fleschReading","linkCount","imageCount","urlKeyword","urlLength","metaDescription","pageTitleKeyword","pageTitleLength","firstParagraph"],stopWords:["a","about","above","after","again","against","all","am","an","and","any","are","as","at","be","because","been","before","being","below","between","both","but","by","could","did","do","does","doing","down","during","each","few","for","from","further","had","has","have","having","he","he'd","he'll","he's","her","here","here's","hers","herself","him","himself","his","how","how's","i","i'd","i'll","i'm","i've","if","in","into","is","it","it's","its","itself","let's","me","more","most","my","myself","nor","of","on","once","only","or","other","ought","our","ours","ourselves","out","over","own","same","she","she'd","she'll","she's","should","so","some","such","than","that","that's","the","their","theirs","them","themselves","then","there","there's","these","they","they'd","they'll","they're","they've","this","those","through","to","too","under","until","up","very","was","we","we'd","we'll","we're","we've","were","what","what's","when","when's","where","where's","which","while","who","who's","whom","why","why's","with","would","you","you'd","you'll","you're","you've","your","yours","yourself","yourselves"],wordsToRemove:[" a"," in"," an"," on"," for"," the"," and"],maxSlugLength:20,maxUrlLength:40,maxMeta:156},YoastSEO.preprocessorConfig={syllables:{subtractSyllables:["cial","tia","cius","cious","giu","ion","iou","sia$","[^aeiuoyt]{2,}ed$","[aeiouy][^aeiuoyts]{1,}e\\b",".ely$","[cg]h?e[sd]","rved$","rved","[aeiouy][dt]es?$","[aeiouy][^aeiouydt]e[sd]?$","^[dr]e[aeiou][^aeiou]+$","[aeiouy]rse$"],addSyllables:["ia","riet","dien","iu","io","ii","[aeiouym][bdp]l","[aeiou]{3}","^mc","ism$","([^aeiouy])l$","[^l]lien","^coa[dglx].","[^gq]ua[^auieo]","dnt$","uity$","ie(r|st)","[aeiouy]ing","[aeiouw]y[aeiou]"],exclusionWords:[{word:"shoreline",syllables:2},{word:"simile",syllables:3}]},diacriticsRemovalMap:[{base:"a",letters:/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},{base:"aa",letters:/[\uA733]/g},{base:"ae",letters:/[\u00E6\u01FD\u01E3]/g},{base:"ao",letters:/[\uA735]/g},{base:"au",letters:/[\uA737]/g},{base:"av",letters:/[\uA739\uA73B]/g},{base:"ay",letters:/[\uA73D]/g},{base:"b",letters:/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},{base:"c",letters:/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},{base:"d",letters:/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},{base:"dz",letters:/[\u01F3\u01C6]/g},{base:"e",letters:/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},{base:"f",letters:/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},{base:"g",letters:/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},{base:"h",letters:/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},{base:"hv",letters:/[\u0195]/g},{base:"i",letters:/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},{base:"j",letters:/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},{base:"k",letters:/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},{base:"l",letters:/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},{base:"lj",letters:/[\u01C9]/g},{base:"m",letters:/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},{base:"n",letters:/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},{base:"nj",letters:/[\u01CC]/g},{base:"o",letters:/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},{base:"oi",letters:/[\u01A3]/g},{base:"ou",letters:/[\u0223]/g},{base:"oo",letters:/[\uA74F]/g},{base:"p",letters:/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},{base:"q",letters:/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},{base:"r",letters:/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},{base:"s",letters:/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},{base:"t",letters:/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},{base:"tz",letters:/[\uA729]/g},{base:"u",letters:/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},{base:"v",letters:/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},{base:"vy",letters:/[\uA761]/g},{base:"w",letters:/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},{base:"x",letters:/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},{base:"y",letters:/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},{base:"z",letters:/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}]},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.analyzerScoreRating=9,YoastSEO.AnalyzerScoring=function(a){this.analyzerScoring=[{scoreName:"wordCount",scoreArray:[{min:300,score:9,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is more than the %2$d word recommended minimum.")},{min:250,max:299,score:7,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is slightly below the %2$d word recommended minimum, add a bit more copy.")},{min:200,max:249,score:5,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is below the %2$d word recommended minimum. Add more useful content on this topic for readers.")},{min:100,max:199,score:-10,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is below the %2$d word recommended minimum. Add more useful content on this topic for readers.")},{min:0,max:99,score:-20,text:a.dgettext("js-text-analysis","The text contains %1$d words. This is far too low and should be increased.")}],replaceArray:[{name:"wordCount",position:"%1$d",source:"matcher"},{name:"recommendedWordcount",position:"%2$d",value:300}]},{scoreName:"keywordCheck",scoreArray:[{max:0,score:-999,text:a.dgettext("js-text-analysis","No focus keyword was set for this page. If you do not set a focus keyword, no score can be calculated.")}]},{scoreName:"keywordDensity",scoreArray:[{min:3.5,score:-50,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is way over the advised 2.5% maximum, the focus keyword was found %2$d times.")},{min:2.5,max:3.49,score:-10,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is over the advised 2.5% maximum, the focus keyword was found %2$d times.")},{min:.5,max:2.49,score:9,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is great, the focus keyword was found %2$d times.")},{min:0,max:.49,score:4,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is a bit low, the focus keyword was found %2$d times.")}],replaceArray:[{name:"keywordDensity",position:"%1$f",source:"matcher"},{name:"keywordCount",position:"%2$d",sourceObj:".refObj.__store.keywordCount"}]},{scoreName:"linkCount",scoreArray:[{matcher:"total",min:0,max:0,score:6,text:a.dgettext("js-text-analysis","No outbound links appear in this page, consider adding some as appropriate.")},{matcher:"totalKeyword",min:1,score:2,text:a.dgettext("js-text-analysis","You're linking to another page with the focus keyword you want this page to rank for, consider changing that if you truly want this page to rank.")},{type:"externalAllNofollow",score:7,text:a.dgettext("js-text-analysis","This page has %2$s outbound link(s), all nofollowed.")},{type:"externalHasNofollow",score:8,text:a.dgettext("js-text-analysis","This page has %2$s nofollowed link(s) and %3$s normal outbound link(s).")},{type:"externalAllDofollow",score:9,text:a.dgettext("js-text-analysis","This page has %1$s outbound link(s).")}],replaceArray:[{name:"links",position:"%1$s",sourceObj:".result.externalTotal"},{name:"nofollow",position:"%2$s",sourceObj:".result.externalNofollow"},{name:"dofollow",position:"%3$s",sourceObj:".result.externalDofollow"}]},{scoreName:"fleschReading",scoreArray:[{min:90,score:9,text:"<%text%>",resultText:"very easy",note:""},{min:80,max:89.9,score:9,text:"<%text%>",resultText:"easy",note:""},{min:70,max:79.9,score:8,text:"<%text%>",resultText:"fairly easy",note:""},{min:60,max:69.9,score:7,text:"<%text%>",resultText:"ok",note:""},{min:50,max:59.9,score:6,text:"<%text%>",resultText:a.dgettext("js-text-analysis","fairly difficult"),note:a.dgettext("js-text-analysis","Try to make shorter sentences to improve readability.")},{min:30,max:49.9,score:5,text:"<%text%>",resultText:a.dgettext("js-text-analysis","difficult"), -note:a.dgettext("js-text-analysis","Try to make shorter sentences, using less difficult words to improve readability.")},{min:0,max:29.9,score:4,text:"<%text%>",resultText:a.dgettext("js-text-analysis","very difficult"),note:a.dgettext("js-text-analysis","Try to make shorter sentences, using less difficult words to improve readability.")}],replaceArray:[{name:"scoreText",position:"<%text%>",value:a.dgettext("js-text-analysis","The copy scores %1$s in the %2$s test, which is considered %3$s to read. %4$s")},{name:"text",position:"%1$s",sourceObj:".result"},{name:"scoreUrl",position:"%2$s",value:"Flesch Reading Ease"},{name:"resultText",position:"%3$s",scoreObj:"resultText"},{name:"note",position:"%4$s",scoreObj:"note"}]},{scoreName:"metaDescriptionLength",metaMinLength:120,metaMaxLength:156,scoreArray:[{max:0,score:1,text:a.dgettext("js-text-analysis","No meta description has been specified, search engines will display copy from the page instead.")},{max:120,score:6,text:a.dgettext("js-text-analysis","The meta description is under %1$d characters, however up to %2$d characters are available.")},{min:156,score:6,text:a.dgettext("js-text-analysis","The specified meta description is over %2$d characters, reducing it will ensure the entire description is visible")},{min:120,max:156,score:9,text:a.dgettext("js-text-analysis","In the specified meta description, consider: How does it compare to the competition? Could it be made more appealing?")}],replaceArray:[{name:"minCharacters",position:"%1$d",value:120},{name:"maxCharacters",position:"%2$d",value:156}]},{scoreName:"metaDescriptionKeyword",scoreArray:[{min:1,score:9,text:a.dgettext("js-text-analysis","The meta description contains the focus keyword.")},{max:0,min:0,score:3,text:a.dgettext("js-text-analysis","A meta description has been specified, but it does not contain the focus keyword.")}]},{scoreName:"firstParagraph",scoreArray:[{max:0,score:3,text:a.dgettext("js-text-analysis","The focus keyword doesn't appear in the first paragraph of the copy, make sure the topic is clear immediately.")},{min:1,score:9,text:a.dgettext("js-text-analysis","The focus keyword appears in the first paragraph of the copy.")}]},{scoreName:"stopwordKeywordCount",scoreArray:[{matcher:"count",min:1,score:5,text:a.dgettext("js-text-analysis","The focus keyword for this page contains one or more %1$s, consider removing them. Found '%2$s'.")},{matcher:"count",max:0,score:0,text:""}],replaceArray:[{name:"scoreUrl",position:"%1$s",value:a.dgettext("js-text-analysis","stop words")},{name:"stopwords",position:"%2$s",sourceObj:".result.matches"}]},{scoreName:"subHeadings",scoreArray:[{matcher:"count",max:0,score:7,text:a.dgettext("js-text-analysis","No subheading tags (like an H2) appear in the copy.")},{matcher:"matches",max:0,score:3,text:a.dgettext("js-text-analysis","You have not used your focus keyword in any subheading (such as an H2) in your copy.")},{matcher:"matches",min:1,score:9,text:a.dgettext("js-text-analysis","The focus keyword appears in %2$d (out of %1$d) subheadings in the copy. While not a major ranking factor, this is beneficial.")}],replaceArray:[{name:"count",position:"%1$d",sourceObj:".result.count"},{name:"matches",position:"%2$d",sourceObj:".result.matches"}]},{scoreName:"pageTitleLength",scoreArray:[{max:0,score:1,text:a.dgettext("js-text-analysis","Please create a page title.")},{max:40,score:6,text:a.dgettext("js-text-analysis","The page title contains %3$d characters, which is less than the recommended minimum of %1$d characters. Use the space to add keyword variations or create compelling call-to-action copy.")},{min:70,score:6,text:a.dgettext("js-text-analysis","The page title contains %3$d characters, which is more than the viewable limit of %2$d characters; some words will not be visible to users in your listing.")},{min:40,max:70,score:9,text:a.dgettext("js-text-analysis","The page title is more than %1$d characters and less than the recommended %2$d character limit.")}],replaceArray:[{name:"minLength",position:"%1$d",value:40},{name:"maxLength",position:"%2$d",value:70},{name:"length",position:"%3$d",source:"matcher"}]},{scoreName:"pageTitleKeyword",scoreTitleKeywordLimit:0,scoreArray:[{matcher:"matches",max:0,score:2,text:a.dgettext("js-text-analysis","The focus keyword '%1$s' does not appear in the page title.")},{matcher:"position",max:1,score:9,text:a.dgettext("js-text-analysis","The page title contains the focus keyword, at the beginning which is considered to improve rankings.")},{matcher:"position",min:1,score:6,text:a.dgettext("js-text-analysis","The page title contains the focus keyword, but it does not appear at the beginning; try and move it to the beginning.")}],replaceArray:[{name:"keyword",position:"%1$s",sourceObj:".refObj.config.keyword"}]},{scoreName:"urlKeyword",scoreArray:[{min:1,score:9,text:a.dgettext("js-text-analysis","The focus keyword appears in the URL for this page.")},{max:0,score:6,text:a.dgettext("js-text-analysis","The focus keyword does not appear in the URL for this page. If you decide to rename the URL be sure to check the old URL 301 redirects to the new one!")}]},{scoreName:"urlLength",scoreArray:[{type:"urlTooLong",score:5,text:a.dgettext("js-text-analysis","The slug for this page is a bit long, consider shortening it.")}]},{scoreName:"urlStopwords",scoreArray:[{min:1,score:5,text:a.dgettext("js-text-analysis","The slug for this page contains one or more stop words, consider removing them.")}]},{scoreName:"imageCount",scoreArray:[{matcher:"total",max:0,score:3,text:a.dgettext("js-text-analysis","No images appear in this page, consider adding some as appropriate.")},{matcher:"noAlt",min:1,score:5,text:a.dgettext("js-text-analysis","The images on this page are missing alt tags.")},{matcher:"alt",min:1,score:5,text:a.dgettext("js-text-analysis","The images on this page do not have alt tags containing your focus keyword.")},{matcher:"altKeyword",min:1,score:9,text:a.dgettext("js-text-analysis","The images on this page contain alt tags with the focus keyword.")}]},{scoreName:"keywordDoubles",scoreArray:[{matcher:"count",max:0,score:9,text:a.dgettext("js-text-analysis","You've never used this focus keyword before, very good.")},{matcher:"count",max:1,score:6,text:a.dgettext("js-text-analysis","You've used this focus keyword %1$sonce before%2$s, be sure to make very clear which URL on your site is the most important for this keyword.")},{matcher:"count",min:1,score:1,text:a.dgettext("js-text-analysis","You've used this focus keyword %3$s%4$d times before%2$s, it's probably a good idea to read %6$sthis post on cornerstone content%5$s and improve your keyword strategy.")}],replaceArray:[{name:"singleUrl",position:"%1$s",sourceObj:".refObj.config.postUrl"},{name:"endTag",position:"%2$s",value:""},{name:"multiUrl",position:"%3$s",sourceObj:".refObj.config.searchUrl"},{name:"occurrences",position:"%4$d",sourceObj:".result.count"},{name:"endTag",position:"%5$s",value:""},{name:"cornerstone",position:"%6$s",value:""},{name:"id",position:"{id}",sourceObj:".result.id"},{name:"keyword",position:"{keyword}",sourceObj:".refObj.config.keyword"}]}]}; \ No newline at end of file diff --git a/js/dist/yoast-seo-content-analyzer.min.js b/js/dist/yoast-seo-content-analyzer.min.js deleted file mode 100644 index caf6e8e77..000000000 --- a/js/dist/yoast-seo-content-analyzer.min.js +++ /dev/null @@ -1,5 +0,0 @@ -/** - * @preserve jed.js https://github.com/SlexAxton/Jed - */ -!function(a,b){function c(a){return l.PF.compile(a||"nplurals=2; plural=(n != 1);")}function d(a,b){this._key=a,this._i18n=b}var e=Array.prototype,f=Object.prototype,g=e.slice,h=f.hasOwnProperty,i=e.forEach,j={},k={forEach:function(a,b,c){var d,e,f;if(null!==a)if(i&&a.forEach===i)a.forEach(b,c);else if(a.length===+a.length){for(d=0,e=a.length;e>d;d++)if(d in a&&b.call(c,a[d],d,a)===j)return}else for(f in a)if(h.call(a,f)&&b.call(c,a[f],f,a)===j)return},extend:function(a){return this.forEach(g.call(arguments,1),function(b){for(var c in b)a[c]=b[c]}),a}},l=function(a){if(this.defaults={locale_data:{messages:{"":{domain:"messages",lang:"en",plural_forms:"nplurals=2; plural=(n != 1);"}}},domain:"messages",debug:!1},this.options=k.extend({},this.defaults,a),this.textdomain(this.options.domain),a.domain&&!this.options.locale_data[this.options.domain])throw new Error("Text domain set to non-existent domain: `"+a.domain+"`")};l.context_delimiter=String.fromCharCode(4),k.extend(d.prototype,{onDomain:function(a){return this._domain=a,this},withContext:function(a){return this._context=a,this},ifPlural:function(a,b){return this._val=a,this._pkey=b,this},fetch:function(a){return"[object Array]"!={}.toString.call(a)&&(a=[].slice.call(arguments,0)),(a&&a.length?l.sprintf:function(a){return a})(this._i18n.dcnpgettext(this._domain,this._context,this._key,this._pkey,this._val),a)}}),k.extend(l.prototype,{translate:function(a){return new d(a,this)},textdomain:function(a){return a?void(this._textdomain=a):this._textdomain},gettext:function(a){return this.dcnpgettext.call(this,b,b,a)},dgettext:function(a,c){return this.dcnpgettext.call(this,a,b,c)},dcgettext:function(a,c){return this.dcnpgettext.call(this,a,b,c)},ngettext:function(a,c,d){return this.dcnpgettext.call(this,b,b,a,c,d)},dngettext:function(a,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},dcngettext:function(a,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},pgettext:function(a,c){return this.dcnpgettext.call(this,b,a,c)},dpgettext:function(a,b,c){return this.dcnpgettext.call(this,a,b,c)},dcpgettext:function(a,b,c){return this.dcnpgettext.call(this,a,b,c)},npgettext:function(a,c,d,e){return this.dcnpgettext.call(this,b,a,c,d,e)},dnpgettext:function(a,b,c,d,e){return this.dcnpgettext.call(this,a,b,c,d,e)},dcnpgettext:function(a,b,d,e,f){e=e||d,a=a||this._textdomain;var g;if(!this.options)return g=new l,g.dcnpgettext.call(g,void 0,void 0,d,e,f);if(!this.options.locale_data)throw new Error("No locale data provided.");if(!this.options.locale_data[a])throw new Error("Domain `"+a+"` was not found.");if(!this.options.locale_data[a][""])throw new Error("No locale meta information provided.");if(!d)throw new Error("No translation key found.");var h,i,j,k=b?b+l.context_delimiter+d:d,m=this.options.locale_data,n=m[a],o=(m.messages||this.defaults.locale_data.messages)[""],p=n[""].plural_forms||n[""]["Plural-Forms"]||n[""]["plural-forms"]||o.plural_forms||o["Plural-Forms"]||o["plural-forms"];if(void 0===f)j=0;else{if("number"!=typeof f&&(f=parseInt(f,10),isNaN(f)))throw new Error("The number that was passed in is not a number.");j=c(p)(f)}if(!n)throw new Error("No domain named `"+a+"` could be found.");return h=n[k],!h||j>h.length?(this.options.missing_key_callback&&this.options.missing_key_callback(k,a),i=[d,e],this.options.debug===!0&&console.log(i[c(p)(f)]),i[c()(f)]):(i=h[j],i?i:(i=[d,e],i[c()(f)]))}});var m=function(){function a(a){return Object.prototype.toString.call(a).slice(8,-1).toLowerCase()}function b(a,b){for(var c=[];b>0;c[--b]=a);return c.join("")}var c=function(){return c.cache.hasOwnProperty(arguments[0])||(c.cache[arguments[0]]=c.parse(arguments[0])),c.format.call(null,c.cache[arguments[0]],arguments)};return c.format=function(c,d){var e,f,g,h,i,j,k,l=1,n=c.length,o="",p=[];for(f=0;n>f;f++)if(o=a(c[f]),"string"===o)p.push(c[f]);else if("array"===o){if(h=c[f],h[2])for(e=d[l],g=0;g=0?"+"+e:e,j=h[4]?"0"==h[4]?"0":h[4].charAt(1):" ",k=h[6]-String(e).length,i=h[6]?b(j,k):"",p.push(h[5]?e+i:i+e)}return p.join("")},c.cache={},c.parse=function(a){for(var b=a,c=[],d=[],e=0;b;){if(null!==(c=/^[^\x25]+/.exec(b)))d.push(c[0]);else if(null!==(c=/^\x25{2}/.exec(b)))d.push("%");else{if(null===(c=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(b)))throw"[sprintf] huh?";if(c[2]){e|=1;var f=[],g=c[2],h=[];if(null===(h=/^([a-z_][a-z_\d]*)/i.exec(g)))throw"[sprintf] huh?";for(f.push(h[1]);""!==(g=g.substring(h[0].length));)if(null!==(h=/^\.([a-z_][a-z_\d]*)/i.exec(g)))f.push(h[1]);else{if(null===(h=/^\[(\d+)\]/.exec(g)))throw"[sprintf] huh?";f.push(h[1])}c[2]=f}else e|=2;if(3===e)throw"[sprintf] mixing positional and named placeholders is not (yet) supported";d.push(c)}b=b.substring(c[0].length)}return d},c}(),n=function(a,b){return b.unshift(a),m.apply(null,b)};l.parse_plural=function(a,b){return a=a.replace(/n/g,b),l.parse_expression(a)},l.sprintf=function(a,b){return"[object Array]"=={}.toString.call(b)?n(a,[].slice.call(b)):m.apply(this,[].slice.call(arguments))},l.prototype.sprintf=function(){return l.sprintf.apply(this,arguments)},l.PF={},l.PF.parse=function(a){var b=l.PF.extractPluralExpr(a);return l.PF.parser.parse.call(l.PF.parser,b)},l.PF.compile=function(a){function b(a){return a===!0?1:a?a:0}var c=l.PF.parse(a);return function(a){return b(l.PF.interpreter(c)(a))}},l.PF.interpreter=function(a){return function(b){switch(a.type){case"GROUP":return l.PF.interpreter(a.expr)(b);case"TERNARY":return l.PF.interpreter(a.expr)(b)?l.PF.interpreter(a.truthy)(b):l.PF.interpreter(a.falsey)(b);case"OR":return l.PF.interpreter(a.left)(b)||l.PF.interpreter(a.right)(b);case"AND":return l.PF.interpreter(a.left)(b)&&l.PF.interpreter(a.right)(b);case"LT":return l.PF.interpreter(a.left)(b)l.PF.interpreter(a.right)(b);case"LTE":return l.PF.interpreter(a.left)(b)<=l.PF.interpreter(a.right)(b);case"GTE":return l.PF.interpreter(a.left)(b)>=l.PF.interpreter(a.right)(b);case"EQ":return l.PF.interpreter(a.left)(b)==l.PF.interpreter(a.right)(b);case"NEQ":return l.PF.interpreter(a.left)(b)!=l.PF.interpreter(a.right)(b);case"MOD":return l.PF.interpreter(a.left)(b)%l.PF.interpreter(a.right)(b);case"VAR":return b;case"NUM":return a.val;default:throw new Error("Invalid Token found.")}}},l.PF.extractPluralExpr=function(a){a=a.replace(/^\s\s*/,"").replace(/\s\s*$/,""),/;\s*$/.test(a)||(a=a.concat(";"));var b,c=/nplurals\=(\d+);/,d=/plural\=(.*);/,e=a.match(c),f={};if(!(e.length>1))throw new Error("nplurals not found in plural_forms string: "+a);if(f.nplurals=e[1],a=a.replace(c,""),b=a.match(d),!(b&&b.length>1))throw new Error("`plural` expression not found: "+a);return b[1]},l.PF.parser=function(){var a={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"?":6,":":7,"||":8,"&&":9,"<":10,"<=":11,">":12,">=":13,"!=":14,"==":15,"%":16,"(":17,")":18,n:19,NUMBER:20,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"?",7:":",8:"||",9:"&&",10:"<",11:"<=",12:">",13:">=",14:"!=",15:"==",16:"%",17:"(",18:")",19:"n",20:"NUMBER"},productions_:[0,[3,2],[4,5],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,3],[4,1],[4,1]],performAction:function(a,b,c,d,e,f,g){var h=f.length-1;switch(e){case 1:return{type:"GROUP",expr:f[h-1]};case 2:this.$={type:"TERNARY",expr:f[h-4],truthy:f[h-2],falsey:f[h]};break;case 3:this.$={type:"OR",left:f[h-2],right:f[h]};break;case 4:this.$={type:"AND",left:f[h-2],right:f[h]};break;case 5:this.$={type:"LT",left:f[h-2],right:f[h]};break;case 6:this.$={type:"LTE",left:f[h-2],right:f[h]};break;case 7:this.$={type:"GT",left:f[h-2],right:f[h]};break;case 8:this.$={type:"GTE",left:f[h-2],right:f[h]};break;case 9:this.$={type:"NEQ",left:f[h-2],right:f[h]};break;case 10:this.$={type:"EQ",left:f[h-2],right:f[h]};break;case 11:this.$={type:"MOD",left:f[h-2],right:f[h]};break;case 12:this.$={type:"GROUP",expr:f[h-1]};break;case 13:this.$={type:"VAR"};break;case 14:this.$={type:"NUM",val:Number(a)}}},table:[{3:1,4:2,17:[1,3],19:[1,4],20:[1,5]},{1:[3]},{5:[1,6],6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{4:17,17:[1,3],19:[1,4],20:[1,5]},{5:[2,13],6:[2,13],7:[2,13],8:[2,13],9:[2,13],10:[2,13],11:[2,13],12:[2,13],13:[2,13],14:[2,13],15:[2,13],16:[2,13],18:[2,13]},{5:[2,14],6:[2,14],7:[2,14],8:[2,14],9:[2,14],10:[2,14],11:[2,14],12:[2,14],13:[2,14],14:[2,14],15:[2,14],16:[2,14],18:[2,14]},{1:[2,1]},{4:18,17:[1,3],19:[1,4],20:[1,5]},{4:19,17:[1,3],19:[1,4],20:[1,5]},{4:20,17:[1,3],19:[1,4],20:[1,5]},{4:21,17:[1,3],19:[1,4],20:[1,5]},{4:22,17:[1,3],19:[1,4],20:[1,5]},{4:23,17:[1,3],19:[1,4],20:[1,5]},{4:24,17:[1,3],19:[1,4],20:[1,5]},{4:25,17:[1,3],19:[1,4],20:[1,5]},{4:26,17:[1,3],19:[1,4],20:[1,5]},{4:27,17:[1,3],19:[1,4],20:[1,5]},{6:[1,7],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[1,28]},{6:[1,7],7:[1,29],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16]},{5:[2,3],6:[2,3],7:[2,3],8:[2,3],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,3]},{5:[2,4],6:[2,4],7:[2,4],8:[2,4],9:[2,4],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,4]},{5:[2,5],6:[2,5],7:[2,5],8:[2,5],9:[2,5],10:[2,5],11:[2,5],12:[2,5],13:[2,5],14:[2,5],15:[2,5],16:[1,16],18:[2,5]},{5:[2,6],6:[2,6],7:[2,6],8:[2,6],9:[2,6],10:[2,6],11:[2,6],12:[2,6],13:[2,6],14:[2,6],15:[2,6],16:[1,16],18:[2,6]},{5:[2,7],6:[2,7],7:[2,7],8:[2,7],9:[2,7],10:[2,7],11:[2,7],12:[2,7],13:[2,7],14:[2,7],15:[2,7],16:[1,16],18:[2,7]},{5:[2,8],6:[2,8],7:[2,8],8:[2,8],9:[2,8],10:[2,8],11:[2,8],12:[2,8],13:[2,8],14:[2,8],15:[2,8],16:[1,16],18:[2,8]},{5:[2,9],6:[2,9],7:[2,9],8:[2,9],9:[2,9],10:[2,9],11:[2,9],12:[2,9],13:[2,9],14:[2,9],15:[2,9],16:[1,16],18:[2,9]},{5:[2,10],6:[2,10],7:[2,10],8:[2,10],9:[2,10],10:[2,10],11:[2,10],12:[2,10],13:[2,10],14:[2,10],15:[2,10],16:[1,16],18:[2,10]},{5:[2,11],6:[2,11],7:[2,11],8:[2,11],9:[2,11],10:[2,11],11:[2,11],12:[2,11],13:[2,11],14:[2,11],15:[2,11],16:[2,11],18:[2,11]},{5:[2,12],6:[2,12],7:[2,12],8:[2,12],9:[2,12],10:[2,12],11:[2,12],12:[2,12],13:[2,12],14:[2,12],15:[2,12],16:[2,12],18:[2,12]},{4:30,17:[1,3],19:[1,4],20:[1,5]},{5:[2,2],6:[1,7],7:[2,2],8:[1,8],9:[1,9],10:[1,10],11:[1,11],12:[1,12],13:[1,13],14:[1,14],15:[1,15],16:[1,16],18:[2,2]}],defaultActions:{6:[2,1]},parseError:function(a,b){throw new Error(a)},parse:function(a){function b(a){e.length=e.length-2*a,f.length=f.length-a,g.length=g.length-a}function c(){var a;return a=d.lexer.lex()||1,"number"!=typeof a&&(a=d.symbols_[a]||a),a}var d=this,e=[0],f=[null],g=[],h=this.table,i="",j=0,k=0,l=0,m=2,n=1;this.lexer.setInput(a),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,"undefined"==typeof this.lexer.yylloc&&(this.lexer.yylloc={});var o=this.lexer.yylloc;g.push(o),"function"==typeof this.yy.parseError&&(this.parseError=this.yy.parseError);for(var p,q,r,s,t,u,v,w,x,y={};;){if(r=e[e.length-1],this.defaultActions[r]?s=this.defaultActions[r]:(null==p&&(p=c()),s=h[r]&&h[r][p]),"undefined"==typeof s||!s.length||!s[0]){if(!l){x=[];for(u in h[r])this.terminals_[u]&&u>2&&x.push("'"+this.terminals_[u]+"'");var z="";z=this.lexer.showPosition?"Parse error on line "+(j+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+x.join(", ")+", got '"+this.terminals_[p]+"'":"Parse error on line "+(j+1)+": Unexpected "+(1==p?"end of input":"'"+(this.terminals_[p]||p)+"'"),this.parseError(z,{text:this.lexer.match,token:this.terminals_[p]||p,line:this.lexer.yylineno,loc:o,expected:x})}if(3==l){if(p==n)throw new Error(z||"Parsing halted.");k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,p=c()}for(;;){if(m.toString()in h[r])break;if(0==r)throw new Error(z||"Parsing halted.");b(1),r=e[e.length-1]}q=p,p=m,r=e[e.length-1],s=h[r]&&h[r][m],l=3}if(s[0]instanceof Array&&s.length>1)throw new Error("Parse Error: multiple actions possible at state: "+r+", token: "+p);switch(s[0]){case 1:e.push(p),f.push(this.lexer.yytext),g.push(this.lexer.yylloc),e.push(s[1]),p=null,q?(p=q,q=null):(k=this.lexer.yyleng,i=this.lexer.yytext,j=this.lexer.yylineno,o=this.lexer.yylloc,l>0&&l--);break;case 2:if(v=this.productions_[s[1]][1],y.$=f[f.length-v],y._$={first_line:g[g.length-(v||1)].first_line,last_line:g[g.length-1].last_line,first_column:g[g.length-(v||1)].first_column,last_column:g[g.length-1].last_column},t=this.performAction.call(y,i,k,j,this.yy,s[1],f,g),"undefined"!=typeof t)return t;v&&(e=e.slice(0,-1*v*2),f=f.slice(0,-1*v),g=g.slice(0,-1*v)),e.push(this.productions_[s[1]][0]),f.push(y.$),g.push(y._$),w=h[e[e.length-2]][e[e.length-1]],e.push(w);break;case 3:return!0}}return!0}},b=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parseError)throw new Error(a);this.yy.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.match+=a,this.matched+=a;var b=a.match(/\n/);return b&&this.yylineno++,this._input=this._input.slice(1),a},unput:function(a){return this._input=a+this._input,this},more:function(){return this._more=!0,this},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?"...":"")+a.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join("-");return a+this.upcomingInput()+"\n"+b+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c;this._more||(this.yytext="",this.match="");for(var d=this._currentRules(),e=0;e=/,/^/,/^!=/,/^==/,/^%/,/^\(/,/^\)/,/^$/,/^./],a.conditions={INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],inclusive:!0}},a}();return a.lexer=b,a}(),"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=l),exports.Jed=l):("function"==typeof define&&define.amd&&define("jed",function(){return l}),a.Jed=l)}(this),YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.Analyzer=function(a){this.config=a,this.checkConfig(),this.init(a)},YoastSEO.Analyzer.prototype.checkConfig=function(){"undefined"==typeof this.config.text&&(this.config.text="")},YoastSEO.Analyzer.prototype.init=function(a){this.config=a,this.initDependencies(),this.formatKeyword(),this.initQueue(),this.loadWordlists(),this.__output=[],this.__store={}},YoastSEO.Analyzer.prototype.formatKeyword=function(){"undefined"!=typeof this.config.keyword&&""!==this.config.keyword&&(this.keywordRegex=new RegExp(this.preProcessor.replaceDiacritics(this.config.keyword.replace(/[-_]/," ")),"ig"),this.keywordRegexInverse=new RegExp(this.preProcessor.replaceDiacritics(this.config.keyword.replace(" ","-")),"ig"))},YoastSEO.Analyzer.prototype.initDependencies=function(){this.preProcessor=new YoastSEO.getPreProcessor(this.config.text),this.stringHelper=YoastSEO.getStringHelper(),this.analyzeScorer=new YoastSEO.AnalyzeScorer(this)},YoastSEO.Analyzer.prototype.initQueue=function(){"undefined"!=typeof this.config.queue&&0!==this.config.queue.length?this.queue=this.config.queue.slice():this.queue=YoastSEO.analyzerConfig.queue.slice()},YoastSEO.Analyzer.prototype.loadWordlists=function(){"undefined"==typeof this.config.wordsToRemove&&(this.config.wordsToRemove=YoastSEO.analyzerConfig.wordsToRemove),"undefined"==typeof this.config.stopWords&&(this.config.stopWords=YoastSEO.analyzerConfig.stopWords)},YoastSEO.Analyzer.prototype.runQueue=function(){this.queue.length>0?(this.__output=this.__output.concat(this[this.queue.shift()]()),this.runQueue()):this.score()},YoastSEO.Analyzer.prototype.abortQueue=function(){this.queue=[]},YoastSEO.Analyzer.prototype.wordCount=function(){return[{test:"wordCount",result:this.preProcessor.__store.wordcountNoTags}]},YoastSEO.Analyzer.prototype.keyWordCheck=function(){return""===this.config.keyword?[{test:"keywordCheck",result:0}]:void 0},YoastSEO.Analyzer.prototype.keywordDensity=function(){var a=[{test:"keywordDensity",result:0}];if(this.preProcessor.__store.wordcount>100){var b=this.keywordDensityCheck();return a[0].result=b.toFixed(1),a}},YoastSEO.Analyzer.prototype.keywordDensityCheck=function(){var a=this.keywordCount(),b=0;return 0!==a&&(b=100*(a/this.preProcessor.__store.wordcount-(a-1*a))),b},YoastSEO.Analyzer.prototype.keywordCount=function(){var a=this.preProcessor.__store.cleanText.match(this.keywordRegex),b=0;return null!==a&&(b=a.length),this.__store.keywordCount=b,b},YoastSEO.Analyzer.prototype.subHeadings=function(){var a=[{test:"subHeadings",result:{count:0,matches:0}}],b=this.preProcessor.__store.cleanTextSomeTags.match(/]+)?>(.*?)<\/h\1>/gi);return null!==b&&(a[0].result.count=b.length,a[0].result.matches=this.subHeadingsCheck(b)),a},YoastSEO.Analyzer.prototype.subHeadingsCheck=function(a){var b;if(null===a)b=-1;else{b=0;for(var c=0;ca?a=0:a>100&&(a=100),[{test:"fleschReading",result:a}]},YoastSEO.Analyzer.prototype.linkCount=function(){var a=this.preProcessor.__store.originalText.match(/]+)?>(.*?)<\/a>/gi),b={total:0,totalKeyword:0,internalTotal:0,internalDofollow:0,internalNofollow:0,externalTotal:0,externalDofollow:0,externalNofollow:0,otherTotal:0,otherDofollow:0,otherNofollow:0};if(null!==a){b.total=a.length;for(var c=0;c");return null!==c[1].match(this.keywordRegex)&&(b=!0),b},YoastSEO.Analyzer.prototype.linkResult=function(a){var b=a;return b.externalHasNofollow=!1,b.externalAllNofollow=!1,b.externalAllDofollow=!1,b.externalTotal!==b.externalDofollow&&b.externalTotal>0&&(b.externalHasNofollow=!0),b.externalTotal===b.externalNofollow&&b.externalTotal>0&&(b.externalAllNofollow=!0),b.externalTotal===b.externalDofollow&&b.externalTotal>0&&(b.externalAllDofollow=!0),b},YoastSEO.Analyzer.prototype.imageCount=function(){var a={total:0,alt:0,noAlt:0,altKeyword:0},b=this.preProcessor.__store.originalText.match(/]+)?>/gi);if(null!==b){a.total=b.length;for(var c=0;c]+)?>(.*?)

","ig"));return 0===b&&(b=this.paragraphChecker(this.preProcessor.__store.originalText,new RegExp("[^]*?\n\n","ig"))),a[0].result=b,a},YoastSEO.Analyzer.prototype.paragraphChecker=function(a,b){var c=a.match(b),d=0;return null!==c&&(d=this.stringHelper.countMatches(c[0],this.keywordRegex)),d},YoastSEO.Analyzer.prototype.metaDescription=function(){var a=[{test:"metaDescriptionLength",result:0},{test:"metaDescriptionKeyword",result:0}];return"undefined"!=typeof this.config.meta&&(a[0].result=this.config.meta.length,a[1].result=-1,this.config.meta.length>0&&(a[1].result=this.stringHelper.countMatches(this.config.meta,this.keywordRegex))),a},YoastSEO.Analyzer.prototype.urlKeyword=function(){var a=[{test:"urlKeyword",result:0}];return"undefined"!=typeof this.config.url&&(a[0].result=this.stringHelper.countMatches(this.config.url,this.keywordRegexInverse)),a},YoastSEO.Analyzer.prototype.urlLength=function(){var a=[{test:"urlLength",result:{urlTooLong:!1}}];if("undefined"!=typeof this.config.url){var b=this.config.url.length;b>this.config.maxUrlLength&&b>this.config.maxSlugLength+this.config.keyword.length&&(a[0].result.urlTooLong=!0)}return a},YoastSEO.Analyzer.prototype.urlStopwords=function(){var a=[{test:"urlStopwords",result:0}];if("undefined"!=typeof this.config.url){var b=this.stringHelper.matchString(this.config.url,this.config.stopWords);null!==b&&(a[0].result=b.length)}return a},YoastSEO.Analyzer.prototype.keywordDoubles=function(){var a=[{test:"keywordDoubles",result:{count:0,id:0}}];return"undefined"!=typeof this.config.keyword&&"undefined"!=typeof this.config.usedKeywords[this.config.keyword]&&(a[0].result.count=this.config.usedKeywords[this.config.keyword].length,1===a[0].result.count&&(a[0].result.id=this.config.usedKeywords[this.config.keyword][0])),a},YoastSEO.Analyzer.prototype.score=function(){this.analyzeScorer.score(this.__output)},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.analyzerScoreRating=9,YoastSEO.AnalyzerScoring=function(a){this.analyzerScoring=[{scoreName:"wordCount",scoreArray:[{min:300,score:9,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is more than the %2$d word recommended minimum.")},{min:250,max:299,score:7,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is slightly below the %2$d word recommended minimum, add a bit more copy.")},{min:200,max:249,score:5,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is below the %2$d word recommended minimum. Add more useful content on this topic for readers.")},{min:100,max:199,score:-10,text:a.dgettext("js-text-analysis","The text contains %1$d words, this is below the %2$d word recommended minimum. Add more useful content on this topic for readers.")},{min:0,max:99,score:-20,text:a.dgettext("js-text-analysis","The text contains %1$d words. This is far too low and should be increased.")}],replaceArray:[{name:"wordCount",position:"%1$d",source:"matcher"},{name:"recommendedWordcount",position:"%2$d",value:300}]},{scoreName:"keywordCheck",scoreArray:[{max:0,score:-999,text:a.dgettext("js-text-analysis","No focus keyword was set for this page. If you do not set a focus keyword, no score can be calculated.")}]},{scoreName:"keywordDensity",scoreArray:[{min:3.5,score:-50,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is way over the advised 2.5% maximum, the focus keyword was found %2$d times.")},{min:2.5,max:3.49,score:-10,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is over the advised 2.5% maximum, the focus keyword was found %2$d times.")},{min:.5,max:2.49,score:9,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is great, the focus keyword was found %2$d times.")},{min:0,max:.49,score:4,text:a.dgettext("js-text-analysis","The keyword density is %1$f%, which is a bit low, the focus keyword was found %2$d times.")}],replaceArray:[{name:"keywordDensity",position:"%1$f",source:"matcher"},{name:"keywordCount",position:"%2$d",sourceObj:".refObj.__store.keywordCount"}]},{scoreName:"linkCount",scoreArray:[{matcher:"total",min:0,max:0,score:6,text:a.dgettext("js-text-analysis","No outbound links appear in this page, consider adding some as appropriate.")},{matcher:"totalKeyword",min:1,score:2,text:a.dgettext("js-text-analysis","You're linking to another page with the focus keyword you want this page to rank for, consider changing that if you truly want this page to rank.")},{type:"externalAllNofollow",score:7,text:a.dgettext("js-text-analysis","This page has %2$s outbound link(s), all nofollowed.")},{type:"externalHasNofollow",score:8,text:a.dgettext("js-text-analysis","This page has %2$s nofollowed link(s) and %3$s normal outbound link(s).")},{type:"externalAllDofollow",score:9,text:a.dgettext("js-text-analysis","This page has %1$s outbound link(s).")}],replaceArray:[{name:"links",position:"%1$s",sourceObj:".result.externalTotal"},{name:"nofollow",position:"%2$s",sourceObj:".result.externalNofollow"},{name:"dofollow",position:"%3$s",sourceObj:".result.externalDofollow"}]},{scoreName:"fleschReading",scoreArray:[{min:90,score:9,text:"<%text%>",resultText:"very easy",note:""},{min:80,max:89.9,score:9,text:"<%text%>",resultText:"easy",note:""},{min:70,max:79.9,score:8,text:"<%text%>",resultText:"fairly easy",note:""},{min:60,max:69.9,score:7,text:"<%text%>",resultText:"ok",note:""},{min:50,max:59.9,score:6,text:"<%text%>",resultText:a.dgettext("js-text-analysis","fairly difficult"),note:a.dgettext("js-text-analysis","Try to make shorter sentences to improve readability.")},{min:30,max:49.9,score:5,text:"<%text%>",resultText:a.dgettext("js-text-analysis","difficult"),note:a.dgettext("js-text-analysis","Try to make shorter sentences, using less difficult words to improve readability.")},{min:0,max:29.9,score:4,text:"<%text%>",resultText:a.dgettext("js-text-analysis","very difficult"),note:a.dgettext("js-text-analysis","Try to make shorter sentences, using less difficult words to improve readability.")}],replaceArray:[{name:"scoreText",position:"<%text%>",value:a.dgettext("js-text-analysis","The copy scores %1$s in the %2$s test, which is considered %3$s to read. %4$s")},{name:"text",position:"%1$s",sourceObj:".result"},{name:"scoreUrl",position:"%2$s",value:"
Flesch Reading Ease"},{name:"resultText",position:"%3$s",scoreObj:"resultText"},{name:"note",position:"%4$s",scoreObj:"note"}]},{scoreName:"metaDescriptionLength",metaMinLength:120,metaMaxLength:156,scoreArray:[{max:0,score:1,text:a.dgettext("js-text-analysis","No meta description has been specified, search engines will display copy from the page instead.")},{max:120,score:6,text:a.dgettext("js-text-analysis","The meta description is under %1$d characters, however up to %2$d characters are available.")},{min:156,score:6,text:a.dgettext("js-text-analysis","The specified meta description is over %2$d characters, reducing it will ensure the entire description is visible")},{min:120,max:156,score:9,text:a.dgettext("js-text-analysis","In the specified meta description, consider: How does it compare to the competition? Could it be made more appealing?")}],replaceArray:[{name:"minCharacters",position:"%1$d",value:120},{name:"maxCharacters",position:"%2$d",value:156}]},{scoreName:"metaDescriptionKeyword",scoreArray:[{min:1,score:9,text:a.dgettext("js-text-analysis","The meta description contains the focus keyword.")},{max:0,min:0,score:3,text:a.dgettext("js-text-analysis","A meta description has been specified, but it does not contain the focus keyword.")}]},{scoreName:"firstParagraph",scoreArray:[{max:0,score:3,text:a.dgettext("js-text-analysis","The focus keyword doesn't appear in the first paragraph of the copy, make sure the topic is clear immediately.")},{min:1,score:9,text:a.dgettext("js-text-analysis","The focus keyword appears in the first paragraph of the copy.")}]},{scoreName:"stopwordKeywordCount",scoreArray:[{matcher:"count",min:1,score:5,text:a.dgettext("js-text-analysis","The focus keyword for this page contains one or more %1$s, consider removing them. Found '%2$s'.")},{matcher:"count",max:0,score:0,text:""}],replaceArray:[{name:"scoreUrl",position:"%1$s",value:a.dgettext("js-text-analysis","stop words")},{name:"stopwords",position:"%2$s",sourceObj:".result.matches"}]},{scoreName:"subHeadings",scoreArray:[{matcher:"count",max:0,score:7,text:a.dgettext("js-text-analysis","No subheading tags (like an H2) appear in the copy.")},{matcher:"matches",max:0,score:3,text:a.dgettext("js-text-analysis","You have not used your focus keyword in any subheading (such as an H2) in your copy.")},{matcher:"matches",min:1,score:9,text:a.dgettext("js-text-analysis","The focus keyword appears in %2$d (out of %1$d) subheadings in the copy. While not a major ranking factor, this is beneficial.") -}],replaceArray:[{name:"count",position:"%1$d",sourceObj:".result.count"},{name:"matches",position:"%2$d",sourceObj:".result.matches"}]},{scoreName:"pageTitleLength",scoreArray:[{max:0,score:1,text:a.dgettext("js-text-analysis","Please create a page title.")},{max:40,score:6,text:a.dgettext("js-text-analysis","The page title contains %3$d characters, which is less than the recommended minimum of %1$d characters. Use the space to add keyword variations or create compelling call-to-action copy.")},{min:70,score:6,text:a.dgettext("js-text-analysis","The page title contains %3$d characters, which is more than the viewable limit of %2$d characters; some words will not be visible to users in your listing.")},{min:40,max:70,score:9,text:a.dgettext("js-text-analysis","The page title is more than %1$d characters and less than the recommended %2$d character limit.")}],replaceArray:[{name:"minLength",position:"%1$d",value:40},{name:"maxLength",position:"%2$d",value:70},{name:"length",position:"%3$d",source:"matcher"}]},{scoreName:"pageTitleKeyword",scoreTitleKeywordLimit:0,scoreArray:[{matcher:"matches",max:0,score:2,text:a.dgettext("js-text-analysis","The focus keyword '%1$s' does not appear in the page title.")},{matcher:"position",max:1,score:9,text:a.dgettext("js-text-analysis","The page title contains the focus keyword, at the beginning which is considered to improve rankings.")},{matcher:"position",min:1,score:6,text:a.dgettext("js-text-analysis","The page title contains the focus keyword, but it does not appear at the beginning; try and move it to the beginning.")}],replaceArray:[{name:"keyword",position:"%1$s",sourceObj:".refObj.config.keyword"}]},{scoreName:"urlKeyword",scoreArray:[{min:1,score:9,text:a.dgettext("js-text-analysis","The focus keyword appears in the URL for this page.")},{max:0,score:6,text:a.dgettext("js-text-analysis","The focus keyword does not appear in the URL for this page. If you decide to rename the URL be sure to check the old URL 301 redirects to the new one!")}]},{scoreName:"urlLength",scoreArray:[{type:"urlTooLong",score:5,text:a.dgettext("js-text-analysis","The slug for this page is a bit long, consider shortening it.")}]},{scoreName:"urlStopwords",scoreArray:[{min:1,score:5,text:a.dgettext("js-text-analysis","The slug for this page contains one or more stop words, consider removing them.")}]},{scoreName:"imageCount",scoreArray:[{matcher:"total",max:0,score:3,text:a.dgettext("js-text-analysis","No images appear in this page, consider adding some as appropriate.")},{matcher:"noAlt",min:1,score:5,text:a.dgettext("js-text-analysis","The images on this page are missing alt tags.")},{matcher:"alt",min:1,score:5,text:a.dgettext("js-text-analysis","The images on this page do not have alt tags containing your focus keyword.")},{matcher:"altKeyword",min:1,score:9,text:a.dgettext("js-text-analysis","The images on this page contain alt tags with the focus keyword.")}]},{scoreName:"keywordDoubles",scoreArray:[{matcher:"count",max:0,score:9,text:a.dgettext("js-text-analysis","You've never used this focus keyword before, very good.")},{matcher:"count",max:1,score:6,text:a.dgettext("js-text-analysis","You've used this focus keyword %1$sonce before%2$s, be sure to make very clear which URL on your site is the most important for this keyword.")},{matcher:"count",min:1,score:1,text:a.dgettext("js-text-analysis","You've used this focus keyword %3$s%4$d times before%2$s, it's probably a good idea to read %6$sthis post on cornerstone content%5$s and improve your keyword strategy.")}],replaceArray:[{name:"singleUrl",position:"%1$s",sourceObj:".refObj.config.postUrl"},{name:"endTag",position:"%2$s",value:""},{name:"multiUrl",position:"%3$s",sourceObj:".refObj.config.searchUrl"},{name:"occurrences",position:"%4$d",sourceObj:".result.count"},{name:"endTag",position:"%5$s",value:""},{name:"cornerstone",position:"%6$s",value:""},{name:"id",position:"{id}",sourceObj:".result.id"},{name:"keyword",position:"{keyword}",sourceObj:".refObj.config.keyword"}]}]}; \ No newline at end of file