How to Rank in ChatGPT: Crawler Access, Answer-Shaped Pages and a 20-Question Spot Check
A practical walkthrough for getting your brand retrieved, cited and recommended inside ChatGPT answers - from robots.txt and AI crawler settings to page structure, monitoring and the mistakes that quietly block you.

How to Rank in ChatGPT Starts With Accepting There Is No Rank
Ask ChatGPT the same question on two accounts and you will often get two different answers, with different sources cited, in a different order. There is no page-one position to hold. ChatGPT assembles an answer by retrieving passages, weighing them against your question, and synthesising a response that may cite zero, one or several sources - or none at all.
So "how to rank in ChatGPT" is really a question about three narrower things: can OpenAI's search crawler reach your pages, is your content written in a shape a retrieval system can lift cleanly, and can you track whether your brand is being named over time. This guide walks through the mechanics in order, with the settings, page anatomy and spot-check method that actually move the needle - and the quiet configuration errors that block sites without anyone noticing.
Set expectations now: treat ChatGPT as a distribution surface to earn mentions on, not a rankings table to climb. The honest metric is how often your brand appears across a fixed set of questions you care about - and that number moves slowly.
The Prerequisites: What Must Be True Before ChatGPT Can Cite You
Four conditions have to hold before a citation is even possible. If any one fails, no amount of content polish will help.
- Crawl access: OpenAI's search-related crawler must not be disallowed in robots.txt, blocked by a firewall or WAF rule, or left behind a login.
- Renderable content: the answer text must exist in the HTML a crawler receives, not only after JavaScript executes.
- Retrievable substance: the page must contain a clear, factual, self-contained statement that maps to a real question.
- Entity clarity: the crawler must be able to tell what your organisation is, and that the page belongs to it.
Most failures happen at condition one or two - and they are invisible from the browser, because your site looks perfectly fine to a human visitor while telling the crawler to go away.
Step 1: Stop Blocking OpenAI's Search Crawler in robots.txt
This is the step people get wrong most often, and it comes from a genuine misunderstanding. OpenAI operates more than one user agent with different jobs. GPTBot is associated with training-related crawling; OAI-SearchBot is associated with search visibility inside ChatGPT search. Blocking one is not the same as blocking the other.
A site that disallowed GPTBot in 2023 to "opt out of AI" may still be eligible for ChatGPT search - while a site that disallowed OAI-SearchBot has removed itself from that surface deliberately or accidentally.
A minimal allowance block looks like this. Note that this is illustrative only - verify the current user-agent strings and robots.txt guidance on OpenAI's crawler documentation before you publish anything.
# Allow ChatGPT search retrieval
User-agent: OAI-SearchBot
Allow: /
# Training crawler - decide deliberately, not by accident
User-agent: GPTBot
Allow: /
Sitemap: https://yourdomain.co.za/sitemap.xml
Then confirm the file is actually served. Crawlers get a 403 if a CDN or web application firewall filters bot traffic, and that failure never shows up in your analytics as an error - you simply never get retrieved.
curl -I -A "OAI-SearchBot" https://yourdomain.co.za/robots.txt
# Expect: HTTP/2 200, content-type text/plain
# A 403 or 503 means a firewall is intercepting, not robots.txt
Step 2: Make Your Entity Unambiguous Across the Web
Retrieval systems need to connect a passage to a named thing. If your brand appears as "Acme", "Acme Pty Ltd", "Acme Solutions" and "Acme (Pty) Ltd t/a Acme Group" across your site, directory listings and social profiles, you are handing the system four candidate entities and asking it to guess.
Fix the boring things first. Use one legal-plus-trading name consistently in your footer, your About page and your organisation schema. Keep name, address and phone number identical in your Google Business Profile, your industry directories and your site. Publish ZAR pricing on a public page rather than hiding it in a quote form - a stated price is a factual anchor a retrieval system can quote, and an unanswered pricing question is where competitors get cited instead.
South African businesses should note that ChatGPT search source availability varies by region, and local sites are not surfaced evenly. Consistent NAP data, active local directory listings and a public pricing page give retrieval factual anchors to work with - treat this as sensible groundwork, not a guarantee of inclusion.
Step 3: Write Pages That Answer One Question in the First 100 Words
A retrieval system lifts passages, not pages. If your answer sits in paragraph nine, after three paragraphs of brand storytelling, the extractable passage is the storytelling. The winning shape is unglamorous:
- Put the question in the H1 or the opening H2, phrased the way a person would actually type it.
- Answer it directly in the first 100 words, in plain declarative sentences.
- Then explain, qualify, and add the detail a human reader would want next.
- Keep one question per page. Two questions on one URL produce two half-strength passages.
Compare the two openings below. Both are for a Cape Town accounting firm, and only one is retrievable.
| Weak opening | Answer-shaped opening |
|---|---|
| "Founded in 2009, our firm has a proud history of serving clients across the Western Cape with a comprehensive range of professional services…" | "A small business in South Africa must submit its first provisional tax return by 31 August. This page explains what the return requires, what happens if you miss the date, and what a bookkeeper typically charges for handling it." |
The second version names the entity, the jurisdiction, a date and a concrete obligation in its first sentence. There is something to quote.
Step 4: Structure for Extraction - Headings, Tables, Dates and Schema
Once the content is answer-shaped, formatting decides how cleanly it survives extraction. Put comparisons in real HTML tables rather than in images or nested divs - a table row is a discrete fact pair, and images are invisible to a text crawler. Show a visible publish date and a last-updated date so recency can be assessed. Name an author or at least the organisation behind the page. Add Article, FAQPage and Organization structured data so the entity relationships are machine-readable rather than implied.
Check for noindex tags left over from a staging deployment before you worry about anything else. A single stray meta robots noindex on a template can silently remove an entire section - hundreds of pages - from every retrieval surface at once.

