Skip to content
GEO AI
AnalyzerCLIDocumentationSpecificationContact
Documentation

Getting Started

  • Introduction
  • Quick Start
  • Choose Your Package

GEO Specification

  • Overview
  • llms.txt
  • AI Metadata
  • Crawler Rules
  • Structured Signals
  • Scoring
  • Recommendations

Packages

  • GEO AI Core
  • GEO AI Next
  • GEO AI Woo
  • GEO AI Shopify

Analyzer

  • Overview
  • Scoring
  • Recommendations

CLI

  • GEO AI CLI

Integrations

  • NestJSsoon
  • Laravelsoon

Reference

  • Configuration
  • API Reference
  • FAQ
DocsAnalyzerRecommendations

Recommendations

Actionable fixes the Analyzer surfaces for each signal category.

How recommendations work

After scoring your site, the Analyzer generates a prioritized list of recommendations — one per missing or malformed signal. Each recommendation includes a description of the issue, the expected fix, and a link to the relevant documentation.

Fix the highest-weight categories first — llms.txt and AI metadata together account for 60% of the total score.

llms.txt recommendations

  • Missing llms.txt — no file found at /llms.txt. Generate one with geo-ai-generate or createGeoAI().generateLlms().
  • Invalid format — file exists but does not follow the llms.txt standard. Check that it starts with an H1 heading and uses the correct Markdown structure.
  • Missing llms-full.txt — the extended file is not present. Pass true to generateLlms() to generate it.
  • Empty sections — llms.txt has no resource entries. Add pages, products, or other content to your provider.

AI metadata recommendations

  • Missing meta tags — add meta name="llms" and meta name="llms-full" to your page head.
  • Missing Link header — add the Link: </llms.txt>; rel="ai-content-index" HTTP header. Use injectLinkHeader: true in the GEO AI middleware.
  • Broken meta tag URL — the URL in the meta tag returns a non-200 response. Verify your llms.txt is publicly accessible.

Crawler rules recommendations

  • No robots.txt — create a robots.txt file and add explicit allow rules for AI crawlers.
  • AI bots blocked — one or more AI crawlers are disallowed. Update your crawler config to allow the bots you want to index your site.
  • No explicit AI rules — robots.txt exists but has no AI-specific directives. Add them with geo.generateRobotsTxt().

Structured signals recommendations

  • No JSON-LD — no application/ld+json script found. Add Schema.org markup with geo.generateJsonLd().
  • Missing required fields — JSON-LD is present but missing name, url, or description. Ensure your provider supplies these fields for all resources.
  • Unknown schema type — the @type is not recognized by AI search engines. Use WebSite, Product, or Article.
PreviousScoringNextGEO AI CLI

On this page

  • How recommendations work
  • llms.txt
  • AI metadata
  • Crawler rules
  • Structured signals
GEO AI

AI Search Optimization

AnalyzerCLIDocumentationSpecificationContact

© 2026 GEO AI · Open Source · GPL-2.0 License