Wie schnell ist Deine Website?

PageSpeedAnalyse per Knopfdruck – direkt aus Access.

Deine Website ist online. Schön. Aber: Wie schnell lädt sie wirklich?
Wie reaktionsschnell ist sie für echte Besucher?
Und was hält Google davon?

Diese Fragen lassen sich beantworten. Automatisch. Direkt aus Microsoft Access heraus.
Nein, Access ist nicht tot…
Ideal für dich, wenn du Domains verwaltest, Websites betreust oder regelmäßig prüfst, ob Dienstleister liefern, was sie versprechen.

Hier zeige ich dir, wie du mit ein paar Zeilen VBA direkt auf die Google PageSpeed Insights API zugreifst – und die wichtigsten Kennzahlen pro Domain automatisiert abfragen kannst. Klingt nerdig? Ist es auch. Aber nützlich.

Was ist PageSpeed Insights?

Google bietet ein öffentliches Tool, das Webseiten analysiert – auf Basis echter und simulierter Ladezeiten.
Der Dienst heißt: PageSpeed Insights

Du gibst dort eine URL ein, z. B. https://sesoft.de, und bekommst eine detaillierte Bewertung:

  • Wie schnell ist die Seite?
  • Wo sind technische Bremsen?
  • Was sagen die echten Nutzerdaten?

Diese Analyse kannst du auch automatisieren – über die offizielle PageSpeed-API.

Welche Metriken bekommst du?

Die API liefert viele Werte. Die wichtigsten sind:

PS_Score
Gesamtbewertung von 0-100. Alles ab 90 ist gut.
Abgeleitet aus den folgenden Metriken:

LCP – Largest Contentful Paint
Wie lange dauert es, bis der größte sichtbare Inhalt (z. B. Bild oder Headline) geladen ist?

Zielwert: unter 2,5 Sekunden

CLS – Cumulative Layout Shift
Misst visuelle Sprünge beim Laden. Rutschende Texte, hüpfende Buttons.

Zielwert: unter 0,1

INP – Interaction to Next Paint
Wie reaktionsschnell ist die Seite bei Klicks oder Eingaben?

Zielwert: unter 200 ms
(Aktuell wichtigster Wert für Google, seit 2024 FID ersetzt.)

Diese drei Metriken beeinflussen nicht nur das Nutzererlebnis – sie sind auch direkte Rankingfaktoren.

Und jetzt das Beste: Automatisiert auslesen per Access-VBA

Wenn du deine Domains in einer Tabelle pflegst, kannst du die API regelmäßig automatisch aufrufen.
So hast du stets den Überblick, welche Seiten schnell sind – und welche nicht.

Was du brauchst:

  • Access (ab 2016 aufwärts)
  • Tabelle tblDomain mit dem Feld Domain
  • Felder zur Ablage der Metriken: PS_Score, LCP, CLS, INP, LastCheck, ApiError
  • kostenlosen API-Key aus der Google Cloud Console
  • einmaligen JSON-Parser: VBA-JSON von VBA-Tools

Die Prozedur:

Public Sub UpdatePageSpeedMetrics()
    Const apiKey As String = "DEIN_API_KEY"
    Const baseUrl As String = "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https://"
    
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim http As MSXML2.XMLHTTP60
    Dim json As Object, perf As Object, audits As Object
    
    Set db = CurrentDb
    Set rs = db.OpenRecordset("SELECT * FROM tblDomain WHERE Domain IS NOT NULL", dbOpenDynaset)
    Set http = New MSXML2.XMLHTTP60
    
    Do While Not rs.EOF
        On Error GoTo ApiFail
        
        Dim domain As String
        domain = Trim(rs!Domain)    ' sowas wie "sesoft.de", nur per SSL
        If Right(domain, 1) = "/" Then domain = Left(domain, Len(domain) - 1)
        
        Dim targetUrl As String
        targetUrl = baseUrl & domain & "&strategy=desktop&category=performance&key=" & apiKey
        
        http.Open "GET", targetUrl, False
        http.send
        
        If http.Status = 200 Then
            Set json = JsonConverter.ParseJson(http.responseText)
            Set perf = json("lighthouseResult")("categories")("performance")
            Set audits = json("lighthouseResult")("audits")
            
            rs.Edit
            rs!PS_Score = perf("score") * 100
            rs!LCP = Val(audits("largest-contentful-paint")("numericValue")) / 1000
            rs!CLS = Val(audits("cumulative-layout-shift")("numericValue"))
            rs!INP = Val(audits("interactive")("numericValue")) / 1000
            rs!LastCheck = Now
            rs!ApiError = Null
            rs.Update
        Else
            GoTo ApiFail
        End If
        
        Sleep 1200  ' Pause zur Vermeidung von Rate Limits
        
        rs.MoveNext
        Continue Do
        
ApiFail:
        rs.Edit
        rs!ApiError = "HTTP " & http.Status & " " & http.StatusText
        rs!LastCheck = Now
        rs.Update
        Resume Next
    Loop
    
    rs.Close
    Set rs = Nothing
    Set http = Nothing
    MsgBox "Fertig."
End Sub

Dazu gehört noch (hier als 64-Bit):

Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)

Und der Import der JSON-Bibliothek (wie oben verlinkt).

Wie kann man die Werte manuell prüfen?

Ganz einfach:

  1. Gehe auf https://pagespeed.web.dev
  2. Gib deine Domain ein
  3. Du bekommst sofort:
    • PS_Score (oben als Farbe)
    • LCP, CLS und INP unter „Metriken“
  4. Ergebnis für Desktop und Mobil prüfen (umschaltbar oben rechts)

Warum lohnt sich das?

✅ Du bekommst echte Zahlen zur Ladegeschwindigkeit
✅ Du kannst Dienstleister oder Entwickler kontrollieren
✅ Du erkennst, welche Seiten optimiert werden müssen

Wenn du regelmäßig viele Websites betreust – sei es für Kunden, für dein Unternehmen oder als SEO-Profi – dann ist diese Lösung ideal: automatisch, schnell, lokal, DSGVO-konform.

Und wie immer gilt:
„Wer misst, hat Recht.“
Oder wenigstens einen Screenshot für den Chef.

Auch bei SeSoft.de gibts noch einiges zu tun.

PS:
Wenn du möchtest, helfe ich dir beim Ausbau:

  • Erweiterung für Mobil-Werte
  • Export als PDF
  • Ergänzung um weitere Metriken

🐑 Einfach melden – der Datenschäfer hat auch ein Auge auf Deine Ladezeiten.

Schlagwörter: