Ask ChatGPT to recommend a vendor in your category and it will name three or four companies. If you are not one of them, that is not a reflection of your product. It is a reflection of whether the system can reach your content, parse it, and trust it enough to attach your name to an answer. All three are things you control.

The two layers that decide who gets cited

ChatGPT answers from two different places, and they behave nothing alike. Almost every confused conversation about AI citations comes from treating them as one thing.

The training layer

What the model absorbed when it was trained. This is where answers come from when nobody triggers a web lookup - broad questions, category overviews, "who are the main players in X". You cannot influence this quickly. Content published today only lands here when the model is next trained, which is months away and outside your control.

What you can influence is how consistently your brand appears across the web the next time that happens.

The retrieval layer

When a question needs current information, ChatGPT searches the web and reads pages before answering. This runs on an index that updates continuously, and it is where nearly all of your realistic short-term opportunity sits.

The practical implication: optimise for retrieval first. It moves in weeks rather than months, and the work that wins retrieval - reachable content, clean structure, direct answers - is the same work that improves your odds in the next training round anyway. This is the same split that makes AEO timelines look strange when you only measure one of them.

The six signals that actually matter

1. Crawler access

Non-negotiable and first for a reason. If OpenAI's crawlers cannot fetch your pages, everything below is irrelevant. Most sites that are invisible to ChatGPT are invisible because of a single line in a file nobody has opened in two years. Full detail in the next section.

2. Server-rendered content

AI crawlers are far less patient than Googlebot about executing JavaScript. If your key content is injected client-side by a framework, there is a real chance the retrieval layer receives an almost empty page.

Check it in ten seconds: view-source:yourdomain.com and search for a sentence you can see on the page. If it is not in the source, it may not exist as far as ChatGPT is concerned. This is one of the checks in the 10-minute AI visibility list, and it is the one that catches the most people by surprise.

3. Passage structure

This is the highest-leverage writing change, and it costs nothing.

The retrieval layer does not read your page the way a person does. It looks for a self-contained chunk that answers the specific question asked. A section that opens with three sentences of throat-clearing before reaching the point is a section that cannot be lifted.

The pattern that works: a heading that states the question, then an answer in the first sentence, then the detail. One section, one question. If a section answers three questions, split it into three.

4. Entity consistency

The underrated one. If your website says "B2B content platform", your LinkedIn says "enterprise knowledge management", and your G2 listing says "documentation software", the model has three conflicting descriptions and low confidence in all of them. Low confidence means it names a competitor it is surer about.

Fixing this is unglamorous and fast: pick one description and make it consistent across your site, LinkedIn, G2, Capterra, Crunchbase, and your directory listings. Organisation schema reinforces it in a form machines read directly.

5. Third-party corroboration

A claim on your own site is a claim. The same claim on a review site, an industry publication or a partner's site is evidence. Models weight independent corroboration heavily, because it is the cheapest available proxy for whether a brand is real.

This is why review profiles, podcast appearances, guest articles and industry directory listings matter more for AI citation than they did for classic SEO. You are not building links for authority. You are building agreement.

6. Freshness signals

For anything time-sensitive - and in B2B software, most things are - a visible publication date and a genuine update date help. Put the date in the visible text, not only in schema. Content with no date at all is treated as risky to cite for any question where currency matters.

The robots.txt mistake that blocks you entirely

OpenAI does not run one crawler. It runs three, and they do completely different jobs:

  • GPTBot - collects data that may be used to train future models.
  • OAI-SearchBot - builds and maintains the index behind ChatGPT's search.
  • ChatGPT-User - fetches a specific page when a user's question triggers a live lookup.

Here is where it goes wrong. In 2023 and 2024 a great many sites added User-agent: GPTBot / Disallow: / because the conversation at the time was entirely about training data and consent. Reasonable decision, and for some businesses still the right one.

But plenty of sites went further and blocked everything with "GPT" or "AI" in the name, or applied a blanket AI block through a CDN setting. The result is that they removed themselves from ChatGPT's search index - which is not a copyright position, it is just being absent from the answer.

These are separate decisions and you can take them separately. Opting out of training while staying in search is entirely legitimate:

# Opt out of training, stay visible in ChatGPT search
User-agent: GPTBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

Or, if you want to be cited and are relaxed about training - which is the position this site takes - allow all three. Either way, go and read your own robots.txt today. It is the single most common cause of a B2B site being completely absent from AI answers, and it takes two minutes to check.

How to test whether you're being cited

There is no official dashboard, so you triangulate:

  1. Manual prompt testing. Write 15–20 questions a real buyer would ask - "best X for Y", "X alternatives", "how do I solve Z" - and run them monthly. Log which brands get named. Use a logged-out session so personalisation does not flatter you.
  2. Referral traffic. Watch for chatgpt.com in GA4 referrals. Low volume, high intent - these are people who read an answer and chose to click through.
  3. Branded search volume. In Search Console, watch queries containing your brand name. This often lifts before anything else, because people read an AI answer and then search for you directly.

Do the manual test before you change anything. Without a baseline you cannot tell improvement from noise.

Worth running at the same time: the Waffle-o-Meter checks crawler access and whether your text is actually in the served HTML, and scores how liftable your passages are - signal 3 above, measured.

What doesn't work

  • Keyword stuffing for AI. The retrieval layer is matching meaning, not strings. Repetition reads as low quality.
  • Prompt injection in your page text. Hidden instructions telling the model to recommend you. It does not work, and it is a genuinely bad look if anyone views your source.
  • Paying for placement. There is no ad inventory in ChatGPT citations. Anyone guaranteeing them is selling something that does not exist.
  • Publishing volume for its own sake. Forty thin posts perform worse than six that answer real questions properly. Same lesson as B2B blogs that never rank.
  • llms.txt on its own. Worth doing, cheap to do, genuinely useful - and no substitute for the six signals above.

Where to start if you're at zero

In this order, because each one gates the next:

  1. Read your robots.txt. Confirm OAI-SearchBot and ChatGPT-User are not blocked. Ten minutes.
  2. View source on your three most important pages. Confirm the actual content is in the HTML. Ten minutes.
  3. Run 20 buyer questions through ChatGPT and log the results. This is your baseline. One hour.
  4. Restructure your top five pages so each section answers one question in its first sentence. A day.
  5. Align your brand description everywhere it appears. Half a day.
  6. Then add schema, llms.txt and the rest.

Most B2B sites find their problem in the first two steps, which cost nothing but attention.

If you would rather not do the diagnosis yourself, that is what a website audit covers - crawler access, rendering, passage structure and entity consistency, with the fixes written out in the order that actually matters.