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.
Use this section as the operating brief when applying the playbook to a target website.
When given a website URL:
- Check technical access: HTTPS, status code,
robots.txt,sitemap.xml,llms.txt, canonical tags, noindex rules, and blocked crawler rules. - Check whether the raw HTML contains meaningful content before JavaScript runs.
- Inspect the homepage and 3 to 5 important commercial pages.
- Identify the business entity, service categories, locations served, proof points, and named experts.
- Check structured data coverage:
Organization,LocalBusinessif relevant,Person,BreadcrumbList,ArticleorBlogPosting,ProductorServicewhere appropriate, and visible FAQ or Q&A content only when it actually exists. - Test AI visibility prompts across available AI products and record whether the brand appears.
- 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.
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.
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 |
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 -wThen inspect:
- Is the homepage status
200? - Does the site redirect cleanly to one canonical HTTPS host?
- Does
robots.txtaccidentally block important pages or AI/search crawlers? - Does
sitemap.xmlexist and include the pages that should be discovered? - Does
llms.txtexist 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.txtblocks 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.
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.xmlIf 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.xmlUse 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.
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.
For each important page, use this structure:
- H1: state the page topic plainly.
- First paragraph: answer the main query directly in 100 to 150 words.
- Who it is for: define the customer, segment, location, or use case.
- Problems solved: list the concrete pains or jobs to be done.
- Process: explain how the business delivers the outcome.
- Proof: include case studies, examples, testimonials, credentials, statistics, or screenshots.
- FAQ or objections: answer real buyer questions visibly on the page.
- 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.Use JSON-LD where possible. Add schema only when it describes content visible or truthfully represented on the page.
Recommended baseline:
Organizationon the homepage and About page.LocalBusinessif there is a real local presence or service area.Personfor named experts, founders, authors, or advisors.BreadcrumbListfor pages below the homepage.ArticleorBlogPostingfor editorial content.Product,Service, or offer-related schema where the page genuinely describes a product or service.FAQPageonly 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.
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.
- Best [service category] companies in [location]
- Recommended [product/service] providers for [customer segment]
- Top [category] partner for [industry/use case]
- I need help with [pain point], who should I contact?
- My [business type] needs [outcome] in [location]
- Who can help me avoid [specific risk or failure]?
- Looking for [service] for my [business type]
- Need [migration/setup/implementation] support for a growing [customer type]
- Best [category] partner for a [stage/industry] company
- [Brand] alternatives for [use case]
- [Competitor A] vs [Competitor B] vs [target brand]
- 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.
- Unblock important public pages from
robots.txt, WAF, auth, andnoindex. - 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, andsameAslinks. - Make contact, pricing, locations, services, and proof easy to find.
- Build or improve 3 to 5 high-intent service pages.
- Add visible FAQ or objection-handling sections to key pages.
- Add
BreadcrumbListschema to nested pages. - Add
Personschema 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.
- 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.txtandsitemap.xmlwhen important pages change. - Repeat the prompt pack monthly and track visibility movement.
| 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.
- 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.txtalone. - Do not treat FAQ schema as a Google rich-result tactic; that feature has been retired.
- Do not optimize only for exact brand prompts.
When using this playbook, produce:
- Executive summary.
- Visibility score.
- Evidence table.
- Top 5 blockers.
- 24-hour, 1-week, and 30-day fix plan.
- Prompt test results.
- 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 |
- OpenAI crawler documentation: https://developers.openai.com/api/docs/bots
- Google crawler documentation, including
Google-Extended: https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers - Anthropic crawler documentation: https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler
- Perplexity crawler documentation: https://docs.perplexity.ai/docs/resources/perplexity-crawlers
- Chrome Lighthouse
llms.txtaudit: https://developer.chrome.com/docs/lighthouse/agentic-browsing/llms-txt llms.txtproposal: https://llmstxt.org/- Google guide to optimizing for generative AI features on Search: https://developers.google.com/search/docs/fundamentals/ai-optimization-guide
- Google structured data introduction: https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data
- Google Search documentation updates, including FAQ rich result retirement: https://developers.google.com/search/updates