Remix
Install the plugin:
npm install @aeorank/remixConfiguration
Section titled “Configuration”Create an AEO config file:
import type { AeorankRemixConfig } from "@aeorank/remix";
export const aeoConfig: AeorankRemixConfig = { siteName: "My Site", siteUrl: "https://example.com", description: "A description of your site for AI crawlers.", organization: { name: "My Company", }, faq: [ { question: "What does your product do?", answer: "It helps you..." }, ],};Resource Routes
Section titled “Resource Routes”Create resource routes for each AEO file. Remix uses [.] to escape dots in filenames:
import { createAeoLoader } from "@aeorank/remix";import { aeoConfig } from "~/aeo.config";
export const loader = createAeoLoader("llms.txt", aeoConfig);import { createAeoLoader } from "@aeorank/remix";import { aeoConfig } from "~/aeo.config";
export const loader = createAeoLoader("llms-full.txt", aeoConfig);Repeat the same pattern for all 8 files:
app/routes/CLAUDE[.]md.tsapp/routes/schema[.]json.tsapp/routes/robots-patch[.]txt.tsapp/routes/faq-blocks[.]html.tsapp/routes/citation-anchors[.]html.tsapp/routes/sitemap-ai[.]xml.ts
Static Generation
Section titled “Static Generation”Alternatively, generate files into public/ at build time:
import { generateAeoFiles } from "@aeorank/remix";import { aeoConfig } from "../app/aeo.config";
generateAeoFiles(aeoConfig);Generated Files
Section titled “Generated Files”All 8 AEO files are served at your site root: /llms.txt, /llms-full.txt, /CLAUDE.md, /schema.json, /robots-patch.txt, /faq-blocks.html, /citation-anchors.html, /sitemap-ai.xml.