Sådan bygger du SEO-agent-skills, der virkelig virker
De fleste “AI SEO-skills” er blot et enkelt prompt, og halvdelen af anbefalingerne er forkerte. Hemmeligheden bag pålidelige, gentagelige resultater er ikke et bedre prompt, men en solid arkitektur. Her får du en SEO-optimeret dansk oversættelse af Itay Malinskis artikel om, hvordan du designer AI-SEO-agenter, der leverer kvalitetstime efter time. Teksten henvender sig til alle, der interesserer sig for online marketing, AI og automatiserede audits. Besøg også MorningShow.dk for mere inspiration.
Hvorfor de fleste AI-SEO-skills fejler
Et typisk “AI-SEO-prompt” ser sådan ud:
“You are an SEO expert. Analyze the following website and provide a comprehensive audit …”
Du får et flot format, men 40 % af anbefalingerne er forkerte. Tre problemer dræber enkelt-prompt-strategien:
- Ingen værktøjer: Agenten gætter på, om et site har canonical-tags, i stedet for at hente HTML og parse den.
- Ingen verifikation: Anbefalinger tjekkes ikke mod de faktiske sider, så forkerte fund præsenteres som fakta.
- Ingen hukommelse: Kører du samme prompt to gange, får du forskelligt output. Resultatet er inkonsistent.
Hvis din “skill” kun er et prompt i én fil, er det et slag med en mønt, om du får ret. Du har behov for:
- Et agent-workspace med dokumentation
- Værktøjer (scripts) i stedet for manuelle HTTP-kald
- Referencer og skabeloner til output
- Hukommelse til historik
- En dedikeret reviewer til at fange fejlagtige fund
Arkitektur og værktøjer: Workspace, crawler og reviewer
Tænk på agent-workspace’et som en nyansats skrivebord, fuldt udstyret med filer og templates:
AGENTS.md– detaljerede instruktioner, regler og flowSOUL.md– agentens personlighed, principper og kvalitetssikringscripts/– alt HTTP-arbejde:crawl_site.js– Playwright-crawler med rate-limit, resume og renderingparse_sitemap.sh– XML-sitemap-parser til nested indexescheck_status.sh– HTTP-statuscheck med korrekt UA-stringextract_links.sh– henter interne og eksterne links fra HTML
references/– hvad tæller som reelt issue vs. noise (criteria.md) og kendte false positives (gotchas.md)memory/– historik over udførte runs (runs.log)templates/– præcis skabelon for rapportens felter (output.md)
En enkelt AGENTS.md-fil dækker måske 20 % af dit behov. Resten gemmer du i workspace-mappen og kalder efter behov.
Walkthrough: Crawlerens evolution i fem versioner:
- v1 – Naivt prompt: “Crawl this site” → Blokeret af CDN.
- v2 – Scriptet tilføjet:
crawl_site.jskører, men crasher på >200 sider pga. ingen rate-limit eller resume. - v3 – Rate-limit og resume: Mange sites OK, men Single-Page Apps fejler uden rendering.
- v4 – JavaScript-rendering: Alt sites dækket, men output varierer run til run (ingen skabeloner).
- v5 – Skabeloner + hukommelse: Stabilt, konsistent og gentageligt med samme
output.mdogruns.log.
Giv agenten de rigtige værktøjer, i stedet for at bede den skrive curl-kommandoer. Den styrer HVORNÅR og HVAD, mens scripts styrer HVORDAN.
Progressiv disclosure: Undgå information overload ved at have kerne-regler i AGENTS.md og edge cases i references/gotchas.md. Severity-kriterier læses kun ved behov.
De 10 mest smertefulde “gotchas” med fixes:
- Hallucination af data: Gætter antal jurister uden at hente sider – fix: fetch kun verificerbare data.
- Viden deler sig ikke: Samme CDN-blokering dukker op i alle agenter – fix: fælles
gotchas.md. - Uens output-format: “note” vs. “assessment” – fix: strengt
output.mdtemplate. - False positives med høj selvtillid – fix: introducer reviewer-agent til kode-review.
- Bare HTTP-kald blokeres – fix: browser UA i gotchas.
- Gæt ikke URL-stier – fix: følg navigation og links, aldrig gæt.
- Done vs. In review – fix: workflow-skift før menneskelig godkendelse.
- For brede kategorier – fix: hyper-specifikke segmenter (fx “PI-advokater i Houston”).
- Flet ikke data med prompt – fix: scriptet data-kompilering.
- Ukendte APIs – fix: tillad kun scripts i scripts-mappen.
Byg reviewer-agenten først for at øge kvaliteten mest. Den tjekker claims mod beviser, vurderer severity, fanger dubletter og sikrer, at agenten rent faktisk har gennemført scan. Resultat: 99,6 % godkendelsesrate på 270 interne link-anbefalinger.
Validering, Sandbox og resultater
Valideringsstandard: Hver anbefaling skal bestå fire tests:
- Google-ingeniør-testen: Ville en Google-ingeniør nikke genkendende?
- Developer-testen: Kan udvikleren implementere ændringen uden opfølgende spørgsmål?
- Agenturreputation-testen: Kunne vi forsvare fundet i et kundemøde?
- Implementerings-testen: Er anbefalingen konkret nok til at blive eksekveret?
Sandbox-testing: Før live-data kører vi to testmiljøer med kendte SEO-fejl:
- WordPress-site med 27+ issues (redirect chains, duplikeret indhold, orphan pages).
- React/Next.js/Angular-simulering med ~90 issues (empty shells, hash routing, hydration mismatches).
Træningsloop: Kør → sammenlign med kendte fejl → tilret instruktioner eller gotchas → gentag. Først ved 100 % grøn sandbox går vi på live.
Konsistens: Strenge output-skabeloner, run-logs og schema enforcement med faste feltnavne (severity, url, description). Hvis du stadig oplever output drift, tilføj en template frem for at ændre prompten.
Resultatet af denne arkitektur:
- 14+ fuldførte audits på timer frem for uger
- 12–20 udviklerklare tickets per audit med præcise URLs og fix-instruktioner
- 99,6 % godkendelsesrate på 270 interne links
- 80+ SEO-checks fordelt på syv specialist-agenter – hver med egne evidenskrav og false positive-filter
Nøglen er ikke smartere AI-prompts, men et workspace med værktøjer, hukommelse, templates, references og reviewer-lag. Samme proces leverer samme kvalitet – gang på gang.
Stop med at udvikle single-prompt-skills. Begynd at bygge workspaces: Giv dine agenter værktøjer, ikke bare instruktioner. Test i sandbox, ikke på rigtige kunder. Byg reviewer-laget først, indfør skabeloner, logs og strenge workflows. Den femte version vil overraske dig med, hvor effektiv den er. Læs den detaljerede guide her for endnu mere dybdegående indsigt.