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 · 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. 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. 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. 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. 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. 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

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.