GEO Checklist

Complete guide to implementing Generative Engine Optimization

Quick Start Guide

Quick Start - Next.js Implementation

Copy-paste snippet to get started with GEO in Next.js

DO
Best Practices

Implement all required endpoints

Create all 6 GEO endpoints with proper content and headers

  • ✓/.well-known/ai.txt - Plain text description
  • ✓/ai/summary.json - Site summary (≤800 chars)
  • ✓/ai/faq.json - Frequently asked questions
  • ✓/ai/service.json - Service capabilities
  • ✓/sitemap-llm.xml - LLM-optimized sitemap
  • ✓/robots.txt - Allow AI crawlers

Use correct Content-Type headers

Set proper MIME types for all endpoints

  • ✓JSON endpoints: application/json
  • ✓Text endpoints: text/plain
  • ✓XML endpoints: application/xml

Implement proper caching

Add Cache-Control headers for performance

  • ✓Cache-Control: public, max-age=86400, stale-while-revalidate=604800
  • ✓Allows 24-hour caching with 7-day stale-while-revalidate

Keep summaries concise

Write clear, informative summaries under 800 characters

  • ✓Focus on key features and use cases
  • ✓Include target audience
  • ✓Mention primary capabilities

Include lastModified timestamps

Add ISO 8601 timestamps to all JSON endpoints

  • ✓Format: YYYY-MM-DDTHH:mm:ssZ
  • ✓Update when content changes
  • ✓Helps AI systems understand freshness

Validate JSON schemas

Ensure all JSON follows the required structure

  • ✓Required fields present
  • ✓Correct data types
  • ✓Valid URLs and formats

Allow AI crawlers in robots.txt

Explicitly permit AI bot access

  • ✓User-agent: GPTBot - Allow: /
  • ✓User-agent: ChatGPT-User - Allow: /
  • ✓User-agent: CCBot - Allow: /
  • ✓User-agent: anthropic-ai - Allow: /

Create comprehensive sitemaps

Include all important pages in sitemap-llm.xml

  • ✓All public pages
  • ✓Proper lastmod dates
  • ✓Reasonable priority values
  • ✓Include changefreq hints

DON'T
Common Mistakes

Don't block AI crawlers

Avoid disallowing AI bots in robots.txt

  • ✗Don't use: User-agent: GPTBot - Disallow: /
  • ✗Don't use: User-agent: * - Disallow: /
  • ✗AI systems need access to validate GEO compliance

Don't use incorrect headers

Avoid wrong Content-Type or missing Cache-Control

  • ✗Don't use text/html for JSON endpoints
  • ✗Don't omit Cache-Control headers
  • ✗Don't use overly aggressive caching

Don't write overly long summaries

Keep summaries focused and under 800 characters

  • ✗Avoid rambling descriptions
  • ✗Don't include unnecessary details
  • ✗Focus on what AI systems need to know

Don't skip required fields

Include all mandatory fields in JSON schemas

  • ✗version and lastModified are required
  • ✗Don't omit key service information
  • ✗Include all endpoint references

Don't use invalid JSON

Ensure all JSON is properly formatted and parseable

  • ✗No trailing commas
  • ✗Proper string escaping
  • ✗Valid UTF-8 encoding

Don't ignore error handling

Handle missing or invalid endpoints gracefully

  • ✗Return proper HTTP status codes
  • ✗Don't serve empty responses
  • ✗Handle network errors appropriately

Framework-Specific Guides

Detailed implementation guides for popular frameworks