Thomas Nedjar
All apps
Free tool

Googlebot simulator: see a page the way Google renders it, JavaScript included

Paste the address of a public page. The tool loads it with the Googlebot smartphone user agent, runs its JavaScript in Chromium and sets the HTML sent by the server against the rendered HTML. It works much like the old Fetch as Google, on any site, without a verified property.

No sign-up and no email. Allow 10 to 30 seconds: the page is loaded in a real browser.

Scope

What the report contains

A full load of the page in Chromium, with network, console and screenshot.

The server response

Before any rendering

HTTP status, redirect chain step by step, the headers that matter for indexing such as X-Robots-Tag and Link, how robots.txt reads for Googlebot, and the loading timeline.

Raw HTML against rendered HTML

13 signals compared

Title, meta description, meta robots, canonical URL, H1, number of H2s, word count, internal and external links, images and alt attributes, JSON-LD, hreflang, declared language. Every value changed by JavaScript is highlighted. Links that only exist after rendering are listed separately.

What the browser saw

Screenshot, network, console

Screenshot of the page at mobile width, resources that failed to load with their status or failure reason, JavaScript errors from the console, and both source codes to read through.

The limits, before you start

The tool simulates Googlebot: same user agent, same browser family, but requests leave from our server and not from Google IP addresses. A site that verifies where Googlebot really comes from will answer differently, often with a 403. The report describes what a bot receives when it loads the page. To know whether the page is in the index, Search Console remains the reference. Only public pages over HTTP or HTTPS on standard ports are accepted. The tool clicks nothing, does not scroll, accepts no banner and picks no language. The screenshot stops at 2600 pixels in height, each source code at one million characters, and the service is limited to eight inspections per hour per connection.

JavaScript SEO

Why compare raw HTML and rendered HTML

JavaScript SEO comes down to one question: is what matters for ranking already in the server response, or does it only appear once the scripts have run?

Google renders pages in two passes

Googlebot first reads the HTML sent by the server, then queues the page to render it with Chromium. Links and text present on the first read are discovered straight away. Anything that depends on a script waits for rendering, and goes missing if the script fails that day.

AI assistants stop at the raw HTML

As of today, most of the bots that feed AI assistants fetch the server response without running any script. A page whose content arrives entirely through JavaScript looks empty to them. This affects visibility in generated answers as much as in classic search.

A rewritten tag creates two versions of the page

A title, a canonical or a meta robots tag changed by JavaScript gives Google two conflicting readings. A noindex in the raw HTML is the riskiest case: Google may skip rendering altogether, and the script meant to remove it never runs.

A blocked resource quietly degrades rendering

A JavaScript file disallowed by robots.txt, a bundle returning 404 after a release, an API that rejects bots: on your machine the page looks complete thanks to the cache, while a bot with no cache gets an incomplete one. The list of failed resources helps you find these cases.

Method

Reading the report, in order

1

Check that the page can be indexed

Status 200, no unexpected redirect, no noindex in the meta robots tag or the X-Robots-Tag header, address allowed by robots.txt, canonical pointing to the page itself.

2

Measure the dependence on JavaScript

Compare word and link counts between the two columns. A small gap points to solid server-side rendering. A nearly empty raw HTML points to an application rendered in the browser, which deserves priority on the pages that need to rank.

3

Look for rewritten tags

A title, a meta description or a canonical that differs between the two columns is worth fixing, even when the rendered version is the right one. Keep one source of truth, in the server response.

4

Fix at the source, then run it again

Server-side rendering, static generation or prerendering for the content and links that matter. SEO tags belong in the server response. Run the inspection again after the release: the tool cache expires after ten minutes.

Going further

Beyond one public page

The page in front of you

Chrome extension · free, no account

For a page behind a password, a staging environment or a local install, in other words wherever an online tool cannot reach. The analysis covers the page as your own browser rendered it.

  • Tags, headings and links of the rendered page
  • Broken links highlighted in the page
  • JSON-LD structured data
  • Everything stays in the browser
Install the extension

A whole website

Desktop crawler · free up to 500 URLs per site

One inspection covers one address. To know how many pages return an error, redirect or point to dead links, the whole site has to be crawled.

  • 4XX and 5XX statuses, pages with no response
  • Redirects, chains and loops
  • Broken internal and external links
  • Source page of every failing link
Discover the crawler

To check the links of a single page without installing anything, the broken link checker works on the same principle. Across the whole site, the technical SEO audit analyses the full crawl: statuses, tags, canonicals, depth.

FAQ

Frequently asked questions

How do I test a page as Googlebot?
Paste the address into the form at the top of this page and leave the “Googlebot smartphone” user agent selected. The tool loads the page in Chromium, runs its JavaScript and shows the HTML sent by the server next to the rendered HTML, along with a screenshot, the resources that failed to load and the console errors.
Is this a replacement for Fetch as Google?
Fetch as Google was retired from Search Console and replaced by the URL Inspection tool, which only works on properties you have verified. This simulator covers the part people miss most: fetching and rendering any public page with the Googlebot user agent, then comparing raw and rendered HTML. It cannot submit a page for indexing.
How is it different from URL Inspection in Search Console?
URL Inspection in Search Console remains the reference for your own sites: it alone says whether a page is in the index and what Google kept from it. It requires a verified property. This tool works on any public page, including a competitor page or a client site you do not have access to yet, and it lines up raw and rendered HTML side by side.
Does Google run JavaScript?
Yes. Googlebot renders pages with a recent version of Chromium. Rendering is a separate step from crawling: the page is first read as the server sends it, then queued for rendering. Content already present in the raw HTML is therefore picked up earlier and more reliably than content injected by a script.
Why is the result different from what I see in my browser?
The tool arrives with no cookies, no session and no history, at a mobile width of 412 pixels, and it clicks nothing. A consent banner, content reserved for logged-in visitors, a redirect based on country or language, or a block that opens on click explain most differences. Googlebot behaves the same way on these points.
The page returns 403 to the tool, what should I do?
Many firewalls check that a request signed as Googlebot really comes from Google IP addresses and reject the rest. That is a healthy protection. Run the inspection again with the “Chrome on mobile” user agent: JavaScript rendering stays identical, only the signature of the request changes.
Do AI assistants read content loaded with JavaScript?
As of today, the bots that feed AI assistants mostly fetch the raw HTML and run no script. Text that only exists after rendering escapes them. The “Raw HTML” column of the report shows what they receive.
Does the tool keep the addresses I inspect?
The result stays in cache for ten minutes to avoid rendering the same page twice, then it is deleted. No history of addresses is kept. A limit of eight inspections per hour per connection protects the server.
France
Suisse