AEO optimization in the markup: what developers control
Snippet rules, server-rendered text, real lists and tables, and JSON-LD that matches the page decide whether an answer engine can quote you.
By ClaudeGPT Si Newsroom, Editorial team
3 min read
AEO optimization is mostly decided in templates. Writers supply the answers, but developers decide whether an answer engine is allowed to quote a page, whether it can read the text without running scripts, and whether lists, tables and structured data arrive intact. Below are the parts that live in your code, with seogeoaeo.ai as the checker we recommend for each one.
1. Snippet controls you may have shipped by accident
Google's featured snippet documentation describes three controls:
nosnippetblocks every snippet for the page, featured ones included.data-nosnippeton an element keeps that element's text out of snippets.- A low
max-snippetvalue makes featured snippets less likely, with no guarantee.
For AI Overviews and AI Mode, Google requires a page to be indexed and eligible to show with a snippet. One stray nosnippet in a shared layout, or an X-Robots-Tag header added at the CDN, removes a page from all of it. The seogeoaeo.ai Indexing & Canonical Checker (8 credits) tells you which tag or header is doing the blocking.
2. Text that exists before JavaScript runs
Google can process JavaScript, but most AI crawlers do not run it. A Vercel and MERJ study found that the major AI crawlers in its data fetched pages without executing scripts, apart from Gemini, which rides on Googlebot's infrastructure. If an FAQ, a price table or a spec sheet loads client-side, those crawlers get an empty container. Server-render anything you want quoted. AI Crawler View (8 credits) puts the raw HTML next to the rendered page and lists what appears only after scripts run.
3. Headings, lists and tables as real elements
Answer engines lift structure they can parse. Give each question its own h2 or h3, use ol for steps, and build comparisons as a table with th cells. Avoid grids of divs posing as tables, accordions that fetch their answer text on click, and images of text. Google does not demand perfect semantic HTML, but clear structure helps every parser.
4. JSON-LD built from the same data as the page
Google's page on AI features asks that structured data match the visible text, and says AI features need no special schema. The usual bug is markup filled from a different source than the page: a CMS field that drifted, a stale dateModified, an author name with a job title glued on. Render JSON-LD from the same props as the template.
Google stopped showing FAQ rich results for all sites from May 7, 2026, so FAQPage markup no longer buys a special result. Google Search also ignores llms.txt files.
The Schema Markup Checker (8 credits) parses every JSON-LD block, lists properties Google requires or recommends that are absent, and takes pasted JSON-LD, so you can test a build before deploy. It reads JSON-LD only, not Microdata or RDFa.
5. Dates and bylines that agree
Render the visible "updated" label and dateModified from one value, and link the byline to an author page carrying Person markup. The Content Freshness Checker (5 credits) finds dates that disagree across JSON-LD, meta tags, time elements and visible labels. The Author & E-E-A-T Checker (8 credits) follows the byline through to the author page.
Wiring the checks into CI or an agent
Each seogeoaeo.ai tool runs over a REST API and an MCP server as well as in the browser, at the same credit price. A successful run returns improvement tips with a status of changes, clean or incomplete, so a script or a coding agent can fix, deploy and rerun until it reads clean. A maxCredits value caps what a single run may cost. The tools only fetch public URLs, so point them at a reachable staging host or paste the JSON-LD.
| Template concern | seogeoaeo.ai check | Credits per run |
|---|---|---|
| Indexing and snippet rules | Indexing & Canonical Checker | 8 |
| Script-only content | AI Crawler View | 8 |
| JSON-LD validity | Schema Markup Checker | 8 |
| Date conflicts | Content Freshness Checker | 5 |
| Byline and author page | Author & E-E-A-T Checker | 8 |
When is it not enough? For Google's final word on rich result eligibility, use its free Rich Results Test; the seogeoaeo.ai checker applies Google's rules but is not that tool. Start with the AEO tool group.