RomeoSEO

Check a page

Googlebot simulator: see what crawlers see

Fetch any page the way a search crawler does, without running JavaScript, and see what actually comes back: status, redirects, robots rules, canonical, headings and the text that's really in the HTML.

Free · No signup · Reads public pages only

How it works

  1. Paste a page's address and pick who to fetch it as: Googlebot on a phone, Googlebot on a desktop, Bingbot, or a normal browser.

  2. We request the page from our servers under that crawler's name and read the response without running any JavaScript.

  3. You see what came back, and can fetch it again as a normal browser to compare the two side by side.

What a crawler actually receives

When Googlebot visits a page, the first thing it gets is the HTML your server sends. Google's documentation on JavaScript SEO describes what happens next: the page waits in a queue for rendering, where a headless Chrome runs its JavaScript, and the rendered result is what gets indexed. Rendering can happen some time after the crawl.

Most AI crawlers skip that step and never run JavaScript, so the raw HTML is all they ever see. That's what this simulator shows you. If your text, links or headings are missing here, they're missing for every crawler that doesn't render, and Google only finds them later, if its rendering works.

How to read the result

  • Status and redirects: you want a 200, with at most one redirect hop before it. A 403 or 503 for a crawler when the page loads fine in your browser usually means a firewall or bot protection is turning crawlers away.
  • Robots rules: the robots meta tag and the X-Robots-Tag header (the same instruction, sent as an HTTP header). A noindex in either keeps the page out of search, whatever else is on it.
  • Canonical: the address you're telling search engines to index for this content.
  • Title, description and headings: what the crawler reads before any script changes them.
  • Links: crawlers find pages by following ordinary links with an href. Links added only by JavaScript, or buttons that act like links, can't be followed by crawlers that don't render.
  • Visible text: the words in the HTML. If it's nearly empty for a page full of text in your browser, the content is built by JavaScript.

The raw HTML is there too, for when you need to see exactly what was sent: search it for a tag, a phrase or a link you expected to find.

Comparing with a normal browser

The compare button fetches the page again as an ordinary browser and lines up the status, title, word count, canonical and robots rules from both fetches.

Small differences are normal: a rotating banner, a session token, a cookie notice. Big ones are worth chasing. If the crawler gets a 403 or a challenge page while the browser gets a 200, your CDN or firewall is blocking bots; check its bot settings. If the crawler sees a different title or much less text, you may be serving a separate version to bots that has gone stale. Showing search engines different content from what people see, to influence rankings, is what Google's spam policies call cloaking. Serving the same content in a different form, such as pre-rendered HTML, is not.

Why the real Googlebot may see something different

This tool borrows Googlebot's name, its user agent string, but the request comes from our servers, not Google's. Google publishes how to verify a real Googlebot, by a reverse DNS lookup or against its list of IP addresses, and many firewalls and CDNs do exactly that. A site that checks may block our fetch as a fake Googlebot while letting the real one through, or treat it as an ordinary visitor. Either way, the answer can differ from what Google gets.

It also doesn't render JavaScript, so it shows the first stage of what Google sees, not the rendered page. The definitive view is the URL Inspection tool in Google Search Console: run a live test and it shows the HTML Google rendered, a screenshot, and any resources it couldn't load. Bing Webmaster Tools has its own URL Inspection for Bingbot.

Questions people ask

Smartphone or desktop Googlebot: which should I pick?

Start with the smartphone one. Google indexes most sites with its smartphone crawler, so that's the version of the page that counts. Use the desktop crawler to check that both get the same content.

Why is the visible text empty when my page has plenty?

The page is put together in the browser by JavaScript, common with React, Vue and similar apps that don't render on the server. Google can usually render it later; most AI crawlers can't. Server-side rendering or static generation puts the text in the HTML.

Does this respect robots.txt?

No. It fetches the page you ask for, even if robots.txt tells crawlers to stay away. The real Googlebot wouldn't fetch a blocked page at all, so check your robots.txt separately with the robots.txt checker.

Is it OK to serve Googlebot a pre-rendered version?

Yes, as long as it's the same content people see. Google calls serving bots a separately rendered copy dynamic rendering and describes it as a workaround rather than a long-term fix. Rendering on the server for everyone is simpler and keeps the two from drifting apart.

Is this Googlebot simulator free?

Yes. No signup, no limit you'll hit in normal use. It only reads public pages.

Want it done for you?

Romeo checks every page the way crawlers read it

He reads your whole site as a crawler does, flags pages where content, links or headings only appear with JavaScript or are blocked from bots, fixes the titles, canonicals and robots tags crawlers trip on, and sends each change for you to approve.

Join the waitlist

We’re opening access in stages. Leave your email and we’ll let you know when Romeo is ready for your site.