How do I structure content so AI can cite it
Give every H2 one buyer question, a 40–80 word standalone answer, then a table or steps. Keep names and schema matched to the visible HTML on that URL.
William Spurlock Founder — Spurlock Studios 32 MIN
Structure a citation page as stacked extractable units: every H2 is the question a buyer asked, the next 40–80 words answer it as a standalone lift, then a table or numbered steps prove the claim. Keep entity names identical to About and schema, and make FAQ or HowTo JSON-LD match the HTML. Google publishes no word-count spec and no special AEO schema type. This skeleton lets a model quote a bounded passage instead of inventing one.
This is the page-outline spoke under the Answer Engine Optimization playbook. Which URLs to publish is cluster work. The identity packet across the web is entity architecture. This page is the HTML on one URL: headings, answers, objects, matching markup. I have been SEO certified since 2021. I will not pretend Google wrote a 60-word ranking rule.
The short answer
- Write each H2 as one buyer question. One question per heading. No metaphor titles that hide the job.
- Answer in the first 40–80 words under that H2. That range is an operator lift target, not a Google documented spec.
- Follow the answer with one bounded object: a table, numbered steps, a decision list, or a
- [ ]checklist. - Repeat the same legal name, product name, and offer name that About and Organization schema already use.
- Emit FAQ or HowTo JSON-LD only for questions and steps that already render. Matching visible text is Google’s rule. Extra markup is not an Overview ticket.
| Layer | Job | Failure if you skip it |
|---|---|---|
| H2 | Names the question the fan-out will ask | Model lifts a clever headline and a wrong paragraph |
| 40–80 word answer | Standalone lift | Slogan, or a section pretending to be a lead |
| Table / steps | Bounded proof | Wall of prose; the cite becomes a paraphrase |
| Entity strings | Same name as About + schema | “Acme,” “Acme Inc,” and “we” in three sections |
| Schema | Labels the HTML | JSON-LD answers a question the reader never saw |
If the page cannot survive a paste of one H2 plus its first paragraph into a blank doc, it is not structured for citation. Fix the outline. Do not buy a schema plugin.
What does “structure so AI can cite it” actually mean?
It means the page is a stack of passages a retrieval system can lift without inventing connective tissue. A citation is a named URL attached to a generated sentence. Rank is a list position. Those are different jobs. Structure serves the first: a heading that matches the question, an answer that still makes sense out of context, and an object with edges.
Google’s generative-AI guide tells you to organize pages with paragraphs, sections, and headings people can follow, and to keep important content in textual form (Google: optimizing for generative AI features; Google: AI features and your website). It also says you do not need to rewrite copy “just for AI systems,” that there is no ideal page length, and that there is no special schema.org type for generative AI search. Structure here is people-first outline work that also survives compression. It is not a secret markup file.
| Claim | Honest status | What you do |
|---|---|---|
| “Google requires question H2s” | Not documented | Use them because humans scan and fan-out asks questions |
| “Google requires 40–80 words” | False | Operator range. Google says it has no preferred word count (people-first content) |
| “FAQ schema gets you cited” | False as a ticket | Visible Q&A can extract. JSON-LD is a label |
| “One ultimate guide wins the parent query” | Weak under fan-out | One question per H2; one URL per distinct intent |
| “Structure guarantees a citation” | False | Indexed + snippet-eligible is the floor. Citation is not a promise |
This spoke is not the inverted-pyramid essay for the page lead, not the cluster map, and not the Wikidata / sameAs packet. Those jobs exist. They are different URLs. If you mix them, you will rewrite the homepage when the heading was the defect.
- The primary question is answered in the first breath of the page
- Each H2 owns one remaining question
- Each H2 is followed by a lift-ready answer, then one object
- Names on this URL match About
- Any JSON-LD on this URL can be found as HTML
A structured page is boring on purpose. Clever is a headline. Citation is a unit.
Why should every H2 be a question the buyer asked?
Because the heading is the retrieval handle. Google documents that AI Overviews and AI Mode may use query fan-out: the system issues related searches across subtopics, then attaches supporting links to the assembled response (Google: AI features and your website). A heading that already is that sub-question is easier to match than “Our Approach” followed by a paragraph that eventually mentions pricing.
Nielsen Norman Group’s inverted-pyramid work is recursive: the headline, the first paragraph, the first sentence of each section, and the first words of each sentence should carry information (NN/g: Inverted Pyramid). A question H2 is that rule applied to the outline. It is not a Google ranking factor I can cite. It is how you stop hiding the take under atmosphere.
| H2 you shipped | What a buyer asked | What a model can lift |
|---|---|---|
| Our Approach | How do you run the engagement? | Atmosphere. Maybe a verb in paragraph four |
| Why Choose Us | Why hire this firm instead of a directory listing? | Adjectives. No constraint |
| Overview | What is this page for? | Nothing bounded |
| How do I structure a service page so AI can cite the offer? | The actual question | Heading + first paragraph as a unit |
| What does the audit include, and what does it exclude? | Scope | Table of in / out |
Write the H2 as the question you would type into ChatGPT or Google, not as a brand line. Keep it to one question. Two questions in one heading is two answers fighting for sentence one.
Procedure for rewriting headings on an existing URL:
- Paste the current H2s into a list. Ignore the body for one pass.
- Next to each heading, write the question a buyer would actually ask.
- If two headings map to the same question, merge the sections.
- If a heading maps to no buyer question, it is decoration. Cut it or demote it.
- Phrase the surviving H2s as those questions. End with a
?when the question is the whole heading. - Open each section with the answer, then the object. Do not keep the old wind-up.
| Test | Pass | Fail |
|---|---|---|
| Stranger reads only the H2 | Knows the question the section answers | Needs the H1 to guess |
| H2 copied into a search box | It is a real query | It is a slogan |
| Two H2s swapped | Bodies would break | Bodies would still work — duplicates |
| H2 plus first sentence | Complete enough to quote | “In this section we will cover…” |
Google can match synonyms. You still should not make the model infer the question from a pun. The W3C heading tutorial exists for humans and assistive tech: headings describe the sections they introduce (W3C: Headings). That is enough justification. You do not need an AEO myth on top of it.
A question H2 that the body does not answer is worse than a dull H2. Do not title a section as a question you then dodge.
How long should the answer under each H2 be?
Aim for roughly 40–80 words, about two to four sentences. Long enough to name the subject, the answer, and one constraint. Short enough to lift whole. That is an editorial target for the section lead, not a ranking threshold.
Google is explicit that it does not have a preferred word count, that there is no ideal page length for generative AI features, and that you should not rewrite content just for AI systems (people-first content; generative-AI optimization guide). If a slide says “Google wants 60 words under every H2,” the slide is wrong. The rest of the section can be as long as the job requires. The lead is the lift.
| Word count under the H2, before the table | What it usually is | What to do |
|---|---|---|
| Under 25 | Slogan or category claim | Add the mechanism or the constraint |
| 40–80 | Lift-ready answer | Keep; move proof into the object |
| 80–120 | Two answers sharing a paragraph | Split; promote the second to its own H2 |
| 120+ | A section pretending to be a lead | Cut or demote. The lead is not the article |
Checklist for the section lead:
- Names the subject in plain language on first use
- States the direct answer without a throat-clear
- Includes one constraint, exception, or cost so it is not a slogan
- Would still make sense pasted into a chat answer with no H1
- Does not depend on a hero image, a previous H2, or “as we said above”
- Uses the same product and company names as the rest of the URL
The page-level 40–80 word opening is a different unit. That is the inverted-pyramid lead for the whole URL. This section is the recursive version: every H2 gets its own lift. If you only fix the hero paragraph and leave “Our Process” as a novella, you structured one passage and abandoned the rest.
Do not pad to 40 words with filler. A 32-word answer with a constraint beats an 80-word paragraph that restates the H2 three times. The band is a smell test, not a quota.
Section-lift test, one H2 at a time:
- Copy the H2, the first paragraph, and the table or steps into a blank document.
- Hide the rest of the page. Hide the H1.
- Ask: would a stranger get the answer, the constraint, and the entity name?
- If they need “the previous section,” you buried a dependency. Name the subject again.
- If they get a slogan and no mechanism, you are under 25 words of actual answer. Add the constraint.
- If they get two answers, split the H2.
Pass that test before you argue about schema. Schema cannot label a passage that does not exist.
What belongs under the answer — table, steps, or checklist?
One bounded object. Models extract edges better than atmosphere. A table is a set of rows. Numbered steps are a sequence. A checklist is a set of tests. Pick the object that matches the question type, then stop adding a second object that repeats the first.
Google’s AI-features page says to make sure important content is available in textual form (AI features and your website). A screenshot of a framework is not a citeable unit unless the same facts exist as HTML. Semantic lists and tables are text. A JPG of a funnel is not.
| Question type | Object that extracts | Object that usually fails |
|---|---|---|
| What is X / what is not X | Comparison table vs near-terms | A metaphor paragraph |
| How do I X | Numbered procedure | A narrative of how it “feels” |
| Should I X or Y | Use-when / avoid-when table | A both-sides essay with no default |
| What breaks | Failure table: break, cost, replace | A scare sentence with no cost |
| Did we ship it | - [ ] checklist | A “we value quality” closer |
Procedure for choosing the object:
- Read the H2 out loud. If it starts with “how,” default to numbered steps.
- If it starts with “what is” or “what’s the difference,” write a two-to-five-row table.
- If it starts with “when” or “should,” write use-when / skip-when rows.
- If it starts with “how do I know,” write a checklist a reviewer can tick.
- If you want a quote block and a table, keep the table. Cut the quote unless it is a primary source.
| Object | Citeable because | Abuse |
|---|---|---|
| Markdown table | Rows are discrete facts | Ten-column soup nobody can lift |
| Numbered steps | Order is the claim | Step 1 is a paragraph of philosophy |
| Checklist | Pass/fail tests | Fake checks that are slogans |
| Definition list | Term/meaning pairs | Keyword stuffing as <dt> |
After the object, one closing line with a point. Do not end the section by restating the H2. End on the constraint the table just proved.
If the only honest object is “it depends,” the H2 is still too wide. Split the question until a table can hold a default.
How do I keep entity names consistent on this URL?
Pick one public string for the Organization, one for the person who stands behind it, and one for each product or offer on the page. Repeat those strings in the H1, the section leads, the table cells, and the schema name fields. Do not treat “the studio,” “SS,” and a former DBA as interchangeable in the same article.
This is not the full identity packet. Wikidata, sameAs, and Knowledge Graph disambiguation live on the entity architecture spoke. The job here is narrower: this URL must not teach a model three versions of you. Google’s structured-data quality rules already forbid marking up a performer the HTML does not describe (structured-data policies). The same honesty belongs in the prose. If the JSON-LD says Spurlock Studios and the H2 says “Spurlock Studio,” you handed retrieval a conflict.
| String class | Lock to | Illegal variants on the same URL |
|---|---|---|
| Organization | Legal / public brand name | Missing “Studios,” old LLC string, nickname only |
| Person | Byline name | First name only in schema, full name in the lead |
| Product / offer | The SKU or offer you actually sell | Internal code names, retired packages, “our flagship” |
| Place | One HQ or service area claim | Three cities in three sections |
| Price / scope | The number on /contact or the offer page | “Starts at” in the lead, a different floor in the FAQ |
Inventory before you rewrite:
- Copy the Organization
namefrom your live JSON-LD (or from About if schema is missing). - Copy the Person name from the byline and the author page.
- Copy every product or offer mentioned on this URL into a list.
- Search the draft for each. Highlight every mismatch, including pluralization that changes the entity (“Studio” vs “Studios”).
- Fix the HTML first. Then change schema to match. Never the reverse.
| Drift you will ship | What a model does | Fix |
|---|---|---|
| Three legal names | Hedges or picks a competitor with a cleaner packet | One name, used in H1, About, schema |
| Offer renamed in the hero, old name in the FAQ | Cites the retired package | Same string in hero, table, FAQ, JSON-LD |
| “We” with no noun for 400 words | Category answer, no brand | Name the Organization in the lead and once per major H2 |
| Author byline ≠ Person schema | Splits the expert node | One byline string |
A pronoun is fine after the noun exists. A page that never names the firm is a category essay. Category essays get cited as “experts say,” which is the opposite of the job.
Do not add a new brand nickname in this rewrite. Nicknames are an entity-architecture change. This URL only repeats the lock you already chose.
How should schema match the visible HTML?
If you emit structured data, every claim in it must already be visible to a reader of the page. Google’s general structured-data guidelines say not to mark up content that is not visible, and the AI-features page lists matching structured data to visible text as ordinary SEO hygiene (structured-data policies; AI features). The generative-AI guide is equally blunt: structured data is not required for generative AI search, and there is no special schema.org markup to add (optimization guide).
So the schema job on a citation URL is match, not invention. FAQPage is a WebPage with one or more frequently asked questions (schema.org FAQPage). If you use it, the Question.name values must be the FAQ headings on the page, and the acceptedAnswer text must be the answers the reader can open. HowTo steps in JSON-LD must be the numbered steps in the HTML. Article headline must be the H1 you actually rendered.
Google limited FAQ and HowTo rich results for most sites in August 2023 (HowTo and FAQ changes). Matching schema is still a quality rule. It is not a ticket into AI Overviews. Do not brief a plugin as if JSON-LD were the citation.
| HTML on the page | Honest schema field | Mismatch you will ship |
|---|---|---|
| H1 | Article.headline / WebPage.name | SEO title in JSON-LD, different H1 in the template |
| H2 question | Not automatically a FAQ. Only if it is also a visible FAQ item | Every H2 dumped into FAQPage |
## FAQ H3s ending in ? | FAQPage Question.name | Schema questions from a tag manager, different wording |
| Numbered how-to | HowToStep.name / text | Seven steps in JSON-LD, five on the page |
| Organization name in the footer / About | Organization.name | DBA in schema, trading name in the H1 |
| Price in a table | Offer.price if you mark an offer | Schema price from last year’s CMS field |
Procedure for a schema match pass:
- View the rendered page as a human. Copy the H1, the FAQ H3s, and any how-to steps into a scratch file.
- Extract the JSON-LD. Diff question strings and step strings against the scratch file.
- Delete JSON-LD that has no HTML twin. Do not “fix” it by hiding extra FAQ in the head.
- If an accordion is collapsed by default but the answer is in the HTML, that can still be visible content. If the answer loads only after a click that never renders the text, it is not visible.
- Re-test after the next copy change in the same commit. Schema drift is a weekly defect, not a launch defect.
| Do | Do not |
|---|---|
| Write the HTML FAQ, then label it | Generate 12 questions in a plugin and hope the body catches up |
One FAQPage block for the questions on this URL | Sitewide FAQ graph injected on every template |
| Keep Organization / Article / Product where they still describe the page | Treat leftover FAQ rich-result screenshots as a 2026 KPI |
| Validate that Googlebot can see the text | Assume a designer mock is what got crawled |
Unused structured data is not, by Google’s 2023 wording, an emergency ranking penalty. Dirty, mismatched markup is a different problem: it is a false description of the page. Fix false descriptions. Do not add types “for AEO.”
What page skeleton should a citation URL share?
One H1 that states the job. A 40–80 word page lead that answers the primary question. A short-answer block. Then 8–14 H2s, each a question, each with a lift and an object. A ## FAQ with six question H3s if you run this chrome. A CTA that names the next human step. That is the skeleton. Formats change the objects inside the H2s. They should not change the stack.
| Zone | What it is | Extract job |
|---|---|---|
| H1 | The page’s one job, close to the primary query | Retrieval title |
| Page lead | 40–80 words, standalone | The sentence a model quotes if it only takes the top |
| Short answer | 3–5 bullets | Backup lift if the lead is skipped |
| H2 stack | One question each | Fan-out targets |
| FAQ H3s | Six questions ending in ? | Bounded Q&A; schema twin if you emit FAQPage |
| CTA | Lane page + intent | Human next step, not a citation unit |
Numbered skeleton for a service or playbook spoke:
- H1 = the primary question or a close paraphrase.
- Lead paragraph answers it, names the Organization, names one constraint.
- Optional one-line placement: which pillar this sits under, which adjacent jobs it is not.
## The short answerwith bullets a stranger could ship.- H2s as remaining questions in the order a practitioner would hit them: definition, method, object, names, schema, measurement, failure, week, skip.
## FAQwith six H3s that end in?, answers of two to four sentences.## CTAwith/visibilityand/contact?intent=visibility-auditwhen the offer is an audit.
| Skeleton mistake | What it costs | Replace with |
|---|---|---|
| H1 is a pun, H2s are “Overview / Process / Benefits” | No handles | Question outline |
| FAQ is the only Q&A; body is a memoir | FAQ gets lifted, body is ignored | Same questions answered in the H2s, FAQ is the recap |
| CTA in the middle of the article | Interrupts the extract unit | One CTA after FAQ, per this chrome |
| Jump links as a substitute for leads | Table of contents without answers | Leads under the H2s |
| Duplicate H1 in an image | If the text is not in HTML, it may not exist for retrieval | Real H1 in the document |
Google says perfect semantic HTML is not required, and that the web is not valid HTML, but that semantic headings help people including screen-reader users (optimization guide). Do not skip from H2 to H4 to look fancy. The outline is a tree. A skipped level is a broken tree for the reader you already have.
If a section cannot fit this skeleton, it is probably two URLs. Split it. That is cluster work, not a reason to revive “Part 1” as an H2.
How do definition, how-to, and comparison pages differ?
The skeleton stays. The object inside each H2 changes. A definition page earns tables that bound the term. A how-to earns numbered steps that a stranger can run. A comparison earns a default plus the exception. Do not force every URL into FAQ sludge, and do not force a case-study narrative into question H2s it cannot answer honestly.
| Page type | H2 pattern | Lead under each H2 | Object |
|---|---|---|---|
| Definition | “What is X?” / “How is X different from Y?” | Bound the term | Comparison table |
| How-to | “How do I X?” | State the sequence in one line | Numbered steps, one action each |
| Comparison / vs | “Should I X or Y?” | Pick a default | Use-when table |
| Failure | “What breaks if I X?” | Name the break and the cost | Failure table |
| Measurement | “How do I know X worked?” | Name the metric and the window | Log columns |
| Brand film / case study | Often not this skeleton | Story first is the point | Do not AEO-wash it |
Worked pattern for a how-to H2:
- H2: the question as asked.
- Two to four sentences: the sequence in miniature, plus the constraint (time, tools, or what you skip).
- Numbered steps with verbs. One action per step. No step is a lecture.
- A small table for the decision inside the procedure, if a step branches.
- Close on the failure if you skip a step.
| How-to step | Good | Bad |
|---|---|---|
| 1 | Export the live H2s to a list | “Begin by considering your audience” |
| 2 | Rewrite each as a buyer question | “Kick off with a vision workshop” |
| 3 | Write the 40–80 word answer | “In today’s landscape, structure matters” |
| 4 | Add the table | Paste a screenshot of a whiteboard |
Worked before / after for one service section (not the page lead):
| Piece | Before | After |
|---|---|---|
| H2 | Our Approach | What does the visibility audit include, and what does it exclude? |
| Lead | We believe in partnership and a tailored process for every brand. | The audit covers eligibility, extractable pages, and a frozen prompt panel. It excludes a 40-post calendar and schema plugins sold as Overview tickets. |
| Object | Three adjectives and a stock photo | Table: in scope / out of scope / owner |
| Name | “the studio” | The Organization name already on About |
If the after column still needs the H1 to make sense, the lead is not standalone. Rewrite the lead. Do not add a fourth adjective.
Worked pattern for a comparison H2:
- Lead: pick A unless condition C, then B.
- Table: A / B / when / cost of being wrong.
- Do not “it depends” without a default. A default is a citeable sentence. An essay is a hedge.
If the page is a portfolio story, skip this skeleton. A film still and a narrative are allowed to be a narrative. The citation URL is the service, pricing, FAQ, or playbook page. Do not flatten every URL into the same question list. That failure has its own cost: the brand sounds like a FAQ generator, and the model still cannot tell who you are.
What fails first when teams try this?
They change the headings to questions and leave the first paragraph as a wind-up. The H2 now matches the query. The lift is still “In this section we explore.” Retrieval got a handle and no object. The second failure is emitting FAQPage from a tag manager so every template claims the same ten answers. The third is renaming the offer in the hero and forgetting the FAQ.
I have shipped hundreds of production sites. The defect is almost never “we needed more schema types.” It is a mismatch between the outline a human can use and the outline a model can lift.
| Failure | What it looks like | Cost | Replace with |
|---|---|---|---|
| Question H2, buried answer | H2 is perfect; sentence one is throat-clearing | Cite goes to a competitor with a duller H2 and a real lead | Answer in sentence one |
| Schema-only FAQ | JSON-LD Q&A, no HTML twin | Policy violation; models that read HTML never see it | Visible FAQ, then label |
| Three names on one URL | Hero, FAQ, footer disagree | Hedged or wrong brand in the answer | String inventory |
| Ultimate guide, 28 H2s, no objects | 4,000 words of memoir | Fan-out cannot find a unit | One object per H2; split the URL if needed |
| Screenshot as the only proof | Framework lives in a PNG | Not textual form | HTML table with the same cells |
nosnippet or max-snippet:0 | Perfect outline, zero snippet | Google’s floor for AI features is snippet-eligible | Fix robots / preview controls first |
| Word-count theater | Writers pad to 80 | Google already said it has no preferred count | Constraint, not filler |
Checklist when a “we restructured for AEO” ticket comes back with no citations:
- Is the URL indexed and snippet-eligible? If no, stop talking about H2s.
- Does each H2 still have a wind-up under it? Read sentence one only.
- Is there one table or step list per H2, in HTML?
- Do FAQ H3s match FAQ JSON-LD character for character, or did you skip FAQ schema (also valid)?
- Do Organization / offer strings match About?
- Did you measure on a frozen prompt panel, or did you refresh Search Console once?
The expensive version of this failure is a sitewide “AEO voice” rewrite that turns case studies into fake FAQs and leaves the money URLs as “Our Approach.” You spent the week on pages models were never going to quote, and you did not touch the ones they would.
If leadership wants a citation-rate multiplier for “question H2s,” I do not have one to invent. Public AEO blogs invent them. Google did not publish one. Log prompts instead.
How do I measure whether the structure is working?
You measure whether this URL starts getting cited on a frozen set of questions it was rewritten to answer — not whether sitewide impressions moved. Citation rate is noisy. Google’s AI features often do not trigger (AI features). OpenAI’s ChatGPT Search help says search citations can be incomplete, outdated, or incorrect, and that you should open the source (ChatGPT Search). One screenshot is an anecdote.
Search Console’s generative AI performance report, launched in June 2026, counts impressions in those features (Google: generative AI performance reports). It is not a citation log, and it is not a lead. Use it as a supporting series. The operator log is the panel.
| Column | What you record | Pass signal | Fake cousin |
|---|---|---|---|
| Prompt | Exact string, frozen | Same 15–40 prompts for 28 days | Whatever someone typed this morning |
| Engine | AI Overview / AI Mode / ChatGPT / Perplexity | Named product | “AI” |
| Cited? | Yes / no / wrong-page | Your URL in the supporting links or inline cite | “They paraphrased us” with no URL |
| Passage | Which H2 + object got lifted | Matches the section you rewrote | Homepage cited for a spoke question |
| Name accuracy | Legal name / offer correct | Matches the string lock | Close enough |
| GSC AI impressions | If the report exists on the property | Directional only | Treated as ROI |
Procedure:
- Day 0: freeze 15–40 prompts that the URL is supposed to own. Include the H2 questions verbatim.
- Log citation, wrong-page cites, and name errors before the rewrite. Screenshot the SERP or chat.
- Ship the skeleton. Request indexing if the URL was blocked; do not expect same-day recrawl (AI features troubleshooting notes recrawl can take days to months).
- Day 14: same prompts, same engines. Do not add new prompts mid-test.
- Day 28: keep or recut. If eligibility was clean and the outline is extractable and you still have zero cites, the next diagnosis is corroboration and competition — not another FAQ plugin.
| Window | Honest read | Too early |
|---|---|---|
| Same day | Eligibility and quote-test of the HTML | “We are cited now” after one Overview |
| 14 days | Direction on the frozen panel | A Core Update week treated as your rewrite |
| 28 days | Whether the section stack is doing work | Sitewide CTR |
| Tagged leads | Separate scoreboard | Impressions labeled as pipeline |
If the model cites a different URL of yours, that is a cluster and cannibalization problem, not a heading problem. If it cites a competitor with a worse outline, you still may have an entity or corroboration gap. Structure is necessary. It is not sufficient. Do not sell it as sufficient.
What should I skip if I only have a week?
Do not start a cluster rebuild, a Wikidata campaign, or a sitewide FAQPage injection. Pick three money URLs that already rank or already get asked in sales, and put this skeleton on those three. Homepage identity sentence, one service or product URL, and the FAQ or offer page is enough for seven days.
| Do this week | Skip this week |
|---|---|
| Rewrite H2s on three URLs into real questions | 40-blog calendar “for AEO” |
| 40–80 word answers + one table or steps per H2 | llms.txt as the project |
| String inventory vs About | New schema types “for Overviews” |
| FAQ HTML that matches any JSON-LD you keep | Tag-manager FAQ on every template |
| Frozen 15-prompt panel, day-0 screenshots | A vendor GEO score as the KPI |
| Confirm snippet eligibility | Word-count padding to hit 80 |
Day-by-day if you actually have five working days:
- Day 1: eligibility (indexed, snippet allowed, important text in HTML). Kill
nosnippetmistakes. List the three URLs. - Day 2: H2 rewrite + section leads on URL 1. One object per H2.
- Day 3: same pass on URL 2. String inventory across both.
- Day 4: URL 3 + FAQ match + Organization name lock.
- Day 5: freeze prompts, screenshot, request recrawl. Stop.
If a page cannot take question H2s without lying (a brand film, a photo essay), skip it. The week is for citeable URLs. Cluster planning and entity architecture are the next weeks, on their own spokes, not jammed into Friday.
A week is enough to make three URLs extractable. It is not enough to declare the program a success. Say that in the recap or someone will equate “we changed headings” with “we got cited.”
When is this structure not worth doing yet?
When the URL cannot appear as a supporting link anyway, when you do not have an offer you will take, or when the page’s job is narrative. Google’s floor for AI Overviews and AI Mode supporting links is indexed and eligible to show in Search with a snippet, with no extra technical requirements (AI features). If you fail that floor, H2 craft is theater.
| Blocker | Why structure waits | What to do first |
|---|---|---|
noindex, nosnippet, or max-snippet:0 | Not snippet-eligible | Fix preview controls |
| Not in the index | Nothing to retrieve | Indexing, crawl, internal links |
| Mid-rebrand, two legal names in flight | You will teach both | Lock the name, then rewrite |
| No offer, no form, no calendar | A cite with nowhere to go | Ship the offer page |
| Case study / film page | Story is the product | Leave it; structure the service URL |
| Duplicate URL already answers the question | You will cannibalize | Merge or retire, then structure the survivor |
| Leadership wants a word-count SLA | You will pad | Show Google’s “no preferred word count” line |
Also wait if the only planned change is schema. Matching JSON-LD to HTML is a hygiene pass on a page that already has answers. It is not a substitute for answers. If the body is still “Our Approach,” labeled FAQ will not save it.
If you are going to restructure, do it on URLs that can take a question outline without becoming a doorway. Thin pages with a perfect skeleton are still thin. Google’s people-first guide asks whether someone would leave feeling they learned enough to achieve the goal. A 40-word lead and a two-row table on a topic that needs a procedure is a doorway with nice headings.
When the blockers are gone, this structure is worth doing because it is cheap relative to a new content calendar and it is the outline humans already needed. You are not waiting for Google to bless a word count. You are making the page a machine can quote without lying.
FAQ
How do I structure content so AI can cite it?
Write every H2 as one buyer question, answer it in the first 40–80 words so the passage stands alone, then add a table, numbered steps, or a checklist. Keep Organization, Person, and Product names identical to About and schema, and make any FAQ or HowTo JSON-LD match that HTML. Google does not publish this as a spec and does not require special AEO markup. Citation still requires an indexed, snippet-eligible URL.
How do I measure whether this structure is working?
Freeze 15–40 prompts the URL should own, including the H2 questions, and log citation, wrong-page cites, and name errors on named engines for 28 days. Use Search Console generative AI impressions only as a supporting series if the report exists on the property. A sitewide CTR sparkline is not this measurement. One Overview screenshot is not a trend.
What usually fails first when teams try this?
They convert headings to questions and leave the first paragraph as a wind-up, so the handle exists and the lift does not. The next failures are schema-only FAQs that do not exist in HTML, and three brand or offer strings on one URL. Fix sentence one under each H2, then match schema, then lock names. Do not start with a plugin.
How long does this take to show results?
The HTML can pass a section-lift test the day you ship. Recrawl can take days to months, and AI features often do not trigger, so a provisional citation read wants about 14 days on a frozen panel and a locked read closer to 28. I will not invent a week-count SLA. If eligibility was broken, the clock has not started.
What should I skip if I only have a week?
Skip the cluster rebuild, Wikidata, llms.txt theater, and sitewide FAQ injection. Restructure three money URLs: question H2s, 40–80 word answers, one object per section, names matched to About, snippet eligibility confirmed. Freeze a 15-prompt panel on day 0. That is a week. It is not a program victory.
When is this not worth doing yet?
When the URL is not snippet-eligible, not indexed, mid-rebrand, or has no offer, and when the page is a narrative case study or film. Fix robots, index, and the name lock first. Do not AEO-wash a story page. Structure the service, FAQ, or playbook URL that a model should actually quote.
CTA
If the outline cannot be pasted as H2 plus first paragraph and still make sense, it is not ready to cite. Fix three money URLs, then get a second pair of eyes on the panel.
Lane: /visibility · Book a visibility audit.
What questions does this article answer?
- How do I structure content so AI can cite it?
- Write every H2 as one buyer question, answer it in the first 40–80 words so the passage stands alone, then add a table, numbered steps, or a checklist. Keep Organization, Person, and Product names identical to About and schema, and make any FAQ or HowTo JSON-LD match that HTML. Google does not publish this as a spec and does not require special AEO markup. Citation still requires an indexed, snippet-eligible URL.
- How do I measure whether this structure is working?
- Freeze 15–40 prompts the URL should own, including the H2 questions, and log citation, wrong-page cites, and name errors on named engines for 28 days. Use Search Console generative AI impressions only as a supporting series if the report exists on the property. A sitewide CTR sparkline is not this measurement. One Overview screenshot is not a trend.
- What usually fails first when teams try this?
- They convert headings to questions and leave the first paragraph as a wind-up, so the handle exists and the lift does not. The next failures are schema-only FAQs that do not exist in HTML, and three brand or offer strings on one URL. Fix sentence one under each H2, then match schema, then lock names. Do not start with a plugin.
- How long does this take to show results?
- The HTML can pass a section-lift test the day you ship. Recrawl can take days to months, and AI features often do not trigger, so a provisional citation read wants about 14 days on a frozen panel and a locked read closer to 28. I will not invent a week-count SLA. If eligibility was broken, the clock has not started.
- What should I skip if I only have a week?
- Skip the cluster rebuild, Wikidata, llms.txt theater, and sitewide FAQ injection. Restructure three money URLs: question H2s, 40–80 word answers, one object per section, names matched to About, snippet eligibility confirmed. Freeze a 15-prompt panel on day 0. That is a week. It is not a program victory.
- When is this not worth doing yet?
- When the URL is not snippet-eligible, not indexed, mid-rebrand, or has no offer, and when the page is a narrative case study or film. Fix robots, index, and the name lock first. Do not AEO-wash a story page. Structure the service, FAQ, or playbook URL that a model should actually quote.
Last reviewed — Google AI-features, generative-AI optimization guide, structured-data policies, people-first content, August 2023 HowTo/FAQ blog, schema.org FAQPage, OpenAI ChatGPT Search help, and NN/g inverted pyramid checked 2026-08-15.
AI Visibility
AI Visibility Cannabis visibility when the ad accounts are banned
Google and Meta will not take the usual spend. The models still answer dispensary, cultivator, and brand questions — if the site can be read and the cart can clear a 21+ order.
AI Visibility When ChatGPT names the franchise, not your shop
Run the best-HVAC-near-me prompt panel. If the model names a national franchise, fix corroboration and entity facts — not another blog calendar.
AI Visibility What belongs in an AI visibility monthly retainer vs a one-time audit
A one-time audit is the baseline plus prioritized fixes. A monthly retainer is prompt-panel tracking, entity hygiene, page jobs, and citation recovery.
AI Visibility Does Wikipedia or Wikidata help AI recommend my brand
Wikipedia is not a paid AI lever. Notability plus independent sources decide the page; a real Wikidata item helps entity consistency, not a promotional stub.
Will's Journal in your inbox.
What I learned this week building for shops, floors, and houses.
You're on the list.
Sign-up failed — try again.
By subscribing, you agree to the Privacy Policy.