config.geo controls Generative & Answer Engine Optimization: the JSON-LD
NookDocs emits, which AI crawlers may access your site, and the entity/citation
signals AI engines use. Everything is on by default — a site with no geo
block still emits sensible structured data. For the writing patterns that earn
citations, see the GEO guide.
Example
{
"geo": {
"structuredData": true,
"faqSchema": true,
"organization": {
"name": "Acme, Inc.",
"logo": "/logo/dark.svg",
"sameAs": [
"https://x.com/acme",
"https://github.com/acme",
"https://www.linkedin.com/company/acme"
]
},
"aiCrawlers": "allow",
"llmsTxt": {
"intro": "Acme builds developer infrastructure. These docs cover the API, SDKs, and self-hosting.",
"contact": "docs@acme.com"
},
"topics": ["api", "sdk", "authentication"],
"audience": "developers",
"license": "CC-BY-4.0"
}
}Fields
geo.structuredDatabooleanpathdefault: trueEmit JSON-LD on every page: TechArticle, BreadcrumbList, Organization,
and WebSite. Set false to disable entirely.
geo.faqSchemabooleanpathdefault: trueEmit FAQPage JSON-LD from a page's frontmatter faq: [{ q, a }]. The most
cited format in answer engines.
geo.organizationobjectpathYour publisher entity, used across the JSON-LD graph.
name— defaults to your site name.logo— absolute or repo-relative URL; defaults tocolors.logo.sameAs— profile URLs (X, GitHub, LinkedIn, Wikipedia…) that identify the same entity. Strongly improves entity recognition for AI engines.
geo.aiCrawlers'allow' | 'block' | Record<string, boolean>pathdefault: allowAI crawler access, written into /robots.txt:
"allow"(default) — AI bots crawl normally (covered by the global rule)."block"— deny all known AI bots (GPTBot, ClaudeBot, Google-Extended, PerplexityBot, CCBot, Bytespider, Amazonbot, …).An object — per-bot control, e.g.
{ "GPTBot": true, "CCBot": false }.
geo.llmsTxt{ intro, contact }pathEnriches the auto-generated /llms.txt: an intro
paragraph at the top and a Contact: line. The page index itself is always
generated automatically.
geo.topicsstring[]pathPrimary topics / entities your site covers. Surfaced as JSON-LD about on
every page.
geo.audiencestringpathTarget audience, e.g. "developers".
geo.licensestringpathContent reuse / citation license (e.g. "CC-BY-4.0"). Emitted on
TechArticle so AI engines know how your content may be reused.
/llms.txt, /llms-full.txt, per-page /<slug>.md, sitemap.xml, and
canonical tags are all generated automatically — you don't author them. The
geo block tunes and enriches; it doesn't replace them.