AI Visibility Checker

AI search engines only cite what they can crawl and parse. This checks your page against the signals that decide whether you show up in AI answers.

Free · No sign-up · Reads the raw HTML a crawler sees

What this checks

Five signals decide whether an AI engine can use your page. They are weighted by how badly each one breaks visibility — being blocked in robots.txt makes every other signal irrelevant, so it carries the most weight.

Everything here is read from the raw HTML your server returns, which is exactly what an AI crawler sees. No JavaScript is executed, because most of these crawlers do not execute it either.

  • AI crawler access (30 pts) — whether robots.txt lets in the crawlers that decide whether you appear in an answer. Only those count against the score — blocking training-only bots such as GPTBot is a legitimate choice and costs nothing here.
  • Structured data (20 pts) — valid JSON-LD, which engines use to understand and attribute content.
  • Content in raw HTML (20 pts) — if your text only appears after hydration, crawlers that skip JavaScript see an empty page.
  • Title, description and H1 (15 pts) — the strings AI answers quote when they cite you.
  • Citation signals (15 pts) — author, publish date and subheadings. Engines prefer sources they can attribute.

Why AI visibility is not the same as SEO

Google ranks pages; AI engines quote passages. That difference changes what matters. A page can rank well and still never get cited, because the engine could not find a self-contained passage that answered the question.

It also changes who decides. Classic SEO is one algorithm with one index. AI answers come from several engines with separate crawlers, separate opt-out mechanisms and separate refresh cycles. OpenAI, Anthropic, Google and Perplexity each run their own, and each honours a different set of user-agent strings.

The practical consequence: a robots.txt written in 2022 to block scrapers, usually with a blanket User-agent: * and Disallow: /, now excludes the answering crawlers that did not exist when it was written. That is the single most common cause of zero AI visibility, and it takes one line to fix.

Training crawlers versus answering crawlers

Each vendor runs at least two user-agents, and the distinction matters more than almost anything else on this page. One collects data to train models. The other decides whether you can show up in an answer.

Blocking GPTBot does not remove you from ChatGPT search. That is OpenAI's own documented behaviour: GPTBot governs training data, OAI-SearchBot governs search appearance, and disallowing the first while allowing the second is the configuration OpenAI itself describes for publishers who want the traffic but not the training. Google draws the same line — Google-Extended covers Gemini training and grounding, and Google states it "does not impact a site's inclusion in Google Search nor is it used as a ranking signal".

This is why the results table above only counts the answering crawlers against you. Plenty of checkers flag a blocked GPTBot as an AI visibility failure. It is not one, and treating it as one sends you off to fix something that was never broken.

User-agentVendorWhat blocking it costs you
OAI-SearchBotOpenAIDecides if you appear in ChatGPT search
PerplexityBotPerplexityDecides if you appear in Perplexity answers
ChatGPT-UserOpenAIFetches your page when a user pastes the link
Claude-UserAnthropicFetches your page when a user pastes the link
GPTBotOpenAITraining data only — does not affect ChatGPT search
ClaudeBotAnthropicTraining data for Claude
Google-ExtendedGoogleGemini training + grounding — not Google Search or AI Overviews
Applebot-ExtendedAppleApple Intelligence training
meta-externalagentMetaMeta AI training
BytespiderByteDanceDoubao / TikTok AI training

How to fix the common failures

If crawler access failed, open robots.txt and check the Disallow rules for each user-agent listed in the results table. A wildcard block (User-agent: * with Disallow: /) blocks everything unless a more specific group overrides it.

If content in raw HTML failed, your page is client-rendered. Server-side rendering, static generation or prerendering all solve it. This is not a subtle penalty — it is the difference between the crawler reading 2,000 words and reading none.

If structured data failed, add a JSON-LD block. Organization plus whatever matches the page type covers most cases. Malformed JSON is worse than none, because the whole block gets discarded silently.

How to use it

  1. Enter your URL — Paste any public page URL. No sign-up needed.
  2. Run the check — We fetch the page and its robots.txt, then score five signals.
  3. Fix what failed — Each failed check comes with the specific change to make.
  4. Re-run to confirm — Deploy the fix and check again. Results are not cached beyond five minutes.

Frequently asked questions

What is an AI visibility checker?

It tests whether AI search engines — ChatGPT, Gemini, Claude, Perplexity — can crawl your page, read its content and cite it in answers. Traditional SEO tools check Google rankings; this checks the newer AI answer layer.

Why am I not showing up in ChatGPT or Gemini answers?

The three usual causes are: your robots.txt blocks the crawlers that decide search appearance (OAI-SearchBot for ChatGPT, PerplexityBot for Perplexity), your content is rendered client-side so crawlers see an empty page, or you have no structured data telling engines what the page is about. This tool checks all three.

Is this the same as SEO?

It overlaps but is not identical. Google ranks pages; AI engines quote passages. That makes machine-readable structure — JSON-LD, clear headings, an author and a date — matter more than it does for classic rankings.

Does blocking GPTBot hurt me?

Not for visibility. GPTBot only governs whether OpenAI may train on your content — per OpenAI's documentation it does not affect whether you appear in ChatGPT search. That is controlled by OAI-SearchBot. So disallowing GPTBot while allowing OAI-SearchBot opts you out of training and keeps the referral traffic, and this tool does not penalise you for it.

Is it free? Do you store my data?

Free, with no sign-up. We fetch the public HTML of the URL you enter and analyse it in the response. Nothing is stored.