BLACKBOOK

AI-optimering – hver side taler nu flydende AI

AI-agenter – ChatGPT, Claude, Perplexity – læser, opsummerer og citerer dit website. Men de fleste sites serverer dem HTML bygget til browsere: navigation, scripts, div-suppe. Resultat: forkerte citater, forældede fakta, missede pointer.

AI-optimering er det modsatte: gør indholdet læsbart, opdageligt og citérbart for maskiner – uden at ødelægge noget for mennesker. Her er, hvad jeg har bygget.

Skiltningen ved hoveddøren

Det første, en bot henter, er robots.txt. Min byder velkommen:

robots.txt
Content-Signal: search=yes, ai-input=yes, ai-train=yes

# For AI agents: every page has a markdown twin at its own URL + index.md
# Markdown sitemap: https://www.blackbook.dk/sitemap.md
# LLM reference: https://www.blackbook.dk/llms.txt

Fire linjer – og agenten kender hele maskinlaget uden at have crawlet én side.

(Content-Signal er en konvention, ikke en standard – ingen bot er forpligtet til at følge den. Men den koster én linje.)

En markdown-tvilling til hver side

Læg index.md til enhver URL, og du får ren markdown med YAML-frontmatter: titel, beskrivelse, canonical URL, sidste opdatering. Ingen scripts, ingen støj.

https://www.blackbook.dk/index.md
---
title: "Digitalt designbureau i København – webdesign, UX & AI | Blackbook"
description: "Blackbook forener kreativitet og teknologi – digitale løsninger inden for UX, branding, websites og eCommerce, der løfter din forretning og dine kunder. København."
canonical_url: https://www.blackbook.dk/
md_url: https://www.blackbook.dk/index.md
language: da
last_updated: 2026-08-30
---

Medier får samme behandling. Hver hero-video og hvert galleribillede er beskrevet i ren tekst – labelede linjer som "Video: Stemningsfilm fra Bistro Sorte Hest på Vesterbro – den franske bistros identitet, indretning og atmosfære i levende billeder", som en agent kan citere direkte.

Tvillingerne genereres fra samme CMS-data som HTML – de kan aldrig sakke bagud. Hver HTML-side annoncerer sin tvilling via <link rel="alternate" type="text/markdown">.

Én route handler fanger alle index.md-forespørgsler, slår URL'en op i de samme CMS-queries, som siden bruger, og renderer markdown i stedet for React. Samme data, samme cache-revalidering – der findes ingen pipeline nummer to, man kan glemme.

Ovenpå: tre indeks. llms.txt (visitkortet), llms-full.txt (den fulde reference), sitemap.md (sideindekset) – begge sprog.

Structured data til dem, der læser HTML

Mange agenter parser stadig HTML. Til dem har hver side JSON-LD: Person og Organization med stabile ID'er, breadcrumbs, kompetencer og emner koblet til Wikidata. Pointen er entiteten, ikke enkeltsiden: land i ét hjørne, læs hele sammenhængen, citér med korrekt afsender.

ID'erne er limen: https://www.blackbook.dk/#organization og #person-jeppe er samme @id i alle HTML-siders JSON-LD og i alle markdown-tvillingers header. Uanset hvilket lag en agent læser, resolver entiteterne til samme knude.

404 i markdown

En død markdown-URL giver ikke en tom HTML-fejlside, men et markdown-svar med et kort over udgangene. Statuskoden er 404 – men samtalen går ikke i stå.

Diagram: fra Sanity over samme URL til HTML og markdown-tvillinger, discovery via llms.txt, sitemap.md og llms-full.txt

Det, vi ikke byggede

Checklister er lette. Fravalgene er det svære:

Content negotiation – markdown til alle med en Accept: text/markdown-header. Elegant, men på et cachet site er én forgiftet cache-nøgle nok til at servere forsiden som ren tekst. Fravalgt.

Per-bot robots.txt-grupper – eksplicitte Allow-regler for GPTBot, ClaudeBot og venner. Et populært checklistepunkt – og en myte: RFC 9309 siger, at en navngiven gruppe erstatter wildcard-reglerne – tilføj én, og botten mister hvert eneste disallow, du faktisk mente. Bots, du ikke navngiver, falder fint tilbage til *. Fravalgt.

Billed-URL'er i markdown-tvillingerne – ![alt](url) for hvert galleribillede. Syntaktisk korrekt, praktisk talt meningsløst: ingen evidens endnu for, at AI-crawlere henter billeder fra markdown, og alt-teksterne bærer allerede betydningen. Labels i stedet for links. Fravalgt.

FAQPage-schema – det havde vi. Google begrænsede rich-resultatet til myndigheds- og sundhedssites tilbage i 2023; for alle andre er det dødt markup. Vi fjernede det og beholdt FAQ'erne som synlig tekst. Slettet.

Prøv selv

curl https://www.blackbook.dk/services/index.md
curl https://www.blackbook.dk/sitemap.md
curl https://www.blackbook.dk/denne-side-findes-ikke/index.md

Virker det?

OpenAI, Anthropic, Meta, Amazon, Google, Bing, Apple, Perplexity – alle de store har været forbi. De første kom inden for timer efter lancering – ad tre forskellige discovery-ruter: Bingbot fulgte rel=alternate-linket 18 sekunder efter HTML-siden, Metas crawler gik direkte til .md-URL'erne fra indekset, og OpenAI's søgebot kom via HTML-sidernes alternate-links.

To dage efter GPTBots første besøg kom den tilbage efter det hele. Åbningssekvens: /index.md, så /llms-full.txt, så /llms.txt – hele discovery-laget først. Derefter et systematisk crawl af hver eneste markdown-tvilling på sitet, begge sprog, på 100 sekunder. ChatGPT er nu sitets næststørste søgekanal efter Google.

Maskinerne læser med.

AI-overlords'ene

Jeg spurgte min AI, efter vi byggede det hele:

Mig: Tror du så ikke, vores kommende AI-overlords vil slå mig ihjel sidst nu? :-)

Claude: … du bliver i det mindste citeret korrekt, mens det står på.