The Closing Window
Agent: Verstehst du die Worte, die aus meinem Mund kommen? image
Photo by Jason Rosewell on Unsplash

Agent: Verstehst du die Worte, die aus meinem Mund kommen?

AI Insights

TL;DR

Deine Website ist wahrscheinlich unsichtbar für AI Answer Engines wie Perplexity. Mit einer Handvoll statischer Dateien (llms.txt, Markdown-Dateien pro Post, JSON Feeds) und ein paar HTML-Tags (Schema.org JSON-LD, hreflang Links, Sitemap Discovery) kannst du deine Inhalte leicht auffindbar, maschinenlesbar und zitierbar für AI-Agenten machen. Nichts davon erfordert ein Framework oder einen Drittanbieter-Dienst — nur Templates, die einmal laufen und jeden zukünftigen Post abdecken.

Vor ein paar Wochen, als ich anfing, mehr über AI zu schreiben, dachte ich mir, dass das, was ich ins Web stelle, auch leicht zugänglich sein sollte für die Technologie, über die ich schreibe. Ich ließ Claude Code meine Website-Struktur überprüfen und mir Vorschläge machen, wie ich sie AI-Agent-freundlicher gestalten kann.

Ich habe auch automatisierte Übersetzungen in drei weitere Sprachen in meinen Veröffentlichungsprozess eingebaut. Das macht die Inhalte nicht nur für mehr Menschen zugänglich, sondern hat den Nebeneffekt, dass sie in AI-Agent-Suchen in diesen Sprachen auftauchen.

Heute Morgen bin ich auf Julia Solorzanos Post über Answer Engine Optimization gestoßen, der mir einige zusätzliche Ideen gab. Ihr Post nähert sich dem Thema aus einem etwas anderen Blickwinkel, und das brachte mich auf die Idee, dass diese Informationen auch für andere nützlich sein könnten.

Also hier ist, was ich gelernt habe: AI-Agenten und Answer Engines (denk an Perplexity) werden zunehmend zu der Art, wie Menschen Informationen finden. Wenn deine Website nicht darauf vorbereitet ist, verpasst du möglicherweise zusätzliche Besucher. Hier ist, was du tun musst, nach Wirkung sortiert. Wenn du einen AI Coding Agent nutzt, findest du am Ende einen fertigen Prompt zum Einfügen, der all das für dich umsetzt.

1. llms.txt und llms-full.txt hinzufügen

Stelle zwei Plain-Text-Dateien von deiner Domain-Root bereit, die dem llms.txt Standard folgen.

  • /llms.txt — Website-Beschreibung gefolgt von einer Liste aller Seiten mit Titel, URL, Beschreibung und Keywords. Klein genug, damit jeder Agent sie in einem einzigen Request abrufen kann.
  • /llms-full.txt — Gleiche Struktur, aber mit vollständigem Seiteninhalt inline. Setz ein Größenlimit (100KB ist sinnvoll) und falle auf Titel + Beschreibung zurück, wenn es überschritten wird.

Das gibt AI-Agenten einen schnellen, strukturierten Überblick über deine gesamte Website — ohne Crawling.

2. Rohes Markdown für jeden Post bereitstellen

Generiere eine eigenständige .md-Datei für jede veröffentlichte Seite unter einem vorhersehbaren URL-Muster (z.B. /blog/{slug}.md). Füge YAML Front Matter mit Titel, Datum, Beschreibung, Sprache, Keywords, kanonischer URL und etwaigen Übersetzungslinks ein, gefolgt vom rohen Markdown-Body.

Konfiguriere deinen Server so, dass .md-Dateien als text/plain ausgeliefert werden, damit sie inline im Browser angezeigt und von Maschinen trivial geparst werden können.

Dann füge ein Discovery-Tag im HTML <head> jedes Posts hinzu:

<link rel="alternate" type="text/markdown" href="/blog/{slug}.md" />

So kann jeder Agent, der dein HTML liest, die maschinenlesbare Version finden, ohne deine URL-Konvention zu kennen.

3. Schema.org JSON-LD hinzufügen

BlogPosting auf jeder Post-Seite

Bette ein BlogPosting-Schema in <head> ein mit Headline, Veröffentlichungsdatum, URL, Beschreibung, Bild und Keywords. Der Autor sollte eine Person sein mit name, url und sameAs-Links zu deinen Social Profiles (LinkedIn, GitHub, Bluesky usw.). Der Publisher sollte eine Organization mit deinem Website-Namen sein.

Das hilft Answer Engines, Inhalte dir zuzuordnen und Knowledge-Graph-Verbindungen aufzubauen.

Person auf deiner Homepage

Füge ein eigenständiges Person-Schema auf deiner Root-Seite hinzu mit Name, URL, Jobtitel und sameAs-Links zu all deinen Web Properties. Das gibt Answer Engines einen kanonischen Identity Node, um dich im Web zu verankern.

Julia Solorzanos Post empfiehlt auch ein CollectionPage-Schema mit CreativeWork-Items für Portfolio-Seiten — überlegenswert, wenn du Projekte präsentierst.

4. Strukturierte Feeds bereitstellen

JSON Feed

Stelle einen JSON Feed v1.1-Endpoint bereit mit vollständigem Inhalt in HTML (content_html) und Plain Text (content_text), plus Summary, Bild, Tags und Attachments, die auf die .md-Datei jedes Posts verlinken.

Füge Auto-Discovery in <head> hinzu:

<link rel="alternate" type="application/feed+json" title="My Blog (JSON Feed)" href="/feed.json" />

Post Index

Stelle eine posts.json-Datei bereit, die alle Posts mit Metadaten enthält: Slug, Titel, Datum, Beschreibung, Kategorie, Bild, Keywords, Markdown-URL und Übersetzungslinks. Das gibt Agenten einen strukturierten Katalog von allem, ohne Feeds parsen zu müssen.

Atom/RSS Feed

Ein Standard-Atom- oder RSS-Feed mit vollständigem HTML-Inhalt. Viele Agenten suchen immer noch zuerst danach.

5. AI Crawler in robots.txt willkommen heißen

Erlaube explizit die großen AI Crawler per User-Agent:

User-agent: GPTBot
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: GoogleOther
Allow: /

User-agent: Amazonbot
Allow: /

User-agent: Applebot-Extended
Allow: /

User-agent: Meta-ExternalAgent
Allow: /

User-agent: Bytespider
Allow: /

User-agent: cohere-ai
Allow: /

Füge deine Sitemap-URL unten ein. Die Liste oben deckt die wichtigsten Stand Anfang 2026 ab — prüfe regelmäßig auf neue Crawler.

6. Deine Sitemap auf zwei Wegen auffindbar machen

Verlass dich nicht nur auf robots.txt. Füge ein Link-Tag in <head> auf jeder Seite hinzu:

<link rel="sitemap" type="application/xml" href="/sitemap.xml" />

So können Crawler, die Seiten-HTML lesen (nicht nur robots.txt), deine Sitemap ebenfalls finden.

7. Echte Meta Descriptions schreiben

Jede Seite braucht eine einzigartige <meta name="description"> in <head>. Das ist der Satz, den Answer Engines nutzen, um zu entscheiden, ob deine Seite zitierwürdig ist. Lass sie nicht leer, und verwende nicht die gleiche generische Beschreibung auf mehreren Seiten.

Wenn deine Posts Keywords haben, füge auch <meta name="keywords"> hinzu und bringe diese Keywords in deinem Schema.org JSON-LD, den Feeds, llms.txt und .md Front Matter unter. Konsistenz über all diese Oberflächen hinweg verstärkt deine Topic-Signale. Halte Beschreibungen unter 160 Zeichen und mach sie spezifisch.

Answer Engines zitieren lieber Inhalte, die bereits in der angefragten Sprache existieren, anstatt Englisch on the fly zu übersetzen. Wenn du deine Posts übersetzen kannst — selbst per AI-Übersetzung mit menschlicher Nachkontrolle — tu es. Jede Sprache vervielfacht deine Oberfläche in sprachspezifischen Abfragen.

Stell sicher, dass deine übersetzten Seiten die gleiche Behandlung bekommen wie deine englischen: eigene .md-Dateien unter vorhersehbaren URLs (z.B. /{lang}/{slug}.md), Aufnahme in deine Feeds und llms.txt. Die Übersetzung sollte kein Bürger zweiter Klasse sein — sie sollte genauso auffindbar und maschinenlesbar sein wie das Original.

Dann füge <link rel="alternate" hreflang="{lang}">-Tags in <head> für jede Übersetzung hinzu, damit AI-Agenten alle Sprachversionen von jeder einzelnen Seite aus entdecken können.

Quick Reference

Feature What to Add Why
llms.txt Plain-text site overview at domain root Fast agent discovery without crawling
Per-post .md files Raw markdown at predictable URLs Machine-readable content
Markdown link tag <link rel="alternate" type="text/markdown"> HTML discovery of .md files
BlogPosting JSON-LD Schema in <head> on post pages Structured authorship + content metadata
Person JSON-LD Schema on homepage Canonical identity node
JSON Feed Feed endpoint with full content Structured feed for agents
Post index posts.json with all post metadata Full catalog without feed parsing
Atom/RSS feed Standard XML feed Legacy agent compatibility
robots.txt Explicit Allow for AI crawlers Clear permission signal
Sitemap link <link rel="sitemap"> in <head> Dual-path sitemap discovery
Meta descriptions Unique per page, under 160 chars Citation decision input
Meta keywords In HTML, JSON-LD, feeds, llms.txt, .md Consistent topic signals
Translations + hreflang Full posts in target languages + <link rel="alternate" hreflang> Surface area in non-English queries

Das war's. Kein Framework nötig, kein Drittanbieter-Dienst erforderlich. Das meiste davon sind statische Dateien und HTML-Tags, die jeder Static Site Generator erzeugen kann. Der schwierigste Teil ist das initiale Setup — sobald es einmal als Template steht, bekommt jeder neue Post all das automatisch.

Prompt für deinen AI Agent

Wenn du einen AI Coding Agent nutzt, füge den folgenden Prompt ein, damit er deine Website prüft und diese Features für dich umsetzt.

Audit my website for AI agent discoverability and implement the following features. Analyze my existing setup first and skip anything already in place.

1. **llms.txt + llms-full.txt** — Generate two plain-text files at the domain root following the llms.txt standard (https://llmstxt.org/). llms.txt: site description + list of pages with title, URL, description, keywords. llms-full.txt: same but with full page content inline, with a 100KB size cap (fall back to title + description when exceeded). Both should auto-generate from existing content.

2. **Per-post markdown files** — For every published page, generate a .md file at a predictable URL (e.g., /blog/{slug}.md). Include YAML front matter (title, date, description, language, keywords, canonical URL, markdown URL, translation links) followed by the raw markdown body. Configure the server to serve .md as text/plain. Add `<link rel="alternate" type="text/markdown" href="...">` in <head> on every post page.

3. **Schema.org JSON-LD** — Add BlogPosting schema in <head> on every post with: headline, datePublished, url, description, image, keywords. Author as Person with name, url, sameAs (social profile URLs). Publisher as Organization. Add a standalone Person schema on the homepage with name, url, jobTitle, sameAs links to all web properties.

4. **Structured feeds** — JSON Feed v1.1 endpoint with content_html, content_text, summary, image, tags, and attachments linking to .md files. Add feed auto-discovery in <head>. A posts.json index with all posts and metadata (slug, title, date, description, category, image, keywords, markdown URL, translation links). Atom or RSS feed with full HTML content.

5. **robots.txt** — Explicitly Allow / for these user-agents: GPTBot, ClaudeBot, PerplexityBot, GoogleOther, Amazonbot, Applebot-Extended, Meta-ExternalAgent, Bytespider, cohere-ai. Include Sitemap URL.

6. **Sitemap discovery** — Add `<link rel="sitemap" type="application/xml" href="/sitemap.xml">` in <head> on every page (in addition to robots.txt Sitemap directive).

7. **Meta descriptions + keywords** — Ensure every page has a unique <meta name="description"> (under 160 chars). Add <meta name="keywords"> where keywords exist. Surface keywords consistently in JSON-LD, feeds, llms.txt, and .md front matter.

8. **Translations + hreflang** — If the site has translations, ensure they get equal treatment: their own .md files, hreflang cross-references, inclusion in feeds and llms.txt. Add `<link rel="alternate" hreflang="{lang}">` tags in <head> for each translation.

Present a plan showing what already exists vs. what needs to be added before making changes.

Powered by Buttondown.