Educator Almost 20 years building and maintaining "TYPO3 Komplettkurs" (video training and TYPO3 projects for clients across the membership), live sessions, and hands- DACH region. on workshops. Member of the TCCI task force in the TYPO3 Education & Certification Committee. 03 Running My Own AI Visibility Monitoring Since April 2026 — on my own TYPO3 site, wwagner.net. Every number in this talk comes from my own data, not from a whitepaper. wwagner.net
Answers. The Uncomfortable Truth Ask ChatGPT "Who can train my team sees a results page. They read one AI on TYPO3?" — you get a handful of answer and act on it. Whoever is not names, no link list. named in that answer does not exist for Ask Perplexity — you get a source list A growing share of the market never that potential customer. with inline citations. Ask Google AI Mode — you get a synthesised answer. wwagner.net
No Longer Means the Click Clicks From an Answered Question Year-over-year decline reported on many sites Even position one loses clicks when the AI The AI answer already satisfied the intent. This — the range is wide because it depends heavily Overview has already answered the question is not a ranking problem — it is a changed click on topic. above the fold. behaviour. This talk is about exactly that: what changes when the answer replaces the list. wwagner.net
It Is It Is Not How AI systems read web content A tool show What to change in TYPO3 to become quotable A hype talk Real data from a real TYPO3 site A promise of rankings or guaranteed traffic Six concrete levers, three Monday-morning actions Agenda SEO vs GEO · How AI reads · Six levers · What you can measure · Three actions wwagner.net
Dimension SEO GEO Goal Ranking in a list Being quoted in an answer Signal Keywords, backlinks Entities and verifiable claims Success metric Clicks Mentions and citations Unit Page in a list Passage in an answer Output Blue link results Source citations wwagner.net
Clicks Down, Position Down Click behaviour has changed, not your A real SEO problem. Fix your ranking first Clicks Stable, Brand Searches Up ranking. The AI answer intercepted the before addressing GEO optimisation. Something is already working in the AI intent. This is a GEO problem, not an SEO layer. Users are searching your name problem. after seeing it in an AI answer. A sign of growing AI-driven brand awareness. Before any optimisation: know which problem you actually have. Compare the same periods year over year, exclude seasonality, and always separate brand from non-brand queries. wwagner.net
Site Training Data Live Retrieval ← Act Here Old and frozen at training cutoff Current content, fetched per question No control after the fact Citations reference the source used No citation back to source Happens at query time, not training time You cannot influence what is already baked in This is where GEO operates wwagner.net
structured content. Segments are matched against the question Fetch Chunk Cite Retrieve relevant data from various sources. Break down large data into manageable segments. The answer names the source it used. wwagner.net
Structure Content elements enforce structure by design — no freehand HTML that breaks extraction. Clean URLs and Slugs Speaking slugs and stable URLs out of the box — cited URLs that stay reachable. EXT:seo Built In Canonical, hreflang, XML sitemap, and meta data — all generated from a single source of truth. Site Sets in v13 and v14 Reusable, versioned configuration. Solve GEO once in your sitepackage, ship it to every project you run. wwagner.net
6 Structured Data with JSON-LD Make your entities machine-readable Content Architecture & FAQ Patterns Make your passages quotable E-E-A-T and Evidence Make your claims traceable Machine-Readable Clarity Make your URLs reliable Sitemap & robots.txt for AI Crawlers Make your site readable at all Off-Page Signals Make others confirm you wwagner.net
in machine-readable form alongside your humanreadable content. Why The Principle Structured data does not prove a claim. It makes it readable. Text says something. Markup states it unambiguously. A retrieval system can extract a claim from prose — but markup removes all ambiguity. Start With Organization Person Article FAQPage Course wwagner.net
as a real hierarchy, not as styling One topic · one intent · one page. Retrieval operates on passages, not H1 on whole pages. A page that covers five topics produces no passage One clear claim per paragraph that clearly answers any single question. Why It Works Answer before background — lead with the point Remove near-duplicates instead of adding more pages When a passage is self-contained and clearly labelled, a retrieval system can extract and cite it directly. An unfocused page cannot be This is the most underestimated lever — and the only one that quoted precisely. requires zero code. wwagner.net
Granularity Who states this claim? Author pages with Date of the last substantive review — not A single claim should be addressable — name, role, profile link, and external proof the last save action. A technical tstamp not just a page. Retrieval needs to find and — not a byline string. update is not the same as editorial cite a specific passage, not scan a wall of verification. text. E-E-A-T stands for Experience, Expertise, Authoritativeness, and Trustworthiness. wwagner.net
a Record, Not a Text Field A "Reviewed On" Date Field Name, role, profile page, external proof — all from the same data Maintained by editors, separate from tstamp. If it is not kept source that generates the Person schema markup. One record, honest, it is worthless — and harmful. Use lastUpdated in the one truth. page properties and make is visible for visitors and bots (meta property) Sources as Links in the Text One About Page a Machine Can Parse Not hidden in a footer. Retrieval reads context — an inline link Clean structure, Organisation schema, real contact data. The carries weight that a reference list at the bottom does not. page an AI system reads when it wants to verify who you are. wwagner.net
Not Silent 404s A URL that an AI system once cited has to stay reachable for Every restructuring that drops a URL without a permanent redirect years. Instability is a lost citation — permanently, because you destroys citation value. 301s are not housekeeping — they are cannot reclaim that citation retroactively. citation maintenance. One Canonical Per Page Title and Description as Content No duplicates through URL parameters, no ambiguity. EXT:seo Written for the reader and the retrieval system — not filled in as an generates canonicals from your site configuration automatically. afterthought. Every page, every language. wwagner.net
What It Does Blocks Affect GPTBot Training and retrieval for OpenAI ChatGPT training OAI-SearchBot, ChatGPT-User Fetches for ChatGPT Search (live retrieval) ChatGPT live answers PerplexityBot, Perplexity-User Index and live fetch Perplexity answers ClaudeBot Training data collection for Claude models Claude training Claude-User Fetches pages when a Claude user asks a question Claude live/agentic answers Claude-SearchBot Crawls to improve search result quality inside Claude Claude search/citation quality Google-Extended Gemini training — not AI Overviews Gemini training only Googlebot Also feeds AI Overviews and AI Mode Classic search + AI Overviews Also appearing in real logs: YouBot, LinkupBot, Bravebot, DuckAssistBot, Amazonbot, Applebot, GoogleOther, meta-externalagent, Bytespider, CCBot, Diffbot. The real list is longer than the four names everyone quotes. wwagner.net
domains · 26–30 July 2026 417,609 requests total. 192,359 were pure uptime-monitoring noise — that is 46 %. Before evaluating any bot traffic, remove your own watchdog from the count. User Agent CCBot Googlebot YouBot Bingbot Applebot GoogleOther OAI-SearchBot Amazonbot meta-externalagent Bytespider Diffbot ChatGPT-User LinkupBot ClaudeBot DuckAssistBot PerplexityBot Claude-User GPTBot Bravebot 0 200 400 600 800 1k 1.2k 1.4k 1.6k 1.8k 2k Requests (5 days) GPTBot — the name every checklist starts with — came 6 times in five days. YouBot came 1,158 times. Optimise accordingly. wwagner.net
Real Questions The Critical Gap ChatGPT-User and Claude-User appear only when a human asked a None of this appears in Matomo. question, right then. In five days: 113 ChatGPT-User fetches from 99 different IPs. 23 Claude-User fetches. What They Fetched (Top Pages) 19× — article: Google Drive shared folders No human loaded the page. No JavaScript ran. 113 real questions from real people — invisible to analytics. Anyone who assesses GEO solely on the basis of Analytics is systematically missing the bigger picture. 12× — homepage 9× — article: DeepL API character consumption 8× — TYPO3 security releases June 2026 (EN) 6× — TYPO3 v14: restricting content elements per column Claude repeatedly fetched my article on the pros and cons of GEO. wwagner.net
the same five days, on my domains: "Perplexity-User" requested: /.env /.ssh/id_rsa /.aws/credentials /.git/config /wp-config.php 139 requests. From 2 IP addresses. "OAI-SearchBot" — same pattern, two other hosts. 190 requests. "CCBot" — 1,136 of its 1,924 requests were credential scans. The Finding The Consequence A user agent is a self-declared string. Anyone can send any name. Attackers are using well-known AI agent names precisely because they are being waved through everywhere right now. Before you report AI crawler numbers to a client: verify by IP range, or your report is fiction. OpenAI, Anthropic, Perplexity, and Google all publish their authoritative IP ranges. Verification is a few lines of script. robots.txt is a request to polite visitors. It does not protect credentials. Access control and crawler policy are two entirely different problems. wwagner.net
robots.txt Three things to remember: User-agent: GPTBot First — the EXT:seo sitemap URL belongs in robots.txt; it is the Allow: / cheapest lever in this talk. User-agent: OAI-SearchBot Second — not every crawler respects robots.txt. Allow: / User-agent: PerplexityBot Allow: / User-agent: ClaudeBot Allow: / goodbot-badbot.com by Olivier Dobberkau shows live which bots ignore the rules. Third — a URL that an AI system once cited must stay reachable for years. Permanent redirects are citation maintenance, not housekeeping. User-agent: * Disallow: /typo3/ Sitemap: https://example.com/sitemap.xml wwagner.net
The Current Status The Honest Part No adopted standard. No major AI provider documents that it reads the Reading content out of standard content elements and Content file. Zero proof of impact. Blocks and converting it into clean Markdown requires custom code — What Is Happening Anyway Agencies are cold-calling your clients: "Your site is missing this file — that is why the AI never mentions you." My Answer: Ship It Anyway A dedicated page type outputs llms.txt and Markdown variants of the important pages. Low cost. Client is satisfied. Ready if the spec more than a template. Too much detail for this talk. Come and find me — happy to show the implementation in a smaller setting. The Rule Ship the file. Never sell it as the reason for AI visibility. That would repeat the exact mistake you are correcting in your client. matures. Source: llmstxt.org wwagner.net
Say Be Where Your Entity Is Described Retrieval favours entities that are TYPO3 directories, association described and confirmed by trusted pages, conference programmes, third-party sources — not just self- GitHub, community sites. Each declared. mention is a confirmation of your entity. Consistency of Identity Consistent name · consistent URL · consistent role. Five platforms with five different descriptions = five weak entities, not one strong one. One strong mention beats ten weak backlinks. This is the lever with the least direct control and the longest time horizon — but also the one that compounds. wwagner.net
2 — Architecture 3 — Evidence Make your entities readable Make your passages quotable Make your claims traceable 4 — Clarity 5 — Access 6 — Off Page Make your URLs reliable Make your site readable at all Make others confirm you wwagner.net
Cannot You Can Measure You Cannot Measure Brand mentions in AI answers A stable ranking — there is no stable position Which sources get cited, and for what A reproducible answer — same prompt, different result tomorrow Sentiment around your entity An attributed click for every mention — most AI citations never Brand searches in Search Console produce a page load Direct traffic changes AI crawler hits in your server logs Volatility is part of the method. Never take a single AI answer as proof. Measure over time, across many prompts. wwagner.net
/ Analytics Same periods year over year. Brand and non-brand separated. Clicks, Brand searches, direct traffic, referrals from AI hosts. Track the channel impressions, and CTR as the baseline for diagnosing what changed. even when it is tiny — the quality signal matters. 03 04 Server Logs Monitoring Tool Which AI user agents actually arrive, and what do they fetch? The only A fixed prompt set, tracked over months, across multiple engines. Only source that captures live-retrieval activity that analytics cannot see. needed when you want systematic data across many queries. wwagner.net
14 keyword groups · four engines · 1-3 runs per week Mention Rate (%) Checks Period 1,374 58 May 2026 May 2026 Checks 2,314 54 June 2026 June 2026 60 July 2026 (1–29) 0 10 20 30 40 50 Checks 60 Mention Rate (%) 1,320 July 2026 (1–29) Checks The June dip to 54 % is not a visibility loss — the prompt set was expanded that month, introducing harder queries. By engine in July: Perplexity 69 % · Claude 64 % · Google 63 % · ChatGPT 47 %. If you only check ChatGPT, you systematically underestimate your own visibility. wwagner.net
Tiny Volume, Excellent Quality 53 Mar – Jun Total AI-referred Visits 0.3 – 1 % of all visits. June conversion rate: 11 % — above organic Month search (8.6 %) and direct (9.9 %). 17 Mar April — one single Perplexity visit: 11 minutes on one page, one conversion 9 Apr February — a Perplexity visitor: 26 minutes on the events page Whoever arrives from an AI answer has already half-made their 18 May decision. Treat AI as a branding channel, not a traffic channel. 9 Jun 0 2 4 6 8 10 12 14 16 18 AI-referred Visits wwagner.net
by Query Type Query Type 100 Brand queries 83 Purchase intent 78 Topic authority — Content Blocks 69 Recommendation — TYPO3 trainer 10 Learning intent — agencies & professionals 7 GEO for TYPO3 0 10 20 30 40 50 60 70 80 90 100 Mention Rate (%) Being known is not the same as being found. Brand queries always win — but those users already know you. New customers ask generic questions. That is exactly where the gap appears. Don’t just check your company name; check the questions a customer who doesn’t know you might ask. wwagner.net
Green 🟢 Green 🟡 Yellow 🔴 Red Tool Hosting / Compliance Pricing Otterly.AI Austria, AWS Frankfurt from $29 Peec AI Berlin, GDPR DPA from €85 Profound US hosting, SOC 2 Type 2, SCC-based — DPA AthenaHQ US hosting, boilerplate policy, no — documented SCCs EU alternatives: Rankscale (AT) · LLM Pulse (ES) · SE Ranking. For any US-hosted tool used with client data: obtain a DPA, SCCs, and document your Transfer Impact Assessment. Prices as of June 2026 — verify before you buy; the market changes monthly. wwagner.net
Open Search Console. Compare the same Make Your Entities Readable — Half a Day Make One Page Quotable — Half a Day period year over year, brand and non-brand Add Organization and Article (or Course) Take your most important page. Mirror the separated. Then read the AI answers for JSON-LD to your website. Include a real sub-questions from step 1 as H2/H3 your five most important queries and list author record and an honest headings with short answers. Add a the sub-questions they actually answer. dateModified. Done once — applies to compact FAQPage markup block. Verify This is your brief. every project you run. your robots.txt lets AI crawlers in and the Diagnose — 60 Minutes EXT:seo sitemap URL is listed. Step 1 without step 3 is analysis without impact. Step 3 without step 1 is guessing. Do both. wwagner.net
states a claim. It does not prove it. A machine can read that you are an expert — it cannot verify it from markup alone. What Is Being Drafted An open content provenance specification with a TYPO3 reference implementation is in progress at cms-provenance.org. The specification skeleton and PRD are complete. No released extension Status 🟡 Draft — no released code Worth watching. Not yet something you can ship. If You Want to Contribute The entry point is cms-provenance.org. Olivier Dobberkau is the man behind it. yet. wwagner.net
URLs · real editorial workflows · versioned configuration Everything GEO asks for, TYPO3 already has. Solve it once in your sitepackage, and ship it to every client you run. That is the structural advantage no page-builder platform can match. Questions? Find me in the breaks — especially if you want to see the llms.txt implementation in detail. You can find the Slides here: https://wwagner.net/invisible-to-ai