SEO Best Practices: General SEO Attributes for Pages and Blogs – Rock RMS Recipes

[] /gi; $(‘pre’).filter(‘:not([rel])’).html(function(i, text) { return text.replace(regex, “n”); }); $(‘pre’).filter(‘:not([rel])’).attr(‘rel’, ‘ROCK’).addClass(‘language-rock’).wrapInner( “”); Prism.highlightAll(); $(function(){ //Notice the ‘live’ function has been replaced with ‘on’ $(“[id*=lbSaveNote]”).on(“click”, function () { Sys.WebForms.PageRequestManager.getInstance().add_endRequest(highlight); }); }); …

Read More

How to SEO your WordPress Categories and Tag Pages

[] window.addEventListener(t,e.userEventListener,e.eventOptions)))}_removeUserInteractionListener(e){this.triggerEvents.forEach((t=>window.removeEventListener(t,e.userEventListener,e.eventOptions)))}triggerListener(){this._removeUserInteractionListener(this),”loading”===document.readyState?document.addEventListener(“DOMContentLoaded”,this._loadEverythingNow.bind(this)):this._loadEverythingNow()}async _loadEverythingNow(){this._delayEventListeners(),this._delayJQueryReady(this),this._handleDocumentWrite(),this._registerAllDelayedScripts(),this._preloadAllScripts(),await this._loadScriptsFromList(this.delayedScripts.normal),await this._loadScriptsFromList(this.delayedScripts.defer),await this._loadScriptsFromList(this.delayedScripts.async),await this._triggerDOMContentLoaded(),await this._triggerWindowLoad(),window.dispatchEvent(new Event(“rocket-allScriptsLoaded”))}_registerAllDelayedScripts(){document.querySelectorAll(“script[type=rocketlazyloadscript]”).forEach((e=>{e.hasAttribute(“src”)?e.hasAttribute(“async”)&&!1!==e.async?this.delayedScripts.async.push(e):e.hasAttribute(“defer”)&&!1!==e.defer||”module”===e.getAttribute(“data-rocket-type”)?this.delayedScripts.defer.push(e):this.delayedScripts.normal.push(e):this.delayedScripts.normal.push(e)}))}async _transformScript(e){return await this._requestAnimFrame(),new Promise((t=>{const n=document.createElement(“script”);let i;[…e.attributes].forEach((e=>{let t=e.nodeName;”type”!==t&&(“data-rocket-type”===t&&(t=”type”,i=e.nodeValue),n.setAttribute(t,e.nodeValue))})),e.hasAttribute(“src”)&&this._isValidScriptType(i)?(n.addEventListener(“load”,t),n.addEventListener(“error”,t)):(n.text=e.text,t()),e.parentNode.replaceChild(n,e)}))}_isValidScriptType(e){return!e||””===e||”string”==typeof e&&[“text/javascript”,”text/x-javascript”,”text/ecmascript”,”text/jscript”,”application/javascript”,”application/x-javascript”,”application/ecmascript”,”application/jscript”,”module”].includes(e.toLowerCase())}async _loadScriptsFromList(e){const t=e.shift();return t?(await this._transformScript(t),this._loadScriptsFromList(e)):Promise.resolve()}_preloadAllScripts(){var e=document.createDocumentFragment();[…this.delayedScripts.normal,…this.delayedScripts.defer,…this.delayedScripts.async].forEach((t=>{const n=t.getAttribute(“src”);if(n){const t=document.createElement(“link”);t.href=n,t.rel=”preload”,t.as=”script”,e.appendChild(t)}})),document.head.appendChild(e)}_delayEventListeners(){let e={};function t(t,n){!function(t){function n(n){return e[t].eventsToRewrite.indexOf(n)>=0?”rocket-“+n:n}e[t]||(e[t]={originalFunctions:{add:t.addEventListener,remove:t.removeEventListener},eventsToRewrite:[]},t.addEventListener=function(){arguments[0]=n(arguments[0]),e[t].originalFunctions.add.apply(t,arguments)},t.removeEventListener=function(){arguments[0]=n(arguments[0]),e[t].originalFunctions.remove.apply(t,arguments)})}(t),e[t].eventsToRewrite.push(n)}function n(e,t){const n=e[t];Object.defineProperty(e,t,{get:n||function(){},set:n=>{e[“rocket”+t]=n}})}t(document,”DOMContentLoaded”),t(window,”DOMContentLoaded”),t(window,”load”),t(window,”pageshow”),t(document,”readystatechange”),n(document,”onreadystatechange”),n(window,”onload”),n(window,”onpageshow”)}_delayJQueryReady(e){let …

Read More