Sign inCreate a free account
Theme

View Source vs. Inspect: why your page might look different to Google

Your browser shows one version of your page. The server sends another. If your title, links or content only exist in the first, some crawlers never see them.

Here's a quick test I ask people to try. Open any page on your site, right-click, and choose View Page Source. Then right-click again and choose Inspect.

On a lot of modern sites, those two views don't match. Sometimes the difference is cosmetic. Sometimes the title, the main content, or half the internal links simply aren't in the source at all.

That gap is one of the most common reasons a page that looks perfect in a browser performs badly in search.

Two versions of every page

View Source shows the raw HTML: exactly what your server sent, before any JavaScript ran.

Inspect shows the DOM: the page as it exists right now in your browser, after every script has run, every component has mounted, and every API call has filled in its data.

If your site is server-rendered, the two are close. If it's built with a JavaScript framework that renders on the client, the raw HTML can be little more than an empty <div id="root"> and a script tag.

Google does render JavaScript. It fetches the raw HTML, queues the page for rendering, and later processes the rendered version. That works most of the time, but "later" can mean a delay, and rendering can fail quietly if a script errors or an API times out.

And Google isn't the only reader. Many other crawlers, social media preview bots, and a lot of AI tools only read the raw HTML. If your og:image is injected by JavaScript, LinkedIn will never see it. If your article text loads client-side, an AI assistant fetching your page may get nothing worth quoting.

A page is only as visible as its least capable reader.

What to check in the raw HTML

Open View Source and search (Ctrl+F or Cmd+F) for each of these:

  1. The <title> tag, with the real title, not a placeholder like "Loading...".
  2. The meta description.
  3. The canonical tag, pointing at the right URL.
  4. Your main heading and the first paragraph of real content.
  5. Navigation links as real <a href> elements, not buttons with click handlers.
  6. Structured data. JSON-LD added by a tag manager often exists only after rendering.

Or do it from the command line:

Shell
curl -s https://webrankstats.com/your-page | grep -i "<title"

If the title comes back empty or generic, you've found your problem.

What to do about it

You don't need to rewrite your app. The usual fixes, roughly from least to most effort:

  • Move SEO tags into the initial HTML. Most frameworks have a way to set the title, meta tags and canonical on the server even if the rest renders on the client.
  • Use real links. An <a href="/pricing"> works for every crawler. A <div onclick> works for none of them.
  • Server-render or pre-render important pages. Your homepage, product pages and articles benefit most. A logged-in dashboard doesn't need it.

How we handle this in WebRankPage

This gap is exactly why every WebRankPage report looks at both versions. We fetch the raw HTML your server sends and keep it, then load the page in a real browser and audit what it becomes. When something important only exists after rendering, the report tells you, so you're not left guessing which version Google is judging.

The Content and metadata section of a WebRankPage report: word count, headings and the full heading outline
The content checks from a report on Onbixo's pricing page: 1,509 words and a 17 heading outline.
Free forever · no card

Run it on a page you care about.
See what it says.

Nothing is withheld on the free tier. An account adds the part a single report cannot give you: a record of whether anything you changed actually worked.

  • Every report you run, kept
  • Compare a page over time
  • Three reports a day, not one
  • Every check, same as the paid tiers

Create free account

Free forever · no card required

Already registered? Sign in

  • TLS encrypted
  • Instant setup
  • No card needed