SEO

JavaScript Rendering

Also called Client-side rendering, JS SEO

The extra step search engines take to run a page's JavaScript before seeing its content, which can delay or block indexing.

Quick facts: JavaScript Rendering

Category
SEO
Also called
Client-side rendering, JS SEO
Level
Advanced
Affects
Indexing speed, link discovery, structured data, page speed
Where to see it
Google Search Console (URL Inspection), Screaming Frog, browser developer tools
In this article4
  1. How JavaScript rendering works
  2. Why JavaScript rendering matters
  3. Where JavaScript rendering goes wrong
  4. How to act on it

How JavaScript rendering works

When a search engine fetches a page it first receives the raw HTML the server sent. On a traditional site that file already contains the headings, text and links. On a site built with a JavaScript framework it often contains very little — an empty container and a script that will build the content once it runs in a browser. To see that content, the search engine has to do a second job: load the scripts, execute them, and read the page that results. That second job is rendering.

Google does render JavaScript, but not in the same breath as the fetch. Pages go into a queue and are rendered when resources allow, which is why the gap between publishing and appearing can stretch on a script-dependent site. Other crawlers are less capable: several search engines, and many of the bots behind social previews, link tools and AI assistants, read the raw HTML and nothing more. Whatever your scripts build, they simply never see.

Why JavaScript rendering matters

It decides whether your content exists as far as search is concerned. A page whose main text, headings, internal links, canonical tag or structured data only appear after a script has run is at the mercy of a queue and of each crawler’s capability. Anything that fails to render is not indexed, and a page that is not indexed cannot rank however well it is written.

The cost is felt worst by sites that publish often or change often — a shop with rotating stock, a listings site, a news section. Delay between publish and index is lost revenue, and on mobile connections of the kind most Nepali traffic arrives on, a page that needs a large script bundle before showing anything also loses visitors long before a search engine has an opinion about it.

Where JavaScript rendering goes wrong

The classic failure is navigation that only exists in JavaScript. If links are built by a script, or fire an event handler instead of being real anchor elements with an href, crawlers cannot follow them, and whole sections of a site go undiscovered. Infinite scroll with no linked pagination has the same effect.

Close behind are meta tags, canonical tags and structured data injected by script after load, which are unreliable because they may be read before they appear. Content held behind a click, a tab or a consent step is another; if it takes an interaction to reveal, assume it is not seen. And scripts blocked in robots.txt cannot be executed at all, so the page renders blank even though the file itself is allowed.

How to act on it

Test before you argue about it. Fetch the page as the server sends it and read the raw HTML, or use the URL Inspection tool in Search Console to view the rendered HTML Google actually holds. If the headings, body copy and links are missing from the raw response, you have your answer.

The durable fix is to deliver the important content in the initial HTML — server-side rendering, static generation, or pre-rendering for crawlers, depending on the stack. Whichever route, keep the non-negotiables in the source: title, meta description, canonical, structured data, main copy and real anchor links. Everything else can load afterwards. Rebuilding a rendering strategy after launch is expensive, so it belongs in the technical SEO conversation before a framework is chosen, not after traffic disappoints.

Do and do not

Do

  • Put headings, copy and links in the initial HTML
  • Compare raw source against the rendered HTML Google holds
  • Use real anchor links with an href for navigation

Do not

  • Inject canonical tags or structured data after page load
  • Block script or style files in robots.txt
  • Hide key content behind a click or infinite scroll

Questions people ask about this

Can Google read JavaScript at all?

Yes. Google renders JavaScript and can index content produced by it. The catch is that rendering happens in a second, queued pass rather than at the moment the page is fetched, so it can be delayed. Other search engines and most social, link and AI crawlers read only the raw HTML, so relying on scripts narrows your reach.

How do I check what Google sees on my page?

Use the URL Inspection tool in Search Console and view the rendered HTML and the screenshot it returns. Compare that with the raw source your server sends, which you can see by requesting the page without a browser. If your headings, copy and links are absent from the raw source, rendering is doing critical work.

Is a React or Vue site bad for SEO?

Not inherently. The framework is not the problem; delivering an empty page to crawlers is. Both support server-side rendering and static generation, which put the content in the initial HTML while keeping the interactive behaviour. Choose that mode at the start of the build, because retrofitting it later is far more expensive.

Related terms

Found this useful?

Share it, or ask an AI to summarise it

Back to the glossary

Knowing the term is the easy part

Applying it to your own site and budget is the work. Book a call and I will tell you what actually applies to you.