Skip to content

Configuration

All framework plugins and the CLI accept the same AeoConfig object.

import { defineConfig } from 'aeo.js';
export default defineConfig({
// Required
title: 'My Site',
url: 'https://mysite.com',
// Optional
description: 'A description of your site',
contentDir: 'docs', // Directory with handwritten .md files
outDir: 'public', // Output directory for generated files
// Toggle individual generators
generators: {
robotsTxt: true,
llmsTxt: true,
llmsFullTxt: true,
rawMarkdown: true,
manifest: true,
sitemap: true,
aiIndex: true,
schema: true,
},
// Customize robots.txt
robots: {
allow: ['/'],
disallow: ['/admin'],
crawlDelay: 0,
sitemap: 'https://mysite.com/sitemap.xml',
},
// JSON-LD structured data
schema: {
enabled: true,
organization: {
name: 'My Company',
url: 'https://mysite.com',
logo: 'https://mysite.com/logo.png',
sameAs: ['https://twitter.com/mycompany'],
},
defaultType: 'WebPage',
},
// Open Graph meta tags
og: {
enabled: true,
image: 'https://mysite.com/og.png',
twitterHandle: '@mycompany',
type: 'website',
},
// Widget configuration
widget: {
enabled: true,
position: 'bottom-right',
humanLabel: 'Human',
aiLabel: 'AI',
showBadge: true,
theme: {
background: 'rgba(18, 18, 24, 0.9)',
text: '#C0C0C5',
accent: '#E8E8EA',
badge: '#4ADE80',
},
},
});
OptionTypeDefaultDescription
titlestring''Site title
descriptionstring''Site description
urlstring''Site URL (used for absolute URLs in generated files)
contentDirstring'docs'Directory with handwritten markdown files
outDirstringauto-detectedOutput directory for generated files
pagesPageEntry[][]Manually specify pages to include
OptionTypeDefaultDescription
robotsTxtbooleantrueGenerate robots.txt
llmsTxtbooleantrueGenerate llms.txt
llmsFullTxtbooleantrueGenerate llms-full.txt
rawMarkdownbooleantrueGenerate per-page .md files
manifestbooleantrueGenerate docs.json
sitemapbooleantrueGenerate sitemap.xml
aiIndexbooleantrueGenerate ai-index.json
schemabooleanfalseGenerate JSON-LD structured data
OptionTypeDefaultDescription
allowstring[]['/']Allowed paths
disallowstring[][]Disallowed paths
crawlDelaynumber0Crawl delay in seconds
sitemapstringautoSitemap URL
OptionTypeDefaultDescription
enabledbooleanfalseEnable schema generation
organization.namestring''Organization name
organization.urlstring''Organization URL
organization.logostring''Organization logo URL
organization.sameAsstring[][]Social profile URLs
defaultType'Article' | 'WebPage''WebPage'Default schema type for pages
OptionTypeDefaultDescription
enabledbooleanfalseEnable OG tag generation
imagestring''Default OG image URL
twitterHandlestring''Twitter handle (e.g. @company)
type'website' | 'article''website'Default OG type
OptionTypeDefaultDescription
enabledbooleantrueEnable the widget
positionstring'bottom-right'Widget position
humanLabelstring'Human'Label for human view
aiLabelstring'AI'Label for AI view
showBadgebooleantrueShow the AEO badge
theme.backgroundstring'rgba(18, 18, 24, 0.9)'Widget background
theme.textstring'#C0C0C5'Text color
theme.accentstring'#E8E8EA'Accent color
theme.badgestring'#4ADE80'Badge color