Google crawler simulator
See what Googlebot actually sees. Fetch any URL with Google's user agent — indexability verdict, meta tags, structured data, headings, raw HTML, and a diff against a regular browser.
Indexability verdict
Googlebot vs regular browser
Serving Googlebot different content than users (cloaking) violates Google's spam policies. Each row compares the two fetches.
| Field | Result | Values |
|---|
Meta & directives (Googlebot)
Headings outline (Googlebot)
Open Graph tags
Twitter card tags
JSON-LD structured data (Googlebot)
Redirect chain
Response headers (Googlebot)
Raw HTML (Googlebot)
Response truncated at 600 KB — the HTML below is partial.
Why fetch a page as Googlebot?
What Google indexes is not what you see in your browser. Googlebot announces itself with its
own user agent, and plenty of things react to that string: CDNs and WAFs that block or
challenge bots, servers that vary content by user agent, A/B testing layers, geo/language
redirects, and misconfigured "SEO" middleware that serves crawlers a different page entirely.
When those responses diverge, you get invisible failures — pages that look perfect to you but
return a 403, a noindex, or an empty shell to Google. This tool
fetches your URL twice, once with Googlebot's user agent and once as a regular Chrome
browser, and diffs the two responses so any divergence is visible immediately.
The Googlebot response is then unpacked into everything Google reads before ranking a page:
the HTTP status and redirect chain, index directives (meta robots
and the X-Robots-Tag header), title and meta description,
canonical URL, html lang, Open Graph and Twitter tags, JSON-LD
structured data (including nested @graph types), and the full
heading outline. A single verdict — Indexable, Has issues, or Not indexable — summarizes
whether anything stands between this page and the index. You also get the raw HTML exactly as
received, which is the fastest way to confirm what's actually in the server response versus
what JavaScript adds later.
JavaScript rendering: the usual suspect
This tool shows the initial HTML response, before any JavaScript runs — which is also what Google's first indexing wave sees. If your site is a client-rendered Next.js, Nuxt, or Vite app, the served HTML may be a near-empty shell that only fills in after rendering. Google does render JavaScript, but later and less reliably. The tool flags detected frameworks when the visible text is thin, so you know when server-side rendering or prerendering is the fix.
FAQ
- Is this the same as URL Inspection in Search Console?
- It's complementary. Search Console shows Google's own rendered snapshot but only for sites you own. This works on any URL — including competitors — and shows the raw server response side by side with a browser fetch.
- The two fetches differ — is that always cloaking?
- No. Small differences (CSRF tokens, timestamps, session IDs) are normal. Worry when the title, canonical, robots directives, or the amount of content differ — those change what Google indexes.
- Does the fetch come from Google?
- No — siteOS sends the request with Googlebot's user-agent string. Sites verifying crawlers by IP (reverse DNS) will treat it as a regular visitor, which is itself a useful signal that they special-case the real Googlebot.
Related free tools: check your directives with the robots.txt validator, audit tags with the meta tags checker, or run a full SEO audit.
Simulate every page, on every deploy.
siteOS crawls your whole site on a schedule and alerts you when a page turns noindex, loses its canonical, or starts serving Googlebot something different.