How to Write a Page an LLM Will Quote: Structure, Question Headings and Bylines
By Seth Black · Published
A page an LLM will quote answers the question in its first two or three sentences, uses headings phrased as the questions people ask, puts facts in lists and tables that can be lifted whole, and says plainly who wrote it and when. None of that is a trick. It is the same structure that makes a page easy for a hurried human to scan, and it is what the pages assistants actually fetch on this site have in common.
What do we actually know about how assistants pick quotes?
Less than the GEO industry suggests. OpenAI, Anthropic and Perplexity document their crawlers, not their ranking. What is documented is the plumbing: a search crawler indexes your page, a user fetcher reads it live, and the answer links to its sources (OpenAI, Perplexity, read 31 October 2026). Google goes further and says SEO for AI is the same as SEO for search.
So this post is not a formula. It is the structure that makes a page easy to extract from, checked against what assistants fetched on this site, and mapped to checks you can run.
Why does the first paragraph matter most?
When a model reads a page to answer a question, it is looking for the passage that answers it. A page that opens with three paragraphs of context makes the model, and the reader, dig. A page that opens with the answer hands it over.
Write the first paragraph so it could be quoted alone and still be correct:
| Weak opening | Quotable opening |
|---|---|
| “In the ever-changing world of web crawling, many site owners wonder about bots.” | “GPTBot collects pages that may be used to train OpenAI’s models. Blocking it does not remove you from ChatGPT search.” |
| “There are many factors to consider when choosing a crawl rate.” | “Set Crawl-delay: 10 for bots that honor it. Google ignores the directive; use Search Console instead.” |
The good version names the subject, gives the answer, and adds the one caveat that keeps it from being misquoted. Every post on this blog, including this one, opens that way on purpose.
Should headings be phrased as questions?
Where it is natural, yes. People ask assistants questions, and a heading that matches the question tells both the model and the reader that the answer follows. “How do you verify a request came from OpenAI?” is a better heading than “Verification” for the same section.
Don’t force it. “Supported directives” works fine as a table heading. A good rule is that some of your H2s should be questions, and they should be the questions someone would type.
bseoa’s Phrase Some Headings as the Questions People Ask check fires when a page of 300 words or more, with more than one heading, has none phrased as a question. It counts a heading as a question if it ends in a question mark or starts with a question word such as how, what, why, which, can or should, so “How to fix X” counts.
Why use lists and tables?
A list or a table is already in the shape of an answer. When someone asks “which AI crawlers obey robots.txt,” a table with a column for exactly that is liftable as-is. The same facts buried in a paragraph have to be extracted and rewritten, which is where models make mistakes.
Use a table when you are comparing things on the same attributes, a numbered list for steps, and a bulleted list for options or caveats. The Give Your Page Structure That Can Be Quoted check flags pages of 300 words or more that have no list or table at all.
Why do bylines and dates matter?
An assistant deciding whether to trust a page has the same questions a reader has: who wrote this, when, and for whom. Answer them visibly and in structured data, and make the two agree.
<article>
<h1>How to Write an llms.txt</h1>
<p class="byline">By <a href="/about">Seth Black</a> ·
Published <time datetime="2026-10-31">31 October 2026</time></p>
...
</article>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "How to Write an llms.txt",
"author": {"@type": "Person", "name": "Seth Black", "url": "https://example.com/about"},
"datePublished": "2026-10-31",
"dateModified": "2026-10-31",
"publisher": {
"@type": "Organization",
"name": "Example Co",
"sameAs": ["https://github.com/example", "https://www.linkedin.com/company/example"]
}
}
</script>
Each property maps to a check:
| What to include | bseoa check |
|---|---|
author on article markup |
Name the Author of Your Article |
| A byline people can see, matching the markup | Show the Byline Readers Cannot See |
datePublished |
Declare When Your Article Was Published |
dateModified |
Declare When Your Article Was Last Updated |
publisher |
Declare the Publisher of Your Article |
sameAs links to your profiles |
Add sameAs Links So Assistants Can Identify You |
An author in the markup that no reader can see is worth fixing first. It is a common pattern on mass-produced content, and it makes the markup look like it was written for machines.
What about FAQ sections?
A visible FAQ with short, direct answers is one of the most quotable things you can put on a page. The rule is that the questions in your FAQPage markup must appear in the visible text. Markup that promises questions the page does not show is flagged by Show the FAQ Content Your Markup Promises, and it is the kind of mismatch that erodes trust in everything else you mark up.
Does any of this matter if the crawler can’t read the page?
No. Structure only helps if it reaches the crawler. Most AI crawlers do not run JavaScript, so headings, tables and bylines added in the browser may never be seen. Can AI crawlers see JavaScript content explains the test, and the AI crawler robots.txt guide covers making sure the right bots are allowed in at all.
What does this look like on a real site?
On this site, the pages that ChatGPT-User, Perplexity-User and Claude-User fetched for users in the last 90 days were the homepage (1,537 fetches), the CLI documentation (28) and one comparison post (25). All three are server-rendered, open with what the thing is, and lean on tables, lists and code blocks. That is a small sample from one site, so read it as consistent with the advice above, not as proof of it.
How do you check your own pages?
Read your top five pages as if you were a model with one question: can you answer it from the first paragraph, find the section from the headings, and tell who wrote it and when? To run the same checks across every page, bseoa’s AI-readiness checks report each of the issues linked above in a single crawl; the 14-day trial has no page limit. The rest of the picture, and what stays the same as classic SEO, is on GEO vs SEO.
-Sethers