HTML Source vs. Rendered HTML
Your roadmap for this lesson
- What raw HTML and rendered HTML are
- How to view each in a browser and in Search Console
- How to compare them at scale in a crawl
- Which differences matter for SEO
Short answer
Raw HTML is what the server sends. Rendered HTML is the page after JavaScript runs. Compare them using View Source versus Inspect, URL Inspection's tested page HTML, and your crawler's JavaScript tab. Differences in titles, canonicals, meta robots, main content, or links matter most, especially when JavaScript changes signals Google reads first.
A Cebu real estate site’s raw HTML had the title “Loading…” and a noindex tag left from development. JavaScript replaced both a second later. Users saw a perfect page. Google saw “noindex” in the raw HTML, and many listings were never rendered or indexed.
Two versions of every page
- Raw HTML: View Source (Ctrl+U). What the server sends.
- Rendered HTML: DevTools Elements panel, or URL Inspection, View Tested Page, HTML. What exists after scripts run.
What to compare
| Element | Why it matters |
|---|---|
| Title and meta description | Rewrites by JS may be missed or delayed |
| Canonical | Different values send mixed signals |
| Meta robots | Raw noindex can stop rendering |
| Main content | Must appear in rendered HTML at minimum |
| Internal links | Links only in rendered HTML are found later |
| Structured data | JSON-LD injected by JS should render reliably |
Comparing at scale
Crawl with JavaScript rendering on and Store HTML and Store rendered HTML enabled. In Screaming Frog’s JavaScript tab, filters show:
- Pages with content only in rendered HTML
- Links only in rendered HTML
- Titles, descriptions, canonicals, or noindex that change after rendering
Practice: risky difference or fine?
Sort each item into the right group.
-
Raw HTML has noindex, JS removes it
Answer: Risky difference.
-
Raw and rendered canonicals point to different URLs
Answer: Risky difference.
-
JS adds a live chat widget
Answer: Usually fine.
-
Raw title 'Loading...', JS sets the real title
Answer: Risky difference.
-
JS adds a cookie notice
Answer: Usually fine.
Common mistakes
- Checking only Inspect. You miss raw HTML problems.
- Relying on JS to remove noindex.
- Not storing both versions in the crawl.
Your action
Next, you will compare client-side and server-side rendering.
Key terms
- Raw HTML (source)
- The HTML document returned by the server before any JavaScript runs.
- Rendered HTML (DOM)
- The page's HTML after the browser executes JavaScript.
- DOM
- Document Object Model, the live structure of a page that scripts can change.
- JavaScript-modified signal
- A title, canonical, robots tag, or link that JavaScript adds, removes, or changes after load.
Questions beginners ask
Why does Inspect show more than View Source?
View Source shows the raw HTML. Inspect shows the live DOM after scripts have run.
Which version does Google use?
Google reads both. Some signals, like noindex in the raw HTML, can stop rendering entirely, so raw HTML signals matter most.
Is it bad if JavaScript changes the canonical?
It is risky. Google may use the raw canonical, the rendered one, or neither. Keep canonicals identical in both.
How do I compare at scale?
Crawl with JavaScript rendering and store both HTML versions. Screaming Frog's JavaScript tab flags content, links, and tags only in rendered HTML.
Related lessons
Want someone to handle SEO for your business while you learn? The team at Remar Digital can help.