AI Feed - Sichtbarkeit fuer KI-Agenten
AI Feed stellt Shop-Inhalte als Markdown bereit, optimiert fuer Sprachmodelle und Shopping-Agenten. Ein HTTP-Client sendet Accept: text/markdown (oder haengt ?output_format=md an die URL) und erhaelt anstelle der gerenderten HTML-Seite reines Markdown mit YAML-Metadaten.
Wozu das gut ist
Abschnitt betitelt „Wozu das gut ist“KI-Agenten (ChatGPT shopping, Perplexity, Gemini, eigene LLM-Crawler) ueberspringen zunehmend HTML und fragen direkt nach einer “sauberen” Version der Seite. Klassisches HTML-Scraping ist fragil, teuer und verliert strukturierte Daten. AI Feed dreht das Verhaeltnis um: Der Shop publiziert eine maschinenlesbare Version unter derselben URL wie die Version fuer Menschen.
Modul aktivieren
Abschnitt betitelt „Modul aktivieren“Das Modul ist nach dem Update auf 1.11.0 standardmaessig aktiv. Zum Deaktivieren:
add_filter('polski/ai_feed/enabled', '__return_false');Einstellungen in der Option polski_ai_feed:
| Schluessel | Standard | Beschreibung |
|---|---|---|
enabled | true | Hauptschalter |
post_types | ['post', 'page', 'product'] | Inhaltstypen, die als Markdown ausgeliefert werden |
So funktioniert die Content Negotiation
Abschnitt betitelt „So funktioniert die Content Negotiation“Markdown wird in zwei Faellen zurueckgegeben:
- Der
Accept-Header enthaelttext/markdown(mit Ausschluss von explizitemq=0). - Die URL enthaelt das Query-Argument
?output_format=md.
In beiden Faellen liefert die Antwort:
Content-Type: text/markdown; charset=UTF-8Vary: AcceptNormale Besucher erhalten weiterhin Standard-HTML. Berechtigungsregeln (read_post, Passwortschutz, Entwuerfe) bleiben erhalten.
Auffindbarkeit
Abschnitt betitelt „Auffindbarkeit“Einzelseiten enthalten im <head>:
<link rel="alternate" type="text/markdown" href="https://shop.test/produkt/t-shirt/?output_format=md" />Crawler und KI-Agenten finden so die Markdown-Version, ohne die URL-Konvention zu kennen.
Admin-Verknuepfung
Abschnitt betitelt „Admin-Verknuepfung“In den Listen Beitraege, Seiten und Produkte erscheint neben “Anzeigen” die Aktion “View AI Version” und oeffnet dasselbe Markdown, das auch ein KI-Agent sehen wuerde - praktisch zum Testen und Vorschau.
Was eine Produkt-Markdown-Antwort enthaelt
Abschnitt betitelt „Was eine Produkt-Markdown-Antwort enthaelt“Fuer ein WooCommerce-Produkt enthaelt die Antwort:
YAML Front Matter
---title: "Basic T-Shirt"permalink: "https://shop.test/produkt/t-shirt/"sku: "TS-001"gtin: "5901234567890"product_type: "simple"currency: "PLN"price: "49,99 zł"regular_price: "59,99 zł"sale_price: "49,99 zł"in_stock: "true"on_sale: "true"modified: "2026-04-30T12:00:00+02:00"categories: ["T-Shirts"]---Bullet-Liste “Product details”
- SKU und GTIN/EAN
- Bruttopreis, regulaerer Preis, Aktionspreis
- Steuerklasse (USt.)
- Niedrigster Preis der letzten 30 Tage (Omnibus)
- Lieferzeit
- Lagerbestand und Verfuegbarkeit
- Gewicht und Abmessungen
- Marke, Hersteller
- Verantwortliche Person (GPSR)
Vollstaendige Produktbeschreibung in Markdown konvertiert.
Vollstaendiges Antwortbeispiel
Abschnitt betitelt „Vollstaendiges Antwortbeispiel“---title: "Basic T-Shirt"permalink: "https://shop.test/produkt/t-shirt/"sku: "TS-001"price: "49,99 zł"in_stock: "true"---
# Basic T-Shirt
Baumwoll-T-Shirt im klassischen Schnitt.
## Product details
- **SKU:** TS-001- **GTIN/EAN:** 5901234567890- **Price:** 49,99 zł- **Tax class:** Standard- **Lowest price (last 30 days):** 45,00 zł- **Delivery time:** 1-2 Tage- **Availability:** In stock- **Weight:** 0.2 kg
## Description
Vollstaendige Produktbeschreibung aus Gutenberg-Bloecken, einschliesslich Listen, Tabellen und Ueberschriften./llms.txt Manifest
Abschnitt betitelt „/llms.txt Manifest“Nach dem Standard von llmstxt.org liefert der Shop eine Datei /llms.txt an der Wurzel der Domain aus. KI-Agenten schauen dort zuerst nach, um die Struktur der Website ohne Kenntnis der URL-Konventionen zu erkunden.
curl https://shop.test/llms.txtAntwort (Markdown):
# Dein Shop
> Online-Shop fuer polnische Produkte.
## Legal
- [Terms](https://shop.test/agb/?output_format=md): Terms and conditions- [Privacy](https://shop.test/datenschutz/?output_format=md): Privacy policy- [Returns](https://shop.test/rueckgabe/?output_format=md): Returns and withdrawal policy
## Shop
- [Shop](https://shop.test/shop/): Storefront
## Product categories
- [T-Shirts](https://shop.test/kategorie/t-shirts/)- [Hoodies](https://shop.test/kategorie/hoodies/)Standardinhalt
- Shop-Titel und -Beschreibung (
get_bloginfo('name'),get_bloginfo('description')) - Abschnitt “Legal” mit
?output_format=md-Links zu den Rechtstexten (AGB, Datenschutz, Rueckgabe, Reklamationen) - nur wenn diese Seiten existieren - Abschnitt “Shop” mit der WooCommerce-Shop-Seite
- Abschnitt “Product categories” mit den 20 meistbestueckten Kategorien (sortiert nach Produktanzahl)
Deaktivieren
add_filter('polski/ai_feed/llms_txt_enabled', '__return_false');Sektionen anpassen
add_filter('polski/ai_feed/llms_txt_sections', static function (array $sections): array { $sections['Resources'] = [ ['Blog', home_url('/blog/'), 'Aktuelle Beitraege'], ['FAQ', home_url('/faq/')], ]; return $sections;});Kategorienlimit
add_filter('polski/ai_feed/llms_txt_category_limit', static fn () => 50);Entwickler-Filter
Abschnitt betitelt „Entwickler-Filter“| Filter | Zweck |
|---|---|
polski/ai_feed/enabled | Hauptschalter (bool) |
polski/ai_feed/post_types | Liste der Inhaltstypen (string[]) |
polski/ai_feed/post_markdown | Endgueltiges Markdown fuer Beitrag/Seite |
polski/ai_feed/product_markdown | Endgueltiges Markdown fuer Produkt |
polski/ai_feed/product_facts | Liste der [Label, Wert]-Paare im Abschnitt “Product details” |
polski/ai_feed/password_required | Markdown bei passwortgeschuetzten Inhalten |
polski/ai_feed/llms_txt_enabled | Kill-Switch fuer /llms.txt (bool) |
polski/ai_feed/llms_txt_sections | Map [Ueberschrift => Liste] fuer das Manifest |
polski/ai_feed/llms_txt_category_limit | Maximale Anzahl der gelisteten Produktkategorien (int) |
Beispiel - eigenen CPT registrieren
Abschnitt betitelt „Beispiel - eigenen CPT registrieren“add_filter('polski/ai_feed/post_types', static function (array $types): array { $types[] = 'recipe'; return $types;});Beispiel - eigenes Feld im Produkt ausgeben
Abschnitt betitelt „Beispiel - eigenes Feld im Produkt ausgeben“add_filter('polski/ai_feed/product_facts', static function (array $facts, WC_Product $product): array { $color = $product->get_attribute('pa_farbe'); if ($color !== '') { $facts[] = ['Farbe', $color]; } return $facts;}, 10, 2);Ersetzt das Modul mein Theme fuer normale Besucher?
Nein. HTML wird standardmaessig zurueckgegeben. Markdown wird nur an Clients geliefert, die es ueber Accept oder den URL-Parameter anfordern.
Werden passwortgeschuetzte Seiten preisgegeben?
Nein. Bei einer passwortgeschuetzten Seite gibt AI Feed eine kurze Markdown-Notiz statt der vollstaendigen Inhalte zurueck.
Werden Entwuerfe unterstuetzt?
Ja, fuer Nutzer mit Bearbeitungsrechten. Die Admin-Aktion “View AI Version” verwendet Vorschau-URLs fuer Entwuerfe und geplante Beitraege.
Kann ich eigene Inhaltstypen hinzufuegen?
Ja, ueber den Filter polski/ai_feed/post_types. Standardmaessig werden post, page und product unterstuetzt.
Funktioniert das mit HPOS und Block Checkout?
Ja. Das Modul arbeitet auf der Produktansichtsebene, unabhaengig von der Bestellspeicherung (HPOS) und dem Checkout (Blocks).