SEO tools

Handige software voor zoekmachineoptimalisatie

Ik gebruik veel SEO tools die bekend zijn in de markt. Af en toe vind ik het leuk en handig om zelf een klein tooltje in elkaar te zetten. Je vind ze hieronder. Voel je vrij om ze te gebruiken zo vaak je wilt!

Inhoud

Search intent tool

Om de zoekintentie van een bezoeker te achterhalen heb ik samen met een developer de search intent tool TermSniper gemaakt. Deze kun je op een aparte website vinden. 

De tool achterhaalt de user of keyword intentie en is hiermee uniek. Zo ontdek je wat voor soort content je moet produceren. Dit is een van de belangrijkste ranking-factoren in Google.

Je kunt er 5 keer gratis een analyse doen voor een specifieke zoekterm die je hebt.

SERP export bookmarklet

De tweede tool is een heel eenvoudige: een bookmarklet in Javascript die de SERP van Google exporteert naar een overzichtelijk CSV-bestand.

Deze kun je nu zelf opslaan door eerst de onderstaande code te kopiëren. Maak vervolgens een nieuwe bookmark aan en plak de code waar je normaal de link ziet.

Ga vervolgens naar Google, zoek iets en klik op die bookmark. Het CSV-bestand dan belandt automatisch in je Downloads-folder. In deze video leg ik het ook uit.

				
					javascript:(() => %7B        'use strict';        const isDev = !true;        const EOL = '%5Cn';        const FIELD_SEPARATOR = ',';        const UTF8_BOM = Uint8Array.from(%5B 0xEF, 0xBB, 0xBF %5D);        const CSV_HEADER = 'Position,Website,Page Title,Description,Source';        const FILENAME = 'SERP Export door Hey Rene';        const l = console.log;        const nl = console.log.bind(null, '');        if (location.hostname !== 'www.google.nl') %7B          alert('Google.nl page is required!');          return;        %7D        const query = document.querySelector('%5Bname=q%5D').value;        l(query);        if (document.querySelector('%23search') === null) %7B          alert('Too early!');          return;        %7D        /* scrape results */        const results = %5B%5D;        let num = 0;        document.querySelectorAll('h3.LC20lb').forEach(function(titleElem) %7B          nl();  nl();  l(titleElem);          if (titleElem.closest('%5Bdata-q%5D')) %7B            l('skip "People also ask" block');            return;          %7D          if (isDev) %7B            titleElem.style.border = '2px solid green';          %7D          const contentDiv = titleElem.closest('.srKDX, .N54PNb, .tF2Cxc, .PmEWq');          l(contentDiv);          const result = %7B            position: ++num,            url: contentDiv.querySelector('a').href,            title: titleElem.textContent,          %7D;          let descDiv = contentDiv.querySelector('%5Bdata-snf=nke7rc%5D, %5Bdata-snf=qNNggc%5D, .IsZvec, .fzUZNc, %5Bdata-snf=jJxsYb%5D');          l(descDiv);          result.desc = descDiv.textContent;          if (isDev) %7B            descDiv.style.border = '2px solid magenta';          %7D          l(result);          results.push(result);        %7D);        if (results.length === 0) %7B          alert('Zero results!');          return;        %7D        console.table(results);        if (isDev) %7B          return;        %7D        /* convert to CSV */        const csvData = %5B CSV_HEADER %5D.concat(results.map(result => %5B result.position,                                                                      sanitizeStrToCSV(result.url),                                                                      sanitizeStrToCSV(result.title),                                                                      sanitizeStrToCSV(result.desc),                                                                      sanitizeStrToCSV(query),                                                                    %5D.join(FIELD_SEPARATOR))).join(EOL);        l(csvData);        /* save file */        const a = document.createElement('a');        a.download = FILENAME;        a.href = URL.createObjectURL(new Blob(%5B UTF8_BOM, csvData %5D, %7B          type: 'text/csv',        %7D));        a.click();        URL.revokeObjectURL(a.href);        function sanitizeStrToCSV(str) %7B          if (!str) %7B            return '';          %7D          if (typeof str !== 'string') %7B            str = String(str);          %7D          let isNeedQuotesAround = false;          if (/"%7C%5Cr%7C%5Cn/.test(str)) %7B            str = str.replace(/"/g, '""');            isNeedQuotesAround = true;          %7D          else if (str.includes(',')) %7B            isNeedQuotesAround = true;          %7D          if (isNeedQuotesAround) %7B            str = '"' + str + '"';          %7D          return str;        %7D      %7D)()
				
			

Content vergelijker

Deze tool heb ik gemaakt om te zien welke woorden een artikel nog mist ten opzichte van de artikelen in de top 3 of 5 zoekresultaten van Google.

Je kunt de artikelen die je wilt analyseren kopiëren vanaf een webpagina. De tool verwijdert vreemde tekens en schoont zinnen en woorden op.

Als resultaat krijg je een woordwolk waarmee je in één oogopslag ziet welke veelgebruikte woorden je mist. 

Ten slotte kun je de woordwolk kopiëren en plakken in ChatGPT. Daar vraag je aan de AI welke woorden relevant zijn aan het hoofdonderwerp. In deze video leg ik dit proces ook uit.

Word Cloud Generator

Woord dichtheid meter

Met deze woord dichtheid meter kun je de dichtheid (%) van ieder individueel woord in een artikel meten. Op deze manier kun je controleren of je bepaalde woorden niet te vaak gebruikt hebt in je artikel. Dit is een van de factoren waar Google’s spamdetectie-algoritme op let.



Resultaten: