- Yesterday
AI Search Visibility: The 4-Layer System I Run Across 14 Products and 3 Blogs
- Mark Fulton
- AI Marketing, SEO Automation, AI Search Visibility
- 0 comments
Every tool selling you an "AI visibility score" is sampling a black box. It fires a fixed set of prompts at ChatGPT, Perplexity and Gemini, counts how often your brand comes back, and draws a line chart. That line moves when the model gets updated, when someone rewrites a prompt, or when the sampling happens to land differently on a Tuesday. It is not a rank. Treating it like one is how people end up paying a monthly fee to watch noise.
I run about 14 launched products and three SEO blogs, and I publish a post to one of them every weekday through a Claude Code routine. So I care about AI search visibility in a narrow, practical way: which parts of it can I actually control and verify, and which parts am I guessing at?
Sorting it out gave me four layers. Two of them are verifiable and almost nobody writes about them. Two of them are content work that looks like ordinary SEO with the emphasis moved. Here is the whole system, including the part where I admit what I cannot measure.
What does "AI search visibility" actually mean?
The phrase gets used for three different things, and conflating them is why so much advice sounds contradictory.
Retrieval visibility. An answer engine runs a live search, fetches pages, and quotes from them. This is what happens in ChatGPT search, Perplexity, Google AI Overviews and AI Mode. It is happening right now, it depends on your page being reachable and indexed, and it is the only one of the three you can meaningfully influence this week.
Citation visibility. You get named or linked inside a generated answer. This is a subset of retrieval: you have to be retrieved first, then chosen over the other five to seven sources the model pulled.
Training visibility. The model "knows" your brand from pretraining. You cannot optimize this on a useful timescale, and the crawler that feeds it is not the crawler that feeds search.
Almost every guide I read while researching this post blurs the first and third. That single confusion produces the most common self-inflicted wound in this whole space, which is layer one.
Layer 1: can AI crawlers actually reach your pages?
This is the layer with real yes-or-no answers, and it is the layer the tool-vendor guides skip entirely. Four of the top-ranking pages for this keyword talk about entity authority and schema strategy without once mentioning that a lot of sites are simply blocking the fetch.
Start with the crawler distinction, because it is the one people get wrong. Per OpenAI's own crawler documentation, OAI-SearchBot is the agent "used to surface websites in search results in ChatGPT's search features," and sites that block it "will not be shown in ChatGPT search answers." GPTBot is a different agent, used for model training. Blocking GPTBot does not affect your search visibility. ChatGPT-User is a third case: an on-demand fetch triggered when a person asks about your page.
So the common move of pasting a "block the AI scrapers" snippet into robots.txt to protect content from training has a side effect nobody mentions in the snippet. If it caught OAI-SearchBot too, you removed yourself from ChatGPT search answers to prevent something GPTBot alone controls. Those are separate decisions and should be made separately.
Then check the three things underneath robots:
Your CDN or WAF. Bot-protection rules block AI agents far more often than robots files do, and they do it silently with a 403 that never shows up in any content tool. Check the actual response your origin returns to those user agents, not what your robots file says you allow.
Server-side rendering. If the words only exist after JavaScript runs, a fetch-and-parse crawler gets an empty shell. This blog is a live example: it runs on a hosted platform that renders posts client-side, which is why my own publishing routine has to verify a new post through a real browser instead of a plain fetch. I did not choose that tradeoff, I inherited it with the platform, and it is a genuine ceiling on this specific property. The Vercel-hosted products are server-rendered and do not have the problem.
What the logs say. This is the only honest verification in the entire stack. On the Vercel properties I can filter runtime logs by user agent and see whether OAI-SearchBot, PerplexityBot and ClaudeBot are hitting real pages and what status code they get. A crawler hit is a fact. A visibility score is an inference.
If layer one is broken, nothing in layers two through four matters. Fix it first, and it usually takes an afternoon.
Layer 2: which content assets actually get quoted?
Here is a verified fact that cuts against most of what is written about this. Google's documentation on AI features states plainly that there are no additional requirements to appear in AI Overviews or AI Mode, and no special optimizations necessary. To be a supporting link, a page needs to be indexed and eligible for snippets. That is it.
So the schema-markup-as-magic advice is oversold. What genuinely changes your odds is having a page that answers the shape of question a person types into an answer engine. Those questions cluster into five shapes, and each one wants a different asset:
Definition prompts ("what is X") want a self-contained definition block in the first 150 words, phrased so it survives being lifted out of the page.
How-to prompts want numbered steps with the real values in them, not "configure your settings appropriately."
Comparison prompts ("X vs Y," "best X for Y") want a dedicated comparison page. These are the highest-leverage asset and the one most small sites never build, because writing honestly about alternatives feels like giving away the pitch.
List prompts ("top tools for X") want a roundup with clear criteria stated up front.
Skeptical prompts ("is X worth it," "X review") want review and objection content, including the cases where the answer is no.
The Princeton-led paper that named this field, GEO: Generative Engine Optimization, found that these content-level methods can boost visibility by up to 40% in generative engine responses. Worth knowing, and worth reading as a benchmark result rather than a promise about your traffic. Every competitor I analyzed cites this study without linking it, and two of them attach the 40% to claims the paper does not make.
Layer 3: how do you structure a page so a model can lift one chunk?
Retrieval does not grab your page. It grabs a chunk of it. That changes three things about how I write.
Each section has to stand alone. If a paragraph only makes sense after the two above it, it cannot be quoted. So the antecedent goes back in: "this layer" becomes "crawler access," even when it reads slightly repetitively to a human.
The answer comes before the reasoning. Ordinary blog structure builds to a conclusion. Extractable structure states the conclusion, then defends it. My H2s are phrased as the question someone would actually type, and the sentence right under each one is the answer.
Numbers, dates and named sources beat adjectives. A model choosing between five sources on the same topic will take the one that is falsifiable. This is also the cheapest quality filter I know of, because a claim you can source is a claim you have checked.
That last point is where the competitor set falls down hardest. One 2,200-word guide ranking for this keyword makes eleven statistical claims and sources exactly one of them, and that one is a paper it does not link. If unsourced numbers were enough, it would be easy.
I keep these rules in a project instruction file rather than in my head, which is the same reason I keep brand facts there. When the rule lives in the repo, the routine follows it at 6am without me.
Layer 4: what can you actually measure, and what can't you?
Verifiable, in rough order of usefulness:
Crawler hits in your logs. Did the search agents fetch this URL, and did they get a 200? Yes or no.
Referral traffic from AI surfaces. Sessions arriving from the ChatGPT, Perplexity, Copilot and Gemini referrer domains show up in analytics like any other referrer. Small numbers, but real ones, and they tell you which pages got picked.
Search Console. Google folds AI Overviews and AI Mode into overall Search performance rather than splitting them out, so you cannot isolate them, but the query and page data still moves when your AI-facing assets land. I run a weekly review loop over this data that decides what gets published next, which I wrote up in the Google Search Console automation post.
Spot-checking prompts by hand. Ten prompts a month, same wording each time, logged in a file. Cruder than a dashboard and considerably more honest about its own error bars.
Not verifiable, and I would treat anyone who claims otherwise as selling something:
Which prompt produced a visit. The referrer tells you the surface, never the question.
Attribution to revenue. An answer engine that describes your product accurately and sends nobody is doing something valuable that you cannot count.
Whether a score change was you. Model updates and prompt drift move those numbers independently of anything you shipped.
I do not have a clean number for how often my properties get cited in AI answers. Nobody selling you one has a clean number either. The difference is that I am telling you.
How I generate these assets without writing them one at a time
Five asset types across a portfolio is more writing than a solo operator can do by hand, which is the whole reason the AI Search Visibility session exists. It ships with a full app, GEO Launchpad, that generates the asset set in parallel: articles, snippet blocks, FAQs, comparison pages and review assets from one opportunity brief. The full replay is available instantly, the app is included, and you can point it at your own business, run it for clients, or rebrand it as a SaaS. If you only read one thing after this post, watch that session, because it is the build half of what I have described here.
My own version of the pipeline is three pieces, and none of them are exotic:
A state file that remembers. A log of every published asset, its target query and its type. Without it, an agent rewrites the same comparison page every month.
A fan-out step, not a chain. Every asset gets generated from the source brief, never from another generated asset. Chaining compounds errors, and by the fourth hop you are optimizing a summary of a summary. I learned that one the expensive way, and wrote up the whole pattern in the content repurposing workflow post.
A human gate before anything publishes. Cheap generation plus no review is exactly the scaled-content pattern search engines penalize. The gate is not a formality, it is the reason the output is worth indexing. The publishing side of my setup, including the weekday cadence, is in the Claude Code SEO automation post.
What I stopped doing
Four things I dropped after running this for a while:
Paying for a visibility score. I could not act on the number. When it went up I did not know why, and when it went down I could not tell a model update from my own mistake.
Adding schema to everything. I use it where it describes something real on the page. Google says it is not a requirement for AI features, and I believe the documentation over the checklist posts.
Writing comparison pages that only flatter my products. A comparison page that never concedes a point does not read as a source, and it does not survive a skeptical prompt.
Chasing every new answer engine. Access, assets, structure and measurement are the same everywhere. The surface list changes every quarter and the four layers have not.
If you want the app and the rest of the system
The Reinventing AI Accelerator is where the live sessions and the vault of apps, tools and agents live, including GEO Launchpad and the other production-ready builds from past sessions. Members get the replays with instant access and the solution files, which for this topic means you skip straight to the asset generation instead of building it. One small ask: if you take a look, start with the AI Search Visibility session, run layer one on your own site first, and see what your logs say before you buy anything that promises a score.
Frequently asked questions
Does blocking GPTBot hurt my visibility in ChatGPT?
No. Per OpenAI's crawler documentation, GPTBot is used for model training and blocking it does not affect search visibility. The agent that matters for ChatGPT search answers is OAI-SearchBot, and blocking that one does remove you from those answers. They are separate rules and worth setting separately.
How long until a new page shows up in AI answers?
For retrieval-based surfaces it can be fast, because the engine is running a live search rather than recalling training data. The gate is your page being indexed and reachable, not a waiting period. The slower part is becoming one of the handful of sources consistently picked for a query, which is ordinary authority work on a scale of months.
Do I need FAQ schema to get cited?
Not according to Google, which states there are no additional requirements or special optimizations needed for AI Overviews or AI Mode beyond being indexed and snippet-eligible. Schema that accurately describes visible page content is good practice. Schema treated as a citation lever is a distraction from writing an answer worth lifting.
Can I tell which AI prompt sent me a visitor?
No. Your analytics will show the referring surface, such as ChatGPT or Perplexity, but never the question the person asked. Any tool implying prompt-level attribution for your live traffic is inferring it from its own sampling, not observing your visitors.
Is this worth doing for a small site?
Yes, and arguably more than for a large one, because the citation set for a given answer is small. Being one of five sources on a narrow question is achievable for a site that would never rank top five in a broad category. Narrow, specific, honestly-sourced pages are exactly what these systems pull from.
What is the single highest-leverage thing to do first?
Check what status code your server returns to OAI-SearchBot, PerplexityBot and ClaudeBot, and confirm your pages render their content without JavaScript. If either check fails, every content improvement you make is invisible to the systems you are trying to reach.
Subscribe Now for More AI Insights
Subscribe for Updates from Reinventing AI
Stay current on the most cutting-edge AI solutions for ambitious entrepreneurs and marketers!