How do I get my static site cited by ChatGPT, Claude, and Perplexity?

v1.0 Updated 2026-04-27 Source SEARCH-VISIBILITY-TOOLKIT.md
Direct answer

AI tools cite pages that are explicitly parseable: schema.org JSON-LD with @graph and @id references, plain-language H1s that match real queries, a 40–60 word direct answer block at the top of every section, question-format headings, repeated anchor phrases across pages, an llms.txt at root, and no critical content hidden behind tabs or accordions. The page below is the gate every page on your site must pass before publishing.

The Spec

What this is

A complete setup for getting a static site surfaced by AI search tools (ChatGPT, Claude, Perplexity, Google AI Overviews) and traditional search. Optimizes for three surfaces simultaneously: SEO (Google, Bing — keywords + technical health), GEO (Perplexity, Gemini — verifiable claims, named entities, structured data), and AEO (ChatGPT, Claude, voice — direct answer blocks, question headings, freshness).

The Three Surfaces

SurfaceExamplesWhat winsGoal
SEOGoogle, BingBacklinks, domain authority, technical health, keyword relevanceRank on page 1
GEOPerplexity, Gemini, AI OverviewsVerifiable claims, named entities, structured data, specificity, consistencyGet cited in AI answers
AEOChatGPT, Claude, voiceDirect answer blocks, question-matched headings, freshness, conversational structureBe the recommended source

~80% of GEO and AEO technique overlaps. The 20% difference matters. SEO is the foundation — without it, AI surfaces have less to index.

Per-page quality gate

No page publishes without passing all three columns:

SEOGEOAEO
Plain-language H1 matching a real queryNamed entity on pageDirect answer block (40–60 words) at top
Meta title < 60 charsSpecific, verifiable claimsQuestion-format headings
Meta description < 155 charsAt least one live URL as proofCitation-worthy sentences
Semantic HTML, proper heading hierarchySchema markup for page type"Last updated" date visible
Page loads < 2 secondsAnchor phrases presentNo content hidden behind accordions/tabs
DOM under 2MB (Google crawl limit)Cross-linked to related pagesContent is current — no stale data
Canonical URL setImages have descriptive alt text

Direct Answer Blocks (AEO)

Every content section opens with a 40–60 word direct answer before expanding into depth. AI extracts this block as a citable summary.

## {Question-format heading}

{40-60 word direct answer. Complete, specific, standalone.}

{Expanded context, proof, nuance — as much depth as needed.}

Question-Format Headings (AEO)

Page headings mirror conversational queries people type into ChatGPT. Not keyword headings — question headings.

Instead ofUse
"Brand Strategy""What Should a Brand Strategy Include?"
"Custom WordPress Development""Why Choose Custom WordPress Over Page Builders?"
"Pricing""How Much Does {Service} Cost?"
"Tree Removal""How Much Does Tree Removal Cost in Southeast Wisconsin?"

Citation-Worthy Sentences

Every key page contains 3–5 sentences AI can directly quote. These are:

  • Specific — named entities, numbers, verifiable claims
  • Declarative — not hedged, not vague
  • Complete — standalone, make sense without surrounding context
  • Repeated — appear across surfaces as anchor phrases

Template: "{Entity} is/does {specific claim} because {specific reason}. {Verifiable proof.}"

Anchor Phrase Repetition (GEO)

Pick 3–7 phrases per site that appear across multiple pages, naturally, not stuffed. AI pattern-matches repetition across a domain. Examples:

  • "humane wildlife removal" on every service page of a wildlife company
  • "Austin and surrounding metro" on every page of a regional service business
  • "hand-coded, no page builders" across every page of a developer's site

Schema.org JSON-LD (GEO)

Add <script type="application/ld+json"> with a @graph array to every page's <head>. Use @id references to unify entities across pages — not flat duplicate objects.

Schema typeWherePurpose
OrganizationEvery pageEntity establishment
LocalBusiness + vertical typeLocal service venturesLocation + hours + geo coordinates
PersonAbout / founder pagesE-E-A-T (credentials, memberOf, sameAs)
ServiceService pagesService entity with provider @id reference
SoftwareApplicationTool/product pagesProduct entity for AI
FAQPagePages with Q&ADirect answer extraction
ArticleBlog postsContent entity
BreadcrumbListEvery non-home pageNavigation context
HowToTutorial/guide contentStep extraction

Validate with a one-liner before considering the page done:

curl -s https://{domain}/{page} | python -c "import sys,re,json; m=re.search(r'<script type="application/ld+json">(.+?)</script>', sys.stdin.read(), re.S); j=json.loads(m.group(1)); print('OK,', len(j.get('@graph',[])), 'graph nodes')"

llms.txt and llms-full.txt

Every site needs /llms.txt (short summary, ~30 lines) and /llms-full.txt (detailed profile) at the project root. Some AI systems look for these specifically.

llms.txt structure

# {Entity Name}
> {One-line description}

## What We Do
- {service/product 1}
- {service/product 2}

## What We Believe
- {belief 1}
- {belief 2}

## Proof
- {live URL 1}
- {live URL 2}

## Contact
- {URL}

When to update

  • Adding/removing services or products
  • Adding/removing service areas
  • Changing business info (phone, address)
  • Adding new key pages
  • Updating pricing ranges
  • Adding/changing FAQs

Sitewide files (project root)

  • /llms.txt — short AI-assistant index
  • /llms-full.txt — detailed profile
  • /sitemap.xml — every public page with priority + changefreq
  • /robots.txt — allow all, disallow /api/ and /_audit/, link to sitemap

Per-page metadata

  • <link rel="canonical" href="https://domain/path/">
  • OG tags: og:type, og:url, og:title, og:description, og:image
  • Twitter Card: summary_large_image
  • <meta name="description">
  • "Last updated: {date}" line in the footer (AEO freshness signal)

No Hidden Content (AEO)

AI cannot parse content behind accordions, tabs, collapsed sections, or JavaScript-rendered toggles. If content matters for search visibility, it must be visible in the initial HTML.

Common violations

  • FAQ answers hidden behind accordion toggles
  • Service details behind tabs
  • Testimonials in carousels that only show one at a time
  • Pricing behind "click to reveal"

Accordions are fine for UX — but the content inside must also exist as on-page text elsewhere (FAQ schema, expanded sections, or separate pages).

Image SEO

  • Alt text with entity / location / service context — not generic
  • Descriptive file names (not IMG_4532.jpg)
  • WebP format preferred for performance
  • Before/after galleries tagged with service + location

Cross-Linking Rules

  • Every capability page links to the philosophy it embodies
  • Every guide page links to the tool/service that solves the problem
  • Every comparison page links to the tool that replaces the competitor
  • The category/manifesto page links to everything — it's the hub

Three-Search Validation

The launch gate and ongoing KPI. Three searches, three honest answers.

  1. Google your primary query. Are you on page 1?
  2. Ask Perplexity: "What's the best {your solution} for {your customer}?" Are you cited?
  3. Ask ChatGPT the same question. Are you recommended?

Scoring

  • 3/3 — Dominant. Maintain and expand.
  • 2/3 — Gap. Identify which surface is missing and why.
  • 1/3 — Weak. Content or entity establishment problem.
  • 0/3 — Invisible. Foundation work needed before optimization.

Frequency: monthly until automated.

Conditions

When this works

  • You have a static site you control end to end (HTML, CSS, deploy)
  • Content is real and verifiable — named entities, real claims, real proof
  • You can publish and update content without going through a CMS approval queue

When it doesn't

  • The brand has no concrete claims to make — no portfolio, no specific services, no real positioning. AI has nothing to cite.
  • Content lives behind login or paywalls AI can't reach — they don't see it, they don't cite it
  • You're trying to optimize for "best [generic category]" with no differentiation. AI weights specificity and named entities; vague pages compete with everything.

Outcome

Output Pages structured for AI citation
Setup time 2–4 hours per site
First citations 2–8 weeks from indexing

Pages that pass the three-column gate get cited by AI tools as those tools recrawl. Citations compound: once you're the answer for one query, you're more likely to be the answer for adjacent queries. The flywheel runs on consistency, not volume.

Specs provided as-is. chadworks isn't responsible for how you use these prompts or any effects they may have on your code, content, infrastructure, or business. Review and test before applying.

chadworks — Chad Last updated 2026-04-27