Skip to content
ExponaBLOG
TECHNICAL SEO FOR DEVELOPERS · DAY 005 / 100

See your page the way Google does: a step-by-step guide

Stop guessing. Inspect.

Expona Admin7 min read

You've optimized your markup, added structured data, and deployed your changes. But how do you know if Google actually sees what you built? Stop guessing. Inspect. Learning to see your page the way Google does is the fastest way to spot rendering issues, missing content, and SEO problems before they tank your rankings.

Why Google's view matters differently than yours

Your browser renders pages with JavaScript, lazy-loading, and client-side hydration. Google's crawlers see something different—sometimes better, sometimes worse. When I was building a travel booking platform, our category pages looked perfect in Chrome, but the URL Inspection tool revealed that critical hotel listings weren't rendering at all. The reason: we'd wrapped everything in a client-side router that Google's initial HTML fetch couldn't trigger.

The gap between what you see and what Google sees is where SEO problems hide. Your <title> tag might be dynamically injected. Your meta descriptions might be conditional on user state. Your canonical tags might point to the wrong place. The only way to know for sure is to look at the actual HTML that Google receives and renders.

URL Inspection in Search Console shows rendered HTML

Google Search Console's URL Inspection tool is your window into exactly what Google sees. When you inspect a URL, Google shows you two versions: the raw HTML it fetches, and the rendered DOM after JavaScript execution. This is critical because they're not always the same.

Here's what I do every time I optimize a page:

  1. Open Google Search Console for your property
  2. Paste the full URL into the Inspect URL box
  3. Wait for Google to fetch and render the page
  4. Check the "Rendered HTML" tab
  5. Look for your important content—meta tags, headings, structured data

The tool shows you whether Google can see your content after JavaScript runs. If your <h1> is injected by React, the raw HTML won't have it, but the rendered version will. If your content is blocked by JavaScript errors, you'll see empty tags in the rendered output. Last month, I found that a client's product pages had zero rendered text because a missing API key broke their entire Next.js data fetching. The raw HTML had the skeleton, but the rendered DOM was blank. The URL Inspection tool caught it in seconds.

Google also tells you if the page is indexable, if there are crawl issues, if there are security problems, and which sitemaps reference it. When you're debugging SEO, this is your first stop—before any other tool.

Compare raw HTML with rendered output

The real power comes when you download both versions and compare them side by side. I usually open a text editor and paste both into separate tabs, then search for the same keywords in each.

Let me walk through a real example. On an e-commerce site, we had category pages with dynamic product counts in the <title> tag. The raw HTML showed:

html
<title>{productCount} Results | Shop</title>

The rendered version showed:

html
<title>342 Results | Shop</title>

Raw HTML had a template variable instead of an actual value. If we'd only looked at the source in our code, we'd never know. Google saw the rendered version correctly, but it took Google's rendering engine to fill in the dynamic value. If there had been a JavaScript error before that title was set, Google would have indexed the template variable literally, and our titles would look broken in search results.

This comparison reveals:

  • Unrendered content (content that depends on JavaScript that doesn't execute)
  • Meta tags that are injected after the initial HTML payload
  • Structured data that's generated client-side
  • Missing heading tags or semantic structure
  • Images with broken src attributes that get fixed by JavaScript

On a SaaS platform I worked on, we discovered that our open graph images were being dynamically generated by a client-side library. The raw HTML had no og:image tag at all. The rendered version had it. This meant social media crawlers (which don't execute JavaScript as aggressively as Google) were sharing blank preview cards. Fixing it meant moving the og:image generation to the server.

Check the screenshot for missing content

Google Search Console gives you a visual screenshot of the rendered page as Google sees it. This is incredibly useful because it immediately shows you if critical content is invisible or misaligned.

I've caught several issues just by looking at the screenshot:

  • A hero section that renders as blank white space because a background image URL is broken
  • Text that's hidden below the fold or positioned off-screen by CSS
  • Images that fail to load because the domain is blocked or the URL is relative
  • Navigation menus that don't expand (though this is less critical for SEO)

For a travel booking site, the screenshot showed Google's view of a hotel search results page. In my browser (macOS Chrome, light theme), the page looked perfect. But Google's screenshot showed the entire left sidebar was missing. Investigation revealed we were using a viewport-based media query with a breakpoint that Google's rendering engine triggered. The content was there in the DOM, but visually hidden on a narrow viewport. Since we weren't fixing the viewport meta tag correctly, Google saw a mobile layout without the filtering sidebar. This made the page look incomplete and thin to Google's evaluation systems.

The screenshot feature is especially useful for debugging layout issues, missing images, and content that's visually hidden but should be visible.

curl your page to see the first response

Before Google runs JavaScript, it receives raw HTML. You can see exactly what that raw HTML looks like using curl from your terminal. This is the fastest way to debug server-side rendering issues.

html
curl -s -A "Googlebot" https://example.com/page | grep -i "<title>"

The -A "Googlebot" flag tells the server you're coming in as Googlebot, which can trigger different logic. Some sites serve different content to Google than to regular users (not recommended, but it happens). The -s flag silences progress bars, and the pipe to grep lets you search for specific tags.

Here are more useful curl commands I use regularly:

html
curl -s -A "Googlebot" https://example.com/page | head -100

This shows the first 100 lines of HTML. Critical tags like <title>, meta description, canonical, and open graph tags should be in the <head>, so you'll see them here immediately.

html
curl -s -A "Googlebot" https://example.com/page | grep -i "canonical"

Find all canonical tags to verify you're not accidentally self-referencing or pointing to the wrong URL.

html
curl -s -A "Googlebot" https://example.com/page | grep -i "robots"

Check if you're accidentally noindex-ing a page or telling Google not to follow links.

On a Next.js project with Server-Side Rendering (SSR), I used curl to verify that our getServerSideProps function was actually setting the title and meta tags before the HTML was sent. The browser showed perfect markup, but curl revealed the server was sending a generic template. Turns out, the server-side data fetching was timing out, and we were falling back to a placeholder. Curl showed it in seconds, while debugging in the browser would have taken much longer.

The key insight: curl shows you the HTTP response before any client-side processing. If your SEO-critical content isn't in that response, it's either generated client-side (risky for SEO) or missing entirely.

Common mistakes

  • Assuming your browser view is what Google sees. You're logged in, your ad-blocker might be different, your viewport is different, your JavaScript bundles might be cached locally. Always check Google's actual view.
  • Only checking the rendered HTML, ignoring the raw HTML. If your important content isn't in the raw HTML and depends entirely on client-side JavaScript, you're taking a risk. Google can render JavaScript, but it's slower and buggier than server-side rendering.
  • Not using the right User-Agent when testing. curl with -A "Googlebot" is important. Some sites serve different HTML to Google. Regular curl requests won't trigger that behavior.
  • Ignoring the screenshot. Visual rendering issues are hard to catch by reading HTML. The screenshot shows you immediately if something looks wrong.
  • Testing only the homepage. Check category pages, product pages, filter results, dynamic pages. Each template can have different rendering issues.
  • Forgetting to check after deployment. Your local dev environment might render differently than production. Always test the live URL in Google Search Console after deploying changes.

Key takeaways

  • Google Search Console's URL Inspection tool is your primary tool for seeing your page as Google does—it shows both raw HTML and rendered DOM.
  • Compare the raw HTML response (from curl) with the rendered HTML (from Google Search Console) to identify content that only exists client-side or depends on JavaScript.
  • The visual screenshot in URL Inspection reveals layout issues, missing images, and hidden content that raw HTML alone won't show.
  • Use curl with the Googlebot user-agent to quickly inspect the first HTTP response your server sends, before any JavaScript runs.
  • Never assume your browser view matches Google's view—they're often different, and the differences matter for indexing and ranking.
  • Test across multiple page types (homepage, category pages, product pages, dynamic pages) because different templates can have different rendering issues.
  • Make this a habit before deploying SEO changes—it takes 2 minutes and catches most problems before they hurt your rankings.
ShareXLinkedInReddit

Found this useful? Support the writing.

Buy me a coffee
Written by
Expona Admin
Site administrator

Comments

Loading comments…

Leave a comment

Comments are reviewed before they appear. Be kind and stay on topic.

Related articles

See your page the way Google does | Technical SEO | Expona