— JavaScript and SEO explained, this is the best explanation I’ve seen
— JavaScript and SEO: The Difference Between Crawling and Indexing
— Here’s the bottom line, but you should definitely read the original article

SEO = Efficiency

Good SEO is about making search engines’ lives easier. When we make our content easy to discover, easy to digest, and easy to evaluate, we are rewarded with better rankings.

JavaScript makes search engines’ lives harder. We are asking Google to work harder to discover, digest, and evaluate our content. And often that results in lower rankings.

Yes, JavaScript content is indexed and ranked. But it is done so almost reluctantly. If you are serious about achieving success in organic search, it pays to make things as simple as possible. And that means serving content and links in plain HTML to search engines, so that they can be as efficient as possible when they crawl, index, and rank your webpages.

JavaScript = Inefficiency

What JavaScript content actually does is make the entire process of crawling and indexing enormously inefficient. By embedding content and links in JavaScript, we are asking that Google puts in the effort to render all our pages. Which Google will actually do. But that takes time, and a lot of interplay between the crawler and indexer.

On JavaScript sites where most or all internal links are not part of the HTML source code, in the first instance the crawler finds only a limited set of URLs. It then has to wait for the indexer to render these pages and extract new URLs, which the crawler then looks at and sends to the indexer.

What this also means is that the evaluation of a site’s internal link graph has to happen again and again as new URLs are extracted from JavaScript. With every new set of pages the indexer manages to pry from the site’s JavaScript code, the internal site structure has to be re-evaluated and a page’s relative importance is changed.

This can lead to all kinds of inefficiencies where key pages are deemed unimportant due to a lack of internal link value, or relatively unimportant pages are seen as high value because there are plain HTML links pointing to it that don’t require JavaScript rendering to see.

Need top of the line SEO, PPC, technical internet marketing, data analytics, or web design? Let’s connect here or denis [at] webfia [dot] com