---
title: "Copy-Paste AEO: Five Page Blocks Built for AI Answers"
description: "A swipe file of answer openings, FAQ pairs, comparison tables, structured data, and update stamps, with notes on when to use each."
image: "https://cdn.prod.website-files.com/6823bbd57170ea42b357cf81/6ab75426d900577db590dfb2_49f95066-bb08-473f-b555-73c4a115213a.png"
---

September 26, 2026

•

min read

# Copy-Paste AEO: Five Page Blocks Built for AI Answers

![Young man with curly hair wearing a black shirt outdoors against green foliage background.](https://cdn.prod.website-files.com/6821efca072e48f6f495a47e/68562d390107b3921a6e3d68_1743932904108.jpg)

**Alexander Perleman**, Head Of Product @ groas
Ex-Goldman Sachs and Stanford Computer Science

alex@groas.ai

[LinkedIn](https://groas.com/post/copy-paste-aeo-the-page-structures-schem#)

![Cover image for: Copy-Paste AEO: Five Page Blocks Built for AI Answers](https://cdn.prod.website-files.com/6823bbd57170ea42b357cf81/6ab75426d900577db590dfb2_49f95066-bb08-473f-b555-73c4a115213a.png)

Some of our pages appeared in live AI answers; others were ignored. I wanted the blocks behind that difference, not another lecture about AI search, so here are the page structures, phrasings, and schema I use when I want an answer to be easy to lift.

#### Before you paste: give the page one job

**Pick the question this URL needs to answer.** A definition, a comparison, and a pricing question can all belong on your site. They do not all need to compete for the first paragraph of one page. Choose the primary query, paste the matching block, and link to the pages that handle the others.

Use `[UPPER_CASE]` placeholders throughout this file. Replace them with facts you can show on the page; do not copy an illustrative price, date, or verdict as if it were yours. Keep the answer in crawlable HTML, not only in an image or a tab that loads empty for a crawler. The wording can be yours. The point is to preserve the shape: question, direct answer, useful qualifier.

##### 1\. Put the answer where it can be quoted

**When to use it:** The query asks for one clear answer: *what is \[TOPIC\]*, *how much does \[SERVICE\] cost*, or *how do I \[TASK\]*. Put this at the top of the page, before the background. An assistant should be able to take the first answer sentence without untangling an introduction.

```html
<h2>[EXACT_CUSTOMER_QUESTION]</h2>
<p><strong>[DIRECT_ANSWER_IN_ONE_OR_TWO_SENTENCES]</strong> [KEY_QUALIFIER: WHO_IT_FITS, WHAT_CHANGES_THE_PRICE, OR WHEN_IT_APPLIES.]</p>
<p>Updated [MONTH_YEAR]: [WHAT_CHANGED, IF_ANYTHING.]</p>

<!-- Illustrative example; replace the figures and date with your own. -->
<h2>How much does emergency drain cleaning cost in Austin?</h2>
<p><strong>Emergency drain cleaning in Austin costs $175 to $350 for most homes.</strong> Standard daytime visits run lower. After-hours and main-line work run higher.</p>
<p>Updated September 2026: After-hours minimums rose at two large shops, pushing the top of the range up $25.</p>
```

**The one adjustment that matters:** Keep the bold answer under 50 words and use the customer's wording in the heading and answer. I used to write clever openers that buried the answer in paragraph three. Those pages could rank while giving an assistant no clean sentence to quote. Put the answer first. Move the interesting backstory down.

If the answer needs a condition, include it in the same short passage. “It costs \[PRICE\]” is less useful than “It costs \[PRICE\] for \[TYPICAL\_CASE\]; \[EXCEPTION\] costs more.” The qualifier keeps a copied answer from becoming a misleading one. This is not a license to cram every exception into the first line. Give the reader the normal case and the one distinction that changes the decision.

##### 2\. Split related questions into FAQ pairs

**When to use it:** The query has close variants around cost, timing, limits, or fit. One long paragraph that answers five questions makes the reader hunt for each answer. Give each question its own pair, with the direct answer first and the qualifier second.

```html
<h2>[TOPIC] FAQs</h2>

<h3>How much does [SERVICE] cost?</h3>
<p>[PRICE_RANGE] for [TYPICAL_CASE]. [WHAT_PUSHES_THE_COST_HIGHER_OR_LOWER.]</p>

<h3>How long does [SERVICE] take?</h3>
<p>[TIME_RANGE]. [WHAT_CAN_SLOW_IT_DOWN.]</p>

<h3>Who should skip [SERVICE]?</h3>
<p>[CLEAR_NON_FIT]. [WHAT_TO_DO_INSTEAD.]</p>
```

**The one adjustment that matters:** Write questions the way customers ask them, not the way your navigation labels them. I changed one client FAQ from “What is your SLA for emergency response?” to “How fast do you show up?” The page started getting pulled for arrival-time questions within two weeks. Call logs and search terms are better raw material for this block than a service menu.

Do not turn the FAQ into a second, smaller version of the whole page. If the answer to “How long does it take?” requires six paragraphs, give the short answer here and link to the fuller explanation. Each pair should survive being read alone. A reader who lands on the timing question should not have to read the cost question to understand it.

##### 3\. Give a comparison a verdict

**When to use it:** The query is *\[OPTION\_A\] vs \[OPTION\_B\]* or *best \[CATEGORY\] for \[USE\_CASE\]*. Put the buying criteria in rows, keep the table to four columns at most, and finish with a verdict that names the trade-off. Otherwise you have built a tidy way to avoid answering the question.

![Illustration of a highlighted webpage answer being lifted into a chat response](https://cdn.prod.website-files.com/6823bbd57170ea42b357cf81/6ab75427d900577db590dfb6_a41fdfc9-78be-4e96-8e2a-100f39f3cc5a.png)

```html
<h2>[OPTION_A] vs [OPTION_B] for [USE_CASE]</h2>
<table>
<thead>
<tr><th>Decision point</th><th>[OPTION_A]</th><th>[OPTION_B]</th><th>Pick this if...</th></tr>
</thead>
<tbody>
<tr><td>Cost</td><td>[OPTION_A_COST]</td><td>[OPTION_B_COST]</td><td>[COST_DECISION_CONDITION]</td></tr>
<tr><td>Time to result</td><td>[OPTION_A_TIMING]</td><td>[OPTION_B_TIMING]</td><td>[TIMING_DECISION_CONDITION]</td></tr>
<tr><td>Best for</td><td>[OPTION_A_FIT]</td><td>[OPTION_B_FIT]</td><td>[FIT_DECISION_CONDITION]</td></tr>
</tbody>
</table>
<p><strong>Bottom line for [USE_CASE]:</strong> [ONE_SENTENCE_VERDICT_THAT_NAMES_THE_TRADE_OFF.]</p>
```

**The one adjustment that matters:** Write the bottom line as you would say it to a customer, trade-off included. I used to end tables with a tie to seem neutral. A tie asks the reader to do the work the page promised to do. If one option fits the stated use case better, say which one and why. If the answer changes with budget or timing, name that condition in the verdict rather than hiding it in row three.

A table is useful because its rows make the criteria visible. It is not useful just because it is a table. Replace `[COST_DECISION_CONDITION]` with the threshold or circumstance a buyer actually weighs; do not fill that cell with “depends on your needs.” That is not a decision point. It is the sentence you write when you have not picked one.

##### 4\. Mark up what is already visible

**When to use it:** After the answer, FAQ, or comparison is on the page. Structured data is not a substitute for the visible answer. Google [says there is no special schema that gets a page into AI Overviews](https://developers.google.com/search/docs/appearance/ai-features). Use markup to describe the page accurately, not to promise a citation.

Paste the applicable script in the page's `<head>`. Use the Article block for an article. Add the FAQ block only if those questions and answers appear on the page; replace its answer text with the same wording readers see.

```html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "[PAGE_TITLE]",
  "datePublished": "[PUBLISHED_YYYY-MM-DD]",
  "dateModified": "[MODIFIED_YYYY-MM-DD]",
  "author": {
    "@type": "Person",
    "name": "[AUTHOR_NAME]"
  }
}
</script>
```

```html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does [SERVICE] cost?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "[EXACT_VISIBLE_COST_ANSWER]"
      }
    },
    {
      "@type": "Question",
      "name": "How long does [SERVICE] take?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "[EXACT_VISIBLE_TIMING_ANSWER]"
      }
    }
  ]
}
</script>
```

**The one adjustment that matters:** Make the markup match the page. I have audited pages where the visible text said 2024 and the schema said last week. That discrepancy makes the page harder to trust, not fresher. Change `dateModified` when the page changes, keep the visible date aligned with it, and never put an answer in the FAQ markup that a reader cannot find in the FAQ.

Do the simple check before you publish: read the visible answer, then read the value you pasted into the markup. If they differ, fix the copy or the markup. A schema block should describe the finished page. It should not contain the answer you meant to publish but never did.

##### 5\. Stamp answers that actually expire

**When to use it:** The answer changes by year, season, or price cycle: costs, rules, limits, or hours. Put the stamp directly below the answer it qualifies. It tells the reader what changed, rather than asking a date alone to do all the work.

```html
<p><em>Updated [MONTH_YEAR] for [SPECIFIC_CHANGE].</em> [PREVIOUS_VALUE_OR_RULE] changed to [CURRENT_VALUE_OR_RULE].</p>
<p>Next review: [REVIEW_MONTH_YEAR].</p>

<!-- Illustrative example; verify the figures and date before publishing. -->
<p><em>Updated September 2026 for Austin permit fees.</em> Residential trade permits moved from $185 to $210.</p>
<p>Next review: December 2026.</p>
```

**The one adjustment that matters:** Only stamp a page when the answer has actually changed or needs a dated check. I used to put “Updated” lines on evergreen definitions. A fresh date beside old numbers makes the page look stale twice. Save this block for information that expires, and change the number in the visible answer when you change its date.

A review date is a reminder, not a claim that the answer will remain correct until then. If you cannot identify `[SPECIFIC_CHANGE]`, you probably do not need an update sentence. Remove it instead of manufacturing a reason for the stamp. The useful part is the changed fact, not the decoration around it.

#### The pre-paste check: can the page be used at all?

**When to use it:** Before rewriting an existing page. Google says a page must be indexed and eligible for a normal search snippet to appear as a supporting link in AI Overviews or AI Mode. No extra AI file or schema block bypasses that requirement. I check the plumbing before polishing a sentence.

- \[ \] **The URL can be indexed.** Check Search Console and make sure a `noindex` tag is not blocking the page. A CMS preview is not the live page.
- \[ \] **The answer exists as crawlable text.** If the price or verdict lives only in a video, image, or tab that a crawler cannot render, put it in HTML.
- \[ \] **Visible and structured dates agree.** Compare the on-page update, `dateModified`, and sitemap `lastmod` against the changes you actually made.
- \[ \] **The page has a primary question.** If one URL attracts impressions for several different question types without answering one well, decide whether to split those answers before restyling them.

**The one adjustment that matters:** Fix the first failed check before choosing a prettier block. A visibility dashboard can tell you that a page is absent from AI answers; it cannot make an unindexable page eligible. I used to buy the monitoring pitch. What I want now is the unglamorous work: rewrite the answer, publish accurate markup, fix the crawl gap, then check the live answer again. That is the job [groas Earned Search](https://groas.com/earned-search) was built around, rather than another visibility score to stare at.

#### The block I would keep if I could keep only one

**When to use it:** On the highest-impression question page whose answer is buried below an introduction. On our own explainers, the passages I saw lifted were the bold answer sentence, a table's one-sentence verdict, and a FAQ pair with its qualifier. Not the intro. If I have time to change just one thing, I make the answer complete before an assistant finds it.

```html
<h2>[EXACT_CUSTOMER_QUESTION]</h2>
<p><strong>[DIRECT_ANSWER_IN_ONE_OR_TWO_SENTENCES]</strong> [THE_ONE_QUALIFIER_A_READER_NEEDS_BEFORE_ACTING.]</p>
```

**The one adjustment that matters:** Replace both placeholders with a real answer and its real limit; do not paste every block onto the same page because it feels thorough. I made that mistake early. One page tried to answer every query type and gave none of them a clean opening. The direct-answer block is the one I would keep because it fixes that failure at the top of the page, in the fewest words. Paste it, then check the live answer in seven days, not seven hours. The easiest sentence to quote is usually the one that answers the question.

## Related Posts

[![](https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg) ##### Autonomous Ad Budget Allocation: Cost and How It Works FAQ Wasting ad budget and can't optimize fast enough? How real-time AI budget allocation works, what autonomous setup costs, and what to use at scale. September 28, 2026 • min read Written by](https://groas.com/post/autonomous-ad-budget-allocation-cost-faq)

[![](https://cdn.prod.website-files.com/plugins/Basic/assets/placeholder.60f9b1840c.svg) ##### AI Agents vs PPC Agencies: When to Fire Your Google Ads Agency Paying $4k/month with no improvement in 6 months? Learn when AI beats your agency, what fees buy, and how to switch without losing performance. September 28, 2026 • min read Written by](https://groas.com/post/ai-agents-vs-ppc-agencies)

[![Cover image for: The Fully Autonomous Google Ads Sales Page That Explains Nothing](https://cdn.prod.website-files.com/6823bbd57170ea42b357cf81/6ab9f962a6f05098a5427812_1857e562-347b-480f-a838-1dee0315bba6.png) ##### The Fully Autonomous Google Ads Sales Page That Explains Nothing A straight-faced parody of the AI Google Ads pitch, with five questions its sales page hopes you never ask. September 28, 2026 • min read Written by](https://groas.com/post/the-fully-autonomous-human-led-ai-powere)

![](https://cdn.prod.website-files.com/6821efca072e48f6f495a47e/6823c03839b2b618430d5ae6_Light-p-500.png)

[![White stylized owl eyes with green background icon.](https://cdn.prod.website-files.com/6821efca072e48f6f495a47e/6a68a036a5dd5627409d3579_Groas%20Icon.png)](https://groas.com/post/copy-paste-aeo-the-page-structures-schem#)

[contact](mailto:scale@groas.ai)

Explore

[Home](https://groas.com/)[Philosophy](https://groas.com/our-philosophy)[Blog](https://groas.com/blog)

What We Do

[Paid Search](https://groas.com/paid-search)[Earned Search](https://groas.com/earned-search)

Who We Serve

[Businesses](https://groas.com/for-businesses)[Agencies](https://groas.com/for-agencies)

MCP

[ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_6a9c2d7108f08191beb5b3d736be8655?q=groas)[Claude](https://claude.ai/directory/mcp-groas-ai)

Legal

[Privacy Policy](https://groas.com/legal/privacy-policy)[Terms of Service](https://groas.com/legal/terms)

Get Started

[Apply](https://groas.typeform.com/to/xC1bQNUT)

© 2026 groas 🇺🇸

[![](https://cdn.prod.website-files.com/62434fa732124a0fb112aab4/62434fa732124a389912aad8_linkedin%20small.svg)](https://www.linkedin.com/company/groas/)

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "",
      "@id": "https://www.groas.com/post/copy-paste-aeo-the-page-structures-schem#article",
      "headline": "Copy-Paste AEO: Five Page Blocks Built for AI Answers",
      "description": "A swipe file of answer openings, FAQ pairs, comparison tables, structured data, and update stamps, with notes on when to use each.",
      "url": "https://www.groas.com/post/copy-paste-aeo-the-page-structures-schem",
      "image": {
        "@type": "ImageObject",
        "url": "https://cdn.prod.website-files.com/6823bbd57170ea42b357cf81/6ab75426d900577db590dfb2_49f95066-bb08-473f-b555-73c4a115213a.png"
      },
      "thumbnailUrl": "https://cdn.prod.website-files.com/6823bbd57170ea42b357cf81/6ab75426d900577db590dfb2_49f95066-bb08-473f-b555-73c4a115213a.png",
      "datePublished": "2026-09-26T05:12:08.050Z",
      "dateModified": "2026-09-26T05:12:08.050Z",
      "inLanguage": "en-US",
      "isAccessibleForFree": true,
      "articleSection": "",
      "keywords": "Google Ads, ",
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://www.groas.com/post/copy-paste-aeo-the-page-structures-schem"
      },
      "author": { "@id": "https://www.groas.com/author/#person" },
      "publisher": { "@id": "https://www.groas.com#organization" },
      "about": [
        { "@type": "Thing", "name": "Google Ads" },
        { "@type": "Thing", "name": "Pay-per-click advertising" },
        { "@type": "Thing", "name": "Performance marketing" }
      ],
      "mentions": [
        { "@type": "Organization", "name": "groas", "url": "https://www.groas.com" },
        { "@type": "Thing", "name": "Google Ads" }
      ],
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": ["h1"]
      }
    },
    {
      "@type": "Person",
      "@id": "https://www.groas.com/author/#person",
      "name": "",
      "description": "",
      "jobTitle": "",
      "email": "",
      "url": "https://www.groas.com/author/",
      "image": {
        "@type": "ImageObject",
        "url": ""
      },
      "sameAs": [
        ""
      ],
      "knowsAbout": [
        "Google Ads",
        "Performance Max",
        "AI Max",
        "Pay-per-click advertising",
        "Conversion tracking",
        "Bid management",
        "Search advertising"
      ],
      "worksFor": { "@id": "https://www.groas.com#organization" }
    },
    {
      "@type": "Organization",
      "@id": "https://www.groas.com#organization",
      "name": "groas",
      "alternateName": "groas.com",
      "url": "https://www.groas.com",
      "logo": {
        "@type": "ImageObject",
        "url": "https://cdn.prod.website-files.com/6821efca072e48f6f495a47e/6834a970e03a7016560e3515_Logo%20Design%20256x256.png"
      },
      "description": "Dedicated strategists run your account and a proprietary engine trained on $500B in profitable ad spend optimises the execution underneath them",
      "sameAs": [
        "https://www.linkedin.com/company/groas"
      ],
      "knowsAbout": [
        "Google Ads",
        "Performance Max",
        "AI Max for Search",
        "Pay-per-click advertising",
        "Autonomous campaign management",
        "AI advertising agents"
      ],
      "areaServed": "Worldwide"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "Home",
          "item": "https://www.groas.com"
        },
        {
          "@type": "ListItem",
          "position": 2,
          "name": "Blog",
          "item": "https://www.groas.com/blog"
        },
        {
          "@type": "ListItem",
          "position": 3,
          "name": "",
          "item": "https://www.groas.com/category/"
        },
        {
          "@type": "ListItem",
          "position": 4,
          "name": "Copy-Paste AEO: Five Page Blocks Built for AI Answers",
          "item": "https://www.groas.com/post/copy-paste-aeo-the-page-structures-schem"
        }
      ]
    }
  ]
}
```
