How to Show Up in ChatGPT
Allow OAI-SearchBot, ship a page the fetch can quote, then verify with crawler logs and a prompt list. Content without a 200 is not a ChatGPT strategy.
Showing up in ChatGPT is a pipeline. Allow the search crawler. Publish a URL that states the claim. Confirm the bot hit it. Confirm the answer cited it. Most "GEO content" skips the fetch and the log, then blames the model. The model is not the first thing to check. The fetch is. A page the bot never read cannot be cited, no matter how well it is written, and a page the bot read but returned a 403 on is the same as a page that does not exist from the model's point of view.
OpenAI's publisher FAQ and bot documentation are the spec. We will not outrank them with adjectives. Any public site can appear in ChatGPT search. Summaries and snippets need OAI-SearchBot unblocked. Referrals carry utm_source=chatgpt.com. These two facts are the spine of the rest of this page. Everything else is operational detail on top of them.
Fetch layer
Allow OAI-SearchBot. That is search surfacing. Allow the published IP ranges too. Robots.txt can take about 24 hours.
GPTBot is training. You can split them. If both are allowed, OpenAI may reuse one crawl. That is their note, not a content tactic. The split matters because the two bots answer different questions. SearchBot decides whether you show up in answers today. GPTBot decides whether your content shapes the model over time. A team that blocks both to "stop AI scraping" has also blocked the answer surfacing, which is usually not what the marketing side of the same company wants.
ChatGPT-User is a person-triggered GET (a question in ChatGPT, Custom GPTs). It does not replace SearchBot in robots.txt. OpenAI says robots.txt may not apply because a user asked. It is not used to decide Search appearance. Do not use User as your Search opt-in. If you treat a User fetch as proof of Search eligibility, you will misread the log and call a miss a win.
If security "blocks AI bots," check whether they bundled SearchBot with scrapers. OpenAI publishes IP ranges for a reason. User-agent matching without IPs is theater. A 403 on the money URL is an infra ticket. Stop the writer. The writer did not cause the miss and the writer cannot fix it. A draft pushed against a blocked URL is a draft that will never be cited, and the cost of that draft is real even if the citation is not.
If a disallowed URL still arrives via a third party, ChatGPT Atlas may show only title plus link. The FAQ: use noindex if you want that gone, and the crawler must be allowed to read the tag. Disallow plus hope is how tags never apply. The crawler has to be able to read the page to honor the noindex directive, so a blanket block does not remove the Atlas entry, it freezes it.
Page layer
HTML the bot can see. Answer in the first sentences under the heading a buyer would ask. Original detail beats another "best X in 2026" clone. Google's guide calls that non-commodity content. Same instinct, different engine. Google also says it does not use llms.txt for Search. OpenAI's FAQ does not make one a prerequisite either. Do not stall a publish on a special file. The file is not the blocker. The fetch and the answer are.
Stable URLs. Internal links. A sitemap. There is no ChatGPT submit console. You cannot "submit to ChatGPT" the way you submit to Search Console. Discovery runs through the crawl, and the crawl runs through the allowlist and the link graph. A stable URL with internal links from a crawled page is how the bot finds the next page. A URL that changes every quarter resets its own citation history.
Promptwatch Content Agents can open a gap from tracked prompts and push to Webflow or Framer after a human accepts. WordPress is not live. Essential includes 5 AEO articles at $95/mo, but it does not include Agent Analytics. On Essential, check your own server or CDN logs before drafting. Professional first adds 25M Promptwatch crawler logs. If that view shows a 403, skip the agent because the problem is not the draft. The order matters. Logs first, draft second. A draft written before the log is read is a guess about what the bot can see.
Proof layer
Explore: 10 ChatGPT prompts, free. Enough to see a hole. Essential is the first tier for a larger list, citation analytics, and visitor analytics, with country targeting only. Compare your URL with Reddit or a roundup, then put the visitor script or GTM data for utm_source=chatgpt.com next to the mention, not instead of it. A referral without a stored citation can happen. A citation without a session can happen. Report both.
The reason to report both is that they describe different gaps. A citation with no session means the model named your URL and the buyer did not click, which is a framing or landing page problem. A session with no stored citation means traffic arrived from ChatGPT but you cannot tie it to a prompt you tracked, which is an attribution problem. Treating both as one "AI traffic" number hides which one you have, and the fix for each is a different team.
Work in this order: fetch errors, offsite citations, then a draft. Professional can bring the fetch evidence into Agent Analytics and Unified Actions. Paid checks are daily, not a pager. Daily is enough cadence for a visibility program. A pager implies a breakage model, and a missed citation is not a breakage, it is a ranking signal that moves over days.
Relixir will talk autonomous CMS publish. Live price is Custom. Jasper GEO sits on Business, custom. Neither replaces SearchBot access. A publish loop on top of a blocked bot is a publish loop that produces uncitable pages. The bot access has to come first, and it has to be verified in the log, not assumed from the robots.txt file.
Otterly from $29/mo will not close this loop. It counts mentions. Peec AI we leave last. A mention count without a fetch log tells you the model said your name. It does not tell you whether the model could have said your name on the page you just published, because it does not know whether the bot read that page.
Do this Monday
Allow SearchBot. Inspect one money URL in logs against published IPs. Write or update one page that answers one purchase question in visible text. Track that question for two weeks. If the answer never moves, you did not fail "ChatGPT SEO." You failed a fetch or you are not the source. Fix that before you generate twenty articles. The single page is the test rig. It tells you whether the pipeline carries a citation at all before you spend the budget on volume.
Show up, here, means a stored answer that cites a URL you control after a 200 you can point at. Allow the bot. Ship the page. Keep the log. Product: promptwatch.com.