/lesson-28

Python voor SEO: Saaie taken automatiseren

Python voor SEO-automatisering: gebruik Pandas, Requests en BeautifulSoup om statuscodes te checken, metadata te halen en Search Console-data op te vragen.

Les 28 van 3020 min lezenBijgewerkt op 27 sep 2026

Belangrijkste punten

  • Pandas, Requests, BeautifulSoup en Advertools dekken het meeste dagelijkse SEO-automatiseringswerk.
  • Een kort script controleert de statuscodes van duizenden URL’s in één keer.
  • Met de Search Console API maak je een back-up van je data, die de interface 16 maanden bewaart.
  • Pandas voegt datasets, zoals steden en inwonersaantallen, veel sneller samen dan spreadsheetzoekfuncties.

Als u duizenden pagina's beheert (zoals in een Programmatic SEO-project) of enorme datasets analyseert, zal Excel uiteindelijk crashen. Python is de industriestandaard om deze limieten te overwinnen. Hiermee kunt u repetitieve taken automatiseren, verbinding maken met API's en miljoenen rijen gegevens in seconden analyseren.

U hoeft geen software-ingenieur te zijn om Python voor SEO te gebruiken. U hoeft slechts een paar specifieke bibliotheken te kennen om uren handwerk te vervangen door één script.

1. De SEO Python-stack

Hoewel Python duizenden bibliotheken heeft, gebruiken SEO-professionals voornamelijk deze vier:

  • Pandas: De "Excel Moordenaar". Hiermee kunt u gegevenstabellen (DataFrames) met miljoenen rijen direct manipuleren.
  • Requests: Hiermee kan uw script webpagina's bezoeken, net als een browser, om statuscodes te controleren of HTML te downloaden.
  • BeautifulSoup: Een parser die HTML-code leest en u specifieke elementen (zoals H1-tags, metabeschrijvingen of prijzen) laat extraheren.
  • Advertools: Een gespecialiseerde SEO-bibliotheek gemaakt voor het analyseren van SERP's, het crawlen van sites en het beheren van GSC-gegevens.

2. Praktische use-case: De "Bulk Status Checker"

Stel u voor dat u een lijst met 10.000 URL's heeft en u moet weten welke kapot zijn (404). Handmatig controleren is onmogelijk.

Hier is een eenvoudig script met de requests-bibliotheek om dit te automatiseren:

import requests
import pandas as pd

# 1. Lijst met te controleren URL's
urls = [
    "https://example.com",
    "https://example.com/broken-page",
    "https://example.com/about"
]

results = []

# 2. Loop door elke URL
for url in urls:
    try:
        response = requests.get(url, timeout=5)
        # Sla de gegevens op
        results.append({
            "URL": url,
            "Statuscode": response.status_code,
            "Redirect": response.url if response.history else "Geen redirect"
        })
    except:
        results.append({"URL": url, "Statuscode": "Fout", "Redirect": "-"})

# 3. Opslaan in een leesbare tabel (DataFrame)
df = pd.DataFrame(results)
print(df)

# Voorbeeld uitvoer:
#                            URL  Statuscode     Redirect
# 0          https://example.com          200  Geen redirect
# 1  https://example.com/broken           404  Geen redirect

3. Praktische use-case: Metagegevens extraheren (Scraping)

Als u de titeltags van de top 100-pagina's van uw concurrenten moet analyseren om patronen te vinden, kunt u BeautifulSoup gebruiken.

from bs4 import BeautifulSoup
import requests

url = "https://example.com/blog-post"
response = requests.get(url)

# Parse de HTML-inhoud
soup = BeautifulSoup(response.content, 'html.parser')

# Extraheer specifieke elementen
title = soup.title.string
h1 = soup.find('h1').text
meta_desc = soup.find('meta', attrs={'name': 'description'})['content']

print(f"Titel: {title}")
print(f"H1: {h1}")
print(f"Beschrijving: {meta_desc}")

4. Praktische use-case: Werken met API's (GSC)

In plaats van elke dag op "Exporteren" te klikken in Google Search Console (GSC), kunt u Python gebruiken om de gegevens automatisch op te halen. Dit is essentieel voor het maken van back-ups van uw gegevens, aangezien GSC slechts 16 maanden geschiedenis opslaat.

De workflow:

  1. Schakel de Google Search Console API in Google Cloud Platform in.
  2. Download uw credentials.json-bestand.
  3. Gebruik een wrapper-bibliotheek zoals git+https://github.com/joshcarty/google-searchconsole om de authenticatie te vereenvoudigen.
import searchconsole

# Authenticeren
account = searchconsole.authenticate(client_config='credentials.json')
webproperty = account['https://www.example.com/']

# Gegevens opvragen
report = webproperty.query.range('today', days=-30).dimension('query').get()

# Print Top 5 zoekopdrachten
for row in report[:5]:
    print(row.query, row.clicks, row.impressions)

5. Gegevens analyseren met Pandas

In pSEO moet u vaak datasets samenvoegen (bijv. een lijst met "Steden" samenvoegen met een lijst met "Bevolkingsgegevens"). In Excel vereist dit een trage VLOOKUP. In Python is het direct.

import pandas as pd

# Laad twee CSV-bestanden
df_cities = pd.read_csv("cities.csv") # Kolommen: [City, State]
df_stats = pd.read_csv("population.csv") # Kolommen: [City, Population]

# Voeg ze samen (VLOOKUP)
df_merged = pd.merge(df_cities, df_stats, on="City", how="left")

# Filter: Toon alleen steden met meer dan 100.000 inwoners
df_big_cities = df_merged[df_merged['Population'] > 100000]

# Exporteer naar nieuwe CSV voor uw pSEO-tool
df_big_cities.to_csv("pseo_ready_data.csv", index=False)

Conclusie

Python verandert u van een SEO-specialist in een SEO-ingenieur. Het stelt u in staat datasets te verwerken die Excel zouden laten crashen en dagelijkse controles te automatiseren die anders uren zouden duren. Aangezien u geïnteresseerd bent in Programmatic SEO, is het beheersen van pandas voor het opschonen van gegevens de enige vaardigheid met de grootste hefboomwerking die u kunt leren.

/wizard

Breng de cursus in de praktijk

pSEO Wizard leest je website en schrijft één landingspagina per zoekopdracht, met alleen feiten van je eigen website.

Maak mijn gratis pagina

Je eerste pagina is gratis. Geen creditcard nodig.