freecourses.digital
Lesson progress: 0 of 3 activities done
All lessons in Technical SEO Auditing Lesson 8.2 of 84

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

ElementWhy it matters
Title and meta descriptionRewrites by JS may be missed or delayed
CanonicalDifferent values send mixed signals
Meta robotsRaw noindex can stop rendering
Main contentMust appear in rendered HTML at minimum
Internal linksLinks only in rendered HTML are found later
Structured dataJSON-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

  • Raw and rendered canonicals point to different URLs

  • JS adds a live chat widget

  • Raw title 'Loading...', JS sets the real title

  • JS adds a cookie notice

Common mistakes

  • Checking only Inspect. You miss raw HTML problems.
  • Relying on JS to remove noindex.
  • Not storing both versions in the crawl.
1. Where do you see raw HTML?
2. Raw HTML has noindex, JavaScript removes it. Risk?
3. Which crawler tab compares both versions?

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.