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
DocsGetting Started

Quick Start

Get GEO AI running in your project in under 5 minutes.

Installation

Pick the package that matches your stack:

StackPackageInstall
Next.jsgeo-ai-nextnpm install geo-ai-next
Any Node.jsgeo-ai-corenpm install geo-ai-core
WordPress / WooCommercegeo-ai-wooDownload plugin from GitHub
Shopifygeo-ai-shopifyInstall from Shopify Partner dashboard

Next.js setup

The recommended production approach is static file generation — generate llms.txt and llms-full.txt before next build. Next.js serves them from public/ automatically with no middleware needed.

1. Create geo-ai.config.mjs

geo-ai.config.mjs
// @ts-check
/** @type {import('geo-ai-next').GenerateLlmsFilesConfig} */
export default {
  siteName: 'My Site',
  siteUrl: 'https://example.com',
  siteDescription: 'A short description for AI crawlers',
  provider: {
    Pages: [
      { title: 'Home', url: '/', description: 'Welcome page' },
      { title: 'About', url: '/about', description: 'About us' },
    ],
    Products: [
      {
        title: 'Widget Pro',
        url: '/products/widget-pro',
        description: 'Our flagship widget',
        price: '$29.99',
        available: true,
      },
    ],
  },
  crawlers: 'all',
};

2. Add the build script

package.json
{
  "scripts": {
    "geo:generate": "geo-ai-generate",
    "build": "npm run geo:generate && next build"
  }
}

How it works

geo-ai-generate reads your config, writes public/llms.txt and public/llms-full.txt, then next build picks them up as static assets.

3. Run and verify

bash
npm run build

# Verify the files were generated
ls public/llms.txt public/llms-full.txt

# Check the output
curl https://yoursite.com/llms.txt

Both files return 200 OK with text/plain content. No middleware, no route handler needed for the static approach.

Node.js / other frameworks

Use geo-ai-core directly with any Node.js framework — Express, Fastify, Hono, etc.

typescript
import { createGeoAI } from 'geo-ai-core';

const geo = createGeoAI({
  siteName: 'My Site',
  siteUrl: 'https://example.com',
  provider: {
    Pages: [
      { title: 'Home', url: '/', description: 'Welcome' },
    ],
  },
});

// Generate llms.txt content
const llmsTxt = await geo.generateLlms(false);
const llmsFullTxt = await geo.generateLlms(true);

// Generate robots.txt block
const robotsTxt = geo.generateRobotsTxt();

// SEO signals
const metaTags = geo.generateMetaTags();
const linkHeader = geo.generateLinkHeader();
const jsonLd = geo.generateJsonLd();

Next steps

  • Read the geo-ai-core docs for the full API — caching, crawl tracking, AI description generation.
  • Read the geo-ai-next docs for middleware and route handler options.
  • Check the GEO Specification to understand what llms.txt and AI metadata actually do.
  • Run the Analyzer on your site to see your current AI visibility score.
PreviousIntroductionNextChoose Your Package

On this page

  • Installation
  • Next.js setup
  • Config file
  • Build script
  • Verify
  • Node.js / other frameworks
  • Next steps
GEO AI

AI Search Optimization

AnalyzerCLIDocumentationSpecificationContact

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