Understanding JavaScript Rendering For SEO (+6 Easy Ways To Test!)
Jun 16, 2023
- SEO
- Daniel Trick
JavaScript is a powerful programming language that can enhance user experience and add interactivity to websites.
But here’s the thing: search engines don’t always get along with JavaScript.
It’s important to understand how JavaScript rendering affects SEO. Then, you can take the necessary steps to ensure your website gets the visibility it deserves.
In this guide, we’ll cover:
- The need-to-know aspects of JavaScript rendering
- Six easy ways to test how search engines view your website
- Practical SEO Techniques for JavaScript Sites
What Is JavaScript, And What Does Rendering Mean?
JavaScript is a popular programming language for creating dynamic and interactive web pages.
When Google crawls a website, it needs to understand the content and structure of the site to index its pages.
It uses a process called “JavaScript rendering” to achieve this. Google executes the JavaScript code and then analyzes the resulting HTML content.
This allows search engines to index the dynamically generated content.
However, this process isn’t perfect. It takes Google 9x times longer to crawl JavaScript content on pages than a plain HTML page.
Sometimes search engines do not execute JavaScript fully or correctly, leaving valuable page elements undetected by crawlers and potentially inhibiting rankings.
What Are the Problems With JavaScript for SEO?
One of the main issues is that search engines can struggle to crawl and render content generated by JavaScript.
If Google cannot crawl an element of a page, that section of content will not be added to Google’s index.
In some cases, this can be the entire content of a page, meaning no chance of rankings!
An uncrawlable page not only prevents its ability to rank but can also inhibit a site’s SEO in general.
If Google sees multiple pages as identical due to a failure with JavaScript rendering, it may mistakenly treat them as duplicate content. This can lead to unwanted canonicalization or important pages being completely ignored by crawlers which can be detrimental to your overall SEO.
Any links on a page that a crawler has failed to render will not be crawled either, so no link equity from that page will pass on to internal or external sources.
With significant internal links being missed by crawlers, a search engine’s understanding of your site’s navigation may also become skewed, while there is also potential for important pages to be treated as orphan pages.
Some other SEO issues likely to arise from failed JavaScript rendering include:
- Images being dropped from the index, reducing image traffic.
- Dynamically-generated page titles may be overlooked, affecting search rankings and click-through rates.
Why Use JavaScript for an SEO Project?
So, there can be a lot of SEO headaches caused by JavaScript.
You might be wondering why you’d ever use JavaScript for an SEO project at all, given these potential issues.
Well, there are actually plenty of reasons why you would want to use it for a web development project.
JavaScript can significantly enhance the user experience and engagement on your website. You can use it to create slide decks, animations, and other interactive features.
It can also improve the performance and speed of your website. You can optimize your site using lazy loading, code splitting, caching, and service workers.
You can also create dynamic and personalized content based on user behavior, preferences, and location.
There’s a reason why over 98% of websites use JavaScript.
The web has moved from plain HTML – as an SEO you can embrace that. Learn from JS devs & share SEO knowledge with them. JS’s not going away.
— John Mueller (official) · #StaplerLife (@JohnMu) August 8, 2017
You just need to use JavaScript properly and test for any potential issues!
6 Easy Ways To Test JavaScript Rendering For SEO
Testing JavaScript rendering can help you identify potential issues that might stop Google from crawling and indexing your content.
Here are six easy ways to do it:
1. Test If Chrome Can Load the Page When JavaScript Is Blocked
The first port of call is to disable JavaScript from your browser.
If your browser cannot fully display the content, then there must be an issue with rendering JavaScript into an HTML document.
Once the page is loaded in Google Chrome, click the padlock in the address bar and select ‘Site settings.’
Then, scroll down to JavaScript and select Block.
When you return to the tab, Chrome will suggest reloading the page. Click Reload.
Can you still see the content?
If the page has entirely disappeared, like in the example above, there is evidently an issue with the page’s JavaScript rendering.
Google likely won’t be able to crawl the content.
In some cases, only certain features, such as ad banners, will be missing on the page.
You’re looking to see that all the content you want to be crawled is visible. For example, if Google cannot crawl entire paragraphs, it will miss key information, jeopardizing the page’s ranking potential.
It’s not just the page’s body content at risk, either…
2. Check How An SEO Analysis Tool Views The Page
Using a quick and easy SEO analysis tool is an even easier way to identify JavaScript SEO issues.
By mimicking the crawling process, you can get some indication of how search engines understand the page.
Click the icon in the address bar and revert to allowing JavaScript in Chrome again.
Now, analyze the on-page SEO of the webpage using a browser add-on such as SEOMinion.
A sidebar will launch. Now, select ‘Analyze On-Page SEO.’
Use the generated report and compare it to what you can actually see on the page:
- What is the word count of the page?
- Are all the Heading tags present?
- Is the number of images correct?
- Are any other elements appearing differently according to the analysis tool?
In this example, we can see the word count for the page is just one word, which would make for a very thin article!
There is only one heading tag (the H1) on the page, and this appears to be pulling through fine. But, if there were any H2 or H3 tags, they probably wouldn’t pull through, as the word count indicates that the body of the content is not rendering correctly.
The page has three images, but this tool shows that only one is visible.
When downloading the image file, we found this was the site logo (pulling from the header).
If what you can see clashes with what the report ‘sees,’ then this is another indication that content within the body of the page cannot be crawled properly.
3. Google Mobile-Friendly Test
You can also use Google’s Mobile-Friendly Test tool to check the rendered HTML of your web page.
Enter the URL you want to check, and you’ll see a screenshot of the page on the right-hand side of the results page.
This is a visual representation of how Googlebot sees your page. You can compare the screenshot to your page and check for missing elements.
If you notice anything irregular, check the rendered HTML and identify whether anything missing from the screenshot is also missing from the HTML code.
Note: Google will remove this tool at the end of 2023. Not to worry though, as SEO Kristina Azarenko has a great work-around, both for now and for when that comes around:
Google is dropping the Mobile-Friendly Test tool at the end of this year.
For a long time, many technical SEOs have been using the Mobile-Friendly Test tool to check rendered HTML of a page. It’s super handy when you don’t have access to Google Search Console’s URL Inspect tool… pic.twitter.com/AcSh7J7jhu
— Kristina Azarenko (@azarchick) June 12, 2023
This leads us perfectly on to…
4. Google Rich Results Tool
Google’s Rich Results Test offers similar insights into how Googlebot renders JavaScript files.
Enter your URL and run a test to see a screenshot revealing how Googlebot sees the page.
5. Google Search Console URL Inspection
You can use the Google Search Console URL Inspection tool to check JavaScript rendering for a specific URL on your website.
The tool will provide detailed information about the page’s indexing status and JavaScript rendering.
It will indicate if the JavaScript is executed successfully or has any issues.
Pay attention to errors related to JavaScript execution. These can affect how search engines understand and index your content.
6. Use A Specialist Rendering Tool
Another effective way to test JavaScript rendering for SEO is using a specialist rendering tool.
These tools simulate how search engine crawlers interact with JavaScript and render web pages.
Free Tools:
- Fetch & Render – this tool mimics the rendering process (similar to the Google inspection tools) but allows you to test using different user agents.
- Pre-rendering Testing Tool allows you to compare the pre-rendering information from different crawlers. Simply enter your URL and select a user agent, and it’ll allow you to compare what content is being served to different crawlers ahead of the rendering process.
Paid Tools:
Plenty of really powerful Technical SEO software is available today, which is especially useful for large-scale or enterprise-level projects.
All of the below include tools for testing JavaScript rendering:
Whichever tool you use, make sure the following elements are being rendered correctly to ensure crawlability and indexability and that your content is ranking as best it can be from a technical standpoint:
- Copy on the page
- Images
- Canonical tag
- Title & meta description
- Meta robots tag
- Structured data
- Hreflang
- Heading tags
- Video
- Content within interactive elements (i.e. accordion features)
How to Make Your JavaScript Site SEO-Friendly
You can implement several JavaScript SEO best practices to help search engines crawl and index your web pages effectively.
XML Sitemap
A clear sitemap is a must for any site, but for JavaScript-heavy sites it is particularly important, given the above issues that can be faced when it comes to visibility and crawlability.
Luckily plugins exist to automatically create an XML sitemap with different options for the major frameworks you are likely to use.
Links
Use HTML anchor tags with a href attribute for your internal and external links.
Search engines recognize and understand <a> tags as links. Googlebot pulls these links and adds them to the crawl queue.
Use descriptive anchor texts to help Google understand the linked page’s content. Avoid generic phrases and opt for a natural, keyword-rich anchor text that accurately represents the destination page.
Images
Include descriptive alt tags for your images. Alt tags provide alternative text that describes the image content.
This helps search engines understand the image’s relevance to the surrounding content.
Using descriptive and keyword-rich file names for your images is also recommended.
You can use structured data markup like schema.org’s ImageObject to provide additional context about your images.
Server-Side Rendering or Dynamic Rendering
Websites built using JavaScript frameworks like Angular and React default to client-side rendering.
The rendering of the web page takes place in the user’s browser.
The issue is that search engine crawlers may not be able to understand the content – they see a blank page.
An alternative is to use server-side rendering (SSR) to generate HTML versions of your JavaScript-heavy pages.
This allows Google to directly access and index the pre-rendered HTML content.
But, SSR can be expensive and resource-heavy.
A workaround is to use dynamic rendering.
This is when a pre-rendered page is served to search engine bots while regular users still experience the fully dynamic version of the page generated by JavaScript.
Mastering JavaScript SEO
SEO goes beyond optimizing for keywords and securing backlinks. It also involves considering how your website is rendered and presented to search engine crawlers as you move into Technical SEO.
By ensuring that JavaScript rendering doesn’t hinder crawler accessibility, you can improve your visibility in search results and drive organic traffic to your pages.
We know how much effort you put into securing great links and creating impactful content for yourself and your clients; don’t let that effort be undone by poor technical SEO and JavaScript issues!
Become a Pro at SEO
Join 65,000 others and learn the secrets to SEO success with our weekly blog posts.