Prove it before you fix it
Four strategies, real tradeoffs
Costs stated, not hidden
Written by people who fix these
01 / The mechanism
SEO with React: why the two conflict at all
Nothing about React is hostile to search. Everything filed under seo in reactjs comes down to one thing: where rendering happens, and client-side rendering puts your content behind a step the crawler may skip.
React.js SEO has one mechanism behind it. A server-rendered page arrives as HTML with the words already in it. A client-rendered React app arrives as an empty <div id="root"> plus a JavaScript bundle. Googlebot has to download that bundle, execute it, wait for your API calls to resolve, and only then read the result. It does do this — but on its own schedule, with a budget, and any failure in that chain produces an indexed page with no content.
So the honest answer to is React good for SEO is: React is neutral, your rendering strategy is what decides it. Everything filed under seo react, react seo optimization or making a react seo friendly build reduces to that one decision. Google's own guidance on JavaScript SEO basics says the same thing in more words.
02 / Diagnosis
Four checks that prove what Google actually sees
Do these before changing any code. Most React SEO advice skips straight to a fix, which is how teams end up migrating to Next.js to solve a problem that was one missing meta tag.
-
01
Fetch the page with JavaScript disabled
curl -s https://yoursite.com/page | wc -wgives you the word count a crawler reads on first pass. Under 50 words means your content does not exist in the server response. This one command tells you more than any audit tool. -
02
Use the URL Inspection tool, then read the rendered HTML
Search Console shows what Googlebot actually rendered, not what your browser renders. Compare it against the live page. Missing sections, empty lists and absent meta tags all show up here, and this is the evidence you take to a stakeholder.
-
03
Check the crawl stats and the render budget
If Search Console reports pages as Discovered but not indexed at volume, the render queue is your bottleneck. That is a rendering-strategy problem, not a content problem, and no amount of writing will fix it.
-
04
Test what non-Google bots see
Paste a URL into Slack and see whether the unfurl has a title. Run it through a link preview debugger. If those are empty, so is what every LLM crawler and social platform stores about your page.
What the results mean
Content present in server HTML but ranking badly is a normal SEO problem: titles, internal links, thin pages. Content absent from server HTML is a rendering problem and nothing else you do will matter until it is fixed. Those two diagnoses lead to completely different work, which is why guessing is expensive.
04 / In code
An example of SEO in React, in code
The same page component, client-rendered and then server-rendered. This is the whole difference, and it is smaller than the migration anxiety around it suggests.
The SEO advantages of server-side rendering in React are visible in that diff: the second version has no loading state, no effect, and no spinner for a crawler to index. It also fixes something the first version could never do properly: per-page titles and descriptions, generated on the server, which is the other half of why client-rendered apps underperform in search.
Metadata per route
Titles and descriptions that differ per page, present in the HTML. A single index.html cannot do this, whatever your router does at runtime.
Real status codes
A missing page returns 404, not 200 with a client-side "not found". Soft 404s are one of the most common React SEO findings.
Canonicals and sitemaps
Generated from the same data as the routes, so they cannot drift. Hand-maintained sitemaps are always out of date.
05 / Findings
React website SEO: eight findings from every audit
Ordered by how often they appear. The first three are rendering; the rest are ordinary SEO that client-side apps happen to get wrong more than server-rendered sites do.
The first three are the ones worth your attention, and they are what seo for react apps and seo for react websites actually mean in practice. They are also the three that a lighthouse score will not tell you about, because Lighthouse runs JavaScript and therefore sees the page the way a user does rather than the way a crawler does on first pass.
06 / Migration
What a React SEO rebuild actually involves
Most of these arrive as "we need SSR". Most of them do not need a full rewrite — they need three routes moved and the head fixed.
Typical shape
8wks
One senior engineer with review. Ranking recovery lags the work by four to twelve weeks, so measure indexing first and traffic later.
Two weeks of that is diagnosis and triage before any code moves, and it is the part that stops you paying for a migration you did not need. Scoped delivery of this shape is priced on the development services page; if you would rather run it with your own team, hire ReactJS developers covers the engineer route.
07 / Honestly
When React SEO work is not the answer
Four situations where the rendering fix will not help, and we would rather say so than bill for it.
08 / FAQ
Questions we get asked
The ones that come up on every call about React and search, answered without hedging.
Where to go from here
If your app is a single page application specifically, the vocabulary differs but the diagnosis does not — same four checks, same four strategies. If you want this done rather than explained, a scoped rebuild is priced on the development services page, and hire ReactJS developers covers putting an engineer on your team to do it instead. Our case studies carry the before and after numbers from one of these, including the two weeks we spent on the wrong theory. If the framework decision itself is still open, React or Next.js, choosing between them honestly weighs it without the marketing.