Keywords clusteren op basis van SERP similarity met Python

Written by: Frank

Publication date: 7 maart 2024

Het clusteren van keywords blijft voor veel specialisten een taak dat tijdrovend is en in de meeste gevallen niet goed wordt gedaan. Op basis van aannames wordt vaak gekeken welke keywords in potentie bij elkaar zouden kunnen passen. Dit terwijl clusteren op basis van SERP similarity meer data gedreven is en ook geautomatiseerd kan worden. In deze blog neem ik je mee in hoe je met Python keywords kunt clusteren in bulk. Dit bespaart tijd en gaat de kwaliteit van je clusteren verbeteren.

Hoe je voorheen keyword clustert

Wanneer je begint bij het bepalen van je SEO strategie is het belangrijk dat je het zoeklandschap in kaart brengt. Middels een zoekwoordenonderzoek kun je eenvoudig achterhalen waar de behoefte van de potentiële doelgroep ligt. Je kunt bepalen waar op gezocht wordt en op welke termen het voor jou website ook relevant zou zijn om zichtbaar te zijn.

Creëren van een longlist

Je begint bij het opmaken van een longlist. Dit kun je bijvoorbeeld doen op basis van eigen inzicht (of die van de klant), Google Search Console, Keyword Planner en een externe tool zoals Ahrefs of Semrush. Je gooit al deze keywords op een grote lijst en filtert deze op basis van concurrent namen die je niet mee wilt nemen en andere irrelevante keyword.

Het creëren van een longlist is belangrijk omdat je hierin alle potentiële keywords gaat verzamelen. Deze lijst zal namelijk alleen maar korter worden verder in het proces, dien je achteraf keywords toe te voegen wat de kans met zich meebrengt dat je keyword varianten over het hooft gaat zien.

Clusteren van de keywords (dit deel gaan we automatiseren)

Vervolgens kom je uit bij veruit het meest tijdrovende deel van het zoekwoordenonderzoek, het clusteren van je longlist. Je hebt een lijst van keywords die je nu wilt gaan groeperen voordat je het om kan zetten tot een daadwerkelijk contentplan. Tijdens dit proces bepaal je welke pagina vindbaar moet gaan zijn op welke pagina’s. Om interne concurrentie te voorkomen is dit proces enorm belangrijk.

Wanneer je handmatig clustert gebeurt dit vaak op basis van intentie, je gaat handmatig keywords langs en bepaald of deze hetzelfde betekenen zodat je dezelfde pagina op deze keywords vindbaar kunt gaan maken. Het is daarom al handig om je longlist in hoofdclusters op te delen zodat je het overzicht bepaald. Ook voor het script straks is het handig om al eerder een onderscheid te maken in hoofdgroepen en deze als hoofdcluster te bestempelen.

Bij Maatwerk Online hebben we onderzocht hoeveel tijd we bezig zijn met het clusteren van keywords en met een longlist van 1.000 keywords ben je al snel 5 uur bezig (later kom ik met precieze cijfers). Daarnaast bepaal je of dat keywords bij elkaar horen op basis van intuïtie, iets wat kan als je erg bekend bent in de branche maar ook dan blijft dit een foutgevoelige methode.

Geclusterde keywords omzetten tot een contentplan

Wanneer je weet welke pagina’s geoptimaliseerd kunnen worden op welke keywords is het tijd om dit concreet te maken en om te zetten tot een contentplan. In dit contentplan geef je aan welke pagina’s geschreven moeten worden zonder dat dit voor interne concurrentie gaat zorgen.

Waarom keywords automatiseren clusteren ideaal is

Juist het clusteren van keywords automatiseren is ideaal. Het zorgt ervoor dat je data gedreven te werk kunt gaan zonder dat je de feeling van het zoeklandschap verliest. Vaak is het argument dat een mens betrokken moet blijven bij dit proces omdat je anders alsnog geen idee hebt waar de kansen liggen. Juist door de longlist zelf op te maken en het contentplan bouwen grotendeels handmatig te doen behoud je het idee dat je weet hoe het zoeklandschap eruit ziet.

Daarnaast bespaart het clusteren van keywords op deze manier enorm veel tijd. Om aan te tonen dat dit de investering waard is heb ik geanalyseerd hoeveel tijd het clusteren van keywords precies kost. Deze analyse is natuurlijk uitgevoerd op een klein groepje specialisten maar toch geeft dit een mooi beeld bij hoeveel tijd er over het clusteren van keywords heengaat. Hieruit bleek namelijk dat een gemiddeld specialist 4 uur en 52 mintuten doet over het clusteren van 1.000 keywords.

Clusteren op basis van SERP similarity

Iets wat me op het idee heeft gebracht om keywords te gaan clusteren op basis van SERP similiraty is dat dit in bulk gedaan kan worden. Je kunt een databron gebruiken om daadwerkelijk aan te tonen dat keywords bij elkaar horen. Als dit één keer kan met twee keywords kunnen zit hier dus geen limiet aan en kunnen we dit herhalend doen.

Keywords clusteren gebeurt vaak niet data gedreven

Als we handmatig keywords clusteren of dit laten doen puur door een LLM is het nadeel vaak dat dat we gebruik maken van kennis die we hebben. Het nadeel is dat dit vaak niet gebeurd op basis van wat het daadwerkelijke zoekgedrag is. Wij (mensen) of een LLM kan misschien denken dat twee keywords dezelfde zoekintentie hebben maar zeker weten doen we dit niet.

SERP similiraty is een betrouwbare databron

We kunnen SERP similarity gebruiken om te bepalen of de zoekintentie overeenkomend is. Zijn twee SERP’s overeenkomend dan is dit een signaal om deze samen te voegen. Mijn ervaring leert dat ongeveer 3 overeenkomende SERP’s de ‘sweat spot’ is om te bepalen of twee keywords genoeg overlap hebben om ze te clusteren. Soms is iets meer of minder beter maar dit is per branche afhankelijk en iets waar je eenvoudig mee kan spelen.

In sommige gevallen zal de output niet beter zijn dan dat je dit handmatig doet omdat je de kennis hebt dit zelf te doen. Maar als je dit afweegt tegenover de tijd die je bespaart met dit proces te automatiseren kun je eenvoudig deze foutmarge herstellen.

Werking van het script in makkelijke taal

Het script is gebouwd in Python en haalt letterlijk de huidige SERP data op en zet deze om in een dataset met per keyword de juiste informatie. Vervolgens vergelijkt het script de SERP informatie van twee keywords en als deze meer dan drie overeenkomende pagina’s hebben ranken dan voegt hij deze samen en clustert hij deze dus. In de output geeft die aan welke keywords bij elkaar horen en wat de score van de overlap is. Op basis hiervan kun je ook eenvoudig nog zaken herstellen. Via een Google Colab kun je het script eenvoudig gebruiken zonder dat je Python kennis nodig hebt of Python geïnstalleerd moet hebben.

Ga zelf aan de slag met het script

Het script is gratis te gebruiken via de Google Colab die ik hiervoor heb gebouwd heb. Je kunt met je eigen API van SerpAPI aan de slag om je eigen keywords te clusteren. De eerste keer zal het wat omslachtig aanvoelen maar wanneer je merkt hoeveel tijd dit in potentie kan besparen is het iets wat je er elk zoekwoordenonderzoek weer bij zal pakken. Mocht je vragen hebben of een innovatieve toevoeging spotten laat het me dan vooral weten.

About author

My career as an online marketer began broadly, but my passion for SEO eventually led me to found my own agency, Dificem, in 2019. After almost two years, I decided to further specialize in technical SEO at Bespoke Online, where I am now the point of contact for technical SEO issues. My interest in automation and AI, especially through the use of Python and ChatGPT, has greatly enhanced my work, which even gave me the opportunity to speak at BrightonSEO in 2024. In addition to my work, I am an avid traveler and marathon runner, regularly working from different countries as a digital nomad.

More about Frank

More blogs

Structured data: dé complete gids

Structured data: dé complete gids

Structured data, het meegeven van context aan een pagina zodat zoekmachines zoals Google jouw content en dus website beter gaan begrijpen. Voor veel SEO specialisten is structured data een ‘pain in the ass’ maar voor anderen, die slim inspelen op de mogelijkheden van...