Free consultation for new software projects
SEO5 min read

Why React Websites Struggle in Google and How Pre-rendering Fixes It

A standard React single-page app ships an almost empty HTML file and builds the page in the browser. Google can run JavaScript, but it does so later and not always for every URL, which slows down indexing for new sites.

The problem with client-side rendering

When the HTML contains only an empty root element, the title, description and canonical tag of each page are added by JavaScript. Crawlers that do not run scripts, including many AI and social media bots, see nothing useful.

For a new website with few backlinks, Google may crawl a URL but delay rendering it, leaving pages as discovered but not indexed.

Pre-rendering and static site generation

With static site generation (SSG), every route is rendered to a real HTML file at build time. The browser still hydrates it into a normal React app, but crawlers receive full content, unique titles and structured data immediately.

What to check after you switch

Use the URL Inspection tool in Google Search Console and open the rendered HTML. Confirm that each page has its own title, description, canonical URL and one H1.

  • Submit an updated sitemap.xml
  • Request indexing for your most important pages
  • Add internal links between related pages
  • Compress images and watch Core Web Vitals

SSG or Next.js?

For content sites with a limited number of pages, SSG with Vite is simple and fast. For large, frequently changing catalogs or personalized pages, a framework like Next.js with server rendering may fit better.

Frequently asked questions

Does Google index React sites at all?

Yes, but rendering JavaScript takes extra time. Serving pre-rendered HTML helps new pages get discovered and indexed faster.

Need help with this?

Talk to our team

More articles