AI crawler simulator: see your page the way an AI crawler does.
Enter a URL and the tool requests it as each major AI crawler and as Googlebot. For every one you get the robots.txt verdict, the status code the server sent back, and the text that is in the HTML before any JavaScript runs, which is all most AI crawlers ever read.
By Mike Cecconello · Updated September 25, 2026
AI crawler simulator
Runs on our server, which fetches the public URL you enter. We count runs and never save what you enter; an identical request may be answered from memory for up to five minutes.
What you can do with it
- Find out whether a firewall or bot rule is turning AI crawlers away with a 403
- Check which crawlers your robots.txt blocks, one by one, for a specific page
- See whether a page's content exists in the HTML or only after JavaScript runs
- Show a client, in one screen, why an assistant never quotes their pricing page
How it works, step by step
- 1
Test the page you want cited, not the homepage
AI answers quote specific pages: a pricing page, a guide, a comparison. Homepages are often served differently from deep pages, by a different template or a different cache rule, so test the URL you actually want an assistant to read.
- 2
Read the robots.txt verdict first
A Blocked verdict means that crawler is told not to fetch the page at all, and the rest of its row does not matter. Check whether the block is on a training crawler such as GPTBot, which is a policy choice, or on a retrieval crawler such as OAI-SearchBot or PerplexityBot, which removes you from answers.
- 3
Compare status codes across the rows
If Googlebot gets a 200 and GPTBot gets a 403 or a challenge page, something between the request and your server is filtering by user agent. That is usually a CDN or firewall rule, and it is invisible from inside the CMS.
- 4
Check the raw-HTML text
The text column is what is in the HTML before any script runs. If your main content is missing there but visible in a browser, the page is built client-side, and a crawler that does not execute JavaScript sees an empty shell.
- 5
Fix the cause, then run it again
Change the robots.txt rule, the firewall setting or the rendering mode, then re-run the same URL. The simulator shows the state of the page at the moment you run it, so it is also how you confirm a fix shipped.
Why a page can rank in Google and still be invisible to AI
Google and the AI assistants read the web through different doors. Googlebot fetches a page, then comes back to render its JavaScript. The AI crawlers, as far as any vendor documents, fetch the HTML and stop there. A page that builds its content in the browser can rank well on Google and still hand an AI crawler a near-empty document.
Two other doors close more quietly. robots.txt can block a crawler for one path and not another, so
a site that allows GPTBot on the homepage can still block it on /pricing/. And many CDNs now ship
bot-management rules that challenge or block AI user agents by default, which means the server
answers a real browser with the page and an AI crawler with a 403. Neither shows up when you open
the site yourself.
The simulator requests the page once per crawler and puts the three answers side by side: what robots.txt says, what the server sent back, and what text was actually in the response.
Training crawlers and retrieval crawlers are different decisions
Not every AI crawler does the same job. Training crawlers, such as GPTBot, ClaudeBot and
Google-Extended, collect pages to train models. Retrieval crawlers, such as OAI-SearchBot,
ChatGPT-User and PerplexityBot, fetch a page because someone just asked a question it might
answer.
Blocking a training crawler is a position on how your work is used. Blocking a retrieval crawler removes the page from AI answers, and it is usually done by accident, with a “block all AI bots” rule copied from somewhere. When the simulator shows a block, check which kind it is before you decide whether to fix it. The robots.txt generator writes the split version, training blocked and retrieval allowed, if that is the policy you want.
Reading the result
- Blocked in robots.txt. The crawler is asked not to fetch the page. Well-behaved crawlers comply, so nothing else in the row applies. Fix it in robots.txt if the block is not deliberate.
- Allowed, but a 403, 429 or 503. The request reached something that refused it. Look at your CDN’s bot settings and firewall rules for the named user agent.
- Allowed, 200, but little text. The server answered, but the content is not in the HTML. That usually means client-side rendering. Server-side rendering or static generation fixes it.
- Allowed, 200, and the text you expect. That crawler can read the page. Whether it cites it is a separate question, and one about the content and the site’s authority rather than access.
Access is step one of nine
Being fetchable is the prerequisite, not the goal. An assistant also needs to find the page, parse what it is about and trust it enough to quote. The free AI-readiness check tests a whole domain against nine of those signals, including the robots.txt verdict for eight named crawlers, and gives you a shareable result. Run the simulator on the page, and the check on the site.
Once a site can be read, the work is what it says. AltoRank plans and drafts that content every week, and a person approves each piece before it publishes.
Frequently asked questions
Is this exactly what GPTBot sees?
It is what your server sends to a request carrying GPTBot's user agent, which is the part you control and the part most blocks key on. It is not a request from OpenAI's own network. Some CDNs and firewalls verify crawlers by IP address, so a site can treat our request differently from the real one in either direction. A block that shows up here on the user agent alone is a real block; a clean result here is strong evidence but not a guarantee.
Do AI crawlers run JavaScript?
Googlebot renders JavaScript, in a second pass after it fetches the HTML. The AI crawlers are widely reported not to, and none of the major vendors documents rendering for them. The safe assumption is that an AI crawler reads the HTML your server returns and nothing more, which is why this tool shows that text and does not run scripts.
Which crawlers does it test?
GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and Googlebot, among others: the training crawlers, the crawlers that fetch pages to answer a question, and Google's own crawler as a baseline. The results table names every crawler it checked.
What does a 403 for one crawler and a 200 for another mean?
Your server, or something in front of it, is deciding by user agent. Most often it is a bot-management or firewall rule at the CDN that blocks AI crawlers by default. If you want to be cited, allow the retrieval crawlers there as well as in robots.txt: robots.txt can say yes while the firewall says no.
Does it store the URL I test?
No. The server fetches the page, returns the result to your browser and keeps only a count of how many times the tool ran that day.
How is this different from the AI-readiness check?
The simulator looks at one URL through each crawler's eyes. The AI-readiness check looks at a whole domain's configuration: robots.txt for eight named crawlers, sitemap, structured data, llms.txt, title, description and headings, scored together. Use the check to find what is wrong with a site, and the simulator to see exactly what one page returns.
More free tools
- Free Ad Copy Generator: Google, Meta, LinkedIn
- Free AI Article Generator: A Draft, Not an Article
- Free Alt Text Generator for Images
- Free Article Rewriter: Change Tone, Keep Facts
- Free Article Summarizer: Claim, Evidence, Caveat
- Free Backlink Checker: Links and Referring Domains
- Free Blog Outline Generator: H2 and H3 Headings
- Free Blog Post Ideas From Real Searches
- Free Character Counter With Title and Meta Limits
- Free Content Idea Generator
- Free CTA Generator: Call-to-Action Ideas
- Free Email Subject Line Generator
- Free FAQ Schema Generator (JSON-LD, Article, Breadcrumb)
- Free Google Rank Checker: Live Position for a Keyword
- Free Grammar Checker: Grammar, Spelling, Punctuation
- Free Headline Analyzer: Score Titles Before You Publish
- Free Headline Generator for Blog Posts
- Free Image Resizer and Compressor for the Web
- Free Internal Link Checker: Audit Anchors on Any Page
- Free JSON to CSV Converter, Nested Keys Flattened
- Free Keyword Clustering Tool: Group Keywords by Topic
- Free Keyword Combiner: Merge Word Lists Into Keywords
- Free Keyword Density Checker: A Diagnostic, Not a Target
- Free Keyword Gap Analysis Tool: Compare Two Keyword Lists
- Free Keyword Research Tool: Volume, Difficulty, CPC
- Free Link Extractor: Every Link on a Page
- Free LSI Keyword Generator (Really: Related Terms)
- Free Meta Description Generator With SERP Preview
- Free Plagiarism Checker: Exact-Phrase Web Search
- Free SEO Content Brief Template and Generator
- Free SEO Title Generator: Title Tags That Fit
- Free Slug Generator: Clean URL Slugs From Any Title
- Free Social Media Post Generator: X, LinkedIn, Instagram
- Free Website Worth Calculator: Traffic Value Estimate
- Free Word Counter and Readability Checker
- Free XML Sitemap Checker and Validator
- Interactive SEO Checklist: 33 Checks, Saved as You Go
- Reading Level Checker: Flesch Score and Grade Level
- SEO Cost Calculator: Build a Budget From Your Own Numbers
- SEO Health Check: The Agency Audit Checklist
- SEO ROI Calculator: Return, Payback Month and Formula
- SERP Analysis: How to Read a Search Result Page
- WordPress Permalink Generator: Preview Post URLs
Be the site the assistant names.
Add a domain and the first draft is written while you watch. Every publish is your decision, a click on the draft or a rule you set and can hold, and you can read the source or self-host it free.
Set up your site and read your first drafts before you enter a card.