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 redirect3. 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:
- Schakel de Google Search Console API in Google Cloud Platform in.
- Download uw
credentials.json-bestand. - Gebruik een wrapper-bibliotheek zoals
git+https://github.com/joshcarty/google-searchconsoleom 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.