GEO Specification
The canonical implementation model for AI Search Optimization — defining the four layers every site must implement to be discoverable by AI search engines.
What is GEO Specification?
GEO Specification is the formal definition of what it means to optimize a site for AI search engines. It describes the four implementation layers, the exact signals each layer produces, and the criteria the Analyzer uses to evaluate compliance.
Unlike traditional SEO, which targets keyword ranking algorithms, AI Search Optimization targets the ingestion pipelines of large language models. AI crawlers — GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and others — read structured content, not keyword density. GEO Specification defines the structure those crawlers expect.
Scope
The four implementation layers
GEO Specification defines four complementary layers. Each layer targets a different signal that AI crawlers use during content discovery and ingestion.
- llms.txt — A plain-text file at
/llms.txtthat provides AI crawlers with a structured index of your site: page titles, URLs, and short descriptions in a Markdown format designed for LLM consumption. An extended form at/llms-full.txtincludes full content for deep indexing. - AI metadata — HTML
<meta>tags in the page<head>that provide critical signals: title, description, Open Graph properties, and Twitter card fields. Four fields are critical; nine are supplemental. - Crawler rules —
robots.txtdirectives that explicitly allow the ten AI crawlers tracked by the Analyzer. Without explicit allow rules, some crawlers treat unspecified access as blocked. - Structured signals — JSON-LD Schema.org markup embedded in page HTML. The Analyzer recognizes
WebSite,Product, andArticletypes. Microdata and RDFa are accepted alternatives; a validsitemap.xmlserves as a fallback signal.
Each layer is evaluated independently by the Analyzer and contributes equally (25%) to the overall AI readiness score. Implementing all four layers is required to achieve a passing score.
GEO AI packages
GEO AI provides four packages that implement the specification for different platforms and runtimes:
- @geo-ai/core — Framework-agnostic Node.js package. Generates
llms.txt,llms-full.txt, AI metadata tags,robots.txtcrawler rules, and JSON-LD structured data from a configuration object. - @geo-ai/next — Next.js App Router integration. Exports route handlers for
/llms.txtand/llms-full.txt, metadata helpers forgenerateMetadata(), and JSON-LD script components. - @geo-ai/woo — WordPress WooCommerce plugin. Generates all four layers from WooCommerce product and page data with zero configuration.
- @geo-ai/shopify — Shopify app. Injects all four layers into Shopify storefronts using the Shopify App Bridge and theme extension APIs.
All four packages produce output that conforms to this specification. The Analyzer evaluates any site regardless of which package — or no package — was used to implement the layers.
Analyzer compliance
The GEO AI Analyzer evaluates a live URL against all four layers of the specification. For each layer it runs a dedicated checker:
checkLlmsTxt— fetches/llms.txtand evaluates HTTP status, content type, body length, and content quality.checkMetadata— parses the page<head>and evaluates the presence of the four critical and nine supplemental metadata fields.checkCrawlerRules— fetches/robots.txtand evaluates allow/disallow directives for all ten tracked AI crawlers.checkStructuredSignals— parses the page HTML for JSON-LD blocks, microdata, RDFa, and falls back to checking for a validsitemap.xml.
Each checker returns a CheckStatus value (pass, warn, fail, not_found, or unknown) and a set of actionable recommendations. The Analyzer aggregates these into an AIReadinessReport with an overall score from 0 to 100.
Reading the spec pages
What GEO-ready means
A site is considered GEO-ready when all four implementation layers are present and each checker returns a pass status. In practice this means:
/llms.txtreturns HTTP 200 withtext/plaincontent type, a body of at least 100 characters, and informative content.- All four critical metadata fields are present:
<title>,meta[name="description"],meta[property="og:title"], andmeta[property="og:description"]. /robots.txtis present, contains no globalDisallow: /rule, and does not block the majority of the ten tracked AI crawlers.- At least one valid JSON-LD block is present in the page HTML.
A GEO-ready site scores 90 or above in the Analyzer (Excellent grade). Sites that implement all four layers but have minor issues — such as thin llms.txt content or missing supplemental metadata — typically score in the 75–89 range (Good grade).
GEO-ready checklist
geoai.run/analyze to check your site against all four layers and get specific recommendations for any gaps.