SSR title mismatch: compare raw HTML and JavaScript rendering
In brief
Compare the title tag in the server response with document.title after JavaScript rendering. If they differ, check the server-side title definition and any client-side rewrite. This check does not reveal the title Google has chosen.
What is it?
The title in the HTTP response differs from the title measured after JavaScript runs.
Why check this signal?
A generic server-side title can indicate incomplete SSR configuration. Google can render JavaScript and uses several sources to choose title links. This difference does not reveal which title Google selected.
When it is NOT a problem
- The title changes intentionally after an interaction, for example to show a notification count.
- The page is a private application screen that is not intended to appear in search results.
- A casing difference may not change the meaning, but Seogard still reports it. HTML entities and whitespace are normalized before comparison.
<title>App</title>
<!-- After JavaScript: -->
<title>SSR Checker | Seogard</title>// Nuxt: in page setup, also executed on the server
useHead({ title: 'SSR Checker | Seogard' })Nuxt fix example: avoid defining the title only in onMounted. The scanner test below verifies the same principle using a demonstration page.
How to fix it
- Read the title in the page source. Compare it with document.title in the browser console after rendering.
- Check whether a router, component or script replaces the title after loading.
- In Nuxt, set the title with useHead or useSeoMeta in setup, which also runs on the server. If it depends on a request, make those data available during SSR.
- Run the check again: both titles should match the intended title. A failed render means incomplete evidence, not a pass.
- Use Search Console URL inspection to examine what Google has recorded. Google may still rewrite the title shown in search results.
An example measured with the Seogard crawler: See the SSR test before and after
Sources and verification
This scan checks what is missing from the raw HTML but appears in the JavaScript render
Is this issue on your site?
Does your page title change after JavaScript runs? Compare both versions with the SSR checker. Account required, 14-day trial with no credit card.
- No credit card
- Account required · 14-day trial
What you get back
A descriptive title available in the HTTP response and a reproducible check of its consistency after rendering.
Check this signal with Seogard's SSR checker.
Frequently asked questions
Can Google use a title changed by JavaScript?
Yes, Google can execute JavaScript. That does not guarantee a successful render or the exact title displayed in search. A descriptive title in the initial HTML is also accessible to tools that do not render JavaScript.
Does a title mismatch prove an SEO loss?
No. It is a measured difference between two versions. Check whether it is intentional, whether it changes the title's meaning and what the search data show.
Related rules
Updated September 8, 2026