Most AEO advice online is a list of tricks with no source. This one starts from what the search and AI companies have published, separates that from folklore, and ends with a script you can run on your own pages. I checked each source on 2026-10-16. The script and its numbers are mine, run on this site's own posts.
What does Google say you need for AI Overviews and AI Mode?
Less than most guides claim. Google's page on AI features and your website says a page must be "indexed and eligible to be shown in Google Search with a snippet", and that meeting this does not guarantee crawling, indexing or serving. It also says:
- "There are no additional requirements to appear in AI Overviews or AI Mode, nor other special optimizations necessary."
- You do not need "new machine readable files, AI text files, or markup".
- "There's also no special schema.org structured data that you need to add."
So the first rule of AEO for Google is plain: be crawlable, indexable and snippet-eligible. Check that before anything clever. Control runs the other way too. Googlebot access is managed in robots.txt, and nosnippet, data-nosnippet, max-snippet and noindex limit what appears.
For measurement, Google says traffic from these features is included in overall Search Console data, in the Performance report under the Web search type. There is no separate AI Overviews report in what I read, so do not expect to isolate it there.
Can you mark a page up to win a featured snippet?
No. Google's featured snippets page says its systems decide if a page makes a good featured snippet and elevate it. That page did not give format advice such as paragraph versus list, so any format guidance below is my judgement, not Google's rule.
What you can do is write so that a section stands alone. A featured snippet click can take a reader to the relevant section of the page, per Google, which is a good reason to give each section a clear heading and an answer near the top.
Does FAQ schema still matter for AEO?
For Google rich results, no. Google's changelog entries I read say FAQ rich results would stop appearing starting 7 May 2026 and that the feature was removed from documentation on 15 June 2026. Before that, a 2023 entry had already limited the feature to well-known government and health sites.
The practical move: keep real question-and-answer sections in the visible text, and do not spend time on FAQPage markup for a rich result. Whether other systems read the markup is not something these Google pages say. If you want the technical detail on what to validate, see schema markup with LLM validation.
What do the AI crawlers need from your robots.txt?
OpenAI documents three agents, and they do different jobs:
| Agent | What the page says it is for |
|---|---|
| OAI-SearchBot | Surfaces sites in ChatGPT's search features. Sites that opt out will not be shown in ChatGPT search answers, though they can still appear as navigational links. |
| GPTBot | Crawls content that may be used to train OpenAI's generative AI foundation models. |
| ChatGPT-User | Handles certain user-initiated actions in ChatGPT and Custom GPTs; the page says it is not used for crawling the web automatically. |
The page treats each setting as independent, and gives this example: allow OAI-SearchBot to appear in search while disallowing GPTBot to keep content out of training. It also says a robots.txt change can take about 24 hours to take effect. That split matters for AEO, because blocking the training bot does not by itself remove you from ChatGPT search. A longer walkthrough is in llms.txt and robots.txt for AI crawlers.
How do you write a page that answers the question?
These are my working rules. They are judgement, partly grounded in the GEO paper experiments, not vendor requirements.
- Put the answer in the first one or two sentences under the heading. Then add the caveats, steps or evidence.
- Phrase some H2s as the question a person types. Not all of them. Forced questions read badly.
- Make each section stand alone. Avoid "as mentioned above". An answer engine may quote one section without the rest.
- State numbers with their source and date. A quotable fact needs to survive being lifted out of context.
- Use a table when the answer is a comparison, a numbered list when it is a procedure, and a short paragraph when it is a definition.
- Keep the visible page and any structured data consistent. Google's guidance says to keep structured data matching the visible text.
- Show who wrote it and when it was verified. This is trust signalling for readers first.
How does your own site score? A script to audit it
I wrote a short script that splits each post at ## headings and measures the first prose paragraph under each. It checks three things: how many H2s are phrased as questions, the median length of that first paragraph, and how many are 60 words or fewer. The 60-word threshold is my arbitrary stand-in for "short enough to quote". It does not tell you whether the paragraph actually answers anything.
QUESTION = re.compile(r"^(what|how|why|when|which|who|can|does|do|is|are|should|will)\b", re.I)
def split(text):
text = re.sub(r"^---\n.*?\n---\n", "", text, count=1, flags=re.S)
text = re.sub(r"```.*?```", "", text, flags=re.S)
parts = re.split(r"^## (.+)$", text, flags=re.M)
return list(zip(parts[1::2], parts[2::2]))
def first_para(body):
for block in body.strip().split("\n\n"):
b = block.strip()
if b and not b.startswith(("|", "-", "*", "1.", "<", "#", ">")) and not b.endswith(":"):
return b
return ""
I ran it over this site's content/blog folder on 2026-10-16:
posts: 536 H2s: 4212
H2s phrased as a question: 1741 (41%)
median words in first paragraph under an H2: 32
first paragraphs of 60 words or fewer: 2988 (86%)
How to read that honestly: the site is already structured in the shape answer engines tend to quote, with short first paragraphs and many question headings. That says nothing about whether those paragraphs are correct, specific or better than a competitor's. Lead-in lines such as "Here is how:" are excluded only when they end with a colon, so some of the short paragraphs may still be filler. Treat the script as a way to find outliers: sections with no prose under the heading, or a first paragraph of 150 words that buries the answer.
Run it on your own folder, sort by the longest first paragraphs, and rewrite those first.
How do you check whether any of it worked?
You cannot trust a single number here. Do three things:
- Search Console: watch impressions and clicks for the pages you changed, knowing AI feature traffic is mixed into the Web totals.
- Prompt tests: ask the same ten questions in ChatGPT search, Perplexity and Google every month and log whether you are cited. The method is in the AI citation test protocol.
- Server logs: look for the crawlers above. Seeing OAI-SearchBot fetch a page is a sign it is eligible, not that it was cited.
What I would skip
- Adding an AI text file in the hope Google uses it, given Google's own statement above.
- Spending a day on FAQPage markup for a rich result that no longer shows.
- Rewriting every heading as a question. Do the pages where a person really asks that question.
- Quoting search-share percentages from marketing blogs. I found none in the primary sources I read, so I give none.
What I could not verify: how ChatGPT search or Perplexity choose which pages to cite. Neither page I read explains selection. Everything in the writing section is judgement.
For a content plan that uses these rules, see AI SEO content strategy prompts.



