Googlebot simulator: test how Google really sees your site
Googlebot crawls your site twice - once for raw HTML, then again hours or days later to render JavaScript. Between those two passes, any content your React or Vue app injects client-side is completely invisible to Google Search.
This free Googlebot simulator sends a real HTTP request with Googlebot's exact user-agent string and shows you the raw HTML Google receives on that first pass. If your page title, meta description, headings, or body content are missing from the output, they are missing from Google's initial index - and your rankings suffer for it.
Paste any URL below to test how Googlebot sees your site right now. No signup, no limits, no rendering delay.
How to use this tool
- 1
Enter the URL you want Google to index. Googlebot is already selected on this page, so there is no crawler to choose.
- 2
Click 'Simulate crawl'. We request the page once with Googlebot's user-agent, which is what Google's crawl stage does before any rendering.
- 3
Check the HTTP status and the visibility score. Anything other than a 200 means Google is redirected, blocked or shown an error before it reads your content.
- 4
Open 'Raw HTML response' and search for your title, main heading and a sentence of body copy. If they are missing, Google only gets them after its rendering pass.
- 5
Compare the result with the URL Inspection tool in Google Search Console, which shows the HTML after Google has rendered the page. The difference between the two is the content that depends on JavaScript.
How it works
This test sends one server-side GET request with the header 'Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)' and records what comes back: the status code, the response headers and the HTML body. No scripts are executed. Google crawls most sites with its smartphone agent, but the 'Googlebot/2.1' token is the same in both versions and is what servers match on.
What the test deliberately leaves out is Google's Web Rendering Service. Google renders pages later in an up-to-date version of Chromium, so content injected by JavaScript can still be indexed after a delay. Testing the raw response shows what Google has to work with before that happens, and what it is left with if rendering is deferred, a script fails or an API call is too slow.
Two results need careful reading. A 403 or a challenge page usually means your CDN or firewall verifies Googlebot by IP address or reverse DNS and has rejected our request because it does not come from Google's network. The real Googlebot would not be blocked. And if the response differs from what a browser receives, your server is varying content by user-agent, which is acceptable for pre-rendering as long as the content is equivalent.
Understanding Googlebot
Googlebot is Google's primary web crawler responsible for discovering and indexing content for Google Search. Unlike most other crawlers, Googlebot can execute JavaScript using the Web Rendering Service (WRS) - a headless Chromium-based engine maintained by Google's search team.
However, JavaScript rendering happens on a delayed schedule. Google's indexing pipeline works in two waves: the first wave indexes the raw HTML immediately, and the second wave renders JavaScript hours or days later. During this gap, your content may be invisible in search results. For time-sensitive content like product launches, news articles, or event pages, this delay can mean missing critical indexing windows.
Googlebot also operates under a crawl budget - the number of pages Google will crawl on your site within a given timeframe. JavaScript-heavy pages consume more crawl budget because rendering is expensive. Sites with thousands of pages may find that Google deprioritises rendering for less important pages, leaving them permanently unindexed.
Pre-rendering your pages ensures Googlebot sees fully-formed HTML on the first crawl, eliminating the two-wave delay and reducing crawl budget consumption. This is especially important for React, Vue, Angular, and AI-built sites where the initial HTML is often just an empty shell.
Frequently asked questions
Does Googlebot really execute JavaScript?▾
Yes, but on a delayed schedule. The first crawl reads raw HTML only. JavaScript rendering happens in a second pass, sometimes hours or days later. During this gap, your content is invisible to Google Search.
What version of Chrome does Googlebot use?▾
Googlebot's Web Rendering Service runs the latest stable version of Chromium, which Google updates regularly. This means it can handle modern JavaScript features, but it still has limitations with user interactions, lazy loading, and infinite scroll patterns.
Will pre-rendering affect my Google rankings?▾
Pre-rendering can improve rankings by ensuring Google sees your content immediately on first crawl, rather than waiting for the second rendering pass. Google officially recommends dynamic rendering as a legitimate solution for JavaScript-heavy sites.
Does Googlebot respect robots.txt?▾
Yes. Googlebot fully respects robots.txt directives. If you block Googlebot in robots.txt, it will not crawl your pages. PageGlass does not interfere with robots.txt - it only pre-renders pages that bots are already allowed to access.
Related crawler tests
Bingbot tester
Preview your page through Bing's crawler. Bingbot has improved its JavaScript rendering capabilities but still lags behind Googlebot, making it a good test for framework-heavy sites.
Search engineChatGPT SEO
Check whether ChatGPT can read your content. GPTBot crawls pages to build OpenAI's training data and power ChatGPT's browsing feature. If your site returns blank HTML, ChatGPT cannot reference or recommend your content.
AI crawlerFacebook debugger alternative
Preview how Facebook and Messenger display your shared links. Facebook's crawler reads Open Graph meta tags from the raw HTML - it does not execute JavaScript, so dynamically-injected OG tags will not appear.
Social mediaRelated free tools
What bots see
Enter any URL and see the raw HTML that search engine bots, AI crawlers, and social platforms receive - before and after JavaScript rendering.
Try it freeOG image checker and Open Graph debugger
Test your Open Graph and Twitter Card meta tags. Preview exactly how your links appear when shared on Facebook, LinkedIn, Twitter/X, and WhatsApp.
Try it freeSEO audit
Run a free SEO audit on any website. Check meta tags, headings, structured data, alt text, canonical URLs, and crawler accessibility.
Try it freeLLMs.txt generator
Build a valid llms.txt for your site - the proposed standard that helps AI assistants navigate your content. Spec-compliant, copy or download.
Try it freeMeta tag checker
Test every SEO and social meta tag on any page. Title, description, canonical, robots, viewport, Open Graph, Twitter - with bot-eye-view validation.
Try it freeLovable SEO audit
Audit any Lovable site for the JavaScript SEO problem. Lovable apps render in the browser - bots see an empty shell. This tool shows you what's missing.
Try it freeMake every crawler see your content
PageGlass automatically serves rendered HTML to all bots. No per-crawler configuration needed - one simple change covers Googlebot, AI crawlers, and social platforms.