One-Afternoon AI Visibility Check for Small Teams
99Visibility Research · Updated October 21, 2026 · 8 min read
A quick AI visibility check takes one afternoon and needs no developer. Read your robots.txt rule for each AI search crawler. View your page source to confirm key facts load before JavaScript runs. Look for noindex and nosnippet tags that hide content from AI answers. Then ask several AI engines a handful of branded and buyer questions and record what each one gets right, wrong or leaves out.
What this check covers and what it cannot
This playbook tests the parts of AI visibility you control. Those are mostly access checks: can each AI crawler reach your pages, read your key facts, and show them in an answer.
It helps to split AI visibility into four stages:
- Parametric: what a model knows with no web access, frozen at its training cutoff. Nothing you do this afternoon changes it.
- Access: whether a crawler may fetch your page at all. This is where you have real control.
- Retrieval: whether your page enters the model's context for a given question. The engine decides, per query.
- Generation: which retrieved pages the model uses and cites. The model decides.
Steps 1 to 4 below cover access. Step 5 samples the output. The check cannot tell you why an engine chose a competitor, and it cannot predict citations. It tells you whether something on your side is blocking you. If you want the wider context first, read how to check whether your brand is visible in AI search. Strong rankings don't settle this either, as explained in whether strong SEO means you're already visible in AI search.
Before you start: 15 minutes of prep
Gather three things before you open any tool.
- Your five most important pages. Usually the homepage, pricing, the main product or service page, the about page, and your best-performing guide.
- A fact sheet. Write down the facts an AI answer must get right: what you sell, who it's for, your price or price range, location, founding year, and current product names. You'll compare every answer against this list.
- A short prompt list. Write three to five branded questions ("What does [brand] cost?", "Is [brand] good for [use case]?") and three to five buyer questions that don't name you ("best [category] for [audience] in [city]").
Say you run a dental clinic in Austin. Your fact sheet would list services, insurance accepted, opening hours and address. Your buyer questions might be "best family dentist in Austin that takes [insurer]".
The five steps
Step 1: Read your robots.txt bot by bot
Open yourdomain.com/robots.txt in a browser. Look for rules naming these search and retrieval crawlers: OAI-SearchBot (ChatGPT search), PerplexityBot (Perplexity), Claude-SearchBot (Claude search), Meta-WebIndexer (Meta AI), Googlebot and bingbot. Then look for training crawlers: GPTBot, ClaudeBot and Google-Extended.
The settings are independent. OpenAI's crawler page says sites that opt out of OAI-SearchBot will not be shown in ChatGPT search answers, while blocking GPTBot only signals that content shouldn't be used for training. A common mistake is a blanket AI block that removes search eligibility along with training. Also check for a User-agent: * rule with Disallow: /, which blocks every bot without its own rule.
A rule set that allows ChatGPT search but opts out of training looks like this:
User-agent: OAI-SearchBot
Allow: /
User-agent: GPTBot
Disallow: /
There is no robots.txt token for Google AI Overviews or AI Mode. Googlebot is the control there.
Step 2: View the source of each key page
Open each page, right-click and choose "View page source". This shows the raw HTML before JavaScript runs. Search it (Ctrl+F or Cmd+F) for each fact on your sheet: the price, the product name, the one-line description.
This matters because Vercel found that ChatGPT and Claude crawlers fetch JavaScript files but don't execute them, so they can't read client-side rendered content. Googlebot does render JavaScript, so a page can look fine in Google and still be blank to other AI crawlers. If a fact appears on screen but not in the source, note it.
Step 3: Search the source for snippet and index tags
In the same source view, search for noindex, nosnippet, max-snippet and data-nosnippet. Google documents these as controls over how content appears, and Google says a page must be indexed and eligible for a snippet to appear as a supporting link in AI Overviews or AI Mode. Bing says content marked data-nosnippet stays indexed but is excluded from snippets and AI summaries. These tags often arrive from a template, for example someone hiding a cookie banner. Ask whoever runs the site to also check for an X-Robots-Tag HTTP header, which doesn't show in the source.
Step 4: Check that crawlers actually get through
A firewall or CDN can block a crawler that robots.txt allows. OpenAI's help page says eligibility needs both: allow OAI-SearchBot, and confirm your host or CDN allows traffic from OpenAI's published searchbot IP addresses. You can't see this from a browser. The AI Crawler Checker requests a page as each AI crawler and shows which ones get turned away. While you're at it, check URL Inspection in Google Search Console and the index report in Bing Webmaster Tools for your key pages. Look at them separately: one being healthy says nothing about the other.
Step 5: Ask the engines your prompts
Run your prompt list in ChatGPT, Perplexity, Gemini, Claude and a Google search that shows an AI Overview. Use a logged-out session or turn memory off, because saved context changes results. For each answer, record: were you named, were the facts right, which sources were cited, and did the answer show any citations at all. An answer with no citations may come from the model's training data rather than a live search, and you can't tell which from outside. Keep results per engine. A blended number hides the differences that matter, as covered in one score vs per-platform scores.
If you'd rather not run prompts by hand, the free checker on this site runs up to three buyer questions and scores the answers. Treat it as a snapshot, not ongoing tracking.
The checklist
Copy this into a doc and tick each line per page.
- robots.txt does not block OAI-SearchBot, PerplexityBot, Claude-SearchBot, Meta-WebIndexer, Googlebot or bingbot
- No
User-agent: *rule withDisallow: /covering bots you want - Training bot rules (GPTBot, ClaudeBot, Google-Extended) reflect a deliberate choice
- Price appears in view-source
- Product or service description appears in view-source
- Company name, location and current product names appear in view-source
- No unintended
noindex,nosnippetormax-snippet:0 - No
data-nosnippeton content you want quoted - Key pages are indexed in Google Search Console
- Key pages are indexed in Bing Webmaster Tools
- Each AI search crawler gets a normal page, not a 403 or a challenge
- Prompt results recorded per engine, with wrong facts listed against your fact sheet
If you want to automate parts of this later, see scripts for AI SEO checks you can run yourself.
What good and bad results look like
| Check | Good result | Bad result |
|---|---|---|
| robots.txt | Search crawlers allowed, training rules deliberate | Blanket AI block, or a wildcard disallow |
| View-source | Price and description in the raw HTML | Facts appear only after the page loads in a browser |
| Snippet tags | None, or only on intended blocks | noindex or nosnippet inherited from a template |
| Crawler access | Normal page returned to each bot | 403, CAPTCHA or challenge page |
| Prompts | Named where relevant, facts match your sheet | Wrong price, old product name, or a competitor's details |
A clean access result does not guarantee you'll be named. It means nothing on your side is stopping you. A bad access result is a clear fix.
Weigh prompt errors by severity, not count. One wrong price or a claim that you were acquired does more damage than several minor slips, which is why one serious AI error matters more than many small ones.
What to do with what you found
Sort findings into three groups.
- Access fixes: robots.txt edits, firewall or CDN allowances, removing stray snippet tags, and server-rendering key facts. These are the changes with the strongest evidence behind them. Most need a developer for an hour or two, so hand them over with the exact page and line.
- Fact fixes: if engines get a fact wrong, make sure your own pages state it once, clearly and consistently, in the raw HTML. Contradictions between your pricing page and your footer give engines two answers to choose from.
- Off-site gaps: if engines cite review sites or directories instead of you, being named accurately on those sites is associated with appearing in the answer. No one can promise an effect.
If it's unclear who owns each fix, use a RACI for marketing and dev.
How often to repeat it
Rerun the access steps (1 to 4) after any redesign, CMS migration, CDN or firewall change, or new robots.txt. Your site can also change without anyone editing it. As of September 15, 2026, Cloudflare blocks Training and Agent crawlers by default on ad-displaying pages for new domains and existing free-tier customers, while leaving Search allowed by default.
Rerun the prompts after a pricing or product change, and on a regular schedule so you can spot drift. Answers vary between runs, so compare patterns, not single answers. For a fuller schedule, see how often to re-run AI visibility checks.
Do I need a developer to run this check? No. Reading robots.txt, viewing page source, searching for tags and running prompts all work in a browser. You'll likely need a developer to fix what you find: editing robots.txt, changing firewall rules, removing template tags or server-rendering content that currently loads with JavaScript. Hand them a list with the exact page, the fact or tag, and what you expected to see. That turns a vague request into a short ticket.
Should I allow GPTBot so ChatGPT can find me? GPTBot governs whether OpenAI may use your content for training. It doesn't control ChatGPT search. OAI-SearchBot does, and OpenAI states the settings are independent of each other. You can allow OAI-SearchBot to stay eligible for ChatGPT search answers while blocking GPTBot. Make the training decision on its own merits, not as a visibility tactic.
Why do I get different answers each time I ask the same prompt? Engines decide per query whether to search the web, and they often rewrite your question into their own search queries. Model routing, location and saved memory also change results. That's why you should run prompts logged out or with memory off, record several runs, and look for patterns per engine. A single answer is one sample, not a verdict on your visibility.
Should I add schema or an llms.txt file as part of this check? They're not part of this check. Google says there are no additional requirements or special optimizations needed to appear in AI Overviews or AI Mode beyond being indexed and snippet-eligible. No engine documents reading llms.txt. Existing schema does no harm, but it isn't a lever for AI answers. Spend the afternoon on access and facts instead.
What if an AI engine states a wrong fact about us? First check your own pages. Make sure the correct fact appears once, clearly, in the raw HTML of a page crawlers can reach, and that no other page contradicts it. Then check which sources the engine cited; the error may come from a third-party page you can ask to correct. You can't edit the model directly, so fix what's in your control and recheck later.
Sources
This page is AI-assisted. It was written from a verified evidence base and checked against our editorial policy. Engine behaviour changes often; facts are as of October 21, 2026.