Agent skill
llm-optimization
Optimize websites for AI assistant recommendations. ChatGPT, Gemini, Perplexity, Claude. Get cited in AI answers.
Install this agent skill to your Project
npx add-skill https://github.com/Soborbo/claudeskills/tree/main/llm-optimization
SKILL.md
LLM Optimization Skill
Purpose
Make websites appear in AI assistant recommendations and citations. Different from traditional SEO - optimized for how LLMs parse and recommend content.
Core Rules
- Structured > Prose — LLMs extract facts from clear structure
- Schema.org is Critical — Speakable, FAQPage, HowTo schemas
- Answer the Question — First paragraph must directly answer intent
- Cite Sources — Links to authoritative sources build trust
- Entity Clarity — Clear business name, location, service definitions
- Freshness Signals — Last updated dates, recent content
- No Walls — Content must be crawlable, no JS-only rendering
- Never Override Truth — LLM optimization NEVER overrides factual accuracy or legal compliance
LLM Crawlers to Support
| LLM | Crawlers | Notes |
|---|---|---|
| OpenAI/ChatGPT | GPTBot, OAI-SearchBot, ChatGPT-User | GPTBot = training, others = real-time |
| Google Gemini | Google-Extended | robots.txt control token, not a distinct UA |
| Perplexity | PerplexityBot, Perplexity-User | Bot = indexing, User = real-time fetch |
| Claude | ClaudeBot, Claude-User, Claude-SearchBot | Official Anthropic crawlers |
| Microsoft Copilot | Bingbot | Uses Bing's crawler |
robots.txt Configuration
# OpenAI crawlers
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
# Google AI (control token)
User-agent: Google-Extended
Allow: /
# Perplexity crawlers
User-agent: PerplexityBot
Allow: /
User-agent: Perplexity-User
Allow: /
# Anthropic/Claude crawlers
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
Content Structure for LLM Extraction
<!-- 1. Direct Answer (first 150 chars) -->
<p class="lead">
[Business Name] provides [service] in [location].
[Key differentiator]. [Call to action].
</p>
<!-- 2. Quick Facts Box -->
<aside class="quick-facts" itemscope itemtype="https://schema.org/LocalBusiness">
<h2>Quick Facts</h2>
<dl>
<dt>Service Area</dt><dd itemprop="areaServed">[Areas]</dd>
<dt>Price Range</dt><dd itemprop="priceRange">[Range]</dd>
</dl>
</aside>
<!-- 3. FAQ Section (critical for LLM) -->
<section itemscope itemtype="https://schema.org/FAQPage">
<!-- Each Q&A as schema -->
</section>
Forbidden
- ❌ Content behind JavaScript-only rendering
- ❌ Blocking LLM crawlers in robots.txt
- ❌ Missing Speakable schema
- ❌ Vague, marketing-speak first paragraphs
- ❌ No FAQ section on service pages
- ❌ Missing lastModified dates
- ❌ No structured data
Definition of Done
- robots.txt allows all LLM crawlers
- Speakable schema on all key pages
- FAQPage schema on service pages
- First paragraph directly answers search intent
- Quick Facts box with structured data
- lastModified meta tag present
- Content renders without JavaScript
- Entity names consistent across site
References
- ChatGPT Optimization
- Gemini Optimization
- Perplexity Optimization
- Schema Speakable
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
astro-images
Width-based responsive image patterns for Astro. Aspect ratio independent.
astro-blog-technical
Phase 4 - Technical implementation (frontmatter, schema, performance)
page-structure
Generates section list for a page. Deterministic mapping. Does not write content.
internal-linking
Plans internal link structure using content silos. Outputs link map with SEO priority. Does not create links.
astro-components
UI component library for Astro lead generation sites. Buttons, forms, cards, badges. Requires design-tokens skill.
project-spec
Generate CLAUDE.md project files. Execution contracts that eliminate ambiguity.
Didn't find tool you were looking for?