diff --git a/dist/yoast-seo.js b/dist/yoast-seo.js
index 577012b1e..350a88faa 100644
--- a/dist/yoast-seo.js
+++ b/dist/yoast-seo.js
@@ -2141,9 +2141,9 @@ YoastSEO.ScoreFormatter.prototype.outputOverallScore = function() {
var overallTarget = document.getElementById( this.overallTarget );
if ( overallTarget ) {
- overallTarget.className = "overallScore " + this.scoreRating( Math.round( this.overallScore / 10 ) );
+ overallTarget.className = "overallScore " + this.overallScoreRating( Math.round( this.overallScore ) );
if ( this.keyword === "" ) {
- overallTarget.className = "overallScore " + this.scoreRating( "na" );
+ overallTarget.className = "overallScore " + this.overallScoreRating( "na" );
}
}
@@ -2152,8 +2152,8 @@ YoastSEO.ScoreFormatter.prototype.outputOverallScore = function() {
/**
* Retuns a string that is used as a CSSclass, based on the numeric score or the NA string.
- * @param score
- * @returns scoreRate
+ * @param {number|string} score
+ * @returns {string} scoreRate
*/
YoastSEO.ScoreFormatter.prototype.scoreRating = function( score ) {
var scoreRate;
@@ -2174,6 +2174,18 @@ YoastSEO.ScoreFormatter.prototype.scoreRating = function( score ) {
}
return scoreRate;
};
+
+/**
+ * Divides the total score by ten and calls the scoreRating function.
+ * @param {number|string} score
+ * @returns {string} scoreRate
+ */
+YoastSEO.ScoreFormatter.prototype.overallScoreRating = function( score ) {
+ if ( typeof score === "number" ) {
+ score = ( score / 10 );
+ }
+ return this.scoreRating( score );
+};
;/* jshint browser: true */
/* global YoastSEO: true */
YoastSEO = ( "undefined" === typeof YoastSEO ) ? {} : YoastSEO;
diff --git a/dist/yoast-seo.min.js b/dist/yoast-seo.min.js
index 10f17fdbe..3f401e126 100644
--- a/dist/yoast-seo.min.js
+++ b/dist/yoast-seo.min.js
@@ -1,5 +1,6 @@
-YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.Analyzer=function(a){this.config=a,this.checkConfig(),this.init(a),this.analyses={}},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(){if("undefined"!=typeof this.config.keyword&&""!==this.config.keyword){var a=this.stringHelper.sanitizeKeyword(this.config.keyword);this.keywordRegex=new RegExp(this.preProcessor.replaceDiacritics(a.replace(/[-_]/," ")),"ig"),this.keywordRegexInverse=new RegExp(this.preProcessor.replaceDiacritics(a.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(){var a,b;if(this.queue.length>0){var c=this.queue.shift();void 0!==this[c]?a=this[c]():this.analyses.hasOwnProperty(c)&&(b=this.analyses[c].callable(),a={test:this.analyses[c].name,result:b}),this.__output=this.__output.concat(a),this.runQueue()}else this.score()},YoastSEO.Analyzer.prototype.addAnalysis=function(a){this.analyses[a.name]=a,this.queue.push(a.name)},YoastSEO.Analyzer.prototype.wordCount=function(){return[{test:"wordCount",result:this.preProcessor.__store.wordcountNoTags}]},YoastSEO.Analyzer.prototype.keyWordCheck=function(){return""===this.stringHelper.sanitizeKeyword(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;c0){var a=(206.835-1.015*(this.preProcessor.__store.wordcountNoTags/this.preProcessor.__store.sentenceCountNoTags)-84.6*(this.preProcessor.__store.syllablecount/this.preProcessor.__store.wordcountNoTags)).toFixed(1);return 0>a?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,totalNaKeyword: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;c0&&(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,altNaKeyword: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.metaDescriptionKeyword=function(){var a=[{test:"metaDescriptionKeyword",result:0}];return"undefined"!=typeof this.config.meta&&this.config.meta.length>0&&""!==this.config.keyword&&(a[0].result=this.stringHelper.countMatches(this.config.meta,this.keywordRegex)),a},YoastSEO.Analyzer.prototype.metaDescriptionLength=function(){var a=[{test:"metaDescriptionLength",result:0}];return"undefined"!=typeof this.config.meta&&(a[0].result=this.config.meta.length),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.rawData.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",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);var d;d=document.createElement("span"),d.className="title",d.id="snippet_sitename",b.appendChild(d)},YoastSEO.App.prototype.createSnippetPreviewUrl=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="url_container",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",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.createEditIcon=function(a,b){var c=document.createElement("div");c.className="editIcon",c.id="editIcon_"+b,a.appendChild(c)},YoastSEO.App.prototype.bindEvent=function(){this.callbacks.bindElementEvents(this)},YoastSEO.App.prototype.bindInputEvent=function(){for(var a=0;athis.config.typeDelay&&this.config.typeDelay"+c+""+a[c].status+"
";b.innerHTML+=""},YoastSEO.App.prototype.removeLoadingDialog=function(){document.getElementById(this.config.targets.output).removeChild(document.getElementById("YoastSEO-plugin-loading"))},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.Pluggable=function(a){this.app=a,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this.customTests=[],setTimeout(this._pollLoadingPlugins.bind(this),1500)},YoastSEO.App.prototype.registerPlugin=function(a,b){return this.pluggable._registerPlugin(a,b)},YoastSEO.App.prototype.pluginReady=function(a){return this.pluggable._ready(a)},YoastSEO.App.prototype.pluginReloaded=function(a){return this.pluggable._reloaded(a)},YoastSEO.App.prototype.registerModification=function(a,b,c,d){return this.pluggable._registerModification(a,b,c,d)},YoastSEO.App.prototype.registerTest=function(a,b,c,d,e){return this.pluggable._registerTest(a,b,c,d,e)},YoastSEO.Pluggable.prototype._registerPlugin=function(a,b){return"string"!=typeof a?(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1):"undefined"!=typeof b&&"object"!=typeof b?(console.error("Failed to register plugin "+a+". Expected parameters `options` to be a string."),!1):this._validateUniqueness(a)===!1?(console.error("Failed to register plugin. Plugin with name "+a+" already exists"),!1):(this.plugins[a]=b,this.app.updateLoadingDialog(this.plugins),!0)},YoastSEO.Pluggable.prototype._ready=function(a){return"string"!=typeof a?(console.error("Failed to modify status for plugin "+a+". Expected parameter `pluginName` to be a string."),!1):void 0===this.plugins[a]?(console.error("Failed to modify status for plugin "+a+". The plugin was not properly registered."),!1):(this.plugins[a].status="ready",this.app.updateLoadingDialog(this.plugins),!0)},YoastSEO.Pluggable.prototype._reloaded=function(a){return"string"!=typeof a?(console.error("Failed to reload Content Analysis for "+a+". Expected parameter `pluginName` to be a string."),!1):void 0===this.plugins[a]?(console.error("Failed to reload Content Analysis for plugin "+a+". The plugin was not properly registered."),!1):(this.app.runAnalyzer(this.app.rawData),!0)},YoastSEO.Pluggable.prototype._registerModification=function(a,b,c,d){if("string"!=typeof a)return console.error("Failed to register modification for plugin "+c+". Expected parameter `modification` to be a string."),!1;if("function"!=typeof b)return console.error("Failed to register modification for plugin "+c+". Expected parameter `callable` to be a function."),!1;if("string"!=typeof c)return console.error("Failed to register modification for plugin "+c+". Expected parameter `pluginName` to be a string."),!1;if(this._validateOrigin(c)===!1)return console.error("Failed to register modification for plugin "+c+". The integration has not finished loading yet."),!1;var e="number"==typeof d?d:10,f={callable:b,origin:c,priority:e};return void 0===this.modifications[a]&&(this.modifications[a]=[]),this.modifications[a].push(f),!0},YoastSEO.Pluggable.prototype._registerTest=function(a,b,c,d,e){if("string"!=typeof a)return console.error("Failed to register test for plugin "+d+". Expected parameter `name` to be a string."),!1;if("function"!=typeof b)return console.error("Failed to register test for plugin "+d+". Expected parameter `analyzer` to be a function."),!1;if("string"!=typeof d)return console.error("Failed to register test for plugin "+d+". Expected parameter `pluginName` to be a string."),!1;if(this._validateOrigin(d)===!1)return console.error("Failed to register test for plugin "+d+". The integration has not finished loading yet."),!1;var f="number"==typeof e?e:10;return a=d+"-"+a,this.customTests.push({name:a,analysis:b,scoring:c,prio:f}),!0},YoastSEO.Pluggable.prototype._pollLoadingPlugins=function(a){a=void 0===a?0:a,this._allReady()===!0?(this.loaded=!0,this.app.pluginsLoaded()):a>=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,this.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._addPluginTests=function(a){this.customTests.map(function(b){this._addPluginTest(a,b)},this)},YoastSEO.Pluggable.prototype._addPluginTest=function(a,b){a.addAnalysis({name:b.name,callable:b.analysis}),a.analyzeScorer.addScoring({name:b.name,scoring:b.scoring})},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;ca:b="bad";break;case a>=2&&7>=a:b="poor";break;case a>7:b="good";break;default:case"na"===a:b="na"}return b},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.SnippetPreview=function(a){this.refObj=a,this.unformattedText={snippet_cite:this.refObj.rawData.snippetCite||"",snippet_meta:this.refObj.rawData.snippetMeta||"",snippet_title:this.refObj.rawData.snippetTitle||""},this.init()},YoastSEO.SnippetPreview.prototype.init=function(){null!==this.refObj.rawData.pageTitle&&null!==this.refObj.rawData.cite&&(this.output=this.htmlOutput(),this.renderOutput()),this.snippetSuffix="","undefined"!==this.refObj.config.snippetSuffix&&(this.snippetSuffix=this.refObj.config.snippetSuffix)},YoastSEO.SnippetPreview.prototype.htmlOutput=function(){var a={};return a.title=this.formatTitle(),a.cite=this.formatCite(),a.meta=this.formatMeta(),a.url=this.formatUrl(),a},YoastSEO.SnippetPreview.prototype.formatTitle=function(){var a=this.refObj.rawData.snippetTitle;return""===a&&(a=this.refObj.rawData.pageTitle),""===a?a=this.refObj.config.sampleText.title:a+=this.snippetSuffix,a=this.refObj.stringHelper.stripAllTags(a),""!==this.refObj.rawData.keyword?this.formatKeyword(a):a},YoastSEO.SnippetPreview.prototype.formatUrl=function(){var a=this.refObj.rawData.baseUrl;return a.replace(/https?:\/\//gi,""),a},YoastSEO.SnippetPreview.prototype.formatCite=function(){var a=this.refObj.rawData.snippetCite;return a=this.refObj.stringHelper.stripAllTags(a),""===a&&(a=this.refObj.config.sampleText.snippetCite),this.formatKeywordUrl(a)},YoastSEO.SnippetPreview.prototype.formatMeta=function(){var a=this.refObj.rawData.meta;return a===this.refObj.config.sampleText.snippetMeta&&(a=""),""===a&&(a=this.getMetaText()),a=this.refObj.stringHelper.stripAllTags(a),a=a.substring(0,YoastSEO.analyzerConfig.maxMeta),""!==this.refObj.rawData.keyword&&""!==a?this.formatKeyword(a):a},YoastSEO.SnippetPreview.prototype.getMetaText=function(){var a;if("undefined"!=typeof this.refObj.rawData.excerpt&&(a=this.refObj.rawData.excerpt),"undefined"!=typeof this.refObj.rawData.text&&(a=this.refObj.rawData.text),""===a&&(a=this.refObj.config.sampleText.meta),a=this.refObj.stringHelper.stripAllTags(a),""!==this.refObj.rawData.keyword&&""!==this.refObj.rawData.text){var b=this.getIndexMatches(),c=this.getPeriodMatches();a=a.substring(0,YoastSEO.analyzerConfig.maxMeta);var d=0;if(b.length>0)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=this.refObj.rawData.keyword.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,""),c=new RegExp("\\b"+b+"\\b","ig");return a.replace(c,function(a){return""+a+""})},YoastSEO.SnippetPreview.prototype.formatKeywordUrl=function(a){var b=this.refObj.stringHelper.sanitizeKeyword(this.refObj.rawData.keyword),c=b.replace(" ","[-_]"),d=new RegExp(c,"ig");return a.replace(d,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>70&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=a.currentTarget.textContent,a.currentTarget.textContent=b.substring(0,70))}},YoastSEO.SnippetPreview.prototype.getUnformattedText=function(a){var b=a.currentTarget.id;"undefined"!=typeof this.unformattedText[b]&&(a.currentTarget.textContent=this.unformattedText[b])},YoastSEO.SnippetPreview.prototype.setUnformattedText=function(a){var b=a.currentTarget.id;this.unformattedText[b]=document.getElementById(b).textContent},YoastSEO.SnippetPreview.prototype.setSiteName=function(a){"snippet_title"===a.currentTarget.id&&(document.getElementById("snippet_sitename").textContent=this.snippetSuffix,document.getElementById("snippet_sitename").style.display="inline-block",document.getElementById("snippet_title").style.display="inline-block")},YoastSEO.SnippetPreview.prototype.unsetSiteName=function(){document.getElementById("snippet_sitename").textContent="",document.getElementById("snippet_title").style.display="inline",document.getElementById("snippet_sitename").style.display="inline"},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>70?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.StringHelper.prototype.sanitizeKeyword=function(a){return a=a.replace(/[\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"")},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),this.analyses={}},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(){if("undefined"!=typeof this.config.keyword&&""!==this.config.keyword){var a=this.stringHelper.sanitizeKeyword(this.config.keyword);this.keywordRegex=new RegExp(this.preProcessor.replaceDiacritics(a.replace(/[-_]/," ")),"ig"),this.keywordRegexInverse=new RegExp(this.preProcessor.replaceDiacritics(a.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(){var a,b;if(this.queue.length>0){var c=this.queue.shift();void 0!==this[c]?a=this[c]():this.analyses.hasOwnProperty(c)&&(b=this.analyses[c].callable(),a={test:this.analyses[c].name,result:b}),this.__output=this.__output.concat(a),this.runQueue()}else this.score()},YoastSEO.Analyzer.prototype.addAnalysis=function(a){this.analyses[a.name]=a,this.queue.push(a.name)},YoastSEO.Analyzer.prototype.wordCount=function(){return[{test:"wordCount",result:this.preProcessor.__store.wordcountNoTags}]},YoastSEO.Analyzer.prototype.keyWordCheck=function(){return""===this.stringHelper.sanitizeKeyword(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;c0){var a=(206.835-1.015*(this.preProcessor.__store.wordcountNoTags/this.preProcessor.__store.sentenceCountNoTags)-84.6*(this.preProcessor.__store.syllablecount/this.preProcessor.__store.wordcountNoTags)).toFixed(1);return 0>a?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,totalNaKeyword: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;c0&&(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,altNaKeyword: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.metaDescriptionKeyword=function(){var a=[{test:"metaDescriptionKeyword",result:0}];return"undefined"!=typeof this.config.meta&&this.config.meta.length>0&&""!==this.config.keyword&&(a[0].result=this.stringHelper.countMatches(this.config.meta,this.keywordRegex)),a},YoastSEO.Analyzer.prototype.metaDescriptionLength=function(){var a=[{test:"metaDescriptionLength",result:0}];return"undefined"!=typeof this.config.meta&&(a[0].result=this.config.meta.length),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.rawData.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",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);var d;d=document.createElement("span"),d.className="title",d.id="snippet_sitename",b.appendChild(d)},YoastSEO.App.prototype.createSnippetPreviewUrl=function(a){var b=document.createElement("div");b.className="snippet_container",b.id="url_container",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",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.createEditIcon=function(a,b){var c=document.createElement("div");c.className="editIcon",c.id="editIcon_"+b,a.appendChild(c)},YoastSEO.App.prototype.bindEvent=function(){this.callbacks.bindElementEvents(this)},YoastSEO.App.prototype.bindInputEvent=function(){for(var a=0;athis.config.typeDelay&&this.config.typeDelay"+c+""+a[c].status+"
";b.innerHTML+=""},YoastSEO.App.prototype.removeLoadingDialog=function(){document.getElementById(this.config.targets.output).removeChild(document.getElementById("YoastSEO-plugin-loading"))},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.Pluggable=function(a){this.app=a,this.loaded=!1,this.preloadThreshold=3e3,this.plugins={},this.modifications={},this.customTests=[],setTimeout(this._pollLoadingPlugins.bind(this),1500)},YoastSEO.App.prototype.registerPlugin=function(a,b){return this.pluggable._registerPlugin(a,b)},YoastSEO.App.prototype.pluginReady=function(a){return this.pluggable._ready(a)},YoastSEO.App.prototype.pluginReloaded=function(a){return this.pluggable._reloaded(a)},YoastSEO.App.prototype.registerModification=function(a,b,c,d){return this.pluggable._registerModification(a,b,c,d)},YoastSEO.App.prototype.registerTest=function(a,b,c,d,e){return this.pluggable._registerTest(a,b,c,d,e)},YoastSEO.Pluggable.prototype._registerPlugin=function(a,b){return"string"!=typeof a?(console.error("Failed to register plugin. Expected parameter `pluginName` to be a string."),!1):"undefined"!=typeof b&&"object"!=typeof b?(console.error("Failed to register plugin "+a+". Expected parameters `options` to be a string."),!1):this._validateUniqueness(a)===!1?(console.error("Failed to register plugin. Plugin with name "+a+" already exists"),!1):(this.plugins[a]=b,this.app.updateLoadingDialog(this.plugins),!0)},YoastSEO.Pluggable.prototype._ready=function(a){return"string"!=typeof a?(console.error("Failed to modify status for plugin "+a+". Expected parameter `pluginName` to be a string."),!1):void 0===this.plugins[a]?(console.error("Failed to modify status for plugin "+a+". The plugin was not properly registered."),!1):(this.plugins[a].status="ready",this.app.updateLoadingDialog(this.plugins),!0)},YoastSEO.Pluggable.prototype._reloaded=function(a){return"string"!=typeof a?(console.error("Failed to reload Content Analysis for "+a+". Expected parameter `pluginName` to be a string."),!1):void 0===this.plugins[a]?(console.error("Failed to reload Content Analysis for plugin "+a+". The plugin was not properly registered."),!1):(this.app.runAnalyzer(this.app.rawData),!0)},YoastSEO.Pluggable.prototype._registerModification=function(a,b,c,d){if("string"!=typeof a)return console.error("Failed to register modification for plugin "+c+". Expected parameter `modification` to be a string."),!1;if("function"!=typeof b)return console.error("Failed to register modification for plugin "+c+". Expected parameter `callable` to be a function."),!1;if("string"!=typeof c)return console.error("Failed to register modification for plugin "+c+". Expected parameter `pluginName` to be a string."),!1;if(this._validateOrigin(c)===!1)return console.error("Failed to register modification for plugin "+c+". The integration has not finished loading yet."),!1;var e="number"==typeof d?d:10,f={callable:b,origin:c,priority:e};return void 0===this.modifications[a]&&(this.modifications[a]=[]),this.modifications[a].push(f),!0},YoastSEO.Pluggable.prototype._registerTest=function(a,b,c,d,e){if("string"!=typeof a)return console.error("Failed to register test for plugin "+d+". Expected parameter `name` to be a string."),!1;if("function"!=typeof b)return console.error("Failed to register test for plugin "+d+". Expected parameter `analyzer` to be a function."),!1;if("string"!=typeof d)return console.error("Failed to register test for plugin "+d+". Expected parameter `pluginName` to be a string."),!1;if(this._validateOrigin(d)===!1)return console.error("Failed to register test for plugin "+d+". The integration has not finished loading yet."),!1;var f="number"==typeof e?e:10;return a=d+"-"+a,this.customTests.push({name:a,analysis:b,scoring:c,prio:f}),!0},YoastSEO.Pluggable.prototype._pollLoadingPlugins=function(a){a=void 0===a?0:a,this._allReady()===!0?(this.loaded=!0,this.app.pluginsLoaded()):a>=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,this.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._addPluginTests=function(a){this.customTests.map(function(b){this._addPluginTest(a,b)},this)},YoastSEO.Pluggable.prototype._addPluginTest=function(a,b){a.addAnalysis({name:b.name,callable:b.analysis}),a.analyzeScorer.addScoring({name:b.name,scoring:b.scoring})},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;ca:b="bad";break;case a>=2&&7>=a:b="poor";break;case a>7:b="good";break;default:case"na"===a:b="na"}return b},YoastSEO.ScoreFormatter.prototype.overallScoreRating=function(a){return"number"==typeof a&&(a/=10),this.scoreRating(a)},YoastSEO="undefined"==typeof YoastSEO?{}:YoastSEO,YoastSEO.SnippetPreview=function(a){this.refObj=a,this.unformattedText={snippet_cite:this.refObj.rawData.snippetCite||"",snippet_meta:this.refObj.rawData.snippetMeta||"",snippet_title:this.refObj.rawData.snippetTitle||""},this.init()},YoastSEO.SnippetPreview.prototype.init=function(){null!==this.refObj.rawData.pageTitle&&null!==this.refObj.rawData.cite&&(this.output=this.htmlOutput(),this.renderOutput()),this.snippetSuffix="","undefined"!==this.refObj.config.snippetSuffix&&(this.snippetSuffix=this.refObj.config.snippetSuffix)},YoastSEO.SnippetPreview.prototype.htmlOutput=function(){var a={};return a.title=this.formatTitle(),a.cite=this.formatCite(),a.meta=this.formatMeta(),a.url=this.formatUrl(),a},YoastSEO.SnippetPreview.prototype.formatTitle=function(){var a=this.refObj.rawData.snippetTitle;return""===a&&(a=this.refObj.rawData.pageTitle),""===a?a=this.refObj.config.sampleText.title:a+=this.snippetSuffix,a=this.refObj.stringHelper.stripAllTags(a),""!==this.refObj.rawData.keyword?this.formatKeyword(a):a},YoastSEO.SnippetPreview.prototype.formatUrl=function(){var a=this.refObj.rawData.baseUrl;return a.replace(/https?:\/\//gi,""),a},YoastSEO.SnippetPreview.prototype.formatCite=function(){var a=this.refObj.rawData.snippetCite;return a=this.refObj.stringHelper.stripAllTags(a),""===a&&(a=this.refObj.config.sampleText.snippetCite),this.formatKeywordUrl(a)},YoastSEO.SnippetPreview.prototype.formatMeta=function(){var a=this.refObj.rawData.meta;return a===this.refObj.config.sampleText.snippetMeta&&(a=""),""===a&&(a=this.getMetaText()),a=this.refObj.stringHelper.stripAllTags(a),a=a.substring(0,YoastSEO.analyzerConfig.maxMeta),""!==this.refObj.rawData.keyword&&""!==a?this.formatKeyword(a):a},YoastSEO.SnippetPreview.prototype.getMetaText=function(){var a;if("undefined"!=typeof this.refObj.rawData.excerpt&&(a=this.refObj.rawData.excerpt),"undefined"!=typeof this.refObj.rawData.text&&(a=this.refObj.rawData.text),""===a&&(a=this.refObj.config.sampleText.meta),a=this.refObj.stringHelper.stripAllTags(a),""!==this.refObj.rawData.keyword&&""!==this.refObj.rawData.text){var b=this.getIndexMatches(),c=this.getPeriodMatches();a=a.substring(0,YoastSEO.analyzerConfig.maxMeta);var d=0;if(b.length>0)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=this.refObj.rawData.keyword.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,""),c=new RegExp("\\b"+b+"\\b","ig");return a.replace(c,function(a){return""+a+""})},YoastSEO.SnippetPreview.prototype.formatKeywordUrl=function(a){var b=this.refObj.stringHelper.sanitizeKeyword(this.refObj.rawData.keyword),c=b.replace(" ","[-_]"),d=new RegExp(c,"ig");
+
+return a.replace(d,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>70&&(YoastSEO.app.snippetPreview.unformattedText.snippet_title=a.currentTarget.textContent,a.currentTarget.textContent=b.substring(0,70))}},YoastSEO.SnippetPreview.prototype.getUnformattedText=function(a){var b=a.currentTarget.id;"undefined"!=typeof this.unformattedText[b]&&(a.currentTarget.textContent=this.unformattedText[b])},YoastSEO.SnippetPreview.prototype.setUnformattedText=function(a){var b=a.currentTarget.id;this.unformattedText[b]=document.getElementById(b).textContent},YoastSEO.SnippetPreview.prototype.setSiteName=function(a){"snippet_title"===a.currentTarget.id&&(document.getElementById("snippet_sitename").textContent=this.snippetSuffix,document.getElementById("snippet_sitename").style.display="inline-block",document.getElementById("snippet_title").style.display="inline-block")},YoastSEO.SnippetPreview.prototype.unsetSiteName=function(){document.getElementById("snippet_sitename").textContent="",document.getElementById("snippet_title").style.display="inline",document.getElementById("snippet_sitename").style.display="inline"},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>70?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.StringHelper.prototype.sanitizeKeyword=function(a){return a=a.replace(/[\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"")},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","metaDescriptionLength","metaDescriptionKeyword","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:"totalNaKeyword",min:1,score:2,text:a.dgettext("js-text-analysis","Outbound links appear in this page")},{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:39,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:71,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.")
diff --git a/js/scoreFormatter.js b/js/scoreFormatter.js
index 733440227..57352ab24 100644
--- a/js/scoreFormatter.js
+++ b/js/scoreFormatter.js
@@ -107,8 +107,8 @@ YoastSEO.ScoreFormatter.prototype.scoreRating = function( score ) {
* @returns {string} scoreRate
*/
YoastSEO.ScoreFormatter.prototype.overallScoreRating = function( score ) {
- if( typeof score === "number"){
+ if ( typeof score === "number" ) {
score = ( score / 10 );
}
return this.scoreRating( score );
-};
\ No newline at end of file
+};