tools/anti-ai-lint.py: Python-Linter (stdlib + yq) prueft jede build/<domain>/index.html gegen die Blacklist in tools/anti-ai-blacklist.yaml. HTML wird via html.parser auf sichtbaren Text reduziert (Skripte/Styles werden ignoriert), dann werden Vokabel- Substrings (DE+EN, case-insensitive) und Regex-Patterns gematcht. Severity warn = Build geht durch, fail = Build bricht ab. Whitelist-Mechanismen: - HTML-Kommentar im Markup: <!-- anti-ai-allow: term1, term2 --> - Per-Site in site.yaml: anti_ai_allow: [term1, term2] Integration in build.sh als Schritt 4/4, mit --skip-lint fuer Notfaelle. Dockerfile installiert python3 zusaetzlich; nur im Builder-Stage, kein Effekt aufs Caddy-Image. Tests via tools/test-anti-ai-lint.sh: synthetische AI-Fixture wird korrekt geflagged, Whitelists unterdruecken Hits, fail-Severity triggert exit 1, neutraler Text exit 0. Initial-Lauf auf 59 bestehenden Sites: 2 warn (killusion.de "revolutionaer" in ironischem Kontext, kilofant.de "robust"), 0 fail. Cleanup ist Folge-Issue. README + docs/geo-seo-guideline.md aktualisiert mit der konkreten Tool-Position.
32 KiB
GEO + SEO Guideline für m's Web-Projekte
Stand: 2026-04-29. Interne Arbeitsgrundlage. Keine Marketing-Aussage.
Ziel: Konkrete, belegte Empfehlungen, was bei neuen und bestehenden Sites gemacht werden soll, damit sie (a) klassisch gefunden werden und (b) als Quelle in LLM-Antworten auftauchen. Implementierung ist nicht Teil dieses Dokuments – jede Empfehlung wird später als eigenes Issue umgesetzt.
Inhalt
- Worum es geht
- GEO grundsätzlich
- GEO konkret – die Hebel
- SEO 2026 Baseline
- Übersetzung auf m's Stacks
- 5.1 onepager
- 5.2 flexsiebels.de
- 5.3 msbls.de
- 5.4 paliad.de
- 5.5 youpc.org
- Checkliste pro neuer Site
- Maintenance
- Quellen
1. Worum es geht
Zwei Disziplinen, ein gemeinsames Ziel:
- SEO – in der klassischen Google-Trefferliste auftauchen.
- GEO (Generative Engine Optimization) – als zitierte Quelle in LLM-Antworten auftauchen (ChatGPT, Claude, Perplexity, Gemini, Google AI Overviews).
Warum jetzt: Bei Suchanfragen, für die Google AI Overviews zeigt, ist die Klickrate auf organische Treffer um ~61 % gefallen, und 83 % dieser Anfragen enden ohne einen einzigen Klick auf irgendeine Website 1 . Das verschiebt den Schwerpunkt von "ranke top 3" auf "werde von der KI genannt".
Wichtigste empirische Beobachtung: 88 % der von KI zitierten URLs ranken nicht in Googles Top 10 für die jeweilige Frage 2 . GEO ist also nicht ein Spezialfall von SEO. Beide laufen parallel und teilen viele Signale (Inhaltsqualität, Schema, EEAT), aber GEO honoriert andere Strukturen.
Konsequenz: Beides bedienen, kein Stack ist zu klein dafür.
2. GEO grundsätzlich
Was hat empirisch funktioniert (Princeton GEO-Paper, KDD 2024, n = GEO-bench Multi-Domain Queries):
| Methode | Visibility-Lift |
|---|---|
| Statistics Addition (Zahlen einsetzen) | bis +41 % auf Position-Adjusted Word Count |
| Quotation Addition (Direktzitate von Quellen) | starke Verbesserung über alle Metriken |
| Citation Addition (Quellenangaben) | besonders in faktenlastigen Domains |
| Authoritative Tone | besonders bei historischen/Erklärinhalten |
| Fluency Optimization | marginal |
| Keyword Stuffing | marginal bis negativ |
Quelle: Aggarwal et al., 2024 3 . Bis zu +40 % Sichtbarkeit gegenüber Baseline durch Kombination.
Die Hebel sind nicht universell. Citation-Optimierung hilft bei Sachfragen, Statistik-Addition bei Recht und Verwaltung, Authoritative Style bei Geschichte/Erklärung. Pro Site/Topic prüfen, welche Domain-Klasse zutrifft.
LLMs zitieren Quellen sehr unterschiedlich:
- ChatGPT-Citations dominiert von Wikipedia (zwischen 26 % und 48 % je nach Studie und Kategorie) 2 4 .
- Perplexity holt im Januar 2026 ~24 % aller Citations von Reddit 5 .
- YouTube hat Reddit Q1 2026 als meistzitierte Quelle in LLM-Antworten überholt (~16 % vs. ~10 %) 6 .
- Gemini bevorzugt offizielle Sites und News.
- ChatGPT nutzt Bings Echtzeit-Index, Claude größtenteils sein Trainings-Set + Search-Bot, Perplexity crawlt kontinuierlich 4 .
Daraus folgt: Eigene Domain-Authority allein reicht nicht. Off-Site-Präsenz (Wikipedia, Reddit, YouTube) ist relevant.
3. GEO konkret – die Hebel
3.1 Top-Third-Regel
44,2 % aller von ChatGPT zitierten Passagen kommen aus dem ersten Drittel der Seite (n = 18 012, p ≈ 0) 7 . Die Verteilung ist eine "Ski-Rampe": vorne hoch, hinten flach.
Konsequenz für Seitenaufbau:
- Erstes sichtbares Element nach dem H1: eine nüchterne, präzise Definition des Themas oder Produkts. Kein Marketing-Lead, keine Begrüßung, keine Vision Statement.
- H1 sollte die Kernfrage benennen, nicht den Markennamen flexen.
- Erste 100–200 Wörter: was, wer, wann, warum. Mit Zahlen wo möglich.
- Lange Hero-Sections mit Animation und drei Buzzwords sind GEO-toxisch – die KI sieht da nichts Zitierfähiges.
Negativbeispiel (ein typischer onepager-Hero):
{{name}} – die nächste Stufe der digitalen Selbstdarstellung
{{tagline mit drei Adjektiven}}
Besser:
{{name}}: {{rolle/funktion}} mit Sitz in {{ort}}, tätig seit {{jahr}}.
Schwerpunkte: {{drei konkrete Themen}}.
3.2 Zahlen und Zitate, nicht Adjektive
Aus dem Princeton-Paper: Statistik-Addition lieferte den größten Einzeleffekt. Das deckt sich mit m's Beispiel "660 000 Schweizer Entscheide wird zitiert, 'umfangreiche Datenbank' nicht."
Regeln:
- Jede Behauptung mit messbarem Inhalt bekommt eine Zahl. Nicht "groß" sondern "1,2 Mio. Datensätze". Nicht "etabliert" sondern "seit 2014".
- Relative Behauptungen (mehr/weniger/größer) brauchen einen Vergleichswert.
- Direktzitate von Originalquellen (Gerichten, Behörden, Studien) im Volltext einbinden, nicht paraphrasieren. Mit Quellenangabe.
- Quellennachweise sind keine Fußnoten-Kosmetik – LLMs gewichten Aussagen mit verifizierbarer Quelle höher.
3.3 Schema.org / JSON-LD
Ist umstritten – hier der Stand:
- BrightEdge: +44 % AI-Citations bei Sites mit Schema + FAQ-Markup 8 .
- Search/Atlas-Studie Dezember 2024: keine Korrelation zwischen Schema-Coverage und Citation-Rate 8 (zitiert in derselben Quelle als Gegenbefund).
- Data World: GPT-4 geht von 16 % auf 54 % korrekte Antworten, wenn der Inhalt strukturiert vorliegt 9 .
- Google empfiehlt JSON-LD seit Mai 2025 explizit für AI-optimierte Inhalte 9 .
- SearchVIU (Oktober 2025) bestätigt, dass ChatGPT, Claude, Perplexity und Gemini Schema beim direkten Seitenabruf parsen 9 .
Pragmatische Linie: Schema ist Pflicht für content-relevante Seiten, aber kein Ersatz für gute Inhalte. Man verzichtet darauf nicht, aber man erwartet von ihm allein keine Wunder.
Welche Typen lohnen sich:
| Typ | Wann | Wofür |
|---|---|---|
Person |
Author-/About-Seiten | E-E-A-T-Anker |
Organization |
Firmen-Sites, Brand-Hubs | Entity-Konsolidierung |
Article / BlogPosting |
Editorial, Blog | Datierung, Author-Bindung |
FAQPage |
Antwortlisten | LLM-Verständnis (Google-SERP-Feature ist seit 2023 stark eingeschränkt, der Schema-Wert für LLMs bleibt) |
Product |
Produktseiten | B2B/Commerce |
BreadcrumbList |
Tiefe Sitemaps | Pfad-Verständnis |
WebSite mit SearchAction |
Hauptseiten | Sitelinks-Suchbox |
JSON-LD ist Pflichtformat. Microdata und RDFa nicht mehr verwenden.
Person-Schema-Skelett für Author-Pages:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "Matthias Siebels",
"url": "https://msbls.de/",
"image": "https://msbls.de/assets/portrait.jpg",
"jobTitle": "Patentanwalt, Software-Entwickler",
"worksFor": {
"@type": "Organization",
"name": "flexsiebels",
"url": "https://flexsiebels.de/"
},
"sameAs": [
"https://www.linkedin.com/in/...",
"https://github.com/...",
"https://www.wikidata.org/wiki/Q..."
]
}
</script>
sameAs ist der wichtigste Single-Punkt – damit verbindet die KI denselben Entity über Domains hinweg. Wikidata-Eintrag erstellen sobald genug öffentliche Belege existieren.
3.4 E-E-A-T und Author-Identität
Googles offizielles Framework, das auch LLM-Citation-Algorithmen nachweislich abbilden 10 . Trustworthiness ist 2025 das wichtigste der vier 11 .
Praktische Anker pro Site:
- Identifizierbarer Author mit Klarnamen, Foto, Lebenslauf, Verifikations-Links (Schema.org
Person+sameAs). - Impressum / Kontakt klar erreichbar (haben wir –
shared/impressum.js). - Veröffentlichungsdatum + letzte Änderung sichtbar (
datePublished,dateModified). - Editorial Transparency: bei AI-generierten Inhalten Hinweis auf den Prozess (haben wir –
shared/ai-disclosure.jsundmsbls.de/ki). - HTTPS, gültige Zertifikate, kein Mixed Content (Caddy macht das ohnehin).
Konkretes Vorgehen für m's Domain-Cluster:
msbls.deist die zentrale Author-Identität für alles unter flexsiebels (siehe Memory: msbls = Marke unter flexsiebels-Umbrella). Eine vollständige Author-Page dort, mitPerson-Schema, Wikidata-sameAs, Liste der relevanten Projekte.- Alle Sub-Sites (ichbinotto, mai-otto, lexsiebels, heygoldi etc.) verlinken über
worksFor/creatorzurück auf diese kanonische Identität.
3.5 Zentrale JSON-Faktendatei
m's Idee aus der Issue: eine Single-Source-of-Truth-Datei mit Produktfakten, von der Templates und KI-Bots gleichermaßen lesen.
Empfohlener Aufbau:
- Pro Stack/Site eine Datei
facts.json(oderproducts.json,team.json) am Repo-Root. - Rendert in Build/Render-Pipeline in JSON-LD und in HTML-Text.
- Wird zusätzlich als
application/jsonan einer stabilen URL (z. B./facts.json) ausgeliefert – LLM-Crawler und eigene Tools können sie direkt lesen.
Beispiel-Skelett:
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "flexsiebels",
"founded": "2014",
"founder": { "@type": "Person", "name": "Matthias Siebels" },
"numberOfEmployees": 1,
"address": "...",
"products": [
{ "@type": "Product", "name": "youpc", "description": "UPC case database, 1600+ judgments", "url": "https://youpc.org" },
{ "@type": "Product", "name": "paliad", "description": "...", "url": "https://paliad.de" }
]
}
Wert: jede neue Site, jede Author-Page, jede Subdomain referenziert dieselbe kanonische Faktenmenge. Konsistente Aussagen über Domains hinweg sind ein starkes Trust-Signal für LLM-Entity-Konsolidierung.
3.6 Anti-AI-Text-Filter
Wikipedias Maintainer-Community hat 2024–2026 die zuverlässigsten Marker für AI-Text dokumentiert 12 . Wir wollen den Eindruck vermeiden – sowohl gegenüber menschlichen Lesern als auch gegenüber EEAT-Algorithmen, die "Originalität" prüfen.
Vokabel-Blacklist (häufige Cluster):
delve, tapestry, testament, intricate, garnered, bolstered, enduring,
robust, comprehensive, meticulous, interplay, landscape, pivotal,
underscore, additionally, furthermore, moreover, crucial,
showcasing, highlighting, enhance, align with, ecosystem,
seamless, leverage, unleash, navigate, dive into, in the realm of
Mehrere dieser Wörter im selben Absatz sind das stärkste Tell.
Syntax-Marker:
- "Ist/sind" wird ersetzt durch "fungiert als / dient als / markiert / weist auf / kennzeichnet". → Echtes "ist" zulassen.
- "Nicht nur X, sondern auch Y" als Standard-Phrasenformel. → Sparsam.
- Drei-Adjektiv-Reihen ("schnell, sicher und skalierbar"). → Eines reicht.
- Unnötige Synonyme nur um Wiederholung zu vermeiden. → Wiederholen ist okay.
Struktur-Marker:
- Title Case in Überschriften. → Sentence case oder UPPERCASE, nie Mixed Title Case.
- "Header: Beschreibung"-Bullet-Listen mechanisch über die ganze Seite. → Nur wenn der Inhalt das wirklich ist.
- Em-Dashes statt Komma/Klammer-/Doppelpunkt. → Sparsam, gezielt.
- Zwanghaftes Fettsetzen jedes "Schlüsselbegriffs". → Selten und mit Grund.
Inhalts-Marker:
- "Ein Meilenstein in...", "ein Beweis für...", "in der sich entwickelnden Landschaft von...", "hat Spuren hinterlassen". → Nicht.
- Vage Attribution an "Experten", "Beobachter", "Branchenberichte" ohne Namen. → Quelle benennen oder Aussage streichen.
- Standard-Schluss-Sektion "Herausforderungen und Perspektiven" mit "Trotz seiner [positiven Wörter] steht [Subjekt] vor Herausforderungen ... bleibt aber zuversichtlich". → Streichen.
Praktische Umsetzung:
- Lint-Skript im Build: für onepager implementiert in
tools/anti-ai-lint.pymit Vokabel-Blacklist intools/anti-ai-blacklist.yaml. Läuft am Ende vonbuild.shüber allebuild/<domain>/index.html. Severitywarn(Build geht durch) vs.fail(Build bricht ab). Whitelist via<!-- anti-ai-allow: term -->-Kommentar oderanti_ai_allow:-Liste insite.yaml. Notfall-Override:build.sh --skip-lint. - Bei AI-generierten Drafts: bewusst gegen die Blacklist redigieren.
- Vor Veröffentlichung laut lesen. Wenn es klingt wie ein Pressemitteilungs-Bot, ist es einer.
3.7 Off-Site und Multi-Source
Brand-Search-Volumen korreliert mit LLM-Citations stärker (r ≈ 0,33) als klassische Backlinks 13 . Das heißt: erwähnt zu werden – auch ohne Link – schlägt verlinkt zu werden mit niedrigem Search-Volumen.
Praktische Hebel:
- Wikipedia / Wikidata: wenn ein Projekt oder Begriff es rechtfertigt, einen Eintrag oder ein Wikidata-Item anlegen. Wikipedia ist die meistzitierte Quelle in ChatGPT.
- Reddit / Hacker News / Lobsters: organische Posts in einschlägigen Subreddits/Threads, in denen die Lösung als Antwort auf eine konkrete Frage erwähnt wird. Kein Drop-and-Run-Marketing – wird abgestraft und nicht zitiert.
- YouTube: für Themen mit visuellem Anteil (UPC-Hearings, Code-Walkthroughs, Demos) ist YouTube 2026 die meistzitierte LLM-Quelle 6 . Auch kurze, gut betitelte Videos zählen.
- GitHub / Gitea (öffentlich): technische Themen werden über öffentlichen Code zitiert. Public Repos mit ordentlichem README sind stille Zitatmagneten.
- Fachportale, Verbandsseiten, Veranstalter-Seiten: Wenn dort Erwähnungen mit Klarnamen + Domain auftauchen, wird das Profil verfestigt.
Dies ist langfristig. Keine Ad-hoc-Aktion, sondern ein Punkt auf jeder Quartals-Routine: gibt es eine plausible Erwähnung, die gerade fehlt?
3.8 llms.txt – Realitätscheck
m's Issue-Beispiel nennt llms.txt. Hier die nüchterne Lage:
- Spezifikation von Jeremy Howard (Answer.AI), September 2024 14 .
- Adoption laut SE Ranking: 10,13 % von 300 000 Domains 15 .
- Kein einziger der großen Anbieter (OpenAI, Anthropic, Google, Meta, Mistral) bestätigt offiziell, dass
llms.txtals Retrieval- oder Ranking-Signal benutzt wird 15 16 . - ALM Corp hat
llms.txtin ein XGBoost-Citation-Modell geworfen: Entfernen der Variable verbesserte die Modellgenauigkeit – sprich: kein erklärbarer Effekt 16 .
Empfehlung:
- Für Doku-/API-/Content-heavy Sites (youpc, paliad, msbls/ki, lexsiebels) machen, weil:
- kostet ~30 Minuten Arbeit
- schadet nicht
- wird zumindest von einigen Tools (Cursor, Mintlify-Hosted Docs) tatsächlich konsumiert
- signalisiert Engagement an den nächsten Standard, falls einer der großen Anbieter doch noch andockt
- Für die onepager-Satire-Sites (Wortspiel-Domains): überspringen. Aufwand vs. Nutzen lohnt nicht.
- Niemals als alleinige GEO-Strategie verkaufen. Die echten Hebel sind Inhalt, Schema, EEAT.
Mini-Spec: Markdown-Datei an /llms.txt (Root). H1 = Site-Name, Blockquote = Kurzbeschreibung, dann Listen mit - [Titel](URL): Notiz. Optionale ## Optional-Sektion für Inhalte, die bei knapper Context-Window weggelassen werden dürfen.
Beispiel llms.txt (für youpc.org):
# youpc.org – Unified Patent Court Case Database
> Database of UPC and EPO judgments. 1600+ decisions across all UPC divisions
> since 2023, fully searchable, with structured data extraction (holdings,
> legal principles, citation graphs).
## Core resources
- [About / Methodology](https://youpc.org/about): scope, sources, extraction methodology
- [All judgments](https://youpc.org/cases): full list with filters by division, judge, year
- [Divisions overview](https://youpc.org/divisions): jurisdiction map and judges per division
- [Topics index](https://youpc.org/topics): patent law issues with leading cases per topic
## Optional
- [Author / Editor](https://msbls.de/): credentials of the editor
- [Disclosure on AI use](https://msbls.de/ki): which parts of the workflow involve LLMs
llms-full.txt (analoge Datei mit eingeschlossenen Volltexten) nur dann erzeugen, wenn der Site-Inhalt klein genug ist, dass das in ein Context-Fenster passt – sonst ist es Larping.
3.9 Crawler-Steuerung
Die wichtigsten User-Agents 2026 17 18 :
| Agent | Anbieter | Zweck | Block lohnt? |
|---|---|---|---|
GPTBot |
OpenAI | Training | Wenn man nicht trainieren lassen will |
OAI-SearchBot |
OpenAI | ChatGPT-Search-Index | Niemals blocken (sonst keine Citations) |
ChatGPT-User |
OpenAI | User-getriggerter Live-Fetch | Niemals blocken |
ClaudeBot |
Anthropic | Training | Wenn man nicht trainieren lassen will |
Claude-User |
Anthropic | User-getriggerter Live-Fetch | Niemals blocken |
Claude-SearchBot |
Anthropic | Claude-Search-Index | Niemals blocken |
PerplexityBot |
Perplexity | Index | Niemals blocken |
Perplexity-User |
Perplexity | Live-Fetch | Niemals blocken |
Google-Extended |
Gemini-Training | Wenn man nicht trainieren lassen will | |
Googlebot |
Klassischer Google-Index | Niemals blocken | |
CCBot |
Common Crawl | Training-Datenbasis für viele LLMs | Optional blocken |
Veraltet, nicht mehr verwenden in robots.txt: Claude-Web, anthropic-ai – das sind tote Strings, ein Block dort blockt nichts mehr.
m's Default für die eigenen Domains: alle Bots erlauben. Das Material soll zitiert werden – das ist der Sinn der Übung. Keine Site hat kommerziellen Trainings-Schutz-Bedarf.
Beispiel robots.txt (Standardposition):
User-agent: *
Allow: /
Sitemap: https://example.de/sitemap.xml
Falls spezifisch das Trainings-Set nicht beliefert werden soll (für eine Site, deren Inhalt sensibel oder kommerziell ist), getrennte Direktiven:
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
# Wichtig: Search-Bots NICHT blocken
User-agent: OAI-SearchBot
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
4. SEO 2026 Baseline
Was nach wie vor zählt – und was sich geändert hat.
Helpful Content Update: Seit 2024–2025 in den Core-Algorithmus integriert, kein eigenständiges Update mehr 19 . Das System läuft kontinuierlich. Praktisch: Inhalt, der wie für Suchmaschinen geschrieben wirkt, verliert.
E-E-A-T: Trustworthiness ist 2025 die wichtigste der vier Säulen. Klare Angaben zu Author, Quellen, Korrekturpolitik, Veröffentlichungsdatum 11 .
Core Web Vitals (75. Perzentil) 20 :
| Metrik | Gut | Ausreichend | Schlecht |
|---|---|---|---|
| LCP | ≤ 2,5 s | 2,5–4,0 s | > 4,0 s |
| INP | ≤ 200 ms | 200–500 ms | > 500 ms |
| CLS | ≤ 0,1 | 0,1–0,25 | > 0,25 |
INP (eingeführt März 2024 als Ersatz für FID) ist 2026 die meistgerissene Metrik – 43 % der Sites scheitern dort 20 . Heißt: JavaScript, das auf den Main-Thread blockt, kostet messbar. Bei Onepagern ist das eher unproblematisch (wenig JS); bei Next.js-Stacks der Hebel.
Was nicht mehr relevant ist:
- FAQ-Rich-Snippets in Google-SERPs sind seit 2023 stark eingeschränkt (nur noch für autoritative Health-/Government-Quellen). Schema-Markup trotzdem behalten – wegen LLMs.
- HowTo-Rich-Snippets desktop-only.
- Keyword-Density als Metrik – tot.
- Meta-Keywords – seit Ewigkeiten tot.
Was synergetisch mit GEO funktioniert:
- Saubere Heading-Hierarchie (H1 → H2 → H3) hilft beiden.
- Klare Frage-Antwort-Struktur (H2 = Frage, Absatz = Antwort) wird sowohl in Google-AI-Overviews als auch in LLM-Antworten zitiert.
- Internal Linking zwischen thematisch verwandten Seiten verstärkt Topical Authority für beide.
- Sitemap.xml weiterhin Pflicht für Discovery.
- Mobile-First-Indexierung ist seit 2023 Standard. Mobile-Rendering muss vollständig sein, nicht nur reduziert.
5. Übersetzung auf m's Stacks
5.1 onepager (Bash + Caddy)
Architektur-Recap: sites/<domain>/ mit site.yaml + index.html. render.sh ersetzt Platzhalter im gewählten Template. generate-caddyfile.sh generiert Caddy-Routen pro Host. Custom-Sites mit template: custom werden roh kopiert.
Was jetzt geht – ohne Refactor:
- Pro Site eine
llms.txtundrobots.txtdirekt insites/<domain>/ablegen. Build-Script kopiert sie nachbuild/<domain>/. Caddy bedient das automatisch. - Pro kommerzieller / persönlicher Site (ichbinotto, mai-otto, lexsiebels, heygoldi, smartin3, martinsiebels) ein JSON-LD-Block direkt in
index.htmleinfügen, statisch. - Satire-Sites (kAInco, kIlemma, orAKIl etc.): bewusst kein Schema, kein llms.txt. Sie sind keine Quellen, sie sind Wortspiele. Das ehrlich lassen.
Was lohnt – als Template-Erweiterung:
templates/base.htmlum Schema-Slot erweitern:{{schema_jsonld}}.render.shfüllt ihn aussite.yaml(schema:Block).site.yamlSchema-Beispiel:schema: type: Person sameAs: - https://msbls.de/ - https://github.com/...render.shTemplate-Erweiterung:datePublished/dateModifiedaus Git-Metadaten ableiten.- Top-Third-Disziplin pro Template:
tagline+ erstesectionmüssen sachlich sein, nicht poetisch. Templates sind hier neutral – die Disziplin ist beim Inhalt.
Top-Third anwenden: person-dark/person-light/product-dark haben heute Hero mit Name + Tagline. Tagline ist der erste zitierfähige Satz – muss eine Definition sein, nicht Stimmung.
Beispiel sites/lexsiebels/site.yaml (heute):
tagline: "Wo Recht und Code zusammenfinden"
Besser:
tagline: "Patentanwalt mit Schwerpunkt UPC-Verfahren und Software-Patente, Sankt Augustin, seit 2014."
Caddyfile: kein Eingriff nötig, alle Header (HSTS, Cache-Control) macht Caddy schon.
5.2 flexsiebels.de (Fresh + Preact)
Vorteil: SSR liefert vollständiges HTML beim ersten Request – LLMs sehen den fertigen Inhalt, nicht eine leere SPA-Hülle. Das ist gegenüber CSR-only-Stacks ein Riesenvorsprung.
Was umsetzen:
<Head>-Komponente um JSON-LD erweitern. Eine wiederverwendbare<JsonLd type={...} data={...} />-Komponente, die das richtige Schema rendert.- Pro Author/Über-Seite:
Person-Schema mitsameAs-Block. - Pro Article:
Article-Schema mitdatePublished,dateModified,author. /static/llms.txtund/static/robots.txtals statische Files.routes/_app.tsx: globale Meta-Tags (description, og:image) einheitlich.- INP achten: keine teuren Hydration-Listener auf nicht-interaktiven Bereichen. Fresh ist hier ohnehin sparsam (Islands-Architektur).
Author-Hub: flexsiebels.de/matthias (oder /team/matthias) als zentrale Author-Page mit vollem Person-Schema, von der alle anderen Sites über worksFor/creator/sameAs zeigen.
5.3 msbls.de (nginx static)
Status: statisch ausgeliefert, /ki ist Transparenzseite (siehe Memory: Issue #2).
Maßnahmen:
/about(oder/matthias) als kanonische Author-Page anlegen. VollständigesPerson-Schema, allesameAs. Diese URL wird zur Schema-Ankerseite für alle anderen Domains./llms.txtund/robots.txtan Root./kimitArticle-Schema markieren.- nginx-Config:
expires 7dfür CSS/JS,expires 30dfür Fonts/Bilder. Cache-Control korrekt setzen. - Sitemap.xml automatisch generieren (statisches Template oder
tree-basiert).
5.4 paliad.de (Next.js + Go)
Kontext: kommerzieller B2B-Stack. Hier ist GEO am direktesten ROI-relevant.
Maßnahmen:
- Next.js Metadata API systematisch nutzen (
generateMetadatapro Route). - JSON-LD über
<Script type="application/ld+json" />in jedem Seiten-Layout. - Pro Produkt:
Product-Schema. Pro Case Study:Article-Schema mitOrganizationals Publisher. app/(marketing)/layout.tsx:Organization-Schema fest einbinden.- Top-Third-Disziplin auf jeder Marketing-Seite: erste 200 Wörter sind sachliche Produktbeschreibung. Nicht "Revolutioniere deine ...".
- Citation-Tracking einrichten (xSeek, Profound oder selbstgebauter Crawler) – paliad ist klein genug, dass jede LLM-Citation zählt.
- INP-Audit: Welche Routen blocken den Main-Thread? Next.js Image,
loading="lazy", dynamische Imports prüfen. next-sitemapoder eigener Sitemap-Generator.
5.5 youpc.org (Next.js, content-heavy)
Goldmine. Legal-Daten sind GEO-ideal: faktenlastig, zitierbar, mit klaren Zahlen. Princeton-Paper sagt: für Recht/Verwaltung wirkt Statistik-Addition am stärksten – das passt zu youpc fast 1:1.
Maßnahmen:
- Pro Judgment-Page: vollständiges Schema mit
Article+about: Court, judge, parties, patent.LegalForceStatusundmainEntityOfPagesetzen. - Top-Third-Regel: jede Case-Page beginnt mit Fakten-Block (Aktenzeichen, Datum, Division, Parteien, Holding in 1 Satz), erst dann der Volltext / die Analyse.
- Zahlen sichtbar: "1600+ Entscheidungen", "X Divisions", "Y Jahre Erfahrung". Diese Zahlen aufs Hero, in
llms.txt, in Schema. llms.txtmit Index aller Hub-Seiten (Topics, Divisions, Authors).- Author-Schema: Matthias als
editor/author, sameAs zu msbls.de. - Sitemap.xml: vollständig, segmentiert (cases, judges, divisions je eigene Sitemap).
- Strukturierte FAQ-Pages pro Topic: "Wie hat die LD München Anspruchsauslegung X behandelt?" mit
FAQPage-Schema. - HTMX-Caveat: Inhalt, der nur über HX-Request geliefert wird, ist für viele Crawler unsichtbar. SSR-Fallback prüfen (Memory-Eintrag bestätigt: youpc Impressum braucht
HX-Request-Header). Für Content-Pages den HX-Trick nicht nutzen, oder zusätzlich SSR. - Reddit-Strategie pilotieren: bei UPC-relevanten Diskussionen in r/patents, r/lawyers etc. mit Klarnamen Antworten geben, die auf youpc verweisen. Sparsam, Substanz first.
- YouTube-Strategie evaluieren: kurze Erklärvideos zu Leitentscheidungen. 2026 die meistzitierte LLM-Quelle.
6. Checkliste pro neuer Site
Vor dem Launch:
- H1 ist die Kernfrage / das Kernthema, nicht der Markenname allein
- Erste 100–200 Wörter: nüchterne Definition mit Zahlen, kein Marketing-Lead
- Mindestens eine konkrete Zahl pro Hauptaussage
- Person/Organization/Article/Product Schema (JSON-LD) eingebaut, je nach Typ
sameAs-Links auf existierende Identity-Anker (msbls.de, LinkedIn, Wikidata)datePublishedunddateModifiedsichtbar im HTML und in Schema- Author-Page existiert und ist verlinkt (oder eindeutige Autor-Referenz im Schema)
- Impressum + AI-Disclosure verlinkt (für onepager: shared-Scripts haben das)
robots.txtan Root, mit Sitemap-Hinweis, alle Bots erlaubensitemap.xmlan Rootllms.txtan Root (außer reine Satire-Sites)<title>und<meta description>gesetzt, beide unter 60/160 Zeichen- Open-Graph-Tags + Twitter-Card-Tags
- Mobile-Rendering vollständig (alles, was Desktop sieht)
- Anti-AI-Lint: kein Vokabel-Cluster aus der Blacklist
- Anti-AI-Struktur-Check: keine "Challenges and Future Prospects"-Schlusssektion, kein "in der sich entwickelnden Landschaft"
- HTTPS, gültiges Zertifikat (Caddy / Dokploy macht das)
Nach dem Launch:
- Lighthouse-Audit: alle Core Web Vitals grün im Lab
- PageSpeed Insights mit echten Felddaten nach 28 Tagen erneut prüfen
- Google Search Console eingerichtet, Sitemap eingereicht
- Bing Webmaster Tools eingerichtet (wegen ChatGPT-Index)
- In
facts.jsonder Stack-Familie eingetragen, falls relevant - Verlinkung von der zentralen Author-Page (msbls.de) gesetzt
7. Maintenance
Monatlich:
- LLM-Visibility-Stichprobe: 5–10 typische Anfragen in ChatGPT/Claude/Perplexity manuell stellen, prüfen ob Sites zitiert werden.
- Google Search Console: neue Crawl-Fehler, gefallene Klicks, neue Top-Anfragen.
- Core Web Vitals (PageSpeed Insights, Felddaten): hat eine Site neu unter "good" gerutscht?
Quartalsweise:
llms.txtaktualisieren (neue Hub-Pages aufnehmen, gelöschte entfernen).- Schema-Markup-Validierung über alle Sites (Google Rich Results Test, Schema.org Validator).
- Veraltete
sameAs-Links prüfen (LinkedIn-Wechsel, gelöschte Profile). - Wikipedia-/Wikidata-Status der Hauptidentitäten/Brands prüfen.
Jährlich:
- Anti-AI-Vokabel-Blacklist aktualisieren (Modell-Drift, neue Trigger-Wörter).
- Crawler-User-Agent-Liste prüfen (alle 6–12 Monate ändern Anbieter ihre Bot-Namen, siehe das Anthropic-Drei-Bot-Update).
- Author-Pages auffrischen: Bilder, Position, Projekte aktuell?
- Tote Off-Site-Erwähnungen (Forum-Posts, alte Profile) bereinigen.
Bei jeder größeren Änderung:
dateModifiedsetzen, nicht das Veröffentlichungsdatum überschreiben.- Sitemap-Lastmod aktualisieren.
- LLM-Prompt-Tests ein paar Tage später wiederholen, um Indexierung zu prüfen.
8. Quellen
Dokument-Eigentümer: m. Letzte Recherche: 2026-04-29 (Curie, Issue #8). Nicht im Scope: Implementierung. Folge-Issues werden pro Site/Stack einzeln aufgesetzt.
-
ALM Corp – AI Overviews and Zero-Click Searches: Adapting Your SEO Strategy for 2026. https://almcorp.com/blog/ai-overviews-zero-click-searches-seo-strategy-2026/ ↩︎
-
The Digital Bloom – 2025 Organic Traffic Crisis: Zero-Click & AI Impact Report. https://thedigitalbloom.com/learn/2025-organic-traffic-crisis-analysis-report/ ↩︎
-
Aggarwal, Murahari, Rajpurohit, Kalyan, Narasimhan, Deshpande – GEO: Generative Engine Optimization. KDD 2024 / arXiv:2311.09735. https://arxiv.org/abs/2311.09735 ↩︎
-
Discovered Labs – AI Citation Patterns: How ChatGPT, Claude, and Perplexity Choose Sources. https://discoveredlabs.com/blog/ai-citation-patterns-how-chatgpt-claude-and-perplexity-choose-sources ↩︎
-
ALM Corp – Reddit Is Now the #2 Most Cited Source in AI Search. https://almcorp.com/blog/reddit-ai-search-citations-geo-for-brands/ ↩︎
-
GEORaiser – YouTube Overtakes Reddit as #1 AI Citation Source in 2026. https://georaiser.com/blog/youtube-overtakes-reddit-ai-citations ↩︎
-
ALM Corp – ChatGPT Citations: 44 % Come From the First Third of Content. https://almcorp.com/blog/chatgpt-citations-study-44-percent-first-third-content/ ↩︎
-
Search Engine Land – How schema markup fits into AI search — without the hype. https://searchengineland.com/schema-markup-ai-search-no-hype-472339 ↩︎
-
Digidop – Structured data: SEO and GEO optimization for AI in 2026. https://www.digidop.com/blog/structured-data-secret-weapon-seo ↩︎
-
upGrowth – AI Citation Algorithm: How LLMs Pick Sources [2026]. https://upgrowth.in/citation-algorithm-chatgpt-perplexity-gemini-ai-overviews-2026/ ↩︎
-
TG (We Are TG) – What's New with Google E-E-A-T in 2025? https://www.wearetg.com/blog/google-eeat/ ↩︎
-
Wikipedia – Signs of AI writing. https://en.wikipedia.org/wiki/Wikipedia:Signs_of_AI_writing ↩︎
-
The Digital Bloom – 2025 AI Visibility Report: How LLMs Choose What Sources to Mention. https://thedigitalbloom.com/learn/2025-ai-citation-llm-visibility-report/ ↩︎
-
Howard, Jeremy – llms.txt proposal. Answer.AI, 2024-09-03. https://llmstxt.org/ ↩︎
-
aeo.press – The State of llms.txt in 2026. https://www.aeo.press/ai/the-state-of-llms-txt-in-2026 ↩︎
-
ALM Corp – Does llms.txt Actually Matter for AI Search? https://almcorp.com/blog/does-llms-txt-matter-data-analysis/ ↩︎
-
AICarma – The Complete Robots.txt Guide for AI Crawlers: 2026 Strategy & Templates. https://aicarma.com/blog/robots-txt-for-ai/ ↩︎
-
ALM Corp – ClaudeBot, Claude-User & Claude-SearchBot: Anthropic's Three-Bot Framework. https://almcorp.com/blog/anthropic-claude-bots-robots-txt-strategy/ ↩︎
-
Saffron Edge – Google SEO Updates 2024–2025: Get Your 2026 SEO Plan. https://www.saffronedge.com/blog/google-seo-updates/ ↩︎
-
corewebvitals.io – What Are the Core Web Vitals? LCP, INP & CLS Explained (2026). https://www.corewebvitals.io/core-web-vitals ↩︎