HAVAH
A developer's desk with a code editor and a browser showing a blank loading screen, illustrating the react seo problem before a page finishes rendering
← Journal
SEO10 min read

Is React Bad for SEO?

September 24, 2026 · By Ilan Ahdout

You paid a developer real money to build your site in React, because that's what the good agencies use, and you didn't think about it again for months. Then you searched your own business name to show a client something, and the site wasn't there, buried under a Yelp listing you forgot existed and a Facebook page nobody's touched since 2022. Now it's midnight, you're googling react seo instead of sleeping, and the beautiful site with the animations that sold you on the demo call is starting to look like the thing that made you invisible. The pitch deck called it "smooth." It is. It's also apparently invisible to Google, which is an odd thing to have paid eleven thousand dollars for.

1. Why a React app can vanish from search entirely

Here's the part nobody explains during the sales pitch: React builds a website in the browser, not on the server, which means the first thing a crawler receives when it requests your homepage is often a single empty container with a script tag pointing at the real content. Googlebot is patient about this in a way most actual visitors to your site are not. It fetches the page, notices there's nothing there yet, and queues it for a second pass where it runs the JavaScript and waits to see what shows up. That second pass is where things go wrong, because it happens later, it costs Google more to do, and it's the exact step every other search engine, and most AI crawlers, skip without apology.

This isn't strictly a React problem, and it's worth being fair to the framework before I spend the rest of this post being less fair about how people use it. Any site that renders content only in the browser has the identical issue, whether it's built in React, Vue or plain JavaScript, because the crawler doesn't care what tool made the empty container, only that it's empty. What makes React the name that keeps coming up is scale: more business sites run on it than any framework its size, which means more businesses are quietly finding out about that second pass months after launch, the same way you just did.

A browser view-source panel showing an empty div, the react seo issue where content is missing until JavaScript finishes running
An empty container is a perfectly normal thing for a browser to receive. It's a strange thing to hand a crawler.

2. JavaScript SEO doesn't stop at the phone in your pocket

Design quality and page speed used to be two separate conversations, one for the designer and one for whoever worried about rankings, and a React site is where that split stops being possible to hold onto. Every animation, every interactive component, every clever transition you approved on the demo call arrives as JavaScript the phone has to download, parse and run before any of it does its job, and Google folds that entire process into a ranking signal now. A gorgeous interface that takes four seconds to become usable is, to a search engine, a slow page wearing a nice outfit.

That matters more than it used to, because 63% of web traffic now comes from mobile, and Google Search Central is plain about ranking your entire site off the mobile version of it, desktop demo included. A React site reviewed only on the machine that built it, sitting on a fast office connection with a warm cache, is being graded on a test it will never have to take.

The gap shows up hardest in the JavaScript bundle itself. A framework doesn't ship a slow phone experience on its own, but it makes it dangerously easy to accumulate one component library, one animation package and one analytics script at a time until the bundle triples in size without anyone deciding that on purpose. None of that shows up on the fast laptop in the office. All of it shows up in the field data Google actually measures, on the mid-range phone your customer is holding at a red light.

A phone loading screen at a cafe table, showing the mobile page speed side of a react seo problem
Whatever the office WiFi says about your site, this connection is the one that decides.

3. What a stalling React site costs you before anyone reads a word

A slow-loading site doesn't just lose the search ranking argument. It loses the person too, usually inside the first couple of seconds, before they've read a word about why your business is the right one to hire. A blank white screen with a spinner reads as broken even when it's only busy, and most visitors don't wait around long enough to learn the difference. I've closed tabs on my own client's staging sites out of pure reflex, mid-build, forgetting for a second that I was the one who'd broken it.

React introduces a second version of this problem a plain HTML site doesn't have: the page finishes loading, then quietly rearranges itself once the JavaScript takes over, a button sliding two inches to the left the instant someone goes to tap it. That's a measurable thing now, not just an annoyance, and Google tracks it as part of the same page experience signals that feed into ranking. A site that visibly shifts under a visitor's thumb is telling them, correctly, that nobody tested it on the device they're holding.

4. What building it on solid ground looks like in practice

I default to Next.js for exactly this reason, not out of loyalty to a logo but because it solves the empty-container problem before a client ever has to ask about it, rendering the real content on the server and handing JavaScript the smaller job of making it interactive afterward. Benny's Grill LA runs on a custom build for exactly that reason, since a catering calendar and a live ordering flow needed logic no off-the-shelf theme was going to offer without a fight, and building it this way meant the content existed in the HTML the first time anything crawled it, rather than waiting on a script to decide whether to show up at all.

None of that required giving up React or the parts of it that make a site feel alive under a visitor's hand. It required picking the version of the framework built to solve this specific problem, instead of the version that assumes a marketing site can behave like a private dashboard. The builds we've shipped make the point more plainly than anything I can argue in text.

A restaurant tablet showing a website menu page loaded cleanly, an example of content that exists in the html rather than waiting on a script
Menu, hours, reservations, right there on first load. Nothing in this photo is waiting on JavaScript to decide whether to appear.

5. The AI crawlers that never wait for your JavaScript

A newer version of the same problem is showing up before anyone's finished fixing the old one. A growing share of the people asking about your kind of business are asking an AI assistant instead of typing into Google, and those tools tend to read a page exactly as literally as the least patient search engine does, which is to say they read what's sitting in the HTML and move on. A React site that only reveals its real content after a script finishes running is handing a confident, well-designed page to a system that reads none of it.

This is where schema markup earns its keep, because clearly labeled, structured content is exactly what these systems are built to extract, and it costs nothing to add regardless of which rendering strategy you land on. A site that fixes the rendering problem and skips the structured data has fixed half of it and assumed the other half would sort itself out. It won't. It never has.

React Website: Template Builder vs. Custom Design

Here's what changes depending on which one is solving your react seo problem.

Feature Template Builder (Wix, Squarespace) Custom Design
Upfront costLow ($20–$60/month)Higher (one-time project fee)
Mobile performanceBasicFully optimized
SEO capabilityLimitedFull control
Unique to your brandNoYes
Load speedAverageOptimized
Scales with your businessLimitedYes
Long-term ROILowerHigher

Whichever direction that goes, the rendering decision underneath it is exactly what our web design services get right before anyone starts arguing about the color palette.

What Every React Website Needs

Before you blame the framework for something the setup did:

  • Content present in the initial HTML, not painted in afterward by a script, so a crawler never has to gamble on a second pass
  • Server-side rendering or static generation, through Next.js or an equivalent, rather than a bare client-side React app
  • Page-specific titles and meta tags, updated per route instead of frozen on whatever the homepage was called
  • Page speed under 2.5 seconds on mobile, check it free at PageSpeed Insights
  • A JavaScript bundle small enough to survive a phone, trimmed of the component libraries nobody remembers adding
  • Structured data in the markup, so Google and the AI tools reading it can tell what the page is

Frequently Asked Questions

Is React bad for SEO?

Not inherently, but the default setup usually is. A standard React app renders its content in the browser, which means the first version of the page a search engine receives is often close to empty. Search engines outside Google frequently skip the extra step required to see anything past that empty container, so the practical effect looks a lot like being bad for SEO even though the framework itself isn't the villain.

Does server-side rendering affect SEO for a React website?

Yes, directly and by a wide margin. Server-side rendering sends a search engine a fully formed page on the first request instead of an empty container waiting on JavaScript, which removes the single biggest obstacle a React site creates for itself. Frameworks built on top of React, like Next.js, handle this by default rather than leaving it as a project someone has to bolt on later.

What makes a good React website for SEO?

Content that exists in the initial HTML rather than appearing after a script runs, page titles and meta tags that update per page instead of staying fixed across the whole site, and a JavaScript bundle small enough that a phone on a slow connection still sees something within a couple of seconds, ideally before the visitor has opened a competitor's tab out of boredom. Everything past that is the same SEO work any website needs.

Why is mobile design important for a React website?

Because Google judges your entire site, desktop included, using the mobile version of it, and React's habit of shipping a large JavaScript bundle hits a phone on cellular data far harder than it hits a designer's laptop on office WiFi. A site that loads acceptably on the machine that built it can still be unusably slow on the device most visitors carry.

How much does it cost to fix SEO on a React website?

It depends on whether the fix is a rendering strategy change, which a capable developer can usually add to an existing React app as a focused project, or a full rebuild on a framework like Next.js, which costs closer to a new site than a patch. Most small businesses land in the first category once someone actually diagnoses which pages are the problem. If you want that diagnosis before committing to either, reach out here.

The Bottom Line

React was never the reason your site disappeared from Google. The decision to render everything in the browser and call it finished is, and that decision usually gets made in a sprint plan nobody thought to run past someone who cares about search, three weeks before launch, when the animations were the only thing left to demo. Fixing it rarely means starting over. It usually means moving the rendering to the server, trimming the bundle, and giving Google and the AI tools reading your site the same thing a person sees on the first try.

So open that invoice again, the one for the beautiful site that made the demo call feel like money well spent, and look at it differently: not proof you got taken, just proof nobody on that call had thought about what happens after the JavaScript loads. That's fixable, usually without touching a single part of the site you liked. If you want to find out which category yours falls into before you spend a second invoice figuring it out, let's find out.

Related topics

react seo best practicesis react bad for seojavascript seosingle page application seoheadless cms seoserver side rendering seoreact app seo friendlynext js seogoogle indexing javascriptreact website not ranking

Keep reading

The Best CMS for SEO Is Usually the One You Already Have9Restaurant Website Design in Los Angeles: The Complete Guide13The Website Redesign Checklist9

Ilan Ahdout

Founder of HAVAH Studios in Los Angeles, where we build websites and do the SEO that gets them found, for restaurants, jewelry brands and small businesses around LA. See the work.

Want more like this on Google? Add HAVAH as a preferred source.

Ready to get started?

Let's build your site.

Start a project