The 12 checks at a glance
Each check has a source status. "Documented" means a vendor or Google page in this review says it. "Tool check" means the AI Crawler HTML Inspector tests for it, a rule of thumb rather than a vendor requirement. "Not sourced" means this review found no source either way.
| # | Check | Source status |
|---|---|---|
| 1 | Main text in the first HTML response | Documented in part (Google, Vercel) |
| 2 | One h1, headings in order | Tool check |
| 3 | An id on each heading | Standard only (HTML spec, no AI source) |
| 4 | Answer-first opening | Tool check, no AI source |
| 5 | Visible date and author | Tool check, no vendor statement |
| 6 | Structured data that matches the page | Partly: Google has ended FAQ rich results |
| 7 | Key content in text, not only in images | Tool check |
| 8 | Snippet-control tags used on purpose | Not sourced for AI systems |
| 9 | Robots rules per product token | Documented (OpenAI, Anthropic, Perplexity) |
| 10 | One consistent canonical URL | Tool check, not sourced for AI |
| 11 | Concise paragraphs | Tool check; Readability link-density rule |
| 12 | Specific, sourced statements | Partly: GEO paper, on its own benchmark |
Text and links that exist before scripts run
1. Put the main text in the first HTML response
Put the title, main text and navigation in the HTML the server sends, not in a script that runs later. Vercel says "any important content should be server-rendered" and that "client-side rendering still works for enhancement features" (Vercel, "The rise of the AI crawler", 17 December 2024). Google's guidance is similar: server-side rendering or pre-rendering "is still a great idea", because "not all bots can run JavaScript" (Google Search Central, "Understand JavaScript SEO Basics", updated 4 March 2026). Use real links too. Google can only discover links that are <a> elements with an href attribute.
The sources do not say how often an AI bot revisits a page, or whether server-rendered pages are cited more. The Vercel analysis is from December 2024 and covers one network. Use it as a reason to check, not as a forecast.
7. Put key facts in text, not only in images
A chart or table pasted as an image gives a text pipeline nothing to read, unless the same facts appear as text, a caption or alt text. The inspector audits alt text and figure captions and flags tables and figures with no text alternative. No source here says how AI systems read alt text, so this check concerns presence, not a verified ranking effect.
Headings, ids and the opening
2. One h1 and headings in order
Use one h1 for the title, and nest h2 and h3 without skipping levels. The inspector flags a second h1 and skipped levels. They matter for chunking: this inspector labels each chunk with its heading path. The guide on how AI crawlers read a page walks through that pipeline.
3. An id on each heading
Give each heading a stable id, such as id="pricing", so a link can land on it with page#pricing. The HTML standard resolves a fragment to the first element with a matching id in tree order (WHATWG, HTML Standard, "Scrolling to a fragment", living standard). That is a rule for links, not for AI systems, but it lets a chunk carry a precise anchor. Text fragments need no id, though MDN says browser support varies (MDN Web Docs, "Text fragments").
4. Open with the answer
The first paragraph after the h1 should answer the page's question in 60 words or fewer, and reuse the title's key terms. The inspector applies that threshold. No source here shows that AI systems prefer answer-first text. The check also helps a human reader find the answer.
11. Keep paragraphs concise
Keep paragraphs short. The inspector flags paragraphs over 1,200 characters, which is a tool threshold. Readability lowers a block's score as its link density rises, so a link list can lose to prose when Readability-style extraction picks the main content (Mozilla, Readability.js source, main branch). Keep link lists in separate, short blocks.
Dates, authorship and structured data
5. Show the date and author in visible text
Show the publication date and the author's name in visible text, and mark the date with a time element. The inspector looks for a time element, a datePublished value in JSON-LD and a byline. No source here says AI systems use these fields for citation, so treat them as what a reader needs to judge the page.
6. Keep structured data in step with the page
schema.org defines a FAQPage as a WebPage presenting one or more "Frequently asked questions" (schema.org, "FAQPage", development version, usage data August 2026). That is vocabulary only. It does not say what any search engine or AI system does with the markup. Google has ended the FAQ rich result. Its changelog says the feature "will no longer appear in Google Search starting May 7, 2026" (Google Search Central, "Latest Google Search Documentation Updates", October 2026). Do not add FAQ markup in the hope of a Google result. The inspector reports whether the JSON-LD parses.
Robots rules, snippet tags and canonicals
8. Use snippet-control tags on purpose
The inspector reads robots meta tags, including noindex, nosnippet, max-snippet and data-nosnippet. This review found no vendor source on how any AI system treats the snippet controls, so this guide claims no effect from them. Use a tag when you have a clear reason to limit snippets, and test the markup to see what it actually says.
9. Set robots rules per product token
Each vendor names its crawlers, and their purposes differ. OpenAI says GPTBot "is used to make our generative AI foundation models more useful and safe" and that OAI-SearchBot "is for search" (OpenAI, "Overview of OpenAI Crawlers"). Anthropic documents ClaudeBot, Claude-SearchBot and Claude-User (Anthropic Help Center, undated). Perplexity says PerplexityBot "is not used to crawl content for AI foundation models" (Perplexity, "Perplexity Crawlers", undated). Write each rule for the token whose purpose you mean.
Two limits apply. OpenAI says a robots.txt update can take about 24 hours to reach its search results, and that "robots.txt rules may not apply" to ChatGPT-User, because a user starts those actions. Perplexity says Perplexity-User "generally ignores robots.txt rules".
10. Keep one canonical URL
Point the canonical link at the one URL you want cited, and use that URL in your sitemap and internal links. The inspector checks for a canonical link. No source here says how AI systems choose between duplicate URLs, so this is a tool check and general web practice. Your link-preview tags should use the same URL, and the Open Graph Generator can help you build them.
Give the answer something specific to cite
12. Use specific, sourced statements
The GEO paper is the main source here. Aggarwal and co-authors built a benchmark of 10,000 queries (GEO-bench) and generated the answers with gpt-3.5-turbo. Their abstract says that "GEO can boost visibility by up to 40% in generative engine responses" (Aggarwal et al., "GEO: Generative Engine Optimization", arXiv:2311.09735, KDD '24). Adding citations, quotations and statistics raised their visibility measure. Keyword stuffing did not help: "simple methods like keyword stuffing traditionally used in SEO don't perform well."
Read these as results from that benchmark. The best methods improved on the baseline by 41% (position-adjusted word count) and 28% (subjective impression), both measured by the authors. The paper also ran one Perplexity.ai experiment, with gains up to 37%, which this guide did not read in full. Both are results from the paper's own setup and metrics.
The edit the paper tested is specific, sourced statements: name the source, quote it accurately and date the figure. That is not a promise of more citations. For how you split such statements into chunks, the chunking strategies guide compares the approaches.
What is not proven
Four claims often made in this area are not proven by the sources in this review.
- That llms.txt changes AI answers. llms.txt is a proposal. Its author reports that "thousands of sites" publish one, expects it to be used at inference time, and says that is how it has been used. No source here measures it (llmstxt.org, "The /llms.txt file, v2"). Google says llms.txt files "aren't needed for Google Search" (Google Search Central, updates). No source here measures whether an AI answer reads or cites one.
- That FAQ markup earns a Google result. Google says the FAQ rich result will no longer appear in Google Search starting May 7, 2026. Advice that promises a Google rich result from FAQ markup is out of date.
- That the GEO percentages apply to your site. The 40%, 41% and 28% figures come from the authors' benchmark, with gpt-3.5-turbo answers and the authors' own impression metrics. They are evidence about that setup only.
- That a passing audit makes a page citable. The inspector's checks are rules of thumb. A page can pass all of them and still go uncited, and a page that fails one can still be cited.
Common questions
Does llms.txt help my page get cited?
No source in this review measures that. llms.txt is a proposal. Its author expects inference-time use and says that is how it has been used, but no source here measures it. Google says it does not need llms.txt for Google Search. If you publish one, treat it as optional.
Is FAQ schema still worth adding for Google?
Not for a Google FAQ rich result. Google says that result will no longer appear in Google Search starting May 7, 2026. schema.org defines FAQPage as vocabulary, but this review found no source that links it to a Google result or an AI citation.
Which check should I do first?
Confirm that the main text is in the HTML the server sends. It is the one point with a dated measurement and Google's own advice behind it. That measurement is from December 2024 and covers one network, so it is a reason to check, not proof of an effect on citations. After that, check the headings and the dates.
Does keyword stuffing help AI answers?
Not in the GEO paper's benchmark, where the authors write that keyword stuffing "don't perform well". That benchmark used gpt-3.5-turbo to write the answers, so it does not prove what a live AI system does.
Can I check my page before I publish it?
Yes. Paste the page's HTML, from your draft or from view source, into the AI Crawler HTML Inspector. It reports most of the markup checks in this guide, and the text a non-rendering reader would keep. It cannot see your server's headers or what a specific bot receives, so it does not replace testing with real requests.
Sources and further reading
- The rise of the AI crawler — Vercel, with MERJ data, 17 December 2024
- Understand JavaScript SEO Basics — Google Search Central, updated 4 March 2026
- Latest Google Search Documentation Updates — Google Search Central, entries to October 2026
- FAQPage — schema.org, development version, usage data August 2026
- Overview of OpenAI Crawlers — OpenAI developer docs, undated
- Does Anthropic crawl data from the web, and how can site owners block the crawler? — Anthropic Help Center, undated
- Perplexity Crawlers — Perplexity developer docs, undated
- Text fragments — MDN Web Docs, undated
- HTML Standard, Scrolling to a fragment — WHATWG, living standard
- The /llms.txt file, v2 — llmstxt.org, undated
- GEO: Generative Engine Optimization — Aggarwal et al., arXiv:2311.09735, KDD '24, v3 June 2024
- Readability.js source — Mozilla, main branch, undated