Kort fortalt: En content gap-analyse viser dig hver eneste side, en konkurrent rangerer på, og du ikke gør, og fordeler resultatet på fire teams. Hent konkurrenternes søgeord og landingssider med DataForSEO for et par dollar, lad en LLM holde deres sider op mod dine, og rækkerne uden modstykke bliver til SEO-opgaver, nye varegrupper, betalte kampagner og content. Én rigtig kørsel for en tjekkisk webshop gav 1.996 manglende sider med 1.520.840 søgninger om måneden bag sig.
Vil du bare have den færdige gap-analyse?
Download den komplette AI-instruktion: én fil, du sætter ind i Claude eller en anden dygtig kodeagent, og den bygger gap-kortet til dit eget site. Indtast din e-mailadresse, og filen er din — eller læs bare videre.
Én fil, én liste. Jeg skriver kun, når der er noget værd at læse.
I sidste måned lavede jeg denne analyse for en tjekkisk webshop i børnesegmentet. Fem konkurrentdomæner gik ind i den. Pipelinen hentede hvert eneste søgeord, de domæner rangerer på, samlede søgeordene i sider, og natten over holdt en LLM hver konkurrentside op mod kundens eget site. Resultatet læste jeg næste morgen over en kop kaffe.
1.996 sider, konkurrenterne dækker, og kunden ikke gør. Bag de manglende sider ligger 1.520.840 søgninger om måneden.
Ikke søgeord. Sider. 1.847 af dem er kommercielle: kategorisider, shoppen kunne gå i gang med i næste uge. De øvrige 149 er emner, konkurrenterne bruger til at fange forældre længe før nogen taster et produktnavn. API-regningen for hele udtrækket løb op i et par dollar.
På tyve år med PPC har jeg solgt præcis denne analyse ind utallige gange og som regel set kunder takke nej, og jeg har aldrig bebrejdet dem det. Før LLM’erne begyndte det ærlige tilbud ved 20 til 30 timers seniortid, alene for at sy søgeordseksporterne sammen, én CSV pr. konkurrent pr. værktøj. Derefter kom op mod 50 timer mere til at rense resultatet og lægge det op mod sitet, som det faktisk ser ud i dag. Det skriver ingen under på for et måske. Samme opgave tager mig nu 2 til 5 timer. Tilbage står vurderingen af, hvad hvert hul betyder, og det er den del, der er værd at læse videre for. Her er hele metoden, med kørslens rigtige tal hele vejen igennem.
Hele metoden i én sætning
Find de sider, som dine konkurrenter rangerer på, og som du ikke engang har i porteføljen, og lav listen om til arbejde for fire teams. Mere organisk synlighed, søgekampagner rettet mod landingssider, du manglede, sortimentsidéer med efterspørgslen allerede dokumenteret, og content, der fylder en remarketing-liste. Ét kort, fire gevinster. Alt herunder handler om, hvordan du kommer derhen.
Hvert eneste SEO-oplæg har den slide, der siger, du skal gøre det her. Analysér konkurrenterne, find hullerne i dit content og dine kategorier. Næsten ingen gør det, for den gamle metode var et rent slid. Eksportér en konkurrents søgeord, gæt dig frem til, hvilke landingssider de førte til, hold dem manuelt op mod dit eget sitemap, og slås så om parringerne i et regneark i en uge. Så sliden blev ved med at være en slide.
To ting har ændret sig. Det er ikke længere dyrt at hente dataene, for DataForSEO gør for få cent, hvad Semrush gør for et månedsabonnement. Og parringen foregår ikke længere i hånden. En LLM lægger en konkurrents sider op mod dine på minutter, og den behøver ikke være perfekt for at være brugbar.
Tilbage står den del, der hele tiden var den egentlige værdi, og den var aldrig rigtig en SEO-opgave. Et content-hul er en manglende kategoriside, en produktlinje du ikke fører, en blog der fylder en remarketing-liste. Det rammer ind i SEO, paid, sortiment og content-strategi på én gang.
Analysen i én kasse
- Det, vi er ude efter Hver side, en konkurrent rangerer på, og du ikke gør
- Værktøjer DataForSEO API · en hvilken som helst LLM · en site-crawler
- Pris Et par dollar i API-kredit, intet abonnement
- Hvad du får Et prioriteret gap-kort til SEO, paid, sortiment og content
Én kørsel, fem konkurrenter, 1.996 huller
Først resultatet, så mekanikken. Kunden sælger børneprodukter på et hårdt tjekkisk marked, og fem konkurrerende domæner endte på listen. Pipelinen holdt 651 af deres stærkeste sider, med 10.110 rangerende søgeord bag sig, op mod kortet over kundens egne sider. Hver klynge af efterspørgsel uden en tilsvarende side hos kunden blev til et hul, og hvert hul er en side, kunden kunne bygge, med søgevolumen bag sig allerede målt.
Hvad kørslen gav
- Huller (dækket af konkurrenterne, ikke af kunden) 1.996
- Kommercielle huller, der mangler en landingsside 1.847
- Content-huller, der mangler et emne 149
- Søgninger om måneden bag hullerne 1.520.840
- Datagrundlag 10.110 søgeord · 651 konkurrentsider · 5 domæner
Og hullerne ligger ikke tilfældigt. Syv mønstre dækker alle på nær tre af de 1.996 rækker, og ét mønster dominerer alt andet:
Kategori-synonymerne er selve fundet. Kunden sælger allerede de produkter. Konkurrenterne giver bare hylden sin egen landingsside under det navn, folk faktisk taster, mens kunden lader de samme produkter forsvinde i én bredere oversigt. Efterspørgsel, du dækker uden at have en side, der hedder det, folk søger efter, er efterspørgsel, du er usynlig for. Og hver af de 1.640 rækker er billig at rette, for den kræver hverken nyt produkt, ny leverandør eller ny tekst. Bare en side.
Resten af de kommercielle huller deler kategorierne op på andre måder. En kategori krydset med et tema, for eksempel et aldersspænd eller en anledning. Et brands serie på sin egen side. En kategori filtreret på materiale eller funktion. På contentsiden går det samme igen i emneklynger, hubs om licensfigurer og guider, konkurrenterne rangerer på, mens kunden aldrig har skrevet en linje.
Hent den komplette AI-instruktion til denne gap-analyse
Hele metoden, skrevet som en brief, du kan sætte direkte ind i Claude eller en anden dygtig kodeagent, inklusive parringsprompten og DataForSEO-kaldene. Du leverer konkurrentlisten og API-kreditten; den bygger gap-kortet til dit site. Indtast din e-mailadresse, og filen er din.
Én fil, én liste. Jeg skriver kun, når der er noget værd at læse.
Gap-kortet på tæt hold
Hver række i leverancen læses på samme måde: hvad konkurrenten har, om vi har det, og hvilket team opgaven lander hos. Her er én række pr. mønster, med kategorinavnene gjort generelle, så kunden forbliver anonym (tallene ovenfor er de rigtige):
| Konkurrentside | Hos os | Mønster | Lander hos |
|---|---|---|---|
| Hovedkategoriside | ✓ vi har den | Intet hul | Intet at gøre |
| Kategorien under det synonym, folk faktisk taster | ✗ gemt væk i en bredere oversigt | Kategori-synonym | SEO + paid |
| Kategorien skåret efter aldersspænd | ✗ | Kategori × tema | SEO + paid |
| En gaveguide til sæsonen | ✗ | Content-emne | Content + ads |
| Et brands serie på sin egen side | ✗ | Kategori × brand | Sortiment + SEO |
| Kategorien filtreret på materiale | ✗ | Kategori × attribut | Webstruktur |
| En hub omkring en licensfigur | ✗ | Content-franchise | Content + sortiment |
| En guide til at vælge den rigtige størrelse | ✗ | Content how-to | Content + remarketing |
✓-rækkerne falder fra; ✗-rækkerne er leverancen.
Hvordan ser sådan en række ud med tal på? Her er et illustrativt eksempel med et opdigtet demodomæne og afrundede tal, altså ikke kundens data, så du kan se formen, uden at jeg hænger nogen ud:
| Konkurrentside (demo) | Rangerende søgeord | Søgninger om måneden | Est. trafik hos konkurrenten | Fører vi det? |
|---|---|---|---|---|
| toydemo.example/montessori-toys | 112 | 38.200 | 9.800 | ✓ |
| toydemo.example/wooden-toys | 84 | 22.400 | 6.100 | ✓ |
| toydemo.example/balance-bikes | 57 | 14.900 | 4.300 | ✓ |
| toydemo.example/kids-carnival-costumes | 41 | 9.700 | 2.600 | ✗ |
Hver række besvarer de to spørgsmål, et prioriteringsmøde i virkeligheden har brug for. Hvor meget efterspørgsel ligger der bag denne side, og kan vi dække den med dagens sortiment? Et ✓ med høj efterspørgsel er en landingsside til næste sprint; et ✗ med høj efterspørgsel er en snak med indkøb, før nogen overhovedet rører websitet.
Og under hver række ligger klyngen. Fold montessori-rækken ud, og du ser de søgninger, den ene konkurrentside samler op:
| Søgeord i klyngen | Søgninger om måneden |
|---|---|
| montessori toys | 18.100 |
| montessori toys for 1 year old | 5.400 |
| wooden montessori toys | 4.900 |
| montessori sensory toys | 3.800 |
| montessori baby toys | 3.300 |
| best montessori toys for toddlers | 2.700 |
De seks søgninger dækker ét og samme behov, så de får én side. Én klynge, én landingsside, én række i gap-kortet. Byg den side, og alle 38.200 søgninger om måneden bag rækken er inden for rækkevidde på én gang. Det er derfor, kortet tæller sider og ikke søgeord.
Og leverancen er ikke et slidedeck. Kunden fik en Excel-fil til menneskene, en README, og under dem begge en indekseret SQLite-database med fem tabeller. Kundens egen Claude er koblet på den database og spørger den direkte, så »hvilke content-huller bærer flest søgninger?« er noget, de selv taster ind i dataene, i stedet for en anmodning til mig, som de venter et døgn på. En leverance, en AI kan spørge, overlever enhver præsentation af den.
Flowet, fra ende til anden
Find de rigtige konkurrenter, ad tre veje
Glem, hvem du tror konkurrerer, og se på, hvem der faktisk dukker op der, hvor dine penge er. Brug tre signaler tilsammen. Ét: kør dine vigtigste søgninger gennem DataForSEO, og notér, hvem der optræder i paid og organisk. To: læs Auction Insights i Google Ads, for overlappet i auktionen fortæller dig, hvor tæt en rival reelt er på dig. Tre: hent data om søgeordsoverlap, for antallet af søgninger, du deler med et domæne, er et rent mål for, hvor beslægtede I er. Tre lister bliver til én liste. Rammer du forkert her, arver hvert eneste senere trin fejlen, for så holder du dine huller op mod en rival, der aldrig har budt på dine penge.
Hent konkurrenternes søgeord og landingssider
For hver konkurrent henter du de stærkeste organiske søgeord, op til omkring 100.000 pr. domæne, og ikke mindst, hvilken landingsside der rangerer på hvert søgeord. Ud fra position og søgevolumen kan du estimere trafikken ind på hver af deres sider. Et søgeord er en abstraktion; en side er noget, du kan kopiere, bygge efter eller rette en kampagne mod. Så du samler søgeordslisten i et kort over konkurrentsider med de søgeord, der fodrer dem, og den estimerede trafik ved siden af. Én ting skal på plads her, for den former alt det, der følger efter: du parrer ikke enkelte søgeord med enkelte sider. En enkelt kategoriside hos en konkurrent rangerer typisk på snesevis af beslægtede søgninger, og hele den gruppe beskriver ét sammenhængende behov. Siden er klyngen. Hos børnewebshoppen kogte fem domæner ned til 651 sider, der var værd at parre, med 10.110 søgeord, altså groft regnet femten søgninger pr. side.
Kortlæg dit eget site
Du skal bruge spejlbilledet af dine egne sider, og det skal være komplet, ellers jagter du »huller«, der i virkeligheden bare er sider, dit overblik glemte. Crawl sitet (Screaming Frog eller en engangscrawler i Python, som en LLM skriver på fem minutter), eksportér kategorierne fra shopplatformen, læs produktfeedet, pars XML-sitemapet. Som regel skal der en kombination til. Én advarsel fra erfaringen: stol aldrig på sitemapet alene. Det springer rutinemæssigt parametriske sider, filtrerede kategorivisninger og bloggen over, altså netop de steder, en gap-analyse interesserer sig for.
Lad AI holde deres sider op mod dine
Det her er trinnet, der før tog en uge. Giv begge oversigter til en LLM, en open source-model er fin, og lad den parre hver klynge af efterspørgsel hos konkurrenten med din nærmeste tilsvarende side. Parringen foregår på sideniveau, aldrig på søgeordsniveau. LLM’en spørger, om dit site har en side, der dækker samme behov som konkurrentens, ikke om du har en side med samme navn. Og finder en klynge ikke noget hjem hos dig, er svaret én landingsside til hele klyngen, ikke én side pr. søgeord i den. Du behøver ikke 100 % præcision; du har brug for rækkerne uden modstykke. Hos børnewebshoppen fortættede den uparrede efterspørgsel sig til 1.996 sider, kunden intet havde at stille op imod. Den liste er gevinsten.
Afgør, hvad hvert hul betyder, for det er her, det holder op med at være SEO
Et hul er ikke bare et hul. Produkter, du allerede sælger, men aldrig har givet en ordentlig side, skal have en landingsside. Produkter, du ikke fører, men din leverandør gør, bliver til en sortimentsliste med efterspørgsel bag sig. En konkurrents stærke, ikke-kommercielle content bliver på én gang til en content-brief og en remarketing-målgruppe. Hos børnewebshoppen faldt fordelingen ud som 1.847 kommercielle huller mod 149 content-huller, og hver bunke lander hos et andet team med et andet budget.
Parringen behøver ikke være perfekt. Det er her, folk går i stå og venter på 100 % præcision. Du har ikke brug for den. Et par forkert parrede sider koster dig ingenting; værdien ligger i de konkurrentsider, der tydeligvis står uden modstykke, og dem finder du stadig, selv med en støjende parring. Levér analysen, når den er 90 % præcis, og handl på den i stedet for at finpudse en model, der hele tiden kun var et middel til at udarbejde listen.
Semrush over for DataForSEO: hvorfor prisforskellen afgør det
Grunden til, at denne analyse gik fra »det burde vi« til »det gjorde vi«, er prisen, og det Semrush-tal, der tæller her, ligger højere end den listepris, folk plejer at nævne. Pro-planen til 139,95 $ om måneden kører et content gap-tjek i brugerfladen, i hånden, med loft på eksporten. Analysen i denne artikel er programmatisk. Ét API-kald pr. konkurrentdomæne giver op til cirka 100.000 rangerede søgeord med den landingsside, hvert enkelt rammer. Semrush giver først adgang til netop det API med Business-planen til 499,95 $ om måneden, og selv der starter du med nul API-units; dem køber du separat, groft regnet 50 $ pr. million, oven i abonnementet. DataForSEO betaler du efter forbrug. En optankning på 50 $ holder i måneder. Du betaler ikke for en brugerplads, og hele kørslen på fem domæner ovenfor kostede kun et par dollar.
| Semrush | DataForSEO | |
|---|---|---|
| Prismodel | Fast abonnement, API oveni | Kredit efter forbrug |
| Startplan for brugerfladen | 139,95 $/md. (Pro), løbende, loft på eksport | Ingen brugerplads nødvendig, kun API |
| Programmatisk adgang / API | Business 499,95 $/md. + API-units købt separat | Inkluderet, du betaler pr. kald |
| Organisk SERP, pr. 1.000 forespørgsler | Ligger i abonnementet | 0,60 $ (Regular) til 3,50 $ (Advanced, live) |
| Én enkeltstående gap-analyse | En Business-måned + units, løbende | Et par dollar i kredit |
Til en enkeltstående, dybt teknisk opgave som denne er det forskellen på at åbne et API-niveau til 500 $ om måneden og på at bruge prisen på en kop kaffe i kredit. Datakvaliteten er rigelig til formålet; på pris er der ikke noget at diskutere.
To historier fra tyve år med det her
Mekanikken er ny. De idéer, den åbner for, har jeg set virke i to årtier; de var bare for besværlige at sætte op før. Og de 149 content-huller hos børnewebshoppen venter kun på, at begge historier gentager sig.
Børnebloggen, der blev en salgskanal
En kunde i børnesegmentet blev slået på en hel type søgninger, der intet havde med produkter at gøre. Konkurrenten drev en stærk blog fuld af malesider og godnathistorier, med enormt søgevolumen og præcis den rigtige målgruppe: forældre. Gap-analysen afdækkede hele klyngen. Kunden overtog strategien, byggede indholdet, hentede trafikken, lagde de besøgende i remarketing og lavede et »ikke-kommercielt« content-hul om til køb. (Anonymiseret.)
Opskrifter til en kostform, der sælger måltidskasser
En virksomhed med måltidskasser og coaching lå lige op ad en kategori med to smukke egenskaber. Opskriftsøgninger har ekstremt søgevolumen, og klikkene koster øre. De strategiske konkurrenter havde bygget strukturerede opskriftssektioner og hentede dermed en strøm af mennesker ind, der per definition gerne ville spise bedre. Derfra er der kort til et produkt eller et coachingtilbud. Det var først gap-analysen, der gjorde muligheden synlig og satte tal på den. (Anonymiseret.)
Det trick, ingen bruger: lån fra et stærkere marked
Her er den vinkel, der forvandler det her fra et defensivt tjek til en urimelig fordel.
Lad os sige, du er førende på et lille marked uden seriøs konkurrence at lære af. Gap-analysen derhjemme giver ikke noget brugbart; der er ingen foran dig at kopiere. Så lav den ikke derhjemme. Lav præcis den samme analyse på det udenlandske marked, der er stærkest og har den hårdeste konkurrence i din kategori.
Sproget er ingen barriere. LLM’en lægger deres kategorier og content op mod dine, uanset hvilket sprog de er skrevet på. Du henter de strategier hjem, som lederne på et modent marked for længst har bevist: kategoristrukturer, content-vinkler, sortimentsidéer, og du henter dem ind på et marked, hvor bogstaveligt talt ingen gør det endnu. Du bliver first mover derhjemme ved at skrive fremtiden af fra udlandet. Det spiller fint sammen med en fuld markedsudvidelsesanalyse, når du skal afgøre, hvor det stærkere marked ligger.
Hvorfor det lukker cirklen
Læg mærke til, hvad der skete hos børnewebshoppen. Vi begyndte med en pænt afgrænset SEO-opgave, at finde content-huller, og resultatet skvulpede over i sortimentsbeslutninger, betalte kampagner, remarketing-målgrupper og content-strategi. Det er ikke scope creep. Sådan ser arbejdet i virkeligheden ud.
Dataene har altid kunnet hentes; ingen gad, fordi håndarbejdet kostede mere, end det gav. Nu koster udtrækket et par dollar, og parringen kører natten over. Tilbage som den knappe ingrediens står det, der altid var knapt: idéen. Erfaringen til at se på et gap-kort og vide, at en konkurrents blog med malesider i virkeligheden er en remarketing-kanal, og bredden til at forbinde SEO, paid og sortiment i ét hoved.
Udførelsen er blevet let. Dømmekraften er arbejdet.
Hent den komplette instruktion til din AI
Hele metoden ovenfor, skrevet som en brief, du kan sætte direkte ind i Claude eller en anden dygtig kodeagent, inklusive parringsprompten og DataForSEO-kaldene. Du leverer konkurrentlisten og API-kreditten; den bygger gap-kortet til dit site. Indtast din e-mailadresse, og filen er din.
Én fil, én liste. Jeg skriver kun, når der er noget værd at læse.
FAQ
Skal jeg virkelig ikke ramme 100 % præcist?
Nej. Du leder efter de konkurrentsider, du ikke har noget modstykke til, altså rækkerne uden match. En håndfuld forkert parrede sider rykker ikke ved den liste. Kræver du perfektion her, udskyder du bare arbejdet med en liste, der for længst var god nok.
Hvorfor DataForSEO frem for Semrush?
Det handler om omkostningsstrukturen og om, hvilken dør API’et ligger bag. Semrushs content gap-værktøjer ligger i brugerfladen på Pro-planen til 139,95 $ om måneden; det programmatiske udtræk, denne artikel bruger, kræver Business-planen til 499,95 $ om måneden plus API-units, du køber oveni. DataForSEO betaler du efter forbrug, fra en kredit på 50 $, der holder i måneder, til 0,60 til 3,50 $ pr. 1.000 SERP-forespørgsler. Til et enkeltstående teknisk udtræk er det et par dollar mod et løbende Business-abonnement.
Hvordan vælger jeg, hvilke konkurrenter jeg skal analysere?
Ud fra tre signaler tilsammen: hvem der dukker op i paid og organisk på dine vigtigste søgninger (via DataForSEO), hvem der overlapper med dig i Google Ads Auction Insights, og hvem der deler flest søgeord med dig i værktøjernes data. Fællesmængden er dit reelle konkurrentfelt, og det er sjældent de brands, du selv ville have nævnt.
Er det her ikke bare SEO?
Det ligner SEO, og det er det ikke. I kørslen fra denne artikel var 1.847 huller manglende landingssider og 149 manglende emner. Hullerne fordeler sig på sidestruktur (SEO), produkter du burde føre (sortiment), målgrupper der er remarketing værd (paid) og emner der er værd at skrive om (content). Analysen er den samme, men opgaverne lander hos fire forskellige teams.
Virker det virkelig på tværs af sprog og markeder?
Ja, og der bliver det endda stærkest. LLM’en parrer sider efter hensigt og ikke efter ordlyd, så den lægger en udenlandsk konkurrents kategorier fint op mod dine. Har du ingen konkurrence at lære af på hjemmemarkedet, så kør analysen på et stærkere udenlandsk marked og hent det hjem, der virker.
Mit sitemap indeholder alle mine sider. Er det ikke nok?
Nej. Sitemaps springer rutinemæssigt parametriske URL’er, filtrerede kategorivisninger og dele af bloggen over, og det er præcis der, hullerne sidder. Byg kortet over dine egne sider af et crawl, produktfeedet og en kategorieksport, og brug sitemapet som én kilde blandt flere, ikke som sandheden.
CTA: Nysgerrig efter, hvad din stærkeste konkurrent rangerer på, og du ikke gør? Så henter vi gap-kortet frem.