llms.txt står på enhver AI-tjekliste. Idéen er fornuftig, den koster en time, og den er langtfra så vigtig som tjeklisterne lader ane. Her er den ærlige version.

Hvad er llms.txt?

llms.txt er en foreslået fil i roden af et website — ditdomæne.dk/llms.txt — skrevet i markdown, som på én side fortæller en AI-assistent hvad sitet er, og hvilke af dets URL’er der er værd at læse. Den blev foreslået som en konvention og ikke som en standard, og den fungerer som et redigeret indeks: en kort beskrivelse af virksomheden efterfulgt af grupperede links til de sider der bedst besvarer spørgsmål om den.

Tankegangen bag er sund nok. En assistent der skal besvare et spørgsmål om din virksomhed, har et begrænset budget af sider den kan nå at hente og læse. Overladt til sig selv bruger den måske budgettet på jeres jobside og en fem år gammel pressemeddelelse. Et kort, ærligt indeks der siger "her er hvad vi laver, og her er de seks sider der rent faktisk forklarer det", er en reelt nyttig ting at række den.

Har jeg brug for en llms.txt-fil?

Ikke lige med det samme. Ingen søgemaskine eller AI-assistent er kendt for at kræve en, og udbredelsen er fortsat tynd, så et website uden llms.txt er hverken fejlbehæftet eller straffet. Det er billig forsikring frem for en løsning: værd at udgive hvis du har en time, men den redder ikke et website som AI-crawlerne er blokeret fra, eller hvis indhold først dukker op når JavaScript har kørt.

Vi tager den holdning alvorligt nok til at bygge den ind i produktet. TrustCtrl tjekker for llms.txt ved hver crawl, og en manglende fil rapporteres som en oplysning — aldrig som et problem der skal løses. At melde en fraværende llms.txt som en fejl ville være at opfinde en hastesag, beviserne ikke understøtter, og en scanner der råber ulv om konventioner ingen har taget i brug, lærer dig at ignorere den.

Rækkefølgen betyder mere end filen. Hvis AI-crawlerne ikke kan hente dine sider, ændrer llms.txt intet — se blokerer du AI-crawlerne. Hvis dit indhold først findes efter JavaScript har kørt, ændrer llms.txt heller intet. Ret de ting først; udgiv den her bagefter.

Hvad skal der stå i en llms.txt-fil?

Hold den på én læsbar side: en overskrift med virksomhedens navn, en eller to sætninger om hvad I laver, og derefter grupperede markdown-links til de sider der faktisk besvarer spørgsmål — dokumentation, priser, vejledninger, produktsider. Hvert link bør have en kort note om hvad siden dækker. Det er et indeks til en læser med travlt og ikke et sitemap, så en fil der er vokset ud over nogle få tusinde ord, har holdt op med at gøre sit arbejde.

Fejlen er til at forudsige: nogen automatiserer den, og llms.txt bliver en dumpning af hver eneste URL på sitet. Dermed er den et dårligere sitemap.xml uden det værktøj der hører til, og det ene den skulle levere — udvælgelsen — er væk. TrustCtrl markerer derfor en fil der er vokset ud over cirka hundrede kilobyte.

  • Skriv den til en læser, ikke til en parser. Modtageren er en sprogmodel. Almindelige, beskrivende sætninger slår lister med søgeord.
  • Link til sider der besvarer spørgsmål. Priser, dokumentation, vejledninger, produktdetaljer. Ikke jobsiden, ikke pressearkivet.
  • Skriv hvad hvert link dækker. En nøgen URL tvinger assistenten til at hente den for at finde ud af det; en enkelt linje sparer måske hentningen helt.
  • Hold den opdateret. En fil der peger på tre URL’er som nu giver 404, er værre end ingen fil, for den brænder præcis det budget du forsøgte at styre.

Er llms.txt det samme som robots.txt?

Nej, og de er ikke alternativer til hinanden. Robots.txt styrer adgang — hvilke crawlere der må hente hvilke stier — og den respekteres af de store udbydere. llms.txt giver vejledning om indhold og tildeler ingen rettigheder overhovedet. At udgive llms.txt gør ingen forskel på et website hvis robots.txt blokerer AI-crawlerne i første omgang.

Det er værd at være direkte om, for de to filer ligger side om side i roden af sitet og bliver diskuteret i samme åndedrag. Den ene er en lås. Den anden er en folder. At uddele folderen mens døren er låst, udretter ingenting.

Den nyttige del: hvad tjekket finder, når filen mangler

Her kommer den del der gør forespørgslen umagen værd, og den har kun lidt med AI at gøre. Når TrustCtrl beder om /llms.txt på et website der ikke har en, er det interessante svar ikke "mangler" — det er hvordan serveren siger mangler.

En korrekt opsat server svarer på en forespørgsel efter en fil, den ikke har, med 404. Søgemaskiner behandler en 404 som endelig: URL’en fjernes fra indekset og bliver ikke hentet igen. Nogle servere svarer i stedet 500, fordi et frameworks catch-all oversætter "ingen sådan ressource" til en serverfejl. Søgemaskiner behandler en 500 som midlertidig: de beholder URL’en, prøver igen og kommer tilbage. Hvert forkert indtastet link og hver for længst død URL bliver dermed ved med at æde crawl-budget og ved med at stå i indekset.

Vi har ikke lært det af en specifikation. Vi fandt det på vores eget website, hvor netop sådan et catch-all lavede manglende filer om til serverfejl. At bede om en fil, vi vidste ikke fandtes, viste sig at være en enkel måde at teste hvordan serveren håndterer fravær i det hele taget — og derfor betaler tjekket for sin plads på en crawl der i forvejen henter robots.txt og sitemap.xml.

Der findes et tredje svar, som er værd at kende: 200 med en HTML-side. Det er en soft 404 — serveren svarer på enhver ukendt sti med sin almindelige side. TrustCtrl behandler et HTML-svar som fraværende frem for som en udgivet fil, for ellers ville ethvert website med et catch-all blive rapporteret for at have en llms.txt, det aldrig har skrevet.

Hvor det hører hjemme

Udgiv llms.txt hvis du har timen. Forvent ikke at den flytter noget i sig selv, og lad den ikke stjæle opmærksomhed fra de tre ting der faktisk afgør, om en assistent kan citere dig: adgang for crawlerne, indhold der står i HTML’en, og svar skrevet så de kan løftes ud i ét stykke. Det er emnet for sådan bliver du citeret i AI-svar.

TrustCtrl tjekker det hele på samme besøg — llms.txt, robots.txt, adgang for AI-crawlere, om sider kan renderes uden JavaScript, plus titler og beskrivelser, hastighed, tilgængelighed og sikkerhedsindstillinger. Hvert fund kommer med beviset bag og en anvisning, du kan give videre til den der passer sitet.