SEO — fundamentet
Hver side har sin egen titel, beskrivelse og canonical-URL — intet er arvet fra forsiden. Hver case, guide og side er beskrevet som strukturerede data (schema.org / JSON-LD): én Organisation og én Person, som alle sider der nævner dem henviser til med samme ID, i stedet for at gentage de samme fakta med en lidt anden formulering hver gang. Sitemap'et flytter kun en sides lastmod, når indholdet faktisk er ændret — ikke ved hver deployment. Fortæller man en crawler at alt ændrer sig hver gang, lærer den at ignorere feltet.
GEO og AEO — læseligt for en maskine, ikke kun et menneske
Siden har et llms.txt: et rent tekstkort til sprogmodeller, der peger direkte på hver case og guide med én sætning hver. robots.txt tillader eksplicit AI-crawlere i stedet for at blokere dem som standard. Denne side har selv sin egen FAQPage-markup, nedenfor — det samme format Google og AI-baserede svarmaskiner bruger til at besvare et spørgsmål direkte, uden at nogen behøver klikke ind.
Chrome har for nylig lanceret en helt ny Lighthouse-kategori: Agentisk browsing — om en side er læselig for en AI-agent, der browser på nogens vegne. Den tjekker blandt andet netop for det llms.txt-fil, og om sidens accessibility-tree er velformet. kodekid.app scorer 100 på den.
Hastighed — målt, ikke gættet
Ingen buzzwords, kun tal. Billeder og video fra Supabase Storage cacher i et helt år — Supabases egen standard er én time, hvilket betød at en genbesøgende hentede hvert case-billede forfra ved hvert besøg. En håndfuld sikkerhedsheaders (CSP, HSTS, COOP) er sat uden at gå på kompromis med hastighed for at få dem. En strammere liste over understøttede browsere er sat og klar til at droppe unødvendige JavaScript-polyfills, så snart to kendte fejl i Next.js's egen bundler bliver rettet opstrøms (sporet direkte i koden); indtil da gavner den allerede CSS'en, som autoprefixes præcist til de browsere, siden reelt skal understøtte.
De tre tal Googles rangering rent faktisk kigger på — Core Web Vitals — målt 18. september 2026, samme kørsler som scorerne ovenfor:
| Mål | Desktop | Mobil | "Godt" er |
|---|---|---|---|
| Largest Contentful Paint | 1,5 s | 5,7 s | ≤ 2,5 s |
| Cumulative Layout Shift | 0,02 | 0,01 | ≤ 0,1 |
| Total Blocking Time | 10 ms | 150 ms | ≤ 200 ms |
Mobil-LCP er den ene svaghed i disse tal — over grænsen for "godt", ikke bare langsommere end desktop. Det er en reel ting at rette, ikke noget denne side lader som ikke findes.
Tilgængelighed — 100 på desktop, 96 på mobil, og det er bevidst
De fire point er én ting: en kontrastfarve mellem tekst og baggrund holdt præcis som designet, i stedet for skruet op for at ramme et rundere tal. Alt andet — labels, fokusrækkefølge, alt-tekst, videobeskrivelser — er der, fordi det skal være der, ikke fordi et værktøj krævede det.
Vil du have det samme?
Det er præcis den slags arbejde, jeg laver for kunder — bare uden at nogen har bedt om at se det. Se hvad det koster.