AI Search Optimization

How to Appear in ChatGPT, Perplexity, and Claude Results

May 2026 · 10 min read

When someone asks ChatGPT or Perplexity who to hire for a service you offer, your website either appears in the answer or it does not. Traditional SEO — keywords, backlinks, domain authority — still matters, but it is no longer sufficient. AI systems retrieve, rank, and cite content differently from search engines, and the gap between sites that get cited and sites that are ignored is growing.

This guide covers the concrete steps to make your content citable by AI search: the llms.txt file, the structural changes that produce quotable content, the schema markup that makes facts machine-readable, and how to test whether any of it is working. The changes are not large. Most can be done in a day. But they compound over time as AI search becomes the dominant discovery channel for services and expertise.

Why AI Citation Is Different from Google Ranking

Google ranks pages. AI systems cite facts.

When Google ranks your page at position 3, a user sees your title and meta description and decides whether to click. When Perplexity cites your page in an answer, it extracts a specific sentence or claim, attributes it to your domain, and presents it as evidence for the answer it gives. The page behind the citation may never be visited directly. The citation is the impression.

This distinction has two practical consequences. First, content that ranks well on Google but makes no specific, attributable claims will not be cited by AI. Marketing pages ("We deliver best-in-class solutions") are invisible to citation engines. Second, content that ranks modestly on Google but contains clear, specific, verifiable facts can still appear in AI answers — particularly for technical topics where the AI prioritizes accuracy over domain authority.

Dimension Google SEO AI Citation (GEO)
What is ranked/selected Pages Sentences and claims
Outcome for user Visits your page Reads your claim inline; may visit
Key signal Backlinks, authority, freshness Specificity, structure, citability
Content that performs Comprehensive, interlinked content Specific facts, tables, definitions
Hurts performance Thin pages, slow load times Vague claims, JS-heavy rendering, no facts
Local / topical signals Local SEO, GMB, geo landing pages Mentions of city/region + structured service claims

Step 1: Add an llms.txt File

llms.txt is a plain-text file at the root of your domain (https://yourdomain.com/llms.txt) that tells AI crawlers which pages to prioritize. It is not an official standard enforced by any AI provider, but Perplexity, Anthropic's web-browsing infrastructure, and several other retrieval pipelines have shown respect for it in practice.

The format is a markdown document with one required section (# SiteName, a description, and a list of key URLs) and optional sections for different content types. Here is a minimal working example:

# TechConcepts

> Technical consulting and software automation for B2B companies.
> Services: Slack bots, API integrations, iOS apps, fund operations automation.
> Location: Madrid, Spain. Available globally.

## Services

- [AI Search Optimization](https://techconcepts.org/services/ai-seo): GEO audit and implementation.
- [API Integration](https://techconcepts.org/ai-ops-sprint/): Webhook pipelines and multi-system automation.
- [Slack Bot Development](https://techconcepts.org/services/slack-automation): Custom bots for Jira routing, AI triage.

## Key Articles

- [Webhook Integration Guide](https://techconcepts.org/blog/webhook-integration-guide): HMAC security, retry logic, polling vs webhooks.
- [StoreKit 2 Subscriptions](https://techconcepts.org/blog/storekit2-subscriptions-practice): iOS subscription implementation.
- [API Integration Cost](https://techconcepts.org/blog/api-integration-cost): Cost breakdown for enterprise API projects.

## Optional: Full Content Index

- [llms-full.txt](https://techconcepts.org/llms-full.txt)

The llms-full.txt link at the bottom is a convention for sites with many pages: it points to a second file that lists every URL on the site, allowing AI crawlers to discover the full index without having to crawl the sitemap.

Placement is straightforward: create the file at your web root, make sure it is served as plain text (Content-Type: text/plain), and add it to your sitemap or submit the URL directly in Google Search Console to accelerate indexing. The file itself should be re-generated or updated whenever you publish significant new content.

Step 2: Structure Content for Extraction

AI systems do not read pages the way humans do. They look for extractable answer units — sentences or short blocks that make a specific, self-contained claim. Content that consists of fluent prose without specific claims produces no citable units, regardless of how well it ranks in Google.

The content patterns most likely to generate citations:

Definitions with scope. "A webhook is an HTTP callback triggered by an event in a source system, as opposed to polling where the receiving system requests data on a schedule." This sentence is citable. "Webhooks are a powerful integration technique" is not.

Cost and time ranges with context. "A custom Slack bot with Jira integration typically costs €5,000–€15,000 for a fixed-scope project, depending on the number of Jira projects, custom field mappings, and whether an LLM routing layer is included." This is citable. "Pricing varies depending on your needs" produces nothing.

Comparison tables with concrete numbers. Tables are structurally ideal for AI extraction because each row is already an isolated fact. A table comparing Zapier, n8n, and Make by price, maximum steps, and enterprise support gives an AI system four discrete citable facts per row. A paragraph covering the same comparison generates one or zero.

Step-by-step instructions with specific commands. Numbered steps with real code or real command syntax are among the highest-performing content formats for AI citation. AI systems frequently cite technical how-to content verbatim because it is specific, verifiable, and dense with information per sentence.

Named claims with a source or observation basis. "Based on 20+ API integration projects, the two most common sources of webhook reliability failures are missing idempotency keys and synchronous processing before the 200 response." This attributes the claim to first-hand observation and is more citable than the same claim stated as generic fact.

Step 3: Add Schema Markup for Key Facts

Schema.org structured data is the layer between human-readable content and machine-readable facts. It does not directly cause AI citation, but it reduces the work an AI crawler has to do to extract facts from your page — which matters when crawl time is limited.

The schema types most relevant for service businesses and technical blogs:

FAQPage — For any page with a question-and-answer structure. Each Question/Answer pair is an explicitly labeled citable unit. This is the single highest-ROI schema addition for service pages: mark up the 3–5 questions your prospects always ask, with specific answers that include prices, timelines, or concrete process steps.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "How much does a custom Slack bot cost?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "A custom Slack bot with basic command handling costs €3,000–€6,000. Adding Jira integration, LLM-powered triage, or multi-workspace support raises the range to €8,000–€18,000. Most projects are delivered in 3–6 weeks on a fixed-price basis."
    }
  }]
}
</script>

HowTo — For step-by-step guides. Each HowToStep is a labeled unit that crawlers can extract without parsing prose.

BlogPosting with dateModified — AI systems (particularly Perplexity) weight recency. The dateModified field signals that your content is current. A post published in 2024 with dateModified: 2026-05-01 and updated content will be treated as fresh; the same post with only a datePublished from 2024 will not.

LocalBusiness or ProfessionalService — If your services are location-specific, the structured data for service area, price range, and service type is what surfaces you in queries like "best [service] in [city]" run through AI interfaces.

Step 4: Remove Rendering Barriers

If your content requires JavaScript to render, many AI crawlers will not see it. Perplexity and most retrieval pipelines use lightweight HTTP fetchers that do not execute JavaScript. They fetch the raw HTML. If your navigation, headings, body text, or pricing information is injected by a JS framework, it is invisible to AI retrieval.

The check: curl -s https://yourpage.com | grep "your headline text". If the headline is not in the raw HTML output, the page is JS-rendered and AI crawlers likely cannot read it. The fix is server-side rendering (SSR) or static generation — the page HTML should contain all visible content at fetch time.

JavaScript-rendered landing pages, React SPA apps without SSR, and Angular apps without prerendering are all invisible to AI crawlers by default. This is one of the most common reasons a site with strong content gets zero AI citations.

Step 5: Test Whether AI Cites You

The fastest test is Perplexity, because it shows sources visibly alongside answers. Open perplexity.ai and search for the specific topic your content covers — not your brand name, but the question your content answers.

Example: if you have a page on webhook integration, search "how to verify webhook signatures with HMAC". Look at the Sources panel. If your domain appears, you are being cited for that topic. If it does not appear, check which domains do appear and compare: are those pages more specific? Do they have more structured content? Are they rendering server-side?

For ChatGPT: enable Browse mode (the web search option), then ask a question your content answers. The cited sources appear at the bottom of the response. ChatGPT's Browse is more selective than Perplexity — it tends to cite pages that rank highly on Google. If you are not on page 1 for the topic, ChatGPT is unlikely to cite you regardless of content quality.

For Claude (Anthropic): Claude does not have persistent web browsing in the standard interface, but Anthropic's systems index publicly available content. Claude-powered products and search features (Claude.ai, API integrations) use Anthropic's retrieval layer. The most reliable signal: if your content appears in Perplexity's sources for a topic, it is likely in the retrieval pool for other AI systems targeting the same queries.

One additional test for local businesses: ask "who offers [service] in [your city]" in Perplexity. If you have a Google Business Profile, schema markup with location, and page content that mentions your city and service area explicitly, you should appear. If you do not, the gap is almost always one of those three signals.

What to Fix First: Priority Order

The fixes with the highest impact-to-effort ratio, in order:

1. Rewrite your service pages to include specific claims. Replace "we deliver high-quality automation solutions" with "we build Slack bots that route Jira tickets using GPT-4o classification, delivered in 4–6 weeks for €8,000–€15,000." The rewrite takes one hour per page. The AI citability improvement is immediate once the page is re-crawled.

2. Add FAQPage schema to your top 3 service pages. Write 3–5 real questions your prospects ask — with specific answers. This is the fastest way to create structured, labeled answer units that AI systems can extract without inference.

3. Add llms.txt. 30 minutes of work. Surfaces your best pages to AI crawlers that respect the file.

4. Verify your pages render without JavaScript. Run curl or use Google Search Console's URL Inspection tool to check the "crawled page" view. Fix any critical content that requires JS to render.

5. Update dateModified in your schema and on-page "last updated" text. Do this every time you meaningfully update a page. Stale dates suppress retrieval even for accurate content.

How Long Until AI Cites You?

The honest answer: weeks, not days. Perplexity re-crawls popular pages frequently and new citations can appear within 1–2 weeks of a content change. ChatGPT Browse is slower — it depends partly on Google's index of your page, and Google may take 2–4 weeks to re-crawl and re-rank after content changes.

The practical test cadence: check Perplexity for your target queries once a week after making changes. A meaningful improvement (your domain appearing in the sources panel for a query where it previously did not) is the signal that the changes are working. If no improvement after 4 weeks, the bottleneck is likely content specificity, not technical infrastructure.

Not sure where your site stands with AI search?

I run a live Perplexity search for your services during a 15-minute call, show you what AI sees (or doesn't), and tell you specifically what to fix. No report. Just a live session and a prioritized list.

Book a free AI visibility check →

Related Service

AI Search Optimization (GEO)

Full audit of how AI systems see your site: llms.txt setup, structured data implementation, content rewrite for citability, and a before/after Perplexity test. From €2,000, delivered in one week.

See the full scope →

Related Posts

AI Search vs Traditional SEO: What Changes

How Google rankings and AI citation rankings diverge — and when they align.

Webhook Integration Guide

An example of structured, citable technical content — the exact format that AI systems extract from.

Deploying a Static Site to Cloudflare Pages

Fast, globally distributed static hosting — the infrastructure behind low-latency AI crawlability.

Evgeny Goncharov - Founder of TechConcepts, ex-Big 4 Advisory

Evgeny Goncharov

Founder, TechConcepts

I build automation tools and custom software for businesses. Previously at a major search platform and Big 4 Advisory. Based in Madrid.

About me LinkedIn GitHub
← All blog posts

Want AI to recommend your business?

15 minutes. I run a live Perplexity search while we talk, show you where you stand, and tell you what to fix.

Book a free AI visibility check