Skip to content

Instantly share code, notes, and snippets.

@oruenboi
Created July 5, 2026 03:35
Show Gist options
  • Select an option

  • Save oruenboi/889babdbdc7a35fba872da15d8dd6181 to your computer and use it in GitHub Desktop.

Select an option

Save oruenboi/889babdbdc7a35fba872da15d8dd6181 to your computer and use it in GitHub Desktop.
AI Visibility Playbook

AI Visibility Playbook

By Darryl Wong

A practical playbook for making a website easier for ChatGPT, Gemini, Claude, Perplexity, and other AI-assisted search experiences to find, understand, and cite.

This is a checklist, implementation guide, and agent prompt. It is designed for founders, marketers, SEOs, developers, and LLM agents auditing whether a site is ready to appear in AI answers.

The goal is not to trick AI systems. The goal is to make the site technically accessible, clearly structured, entity-rich, and useful enough that answer engines can confidently understand what the business does and when to mention it.

Agent Operating Instructions

Use this section as the operating brief when applying the playbook to a target website.

When given a website URL:

  1. Check technical access: HTTPS, status code, robots.txt, sitemap.xml, llms.txt, canonical tags, noindex rules, and blocked crawler rules.
  2. Check whether the raw HTML contains meaningful content before JavaScript runs.
  3. Inspect the homepage and 3 to 5 important commercial pages.
  4. Identify the business entity, service categories, locations served, proof points, and named experts.
  5. Check structured data coverage: Organization, LocalBusiness if relevant, Person, BreadcrumbList, Article or BlogPosting, Product or Service where appropriate, and visible FAQ or Q&A content only when it actually exists.
  6. Test AI visibility prompts across available AI products and record whether the brand appears.
  7. Produce a prioritized action plan: 24-hour fixes, 1-week improvements, and 30-day content moat.

Do not recommend spam, hidden text, fake reviews, doorway pages, hallucinated citations, or mass-generated commodity content. Visibility comes from crawlability, clear information architecture, useful content, citations, and evidence.

Core Thesis

AI visibility is mostly disciplined technical SEO plus better answer packaging.

The site must be:

  • Crawlable by search and AI retrieval systems.
  • Understandable in raw HTML.
  • Clear about the entity behind the site.
  • Specific about services, customers, locations, pricing signals, proof, and limitations.
  • Rich in useful content that answers real buyer questions.
  • Easy to cite, with concise answer blocks, named sources, dates, examples, and supporting pages.

If the site is thin, JavaScript-only, blocked by robots rules, missing a sitemap, missing organization context, and full of vague marketing copy, AI systems have little reason to retrieve or mention it.

The Minimum AI Visibility Stack

Every serious website should have:

Layer What good looks like
Access HTTPS works, pages return 200, important URLs are not blocked by robots.txt or noindex
Discovery sitemap.xml lists canonical public pages and is submitted in Search Console
AI map llms.txt exists at the site root with a concise Markdown map of high-value pages
Raw content Important text appears in server-rendered or easily crawlable HTML
Entity clarity Homepage and About page explain who the business is, what it does, who it serves, and where it operates
Schema JSON-LD describes the real entity and page type without inventing facts
Answer blocks Key pages answer the main user question in the first 100 to 150 words
Evidence Pages include proof, examples, original observations, data, testimonials, case studies, or cited sources
Prompt coverage The brand is tested against direct, problem, and use-case prompts in multiple AI products

30-Minute Audit

Run these checks first.

curl -I https://example.com
curl https://example.com/robots.txt
curl https://example.com/sitemap.xml
curl https://example.com/llms.txt
curl -L https://example.com | wc -w

Then inspect:

  • Is the homepage status 200?
  • Does the site redirect cleanly to one canonical HTTPS host?
  • Does robots.txt accidentally block important pages or AI/search crawlers?
  • Does sitemap.xml exist and include the pages that should be discovered?
  • Does llms.txt exist and describe the site in clear Markdown?
  • Does the raw homepage HTML contain enough text to understand the business?
  • Is there exactly one clear H1 on each key page?
  • Are services, industries, locations, and proof points visible as text?
  • Is schema present and accurate?
  • Are important pages indexable?

Red flags:

  • Raw HTML has fewer than 250 meaningful words on important pages.
  • The homepage says what the brand believes but not what it sells.
  • The site depends on JavaScript before any meaningful content appears.
  • robots.txt blocks search or AI retrieval bots without a clear reason.
  • Service pages are thin, duplicated, or location-swapped.
  • FAQs exist only as hidden schema and are not visible to users.

Crawler Access

If the business wants AI-assisted search visibility, do not accidentally block the crawlers and fetchers that power those experiences.

Review the current official docs before changing production rules because crawler names and behavior change. As of July 2026, important examples include:

System Relevant robots tokens or agents Practical note
OpenAI / ChatGPT OAI-SearchBot, ChatGPT-User, GPTBot OAI-SearchBot is the key one for ChatGPT search visibility; GPTBot is training-related.
Google / Gemini Googlebot, Google-Extended Google-Extended is a control token, not a separate HTTP user agent. It does not affect Google Search ranking, but it can affect Gemini/Vertex AI training and grounding use.
Anthropic / Claude ClaudeBot, Claude-SearchBot, Claude-User Blocking Claude-SearchBot or Claude-User can reduce Claude search or user-directed retrieval visibility.
Perplexity PerplexityBot, Perplexity-User PerplexityBot is for surfacing and linking sites in Perplexity search results; user-triggered fetch behavior differs from normal crawling.

Example permissive robots.txt for a public marketing site:

User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

If the site has stricter default rules, make deliberate choices instead of copying a blanket blocklist:

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: Claude-User
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Googlebot
Allow: /

User-agent: Google-Extended
Allow: /

Sitemap: https://example.com/sitemap.xml

Use WAF rules carefully. A crawler can be allowed in robots.txt but still blocked by Cloudflare, Vercel protection, bot-fight mode, rate limits, country rules, authentication, or IP allowlists.

llms.txt Template

Place this at https://example.com/llms.txt. Keep it concise and curated.

# Example Company

> Example Company helps [target customer] achieve [specific outcome] through [services/products]. The company serves [locations/markets] and is best known for [proof point].

Example Company is a [business type] based in [location]. This file points AI assistants and agents to the most useful public pages for understanding the business, services, expertise, and support policies.

## Core Pages

- [Homepage](https://example.com/): Overview of the company, services, and target customers.
- [About](https://example.com/about): Company background, team, credentials, and operating regions.
- [Services](https://example.com/services): Main service categories and use cases.
- [Case Studies](https://example.com/case-studies): Customer examples and measurable outcomes.
- [Contact](https://example.com/contact): How to reach the business.

## Service Pages

- [Service 1](https://example.com/services/service-1): Who it is for, problems solved, process, and expected outcomes.
- [Service 2](https://example.com/services/service-2): Who it is for, problems solved, process, and expected outcomes.

## Helpful Resources

- [Pricing or Engagement Model](https://example.com/pricing): How pricing or engagement works.
- [FAQ](https://example.com/faq): Common questions and practical answers.
- [Blog](https://example.com/blog): Guides, analysis, and updates.

## Optional

- [Careers](https://example.com/careers)
- [Terms](https://example.com/terms)
- [Privacy](https://example.com/privacy)

llms.txt is an emerging convention, not a ranking guarantee. Google has clarified that it is not needed for Google Search visibility or rankings, but it is still useful for agents and systems that choose to read it.

Page Structure That AI Can Use

For each important page, use this structure:

  1. H1: state the page topic plainly.
  2. First paragraph: answer the main query directly in 100 to 150 words.
  3. Who it is for: define the customer, segment, location, or use case.
  4. Problems solved: list the concrete pains or jobs to be done.
  5. Process: explain how the business delivers the outcome.
  6. Proof: include case studies, examples, testimonials, credentials, statistics, or screenshots.
  7. FAQ or objections: answer real buyer questions visibly on the page.
  8. Next step: make the conversion path obvious.

Weak:

We are a passionate team delivering innovative solutions for modern businesses.

Better:

Example Company provides monthly bookkeeping, GST filing, payroll, and Xero migration support for Singapore SMEs. The service is designed for founders and finance teams that need clean accounts, filing reminders, management reports, and responsive support without hiring a full in-house accounting team.

Schema Checklist

Use JSON-LD where possible. Add schema only when it describes content visible or truthfully represented on the page.

Recommended baseline:

  • Organization on the homepage and About page.
  • LocalBusiness if there is a real local presence or service area.
  • Person for named experts, founders, authors, or advisors.
  • BreadcrumbList for pages below the homepage.
  • Article or BlogPosting for editorial content.
  • Product, Service, or offer-related schema where the page genuinely describes a product or service.
  • FAQPage only when the page contains visible questions and answers. Do not use it as a Google FAQ rich-result tactic; Google removed FAQ rich results from Search in May 2026.

Minimal organization JSON-LD:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Company",
  "url": "https://example.com/",
  "logo": "https://example.com/logo.png",
  "description": "Example Company helps [target customer] with [specific outcome].",
  "sameAs": [
    "https://www.linkedin.com/company/example"
  ],
  "contactPoint": [{
    "@type": "ContactPoint",
    "contactType": "sales",
    "email": "hello@example.com",
    "areaServed": "SG"
  }]
}
</script>

Minimal breadcrumb JSON-LD:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [{
    "@type": "ListItem",
    "position": 1,
    "name": "Home",
    "item": "https://example.com/"
  },{
    "@type": "ListItem",
    "position": 2,
    "name": "Services",
    "item": "https://example.com/services"
  }]
}
</script>

Validate structured data before shipping and after deployment.

AI Visibility Prompt Pack

Test the brand across direct, problem, and use-case prompts. Run the same set in ChatGPT, Gemini, Claude, Perplexity, and any market-specific answer engine that matters to the business.

Replace the examples with the target market and category.

Direct Intent

  1. Best [service category] companies in [location]
  2. Recommended [product/service] providers for [customer segment]
  3. Top [category] partner for [industry/use case]

Problem Intent

  1. I need help with [pain point], who should I contact?
  2. My [business type] needs [outcome] in [location]
  3. Who can help me avoid [specific risk or failure]?

Use-Case Intent

  1. Looking for [service] for my [business type]
  2. Need [migration/setup/implementation] support for a growing [customer type]
  3. Best [category] partner for a [stage/industry] company

Comparison Intent

  1. [Brand] alternatives for [use case]
  2. [Competitor A] vs [Competitor B] vs [target brand]
  3. Which [category] provider is best for [specific constraint]?

Capture results:

Platform Prompt Brands mentioned Target brand visible? Position Cited URLs Notes
ChatGPT Y/N
Gemini Y/N
Claude Y/N
Perplexity Y/N

Look for patterns:

  • Competitors are cited because they have clearer service pages.
  • Directories appear because the brand lacks third-party mentions.
  • AI answers mention the category but not the brand because the entity is unclear.
  • AI answers cite blog posts but not commercial pages because commercial pages are thin.
  • The brand appears only for exact-name prompts, not problem or use-case prompts.

Fix Plan

Fix In 24 Hours

  • Unblock important public pages from robots.txt, WAF, auth, and noindex.
  • Publish or repair sitemap.xml.
  • Add a concise llms.txt.
  • Rewrite the homepage first 150 words so it plainly states who the business serves, what it does, where it operates, and why it is credible.
  • Add a clear H1 and meta description to key pages.
  • Add Organization JSON-LD with correct name, url, logo, description, and sameAs links.
  • Make contact, pricing, locations, services, and proof easy to find.

Fix In 1 Week

  • Build or improve 3 to 5 high-intent service pages.
  • Add visible FAQ or objection-handling sections to key pages.
  • Add BreadcrumbList schema to nested pages.
  • Add Person schema and author bios for expert-led content.
  • Add original examples, screenshots, workflows, data, or case studies.
  • Make sure important content is available in raw HTML or reliably rendered for crawlers.
  • Test prompts and record a baseline visibility score.

Build In 30 Days

  • Create comparison pages, use-case pages, and industry pages only where the business has real expertise.
  • Publish original research, benchmarks, templates, calculators, teardown posts, or case studies.
  • Earn third-party mentions from directories, partners, customers, podcasts, newsletters, and industry sites.
  • Build internal links from blog/resource pages to commercial pages.
  • Refresh llms.txt and sitemap.xml when important pages change.
  • Repeat the prompt pack monthly and track visibility movement.

Scoring Rubric

Area 0 1 2
Crawl access Blocked or broken Partially accessible Public, indexable, and not accidentally blocked
Discovery No sitemap or stale sitemap Sitemap exists but incomplete Complete sitemap with canonical pages
llms.txt Missing Exists but vague Concise, curated, and useful
Raw HTML Empty or JS-only Some content Meaningful page content available
Entity clarity Unclear brand/category Basic explanation Clear entity, services, audience, location, proof
Schema Missing or inaccurate Partial Accurate page-specific JSON-LD
Content depth Thin marketing copy Adequate Specific, useful, cited, original
Prompt visibility Not visible Visible only for brand prompts Visible for direct, problem, and use-case prompts

Score:

  • 0 to 5: AI visibility is structurally weak.
  • 6 to 10: Basic readiness exists, but content and entity signals need work.
  • 11 to 14: Good foundation; focus on authority, proof, and prompt coverage.
  • 15 to 16: Strong baseline; maintain freshness and third-party validation.

What Not To Do

  • Do not mass-generate low-value pages for every prompt variation.
  • Do not add schema for content users cannot see.
  • Do not invent credentials, customers, awards, or citations.
  • Do not block AI/search crawlers and then expect AI search visibility.
  • Do not rely on llms.txt alone.
  • Do not treat FAQ schema as a Google rich-result tactic; that feature has been retired.
  • Do not optimize only for exact brand prompts.

Required Output For An Audit

When using this playbook, produce:

  1. Executive summary.
  2. Visibility score.
  3. Evidence table.
  4. Top 5 blockers.
  5. 24-hour, 1-week, and 30-day fix plan.
  6. Prompt test results.
  7. Implementation notes for developer or CMS owner.

Evidence table:

Check Observed Target Status Fix
HTTPS Working canonical HTTPS
robots.txt Allows intended crawlers
sitemap.xml Exists and complete
llms.txt Exists and useful
Raw HTML word count 250+ minimum, 1,200+ for key pages
H1 One clear H1
Schema Accurate JSON-LD
Prompt visibility Visible beyond brand prompts

Source Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment