{"id":49196,"date":"2023-03-07T03:18:36","date_gmt":"2023-03-07T03:18:36","guid":{"rendered":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/"},"modified":"2023-03-07T03:20:18","modified_gmt":"2023-03-07T03:20:18","slug":"how-to-audit-javascript-for-seo","status":"publish","type":"post","link":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/","title":{"rendered":"How to audit JavaScript for SEO"},"content":{"rendered":"<p> <a href=\"https:\/\/go.fiverr.com\/visit\/?bta=1052423&nci=17043\" Target=\"_Top\"><img loading=\"lazy\" decoding=\"async\" border=\"0\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/fiverr.ck-cdn.com\/tn\/serve\/?cid=40081059\"  width=\"601\" height=\"201\"><\/a>\n<\/p>\n<div>\n<p><span style=\"font-weight: 400;\">JavaScript is current all over the place on the net. Since HTML and CSS are static in nature, JavaScript has been broadly adopted to offer dynamic performance on the client-side, which is only a fancy manner of claiming it\u2019s downloaded and run inside a browser.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Calls for of the language are excessive, with numerous frameworks\/libraries and different variations all in fast improvement. It\u2019s due to this fact frequent \u2013 and was maybe inevitable \u2013 that the expertise repeatedly outpaces search engine assist and, by extension, greatest follow within the <\/span><a href=\"https:\/\/www.hallaminternet.com\/seo\/\"><span style=\"font-weight: 400;\">SEO<\/span><\/a><span style=\"font-weight: 400;\"> area.<\/span><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-68110 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog1-480x320.jpeg\" alt=\"javascript on a screen\" width=\"554\" height=\"370\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog1-480x320.jpeg 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog1-180x120.jpeg 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog1-280x186.jpeg 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog1.jpeg 512w\" data-sizes=\"auto, (max-width: 554px) 100vw, 554px\"\/><span style=\"font-weight: 400;\">It&#8217;s worthwhile to be conscious earlier than auditing JavaScript that there are frequent points which might be prone to happen and compromises you&#8217;ll have to make so as to fulfill all wants.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">We\u2019ve damaged down our JavaScript auditing course of into 5 key areas, permitting you to find out:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#whether-a-site-relies-on-javascript\"><span style=\"font-weight: 400;\">Whether a site relies heavily on JavaScript<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#cached-assets\"><span style=\"font-weight: 400;\">Whether JavaScript assets are being cached\/updated appropriately<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#site-performance\"><span style=\"font-weight: 400;\">What impact is JavaScript having on site performance<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"#fetching-files\"><span style=\"font-weight: 400;\">Whether JavaScript files are being fetched correctly and efficiently<\/span><\/a><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><a href=\"#routing-and-redirects\">Situational JavaScript issues: infinite scroll routing and redirects<\/a>\u00a0<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">However earlier than we dive into it\u2026<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">A fast 101 on web site construction<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Present web sites are made up of three foremost applied sciences:<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Hyper-text markup language (HTML)<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">That is the construction on which every thing else rests, with a hierarchy of parts representing every thing from generic containers to textual content, hyperlinks, media, and metadata.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It\u2019s easy, strong, and semantically targeted to allow a variety of functions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Though browsers will format uncooked HTML sensibly, presentation is best dealt with by\u2026<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Cascading fashion sheets (CSS)<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">That is the presentation layer the place HTML could be<\/span><a href=\"http:\/\/www.csszengarden.com\/\"><span style=\"font-weight: 400;\"> styled and rearranged in a variety of ways<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Any HTML component could be focused, moved, colored, resized, and even animated. In impact, that is the realisation of <\/span><a href=\"https:\/\/www.hallaminternet.com\/web-design-agency\/wordpress-design\/\"><span style=\"font-weight: 400;\">website design<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Nevertheless, except for some restricted options it stays static, bringing us to\u2026<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">JavaScript (JS)<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">That is the dynamic layer which might actively manipulate HTML and CSS in response to occasions like person interplay, time, or server modifications. This massively opens up what could be achieved by way of <\/span><a href=\"https:\/\/www.hallaminternet.com\/creative-agency\/ux-design\/\"><span style=\"font-weight: 400;\">user experience<\/span><\/a><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">While you go to a web site, your browser downloads the HTML file after which reads it, decoding and executing every half one after the opposite. Exterior property (CSS\/JS\/media\/fonts) are downloaded and parts are pieced collectively based on the related directives and directions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This strategy of bringing collectively the constructing blocks of a web site to provide the ultimate end result is named <\/span><a href=\"https:\/\/web.dev\/rendering-on-the-web\/\"><span style=\"font-weight: 400;\">rendering<\/span><\/a><span style=\"font-weight: 400;\">. That is extremely related to search engine optimisation as a result of Google will do one thing just like browsers (with some further evaluation steps) and take this into consideration when rating. In impact, Google makes an attempt to copy the person\u2019s expertise.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">How does Google deal with JavaScript?<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Google will render JavaScript. In different phrases, it&#8217;s going to load your JavaScript property together with HTML and CSS to higher perceive what customers will see, however there are two primary issues:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Google needs to make use of as few assets as potential to crawl websites.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Extra JavaScript signifies that extra assets are wanted to render.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400;\">Due to these points, Google\u2019s <\/span><a href=\"https:\/\/developers.google.com\/search\/docs\/crawling-indexing\/javascript\/fix-search-javascript\"><span style=\"font-weight: 400;\">web rendering service<\/span><\/a><span style=\"font-weight: 400;\"> is geared in direction of working as effectively as potential, and so adopts the next methods:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Googlebot will all the time render a web page that it\u2019s crawling for the primary time. At this level it comes to a decision about whether or not it must render that web page in future. It will influence how usually the web page is rendered on future crawls.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Assets are analysed to establish something that doesn\u2019t contribute to important web page content material. These assets won&#8217;t be fetched.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Assets are aggressively cached to scale back community requests, so up to date assets could also be ignored initially.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">State just isn&#8217;t retained from one web page to the subsequent throughout crawl (e.g. cookies aren&#8217;t saved, every web page is a \u201crecent\u201d go to).<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The principle level right here is that general, Google will take longer to index content material that&#8217;s rendered via JavaScript, and will often miss issues altogether.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">So, how a lot essential content material is being affected? When one thing is modified, how lengthy does it take to be mirrored in SERPs? Preserve questions like this in thoughts all through the audit.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">A five-step information to a JavaScript search engine optimisation audit<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Everybody may have their very own distinctive technique to perform a JavaScript search engine optimisation audit, however if you happen to\u2019re undecided the place to start otherwise you assume you\u2019re lacking a couple of steps out of your present course of, then learn on.<\/span><\/p>\n<h3 id=\"whether-a-site-relies-on-javascript\">1. Perceive how reliant on JavaScript a website is<\/h3>\n<p><span style=\"font-weight: 400;\">Initially, it\u2019s essential to find out whether or not the location depends closely on JavaScript and if that&#8217;s the case, to what extent? It will assist steer how deep your subsequent evaluation ought to be.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This may be achieved through a number of strategies:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">What Would JavaScript Do?<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Disable JavaScript regionally through Chrome<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Manually examine in Chrome<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Wappalyzer<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Screaming Frog<\/span><\/li>\n<\/ul>\n<h4><span style=\"font-weight: 400;\">What Would JavaScript Do (WWJSD)<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">A software offered by <\/span><a href=\"https:\/\/www.onely.com\/\"><span style=\"font-weight: 400;\">Onely<\/span><\/a><span style=\"font-weight: 400;\"> which gives easy, side-by-side comparisons of a URL by presenting screenshots of HTML, meta tags, and hyperlinks, with and with out JavaScript.<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68111 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog2-480x268.png\" alt=\"what would javascript do page\" width=\"557\" height=\"311\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog2-480x268.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog2-180x101.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog2-280x156.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog2.png 512w\" data-sizes=\"auto, (max-width: 557px) 100vw, 557px\"\/> <span style=\"font-weight: 400;\">Take into account fastidiously whether or not you wish to examine cellular or desktop. Though mobile-first rules typically apply, JavaScript tends for use extra as a part of a desktop expertise. However ideally if you happen to\u2019ve acquired the time, take a look at each!<\/span><\/p>\n<p>Steps for analysing Javascript use in WWJSD:<\/p>\n<blockquote>\n<ol>\n<li><a style=\"font-size: 16px; background-color: #fefefe;\" href=\"https:\/\/www.onely.com\/tools\/wwjd\/\">Visit WWJSD <\/a><\/li>\n<li>Select cellular or desktop<\/li>\n<li>Enter URL<\/li>\n<li>Submit type<\/li>\n<\/ol>\n<\/blockquote>\n<h4><span style=\"font-weight: 400;\">Disable regionally through Chrome<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Chrome browser means that you can disable any JavaScript in-place and take a look at instantly:<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68112 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog3-480x308.png\" alt=\"disabling javascript in chrome\" width=\"525\" height=\"337\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog3-480x308.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog3-180x115.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog3-280x179.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog3.png 512w\" data-sizes=\"auto, (max-width: 525px) 100vw, 525px\"\/><span style=\"font-weight: 400;\">Steps for analysing JavaScript use utilizing Chrome:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Press F12 to open devtools and choose Parts tab if not already open<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Cmd+Shift+P (or Ctrl+Shift+P)<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Sort \u201cdisable\u201d and choose *Disable JavaScript*<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Refresh the web page<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Don\u2019t neglect to re allow<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<h4><span style=\"font-weight: 400;\">Manually examine in Chrome<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">There are two methods to examine supply HTML in Chrome as they supply barely totally different outcomes.<\/span><\/p>\n<p><b>Viewing supply<\/b><span style=\"font-weight: 400;\"> will show the HTML as initially acquired, while <\/span><b>inspecting supply<\/b><span style=\"font-weight: 400;\"> takes dynamic modifications into impact \u2013 something added by JavaScript shall be obvious.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Viewing supply:\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"font-weight: 400;\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-68113 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog4-480x266.png\" alt=\"viewing source\" width=\"562\" height=\"312\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog4-480x266.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog4-180x100.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog4-280x155.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog4.png 512w\" data-sizes=\"auto, (max-width: 562px) 100vw, 562px\"\/><\/span><span style=\"font-weight: 400;\">Inspecting supply:<\/span><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-68114 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog5-480x253.png\" alt=\"inspecting source\" width=\"510\" height=\"269\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog5-480x253.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog5-180x95.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog5-280x148.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog5.png 512w\" data-sizes=\"auto, (max-width: 510px) 100vw, 510px\"\/><span style=\"font-weight: 400;\">That is greatest used as a fast technique to examine for a full JavaScript framework. The preliminary supply obtain shall be shorter and sure lacking most content material, however inspector shall be fuller.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Strive looking out in each for some textual content that you simply suspect is dynamically loaded \u2013 content material or navigation headers are normally greatest.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Steps for manually analysing JavaScript use utilizing Chrome:<\/span><span style=\"font-weight: 400;\"><br \/><\/span><span style=\"font-weight: 400;\"><br \/><\/span><b>View supply:<\/b><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Proper click on in browser viewport<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Choose View Supply<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<p><b>Examine supply:<\/b><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Press F12 to open devtools<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Choose Parts tab if not already open<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<h4><span style=\"font-weight: 400;\">Wappalyzer<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">This can be a software that gives a breakdown of the expertise stack behind a website. There\u2019s normally a good quantity of information however we\u2019re particularly searching for JavaScript frameworks:\u00a0\u00a0<\/span><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68119 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog6-480x367.png\" alt=\"wappalyzer\" width=\"523\" height=\"400\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog6-480x367.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog6-180x137.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog6-280x214.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog6.png 512w\" data-sizes=\"auto, (max-width: 523px) 100vw, 523px\"\/><span style=\"font-weight: 400;\">Steps for utilizing Wappalyzer to analyse JavaScript use<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Set up the <\/span><a href=\"https:\/\/chrome.google.com\/webstore\/search\/wappalyzer\"><span style=\"font-weight: 400;\">Wappalyzer<\/span><\/a><span style=\"font-weight: 400;\"> Chrome extension<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Go to the location you wish to examine<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Click on the Wappalyzer icon and assessment the output<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<p><i><span style=\"font-weight: 400;\">\u26a0\ufe0f Remember that simply because one thing isn\u2019t listed right here, it doesn\u2019t affirm 100% that it isn\u2019t getting used!<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">Wappalyzer depends on fingerprinting to establish a framework. That&#8217;s, discovering identifiers and patterns distinctive to that framework.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If any effort has been taken to alter these, Wappalyzer is not going to establish the framework. There are different methods to verify this that are past the scope of this doc. Ask a dev.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Screaming Frog<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">This can be a deep-dive of JavaScript visibility checking. With JavaScript<\/span><a href=\"https:\/\/www.screamingfrog.co.uk\/crawl-javascript-seo\/\"><span style=\"font-weight: 400;\"> rendering enabled<\/span><\/a><span style=\"font-weight: 400;\">, Screaming Frog can present a complete breakdown of the influence of JavaScript on a crawled website, together with rendered content material\/hyperlink protection and potential points.<\/span><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68115 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog7-480x164.png\" alt=\"screaming frog\" width=\"576\" height=\"197\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog7-480x164.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog7-180x62.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog7-280x96.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog7.png 512w\" data-sizes=\"auto, (max-width: 576px) 100vw, 576px\"\/><span style=\"font-weight: 400;\">Steps for utilizing Screaming Frog to analyse Javascript points:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Head to the Configuration menu<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Choose *Spider*<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Choose Rendering tab<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Select JavaScript from the dropdown<\/span><\/li>\n<li><span style=\"font-weight: 400;\">(elective) Scale back AJAX timeout and untick to enhance crawl efficiency if struggling<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<h3 id=\"cached-assets\">2.Use a compelled cache refresh<\/h3>\n<p><span style=\"font-weight: 400;\">Caching is a course of that permits web sites to be loaded extra effectively. While you initially go to a URL, all of the property required are saved in varied locations, similar to your browser or internet hosting server. Which means that as an alternative of rebuilding pages from scratch upon each go to, the final identified model of a web page is saved for quicker subsequent visits.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">When a JavaScript file has been up to date, you don\u2019t need the cached model for use. Google additionally caches fairly aggressively so that is significantly essential to make sure that the freshest model of your web site is being rendered.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">There are a couple of methods to cope with this, similar to including an expiration date to the cached file, however typically the most effective \u201con demand\u201d resolution is to make use of a <\/span><b>compelled cache refresh<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The precept is straightforward: say you will have a JavaScript file referred to as \u2018foremost.js\u2019 which accommodates the majority of the JavaScript for the location. If this file is cached, Google will use that model and ignore any updates; at greatest, the rendered web page shall be outdated; at worst, it\u2019ll be damaged.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Greatest follow is to alter the filename to differentiate it from the earlier model. This normally entails some form of model quantity or producing a code by fingerprinting the file.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To attain this, there are two methods:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A few recordsdata with the \u2018Final Up to date\u2019 timestamp appended as a URL variable.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A singular code getting used within the filename itself \u2013 \u2018filename.code.js\u2019 is a typical sample like under:<\/span><\/li>\n<\/ol>\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68116 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog8-480x159.png\" alt=\"changing filename to avoid caching\" width=\"529\" height=\"176\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog8-480x159.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog8-180x60.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog8-280x93.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog8.png 512w\" data-sizes=\"auto, (max-width: 529px) 100vw, 529px\"\/><span style=\"font-weight: 400;\">Steps to comply with:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Press F12 to load Chrome devtools<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Go to the \u2018Community\u2019 tab<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Apply filters <\/span>\n<ul>\n<li><span style=\"font-weight: 400;\">Within the *Filter* discipline, filter for the primary area like so: `area:*.web site.com`<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Click on the JS filter to exclude non-JS recordsdata<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"font-weight: 400;\">Evaluation the file checklist and consider \u2013 search dev help if required<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<p><i><span style=\"font-weight: 400;\">\u26a0\ufe0f Though the related JavaScript recordsdata are usually discovered on the primary area, in some circumstances they could be hosted externally, similar to on a content material supply community (CDN).<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">On WP Engine hosted websites you could have to filter for \u2018*.wpenginepowered.com\u2019 as an alternative of the primary area, per the above instance. There aren&#8217;t any laborious and quick guidelines right here \u2013 assessment the domains within the (unfiltered) JS checklist and use your greatest judgement. An instance of what you may see is:<img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68117 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog9-480x199.png\" alt=\"example of domain list when filtering for \u2018*.wpenginepowered.com\" width=\"515\" height=\"214\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog9-480x199.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog9-180x75.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog9-280x116.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog9.png 512w\" data-sizes=\"auto, (max-width: 515px) 100vw, 515px\"\/><\/span><span style=\"font-weight: 400;\">If the Area column isn\u2019t seen, right-click an present column header and choose Area.<\/span><\/p>\n<h3 id=\"site-performance\">3. Establish what influence JS has on website efficiency<\/h3>\n<p><span style=\"font-weight: 400;\">In the case of website efficiency, there are some things to be careful for.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Processing time<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">This ties into <\/span><a href=\"https:\/\/www.hallaminternet.com\/web-design-agency\/core-web-vitals-performance-audits\/\"><span style=\"font-weight: 400;\">Core Web Vitals<\/span><\/a><span style=\"font-weight: 400;\"> (CWV), a few of that are represented within the timings visualisation under, which seems at metrics like largest contentful ache (LCP), cumulative format shift (CLS) and first enter delay (FID).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Particularly, you\u2019re  within the loading and scripting occasions within the abstract. If these are extreme it\u2019s presumably an indication of huge and\/or inefficient scripts.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The waterfall view additionally gives a helpful visualisation of the influence every CWV has, in addition to different parts of the location.<\/span><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68118 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog10-480x321.png\" alt=\"waterfall view of CWV\" width=\"546\" height=\"366\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog10-480x321.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog10-180x120.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog10-280x187.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog10.png 512w\" data-sizes=\"auto, (max-width: 546px) 100vw, 546px\"\/><span style=\"font-weight: 400;\">Steps:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Press F12 to open Chrome devtools<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Go to the \u2018Efficiency\u2019 tab<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Click on the refresh button within the panel<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Evaluation the Abstract tab (or Backside Up if you wish to deep dive)<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<h4><span style=\"font-weight: 400;\">Compression<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">This can be a easy examine however an essential one; it ensures that recordsdata are effectively served.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A correctly configured host will compress website property to allow them to be downloaded by browsers as rapidly as potential. Community pace is commonly probably the most important (and variable) chokepoint of website loading time.<\/span><span style=\"font-weight: 400;\"><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68123 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog11-480x83.png\" alt=\"loading time of CWV\" width=\"554\" height=\"96\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog11-480x83.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog11-180x31.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog11-280x49.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog11.png 512w\" data-sizes=\"auto, (max-width: 554px) 100vw, 554px\"\/><\/span><span style=\"font-weight: 400;\">Steps:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Press F12 to open Chrome devtools<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Go to the \u2018Community\u2019 tab<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Apply filters<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Within the \u2018Filter\u2019 discipline, filter for the primary area like so: `area:*.web site.com`<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Click on the JS filter to exclude non-JS recordsdata<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Evaluation the content material of the \u2018Content material-Encoding\u2019 column. If it reads \u2018gzip\u2019, \u2018compress\u2019, \u2018deflate\u2019, or \u2018br\u2019, then compression is being utilized.<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<p><span style=\"font-weight: 400;\">\u2139\ufe0f If the content-encoding column isn\u2019t seen:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Proper-click on an present column<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Hover over \u2018Response Headers\u2019<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Click on \u2018Content material Encoding\u2019<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Protection<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<p><span style=\"font-weight: 400;\">A rise in feature-packed asset frameworks (e.g. Bootstrap, Basis, or Tailwind) makes for quicker improvement however may also result in giant chunks of JavaScript that aren\u2019t truly used.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This examine helps visualise how a lot of every file just isn&#8217;t truly getting used on the present URL.<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">\u26a0\ufe0f Remember that unused JavaScript on one web page could also be used on others! That is meant for steering primarily, indicating a chance for optimisation.<\/span><\/i><img decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-68124 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog12-480x64.png\" alt=\"check for unused javascript\" width=\"480\" height=\"64\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog12-480x64.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog12-180x24.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog12-280x37.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog12.png 512w\" data-sizes=\"auto, (max-width: 480px) 100vw, 480px\"\/><span style=\"font-weight: 400;\">Steps:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Press F12 to open Chrome devtools<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Cmd+Shift+P (or Ctrl+Shift+P)<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Click on \u2018Present Protection\u2019<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Click on the refresh button within the panel<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Apply filters<\/span>\n<ul>\n<li>Within the *Filter* discipline, filter for the primary area. No wildcards right here; \u2018web site.com\u2019 will do.<\/li>\n<li><span style=\"font-weight: 400;\">Choose JavaScript from the dropdown subsequent to the filter enter<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/blockquote>\n<h4><span style=\"font-weight: 400;\">Minification<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">JavaScript is initially written in a human-readable manner, with formatting and phrases which might be simple to cause about. Computer systems don\u2019t care about this \u2013 they interpret a complete file as a single line of code and don\u2019t care what issues are referred to as so long as they\u2019re referenced constantly.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It\u2019s due to this fact good to squish recordsdata right down to the smallest dimension potential. That is referred to as minification and is frequent follow, however nonetheless often missed.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Recognizing the variations is trivial:<\/span><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68125 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog13-480x177.png\" alt=\"minified file\" width=\"543\" height=\"200\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog13-480x177.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog13-180x66.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog13-280x103.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog13.png 512w\" data-sizes=\"auto, (max-width: 543px) 100vw, 543px\"\/><span style=\"font-weight: 400;\">^ Minified = good!<\/span><span style=\"font-weight: 400;\"><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68126 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog14-480x177.png\" alt=\"not minified file\" width=\"562\" height=\"207\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog14-480x177.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog14-180x66.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog14-280x103.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog14.png 512w\" data-sizes=\"auto, (max-width: 562px) 100vw, 562px\"\/><\/span><span style=\"font-weight: 400;\">^ Not minified = not good!<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">\u2139\ufe0f This primarily applies to websites in PRODUCTION. Websites in improvement\/testing are inclined to have unminified recordsdata to make bugs simpler to seek out.<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400;\">Steps:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Press F12 to open Chrome devtools<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Go to the \u2018Community\u2019 tab<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Apply filters<\/span>\n<ul>\n<li><span style=\"font-weight: 400;\">Within the \u2018Filter\u2019 discipline, filter for the primary area like so: area:*.web site.com<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Click on the JS filter to exclude non-JS recordsdata<\/span><\/li>\n<\/ul>\n<\/li>\n<li><span style=\"font-weight: 400;\">Verify every file<\/span>\n<ul>\n<li><span style=\"font-weight: 400;\">Click on on the file identify<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Go to the \u2018Response\u2019 tab on the panel that seems<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/blockquote>\n<h4><span style=\"font-weight: 400;\">Bundling<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">A number of JavaScript recordsdata could be bundled into fewer recordsdata (or one!) to scale back the variety of community requests. Basically, the extra JavaScript recordsdata being pulled in from the primary area, the much less possible it&#8217;s that this method is getting used.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This isn\u2019t actually a dealbreaker more often than not, however the extra extreme the variety of separate JavaScript recordsdata, the extra time could be saved by bundling them.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Observe that WordPress particularly encourages recordsdata to be loaded by plugins as and when required, which could end in some pages loading a lot of JavaScript recordsdata and others only a few. So that is extra of a chance train than something.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Steps:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Repeat steps 1-3 from minification<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Observe what number of recordsdata are current \u2013 one to a few is usually a very good signal<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<h3 id=\"fetching-files\">4. Perceive whether or not JavaScript recordsdata are being fetched appropriately and effectively<\/h3>\n<p><span style=\"font-weight: 400;\">There are a few issues to take a look at.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Useful resource blocked by robots.txt<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">JavaScript recordsdata blocked in robots.txt is not going to be fetched by Google when rendering a website, probably ensuing within the render being damaged or lacking information.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Ensure to examine that no JavaScript is being blocked in robots.txt.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Script loading<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">When JavaScript recordsdata are included on a web page, the order of loading is essential.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If too many recordsdata are being retrieved earlier than the user-facing content material, will probably be longer earlier than a person sees the location, impacting usability and growing bounce price. An environment friendly script loading technique will assist minimise the load time of a website.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Direct technique:<\/b><span style=\"font-weight: 400;\"> &lt;script src=\u201dfile.js\u201d&gt;<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The direct technique will load the file there after which. The file is fetched, downloaded or retrieved from cache (that is when it seems within the devtools \u2018Community\u2019 tab), after which parsed and executed earlier than the browser continues loading the web page.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Async technique: <\/b><span style=\"font-weight: 400;\">&lt;script async src=\u201dfile.js\u201d&gt;<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The async technique will fetch the file asynchronously. This implies it&#8217;s going to begin downloading\/retrieving the file within the background and instantly proceed loading the web page. These scripts will run solely when the remainder of the web page is finished loading.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Defer technique: <\/b><span style=\"font-weight: 400;\">&lt;script defer src=\u201dfile.js\u201d&gt;<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The defer technique will fetch the file asynchronously as with the async technique, however it&#8217;s going to run these scripts instantly once they\u2019ve been fetched, even when the web page hasn\u2019t completed loading.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">So, which of those strategies is greatest?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Basic search engine optimisation response, it relies upon. Ideally, any script that may be async\/defer ought to be so. Devs can decide which is best suited relying on what the code does, and could also be persuaded to additional break down the scripts to allow them to be extra effectively dealt with somehow.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Each varieties can typically be positioned in the primary &lt;head&gt; space of the HTML since they don\u2019t delay content material load. Loading through direct technique is usually unavoidable however as a rule ought to occur on the finish of the web page content material, earlier than the closing &lt;\/physique&gt; tag. This ensures that the primary web page content material has been delivered to the person earlier than loading\/working any scripts. Once more, this isn&#8217;t all the time potential (or fascinating) however one thing to be conscious of.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Evaluation third celebration script influence<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Websites will usually pull in third celebration scripts for a wide range of functions, mostly this contains analytics and adverts assets. The sticking level is that these usually load their very own extra scripts, which in flip can load extra. This may in precept be reviewed through devtools community information, however the full image could be tough to understand.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Fortunately, there\u2019s a helpful software that may visually map out the dependencies to offer perception into what\u2019s being loaded and from the place:<\/span><span style=\"font-weight: 400;\"><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-68127 aligncenter\" src=\"https:\/\/mailinvest.blog\/wp-content\/themes\/breek\/assets\/images\/transparent.gif\" data-lazy=\"true\" data-src=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog15-480x368.png\" alt=\"tool showing dependencies\" width=\"555\" height=\"426\" data-srcset=\"https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog15-480x368.png 480w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog15-180x138.png 180w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog15-280x215.png 280w, https:\/\/hallam2018.wpenginepowered.com\/wp-content\/uploads\/2023\/02\/javascriptblog15.png 512w\" data-sizes=\"auto, (max-width: 555px) 100vw, 555px\"\/>The objective right here is to determine what\u2019s being loaded and spot alternatives to scale back the variety of third celebration scripts the place they&#8217;re redundant, not in use, or unsuitable on the whole.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Steps:<\/span><\/p>\n<blockquote>\n<ol>\n<li><span style=\"font-weight: 400;\">Go to <\/span><a href=\"https:\/\/www.webpagetest.org\/\"><span style=\"font-weight: 400;\">WebPagetest<\/span><\/a><\/li>\n<li><span style=\"font-weight: 400;\">Be certain that \u2018Website Efficiency\u2019 take a look at is chosen<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Enter URL and click on \u2018Begin Check\u2019<\/span><\/li>\n<li><span style=\"font-weight: 400;\">On the outcomes abstract web page, discover the \u2018View\u2019 dropdown<\/span><\/li>\n<li><span style=\"font-weight: 400;\">Select \u2018Request Map\u2019<\/span><\/li>\n<\/ol>\n<\/blockquote>\n<h3 id=\"routing-and-redirects\">5. Pay attention to situational JavaScript points<\/h3>\n<h4><span style=\"font-weight: 400;\">JS Frameworks<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">You\u2019ll likely have encountered a number of of the favored JavaScript frameworks kicking round \u2013 React, Vue, and Angular are distinguished examples.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">These sometimes depend on JavaScript to construct a web site, both partly or fully, within the browser, versus downloading already-built pages.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Though this may be useful by way of efficiency and upkeep, it additionally causes complications for search engine optimisation, the most common grievance being that it means extra work for Google to completely render every web page. This delays indexation \u2013 typically significantly. Many within the search engine optimisation neighborhood take this to imply \u201cJavaScript = dangerous\u201d and can discourage the usage of frameworks. That is arguably a case of throwing the child out with the bathwater.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A really viable various is to make use of a service like <\/span><a href=\"https:\/\/prerender.io\/\"><span style=\"font-weight: 400;\">Prerender<\/span><\/a><span style=\"font-weight: 400;\">. It will render and cache your website for search engine crawlers in order that once they go to your website they see an up-to-date and full illustration of it, making certain speedy indexation.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Infinite scroll\u00a0<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">Infinite scroll tends to be janky and <\/span><a href=\"https:\/\/www.hallaminternet.com\/seo-pagination-issues-for-ecommerce\/\"><span style=\"font-weight: 400;\">not as solid as pagination<\/span><\/a><span style=\"font-weight: 400;\">, however there are proper and fallacious methods of doing it.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Verify any URLs which might be prone to characteristic pagination, similar to blogs and classes, and search for pagination. If infinite scroll is getting used as an alternative, monitor the URL bar whereas scrolling via every batch of outcomes \u2013 does the URL replace to mirror the \u2018web page\u2019 as you scroll via?<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In that case, that is ok for Google and ought to be crawled correctly.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If not, this ought to be mounted by the devs.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">URL updates ought to ideally be carried out in a \u201cclear\u201d manner like ?web page=2 or \/web page\/2. There are methods to do it with a hash (like #page-2), however Google is not going to crawl this presently.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Routing<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">If a JavaScript framework (e.g. React, Vue, Angular) is in use, examine with<\/span><a href=\"https:\/\/www.notion.so\/JavaScript-SEO-audit-36392829ce824dcc897c08fc1739a896\"><span style=\"font-weight: 400;\"> Wappalyzer<\/span><\/a><span style=\"font-weight: 400;\">. There are a few URLs that you simply\u2019re prone to see:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">https:\/\/www.web site.com\/fairly\/customary\/route<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">https:\/\/www.web site.com\/#\/wait\/what\/is\/this<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">https:\/\/www.web site.com\/#!\/once more\/what<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The hash within the second and third examples could be generated by JavaScript frameworks. It\u2019s high quality for searching however Google gained\u2019t be capable of crawl them correctly.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">So if you happen to spot # (or some variation of this) previous in any other case \u201cright\u201d wanting URL segments, it\u2019s price suggesting a change to a hashless URL format.<\/span><\/p>\n<h4><span style=\"font-weight: 400;\">Redirects<\/span><\/h4>\n<p><span style=\"font-weight: 400;\">JavaScript redirects ought to be averted on the whole. Though they are going to be recognised by search engines like google, they require rendering to work and as such are sub-optimal for search engine optimisation.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You may examine for these by working a Screaming Frog crawl with JavaScript rendering enabled and reviewing the JS redirects below the JS tab\/filter.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">There could also be situations the place some particular JS-driven characteristic necessitates a JS redirect. As long as these are the exception fairly than the rule, that is high quality.<\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Conclusion<\/span><\/h2>\n<p><span style=\"font-weight: 400;\">Javascript can pose points for search engine optimisation, however these could be minimised by fastidiously understanding and auditing the important thing potential drawback areas:<\/span><\/p>\n<p><span style=\"font-weight: 400;\">1) How reliant a website is on JavaScript<\/span><\/p>\n<p><span style=\"font-weight: 400;\">2) Whether or not JavaScript property are being cached\/up to date appropriately<\/span><\/p>\n<p><span style=\"font-weight: 400;\">3) What influence is JavaScript having on website efficiency<\/span><\/p>\n<p><span style=\"font-weight: 400;\">4) Whether or not JavaScript recordsdata are being fetched appropriately and effectively<\/span><\/p>\n<p><span style=\"font-weight: 400;\">5) Situational JavaScript points, similar to infinite scroll routing and redirects\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You probably have any questions on JavaScript auditing or search engine optimisation, don\u2019t hesitate to <\/span><a href=\"https:\/\/www.hallaminternet.com\/contact\/\"><span style=\"font-weight: 400;\">contact us<\/span><\/a><span style=\"font-weight: 400;\"> \u2013 we\u2019d be pleased to talk.<\/span><\/p>\n<hr\/><\/div>\n<iframe data-lazy=\"true\" data-src=\"https:\/\/www.fiverr.com\/gig_widgets?id=U2FsdGVkX18x7XQvttUTrv1oEqmGNGTgvvCUiUoJ\/AP4z\/UyMz8lXGOLpu15jIMxBbTR0gmD5uBoFvhC4KWeALQRp3h\/X\/AwcVD0K8Wj9H\/ZzYKzcCNHosB9oS4SCJJFWiN85P9ICAc4OgCoE\/wHKIY7CDkf2\/DQ1vqGvk4smVe5cRDEmrLPCWi4FC8p40VUhSmWQ5udCm0zoJtorgWv3vbDQw0kKYkwn39ozAnQXDe+YvWMxkLFWA+O3TFwkJvdkIK+\/AUSnRssPKt5WHY0FhNOxnSPcLslEL4G4\/RfP95ve99U+kRnDy3X+KtzdQLY+u935ghON\/o3UE4IMv9oN6JX9RnxzL\/LRcOgnHigxStSGPKsZYtnz8RWNVT\/rOLAibqiWJadC5MYHRbekF3eg6FOGrQGkXYbsn0+a5aovnlLCbLwIqY9fcS17UX8J235iQ6cdmHNbrPeS84CMm34RA==&affiliate_id=1052423&strip_google_tagmanager=true\" loading=\"lazy\" data-with-title=\"true\" class=\"fiverr_nga_frame\" frameborder=\"0\" height=\"350\" width=\"100%\" referrerpolicy=\"no-referrer-when-downgrade\" data-mode=\"random_gigs\" onload=\" var frame = this; var script = document.createElement('script'); script.addEventListener('load', function() { window.FW_SDK.register(frame); }); script.setAttribute('src', 'https:\/\/www.fiverr.com\/gig_widgets\/sdk'); document.body.appendChild(script); \" ><\/iframe>\n<br \/><a href=\"https:\/\/www.hallaminternet.com\/how-to-audit-javascript-for-seo\/\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>JavaScript is current all over the place on the net. Since HTML and CSS are static in nature, JavaScript has been broadly adopted to offer&#8230;<\/p>\n","protected":false},"author":1,"featured_media":49197,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-49196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-universe"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to audit JavaScript for SEO - mailinvest.blog<\/title>\n<meta name=\"description\" content=\"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what&#039;s new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to audit JavaScript for SEO - mailinvest.blog\" \/>\n<meta property=\"og:description\" content=\"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what&#039;s new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/\" \/>\n<meta property=\"og:site_name\" content=\"mailinvest.blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/freelanceracademic\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-07T03:18:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-07T03:20:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mailinvest.blog\/wp-content\/uploads\/2023\/03\/gabriel-heinzer-g5jpH62pwes-unsplash.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin@mailinvest.blog\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin@mailinvest.blog\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/\"},\"author\":{\"name\":\"admin@mailinvest.blog\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#\\\/schema\\\/person\\\/012701c4c204d4e4ebd34f926cfd31a4\"},\"headline\":\"How to audit JavaScript for SEO\",\"datePublished\":\"2023-03-07T03:18:36+00:00\",\"dateModified\":\"2023-03-07T03:20:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/\"},\"wordCount\":3747,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/gabriel-heinzer-g5jpH62pwes-unsplash.jpg\",\"articleSection\":[\"Tech Universe\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/\",\"url\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/\",\"name\":\"How to audit JavaScript for SEO - mailinvest.blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/gabriel-heinzer-g5jpH62pwes-unsplash.jpg\",\"datePublished\":\"2023-03-07T03:18:36+00:00\",\"dateModified\":\"2023-03-07T03:20:18+00:00\",\"description\":\"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what's new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/#primaryimage\",\"url\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/gabriel-heinzer-g5jpH62pwes-unsplash.jpg\",\"contentUrl\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/gabriel-heinzer-g5jpH62pwes-unsplash.jpg\",\"width\":1920,\"height\":1440},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/2023\\\/03\\\/07\\\/how-to-audit-javascript-for-seo\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/mailinvest.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to audit JavaScript for SEO\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#website\",\"url\":\"https:\\\/\\\/mailinvest.blog\\\/\",\"name\":\"mailinvest.blog\",\"description\":\"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis. mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what&#039;s new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.\",\"publisher\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/mailinvest.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#organization\",\"name\":\"mailinvest\",\"url\":\"https:\\\/\\\/mailinvest.blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/default.png\",\"contentUrl\":\"https:\\\/\\\/mailinvest.blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/default.png\",\"width\":1000,\"height\":1000,\"caption\":\"mailinvest\"},\"image\":{\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/freelanceracademic\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/mailinvest.blog\\\/#\\\/schema\\\/person\\\/012701c4c204d4e4ebd34f926cfd31a4\",\"name\":\"admin@mailinvest.blog\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g\",\"caption\":\"admin@mailinvest.blog\"},\"sameAs\":[\"https:\\\/\\\/mailinvest.blog\",\"admin@mailinvest.blog\"],\"url\":\"https:\\\/\\\/mailinvest.blog\\\/index.php\\\/author\\\/adminmailinvest-blog\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to audit JavaScript for SEO - mailinvest.blog","description":"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what's new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/","og_locale":"en_US","og_type":"article","og_title":"How to audit JavaScript for SEO - mailinvest.blog","og_description":"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what's new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.","og_url":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/","og_site_name":"mailinvest.blog","article_publisher":"https:\/\/www.facebook.com\/freelanceracademic\/","article_published_time":"2023-03-07T03:18:36+00:00","article_modified_time":"2023-03-07T03:20:18+00:00","og_image":[{"width":1920,"height":1440,"url":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2023\/03\/gabriel-heinzer-g5jpH62pwes-unsplash.jpg","type":"image\/jpeg"}],"author":"admin@mailinvest.blog","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin@mailinvest.blog","Est. reading time":"19 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/#article","isPartOf":{"@id":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/"},"author":{"name":"admin@mailinvest.blog","@id":"https:\/\/mailinvest.blog\/#\/schema\/person\/012701c4c204d4e4ebd34f926cfd31a4"},"headline":"How to audit JavaScript for SEO","datePublished":"2023-03-07T03:18:36+00:00","dateModified":"2023-03-07T03:20:18+00:00","mainEntityOfPage":{"@id":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/"},"wordCount":3747,"commentCount":0,"publisher":{"@id":"https:\/\/mailinvest.blog\/#organization"},"image":{"@id":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/#primaryimage"},"thumbnailUrl":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2023\/03\/gabriel-heinzer-g5jpH62pwes-unsplash.jpg","articleSection":["Tech Universe"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/","url":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/","name":"How to audit JavaScript for SEO - mailinvest.blog","isPartOf":{"@id":"https:\/\/mailinvest.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/#primaryimage"},"image":{"@id":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/#primaryimage"},"thumbnailUrl":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2023\/03\/gabriel-heinzer-g5jpH62pwes-unsplash.jpg","datePublished":"2023-03-07T03:18:36+00:00","dateModified":"2023-03-07T03:20:18+00:00","description":"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis.mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what's new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.","breadcrumb":{"@id":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/#primaryimage","url":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2023\/03\/gabriel-heinzer-g5jpH62pwes-unsplash.jpg","contentUrl":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2023\/03\/gabriel-heinzer-g5jpH62pwes-unsplash.jpg","width":1920,"height":1440},{"@type":"BreadcrumbList","@id":"https:\/\/mailinvest.blog\/index.php\/2023\/03\/07\/how-to-audit-javascript-for-seo\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mailinvest.blog\/"},{"@type":"ListItem","position":2,"name":"How to audit JavaScript for SEO"}]},{"@type":"WebSite","@id":"https:\/\/mailinvest.blog\/#website","url":"https:\/\/mailinvest.blog\/","name":"mailinvest.blog","description":"Technology is forever changing, and there are always new pieces of technology to replace obsolete ones. Tons of people enjoy reading tech blogs on a daily basis. mailinvest.blog tracks all the latest consumer technology breakthroughs and shows you what&#039;s new, what matters and how technology can enrich your life. mailinvest.blog also provides the information, tools, and advice that helps when deciding what to buy.","publisher":{"@id":"https:\/\/mailinvest.blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mailinvest.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/mailinvest.blog\/#organization","name":"mailinvest","url":"https:\/\/mailinvest.blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/mailinvest.blog\/#\/schema\/logo\/image\/","url":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2022\/01\/default.png","contentUrl":"https:\/\/mailinvest.blog\/wp-content\/uploads\/2022\/01\/default.png","width":1000,"height":1000,"caption":"mailinvest"},"image":{"@id":"https:\/\/mailinvest.blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/freelanceracademic\/"]},{"@type":"Person","@id":"https:\/\/mailinvest.blog\/#\/schema\/person\/012701c4c204d4e4ebd34f926cfd31a4","name":"admin@mailinvest.blog","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/98ed217bd0f3d6a6dcae2d9b0c76e305b049a07275e315e1407e19ec8b08e139?s=96&d=mm&r=g","caption":"admin@mailinvest.blog"},"sameAs":["https:\/\/mailinvest.blog","admin@mailinvest.blog"],"url":"https:\/\/mailinvest.blog\/index.php\/author\/adminmailinvest-blog\/"}]}},"_links":{"self":[{"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/posts\/49196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/comments?post=49196"}],"version-history":[{"count":1,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/posts\/49196\/revisions"}],"predecessor-version":[{"id":49198,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/posts\/49196\/revisions\/49198"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/media\/49197"}],"wp:attachment":[{"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/media?parent=49196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/categories?post=49196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mailinvest.blog\/index.php\/wp-json\/wp\/v2\/tags?post=49196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}