Website Performance mit Google PageSpeed Insights messen
Autor: Dein Name
Einführung
Eine schnelle Ladezeit ist entscheidend für eine gute Nutzererfahrung und ein besseres SEO-Ranking. Google PageSpeed Insights bietet eine leistungsstarke Möglichkeit, die Geschwindigkeit deiner Website zu messen und Optimierungspotenziale aufzudecken. In diesem Blogpost zeige ich dir, wie du mithilfe eines Python-Skripts regelmäßig die Ladezeit deiner Website überprüfst und analysierst.
Warum ist PageSpeed wichtig?
- SEO-Vorteil: Google bevorzugt schnelle Websites in den Suchergebnissen.
- Bessere Nutzererfahrung: Schnellere Ladezeiten verringern die Absprungrate.
- Höhere Conversion-Raten: Webseiten mit niedrigen Ladezeiten haben bessere Verkaufszahlen.
Google PageSpeed Insights gibt eine Bewertung zwischen 0 und 100 und zeigt Optimierungsmöglichkeiten an. Dieses Skript ermöglicht dir eine automatisierte Überwachung der Performance über die API.
API-Schlüssel für Google PageSpeed Insights generieren
Um die Google PageSpeed API zu nutzen, benötigst du einen kostenlosen API-Schlüssel. So bekommst du ihn:
- Gehe zur Google Cloud Console: Google API Console
- Erstelle ein neues Projekt oder wähle ein bestehendes.
- Aktiviere die PageSpeed Insights API unter „APIs & Dienste“.
- Erstelle Anmeldedaten und wähle „API-Schlüssel“.
- Speichere den API-Schlüssel – du benötigst ihn für das Skript.
Nun kannst du den API-Schlüssel in das folgende Skript einfügen.
Das PageSpeed Insights Skript
Mit diesem Python-Skript kannst du die Ladezeiten deiner Websites regelmäßig überprüfen und speichern.
Installation und Ausführung
Speichere das Skript als pagespeed_checker.py
und installiere die benötigten Pakete mit:
pip install requests
Starte das Skript mit:
python3 pagespeed_checker.py
Python-Skript:
import requests
import time
import csv
import subprocess
import re
from datetime import datetime
# Liste der Webseiten
URLS = [
"https://autoprofis24.de",
"https://flexrohr24.de",
"https://hugocms.com"
]
# Dein Google PageSpeed API Key
API_KEY = "DEIN_API_KEY_HIER"
# Intervall in Sekunden (z. B. 30 Minuten)
INTERVAL = 1800
# Datei für die Speicherung der Ergebnisse
CSV_FILE = "pagespeed_results.csv"
def get_speed_index(url):
"""Ruft den Speed Index von Google PageSpeed Insights ab."""
api_url = f"https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url={url}&key={API_KEY}&strategy=mobile"
try:
response = requests.get(api_url)
response.raise_for_status()
data = response.json()
# Extrahiert den Speed Index
speed_index = data["lighthouseResult"]["audits"]["speed-index"]["numericValue"]
return round(speed_index, 2)
except Exception as e:
print(f"Fehler beim Abrufen der Daten für {url}: {e}")
return None
def run_ping(url):
"""Führt einen Ping-Test für die URL aus und berechnet den Mittelwert."""
domain = url.replace("https://", "").replace("http://", "").split("/")[0]
try:
result = subprocess.run(["ping", "-c", "4", domain], capture_output=True, text=True)
output = result.stdout
# Extrahiere die Antwortzeiten aus der Ping-Ausgabe
times = re.findall(r'time=(\d+\.\d+)', output)
if times:
times = [float(t) for t in times]
avg_ping = round(sum(times) / len(times), 2)
else:
avg_ping = None
return avg_ping
except Exception as e:
return None
def log_speed_index():
"""Misst und speichert den Speed Index regelmäßig."""
header = ["Timestamp", "URL", "Speed Index", "Avg Ping (ms)"]
# Datei-Inhalt löschen
with open(CSV_FILE, "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(header)
while True:
timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
for url in URLS:
speed_index = get_speed_index(url)
avg_ping = run_ping(url)
if speed_index is not None:
print(f"[{timestamp}] {url} - Speed Index: {speed_index}, Avg Ping: {avg_ping} ms")
# Speichern in CSV
with open(CSV_FILE, "a", newline="") as f:
writer = csv.writer(f)
writer.writerow([timestamp, url, speed_index, avg_ping])
else:
print(f"Speed Index für {url} konnte nicht abgerufen werden.")
time.sleep(INTERVAL)
if __name__ == "__main__":
log_speed_index()
Fazit
Mit diesem Skript kannst du die Performance deiner Website regelmäßig messen und Trends analysieren. Durch die Kombination aus Google PageSpeed Insights und Ping-Tests bekommst du wertvolle Daten zur Optimierung deiner Website.
- Nutze Google PageSpeed API, um Performance-Engpässe zu identifizieren.
- Speichere die Daten in einer CSV-Datei, um langfristige Trends zu erkennen.
- Optimiere Caching, Servereinstellungen und Ressourcen für bessere Ladezeiten.
Viel Erfolg bei der Verbesserung deiner Webseite!