Opens in a new tab

Local SEO

JavaScript SEO: how Google renders your pages and what to check

How Google crawls, renders and indexes JavaScript pages, what scripts can change, seven checks and what our own pages send before JavaScript runs.

CheckedNovember 3, 2026
Reading time
Listen to this guide
0:00 /4:57

Short answer: Google runs JavaScript with an up-to-date version of Chromium, so it can see content that scripts add. It works in three phases: it crawls the page, renders it when its resources allow, and indexes the rendered HTML. Rendering can wait, and not every bot runs JavaScript, so Google still calls server-side rendering a great idea.

The three phases of a JavaScript page

Phase What Google does What can go wrong
Crawling Fetches the URL if robots.txt allows it and reads the links in the HTML Blocked pages and files aren’t rendered at all
Rendering Runs the JavaScript in a headless Chromium once its resources allow The page can wait in the queue for seconds or longer
Indexing Uses the rendered HTML to index the page Content missing from the rendered HTML can’t be indexed

From Google Search Central, “Understand the JavaScript SEO basics”, read November 3, 2026.

What JavaScript can change, and how

Google only finds links that are a elements with an href attribute. In a single-page app, move between views with the History API, not with # fragments.

You can set the title, the meta description and the canonical with JavaScript. Google prefers the canonical in the original HTML. If a script sets it too, it must match; if the HTML can’t carry it, set it only with JavaScript.

A noindex in the original HTML may make Google skip rendering, so a script that removes it may not work. If you want the page indexed, leave noindex out of the original code.

When a single-page app shows a page that doesn’t exist, redirect with JavaScript to an address that answers 404, or add a noindex with JavaScript. Our guide to soft 404 errors explains why.

How to check your JavaScript pages

  1. Check that robots.txt doesn’t block your JavaScript or CSS files.
  2. Make every link an a element with an href.
  3. Use the History API for client-side routing, not # fragments.
  4. Put the title, meta description and canonical in the original HTML when you can.
  5. Don’t count on JavaScript to remove a noindex.
  6. Give missing pages a real 404, or a noindex added by JavaScript.
  7. Look at the rendered HTML in the URL Inspection tool and compare it with what you expect.

Our guide to robots.txt shows how to see what you block, and our guide to lazy loading images covers images that load as the visitor scrolls.

What our own pages send before JavaScript runs

At 2:59 AM on November 3 we read our 301 redirect guide three ways: the raw HTML from the server, and rendered in our own headless Chromium with JavaScript on and off.

The raw HTML already had the title, the meta description, the canonical, 1,350 words and 17 links in the main content. With JavaScript on, the tags and links were the same and the text grew by 41 words. With it off, nothing changed.

On our home page, rendering added 125 words, but no new ones: an animation repeats a strip of phrases. The only new link is our email address, which a script writes into the page.

Before you rely on JavaScript

  • robots.txt doesn’t block your scripts or styles.
  • Links are a elements with an href.
  • Views change with the History API, not fragments.
  • The title, description and canonical are in the HTML.
  • No page needs JavaScript to drop a noindex.
  • URL Inspection shows your content in the rendered HTML.

RememberGoogle can run your JavaScript, but rendering can wait and other bots may not run it at all. Put the content, links and tags in the HTML your server sends, and check the rendered page in URL Inspection.

If you want us to check how Google sees your pages, see our technical SEO service.

Quick answers about JavaScript SEO

Can Google read content that JavaScript adds?

Yes. Google renders pages in a headless Chromium and indexes the rendered HTML. Content that doesn’t show up in that rendered HTML can’t be indexed, so check it in the URL Inspection tool.

How long does Google take to render a page?

Google says a page may wait in the rendering queue for a few seconds, but it can take longer. A headless Chromium renders it once Google’s resources allow.

Should I use server-side rendering?

Google says server-side rendering or pre-rendering is still a great idea, because it makes your site faster for users and crawlers, and not all bots can run JavaScript.

Why does Google use old versions of my JavaScript?

Googlebot caches aggressively, and its renderer may ignore caching headers, so it can use outdated JavaScript or CSS. A fingerprint of the content in the file name, such as main.2bb85551.js, gives each update a new name.

Can I add structured data with JavaScript?

Yes. Google says you can generate the JSON-LD with JavaScript and inject it into the page. Test the result before you rely on it, for example with the Rich Results Test.

Sources

Read on November 3, 2026. Google Search Central: Understand the JavaScript SEO basics. Our own case: our 301 redirect guide and home page, read as raw HTML and rendered with JavaScript on and off, on November 3, 2026.

Pedro Galindez

Pedro Galindez

Founder of Feedback Studios, a bilingual growth studio in Miami.

Listen0:00 /4:57

More guides

Checked November 3, 2026

Duplicate content: what Google does with it and how to avoid it

Which duplicates Google treats as normal, when duplication becomes spam, seven steps to keep content unique and how we check our own pages.

Checked November 3, 2026

Structured data: what it is and how Google uses it

What structured data is, the three formats Google supports, the rules your markup must follow, seven steps and what our own 288 pages send.

Checked November 3, 2026

Search intent: what it is and how to match it

The four kinds of search intent in Google’s rater guidelines, searches with several intents, seven steps to read one and what we found in 26 searches.

Checked November 3, 2026

Meta Ad Library: how to see any page’s Facebook and Instagram ads

What the Meta Ad Library shows for any active ad and for political ads, how to search it in seven steps and what it shows for our own page.

Checked November 3, 2026

Open Graph tags: what they are and how to control your link previews

What Open Graph tags do, the four every page needs, the image size and alt text, seven steps and what our own pages send.

Checked November 3, 2026

Google Ads conversion tracking: how to set it up in 2026

How Google Ads counts a conversion, how to set up website conversions step by step, calls, enhanced conversions, sales you close later and how to check it works.

Next step

Rather talk it through?

In a 20-minute call we look at your business and tell you what we would do first.