AI Optimization (AIO / AEO)
The web is changing. A growing share of information discovery now happens through AI-powered answer engines — ChatGPT, Perplexity, Google AI Overview, Claude — rather than traditional search results. These systems do more than index pages; they interpret structure, metadata, and machine-readable signals when deciding how to use a source.
Baan is built with this shift in mind. It treats AI readability as a first-class concern, not an afterthought.
What AIO and AEO Mean
Section titled “What AIO and AEO Mean”AIO (AI Optimization) — making your content structurally easy for AI systems to read, parse, and understand. Clear Markdown, semantic HTML, structured data, and machine-readable metadata.
AEO (Answer Engine Optimization) — improving the signals that help AI answer engines interpret, quote, summarize, or cite your content when it is relevant. It is a readiness practice, not a citation guarantee.
Both require the same foundation: content that is unambiguous, well-structured, and rich with contextual signals about what you’re writing about.
Baan’s AIO/AEO Features
Section titled “Baan’s AIO/AEO Features”1. Knowledge Graph — Entity Extraction + Wikidata Enrichment
Section titled “1. Knowledge Graph — Entity Extraction + Wikidata Enrichment”This is Baan’s most powerful AIO feature.
What it does: AI reads your article and identifies named entities — people, places, organizations, concepts, products, events. Baan then attempts to match those entities against Wikidata, the world’s largest structured knowledge base, to reduce ambiguity and attach unique identifiers where a confident match is available.
Why it matters: When an AI reads your article about “Python”, it may need context to know whether you mean the programming language or the snake. Wikidata disambiguation can provide that context: Q28865 = Python (programming language). This makes the article easier to interpret in the right context.
What gets generated: Each entity is embedded in your article page as Schema.org JSON-LD:
{ "@type": "BlogPosting", "headline": "Getting Started with Python", "about": [ { "@type": "DefinedTerm", "name": "Python", "sameAs": "https://www.wikidata.org/wiki/Q28865", "description": "general-purpose programming language" } ], "mentions": [ { "@type": "Person", "name": "Guido van Rossum", "sameAs": "https://www.wikidata.org/wiki/Q19308", "description": "creator of Python" } ]}The about array contains the article’s main topics (isMainSubject: true). The mentions array lists entities referenced in passing.
How to use it:
- Go to Admin → Knowledge Graph
- Select an article
- Click Extract Entities
- Review the extracted entities, adjust
isMainSubjectflags if needed - Save — the extracted entities are stored in frontmatter and included in the article’s JSON-LD
2. llms.txt — Machine-Readable Site Summary
Section titled “2. llms.txt — Machine-Readable Site Summary”llms.txt is an emerging standard (similar in concept to robots.txt) that provides AI systems with a structured overview of your site: what you write about, who you are, and how to interpret your content.
How to use it:
- Go to Admin → Settings → AI Optimization
- Toggle llms.txt on
- Choose how to write it:
- Manual — write your own content in a provided editor
- Auto-generate — Baan generates a summary from your site settings and recent posts
- AI-assisted — use your configured AI provider to draft and refine
When enabled and saved, the file is served at https://your-blog.com/llms.txt.
3. Schema.org Structured Data
Section titled “3. Schema.org Structured Data”Article pages include machine-readable Schema.org markup unless Article schema is disabled in SEO settings:
| Schema Type | What it signals |
|---|---|
BlogPosting | Article type, headline, dates, author |
about | The article’s main topics when extracted entities are present |
mentions | Referenced entities when extracted entities are present |
BreadcrumbList | Page hierarchy for navigation context |
WebSite | Site identity and search capabilities |
E-E-A-T signals (Experience, Expertise, Authoritativeness, Trustworthiness) can be configured in Admin → Settings → SEO — these tell AI systems who is writing and what credentials or experience the author has.
4. Bot Management — Control AI Crawler Access
Section titled “4. Bot Management — Control AI Crawler Access”Not all AI crawlers are the same. Some train large language models on your content. Others power answer engines that can drive traffic back to your site. Baan lets you control each bot individually.
Go to Admin → Settings → Bot Management to see 20 pre-configured bots:
AI crawlers (10): GPTBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot, Google-Extended (Gemini), and others.
Search engine bots (10): Googlebot, Bingbot, and major search crawlers.
For each bot you can:
- Allow — let the bot index your content
- Block — prevent indexing via
robots.txtrules
Apply bulk presets: Allow all, Block all, Allow search only, Allow AI only.
5. Clean Markdown → Semantic HTML
Section titled “5. Clean Markdown → Semantic HTML”AI systems read your content through the rendered HTML. Baan’s rendering pipeline produces clean, semantic markup:
- Headings maintain proper hierarchy (
h1→h2→h3) - Code blocks are tagged with language (
<code class="language-python">) - Images include
alttext from Markdown syntax - Lists, blockquotes, and tables render as standard HTML elements
This clean structure makes it straightforward for AI to parse the logical flow of your argument.
Recommended Workflow for AIO
Section titled “Recommended Workflow for AIO”- Write a focused article — one main topic per article, with a clear title and introduction
- Add a
descriptionin frontmatter — this gives AI systems a concise summary after the title - Run Knowledge Graph extraction after publishing — let AI identify entities and attempt Wikidata linking
- Review entity assignments — verify
isMainSubject: truefor your main topic(s) - Configure E-E-A-T signals in Settings → SEO — author name, credentials, and social profiles
- Set up llms.txt — especially important if you write in a specific niche
Entity Hub Pages
Section titled “Entity Hub Pages”Each entity extracted by the Knowledge Graph gets its own public page at:
https://your-blog.com/[locale]/entity/[type]/[name]For example: /en/entity/Concept/Python
These pages list all articles that mention the entity, include the Wikidata description and link when available, and contain their own Schema.org markup. They give AI systems and readers a single page on your site that connects your writing on a given topic.