Skip to content

Alles für WordPress, Webentwicklung — und mehr

So reduzieren Sie HTTP-Anfragen in WordPress: Analyse und Optimierung

So reduzieren Sie HTTP-Anfragen in WordPress: Analyse und Optimierung

Ihre Website benötigt 4 Sekunden zum Laden, und der Besucher springt ab. Kommt Ihnen das bekannt vor?

Laut einer Google-Studie aus 2023 steigt die Absprungwahrscheinlichkeit um 32%, wenn die Ladezeit von 1 auf 3 Sekunden ansteigt. Eine der Hauptursachen für Verlangsamungen, die oft übersehen wird, sind übermäßige HTTP-Requests. Sie fallen nicht so auf wie schwere Bilder oder schlechtes Hosting, aber sie summieren sich dutzendfach und kosten in der Summe Sekunden.

Lassen Sie uns aufschlüsseln, was diese Requests sind, wie Sie sie mittels Wasserfall-Analyse in GTmetrix finden und vor allem, wie Sie ihre Anzahl reduzieren, ohne die Funktionalität Ihrer Website zu beeinträchtigen.

💡 Kurzüberblick:

  • Öffnen Sie GTmetrix, fügen Sie Ihre Website-URL ein und wechseln Sie zum Tab „Waterfall", um jeden Request mit seiner Größe und Ladezeit zu sehen
  • Filtern Sie Requests nach den Ordnern plugins und themes, um Plugins zu finden, die unnötigerweise Skripte auf allen Seiten laden
  • Gehen Sie 5 Prüfpunkte durch: unnötige Bilder, nicht zusammengeführte CSS/JS-Dateien, Plugins mit globalem Laden, schwergewichtige Plugins und fehlendes Lazy Loading
  • Führen Sie den Test nach den Änderungen erneut aus und vergleichen Sie die Anzahl der Requests vorher und nachher

Was HTTP-Requests sind und warum sie Ihre Website verlangsamen

Wenn ein Browser eine Seite öffnet, erhält er nicht auf einmal ein fertiges Bild. Er benötigt das HTML-Grundgerüst, Stylesheet-Dateien, jedes Skript, Schriftarten, Bilder, und für jedes Element sendet der Browser einen separaten HTTP-Request an den Server.

Manche Requests gehen an Ihren Server (intern: Bilder aus der Mediathek, Theme, Plugins). Andere gehen an externe Dienste (Google Analytics, YouTube-Einbettungen, Werbeskripte). Der Browser stellt sie in eine Warteschlange und lädt sie.

Der Zusammenhang ist einfach: Mehr Requests bedeuten längere Ladezeiten. Aber nicht alle Requests sind gleich. Ein winziges Tracking-Skript lädt in 20 ms, während ein nicht optimiertes 500-KB-Bild eine halbe Sekunde hängen kann. Das Ziel ist also nicht nur, „die Anzahl zu reduzieren", sondern unnötige zu entfernen und die verbleibenden leichter zu machen.

In der Praxis ist der Unterschied spürbar: Eine Portfolio-Website mit einem schlanken Theme stellt 18 Requests und öffnet sich sofort. Ein großes Nachrichtenportal wie die New York Times stellt über 200 Requests, wovon die Hälfte Werbe- und Tracking-Skripte sind. Ihre Website liegt irgendwo dazwischen, und diese Zahl lässt sich reduzieren.

Wie man HTTP-Requests analysiert: Wasserfall in GTmetrix

Der anschaulichste Weg, HTTP-Requests zu sehen, ist ein Wasserfall-Diagramm (Cascade). Es zeigt jeden Request als eigene Zeile: woher er kommt, wie schwer er ist, wann er zu laden begann und wie lange er dauerte.

Tools, die Wasserfälle darstellen können:

  • Integrierte Chrome DevTools (Tab „Netzwerk"), kostenlos, aber nur für Ihren Browser
  • GTmetrix, kostenloses Kontingent, Tests von verschiedenen Standorten, übersichtliche Oberfläche
  • Pingdom Tools, ähnlich wie GTmetrix, andere Testpunkte
  • WebPageTest, maximale Detailtiefe, aber für den Einstieg komplexer

Betrachten wir GTmetrix als Beispiel. Fügen Sie die URL ein, führen Sie den Test aus. In den Ergebnissen finden Sie den Tab Waterfall, das ist die Kaskade:

Wasserfall-Registerkarte in GTmetrix mit Gesamtzahl der Anfragen

Das Diagramm selbst sieht so aus:

Wasserfalldiagramm der HTTP-Anfragen einer Website in GTmetrix

Was die Spalten bedeuten:

  • URL, der Pfad zur Datei. Hier sehen Sie, welches Plugin oder Theme die Anfrage hinzugefügt hat
  • Domain, Ihr Server oder extern. Sie erkennen sofort, wie viel von außen geladen wird
  • Größe, das Dateigewicht. Schwere Anfragen bremsen die Ladezeit stärker aus
  • Zeitstrahl, wann die Anfrage startete und wie lange sie dauerte. Die Größe ist nicht das einzige Kriterium: Eine Datei am Anfang der Kette blockiert alles, was danach kommt

Klicken Sie auf das Suchfeld über dem Diagramm und geben Sie wp-content/plugins ein, um nur Plugin-Anfragen zu sehen. Im folgenden Beispiel fügt das Plugin Lightweight Social Fonts eine Schriftanfrage für fontello.woff mit 22,9 KB hinzu:

Anfragen nach Plugin-Ordner filtern im GTmetrix-Wasserfall

Wenn Sie nach themes filtern, sehen Sie die Theme-Anfragen. GeneratePress beispielsweise liefert nur 4 Anfragen aus, was ein guter Indikator für ein schlankes Theme ist:

HTTP-Anfragen des GeneratePress-Themes im GTmetrix-Wasserfall

Gehen Sie die Liste durch und fragen Sie sich: „Muss dieses Plugin wirklich auf jeder Seite geladen werden?" Oft ist die Antwort nein. Was Sie dagegen tun können, behandeln wir im nächsten Abschnitt.

5 Wege, um HTTP-Requests in WordPress zu reduzieren

Nach der Wasserfall-Analyse haben Sie eine Liste von Anfragen in der Hand. Nun zu den konkreten Schritten, um sie zu reduzieren.

1. Überflüssige und unvorbereitete Bilder entfernen

Jedes Bild = ein HTTP-Request. Hat eine Seite 15 Bilder und 5 davon sind dekorativ oder doppelt, sind das 5 Requests, die Sie ohne Bedeutungsverlust entfernen können. Für essenzielle Bilder gilt eine andere Regel: komprimieren und auf die Anzeigemaße zuschneiden. Ein 2500px-Bild, das in einen 700px breiten Block eingefügt wird, lädt fünfmal mehr Daten als nötig.

In der Praxis hilft eine Kombination: manuelle Durchsicht (Überflüssiges entfernen) + ein Komprimierungs-Plugin. Zu den aktuellen Optionen zählen ShortPixel, Imagify, Smush. Sie komprimieren Bilder beim Hochladen in die Mediathek und können bestehende Bilder nachkomprimieren.

2. CSS und JavaScript zusammenführen

Das Theme und jedes Plugin bringen ihre eigenen Style- und Skriptdateien mit. Bei einem aktiven Theme, 10 Plugins und ein paar externen Diensten kommen schnell 30 bis 40 separate CSS-/JS-Dateien zusammen. Jede davon erfordert einen eigenen HTTP-Request.

Die Technik heißt Konkatenierung (Zusammenführung) und geht meist mit Minifizierung einher (Entfernen von Leerzeichen und Kommentaren aus dem Code). Die meisten Performance-Plugins beherrschen beides:

  • WP Rocket, Premium-Plugin, führt CSS/JS mit wenigen Klicks zusammen und minifiziert sie
  • Autoptimize, kostenlos, ausschließlich Konkatenierung und Minifizierung

Wichtig: Gehen Sie nach dem Aktivieren der Zusammenführung Ihre wichtigsten Seiten durch und prüfen Sie, ob das Layout intakt geblieben ist. Manchmal kommt es beim Zusammenführen zu Skriptkonflikten; in diesem Fall schließen Sie die betreffende Datei von der Zusammenführung aus.

3. Plugins nur dort laden lassen, wo sie gebraucht werden

Ein Kontaktformular befindet sich nur auf der Kontaktseite. Sein CSS und JS werden aber oft auf der gesamten Website geladen, was 2 bis 3 zusätzliche Requests auf jeder Seite ohne Formular bedeutet. Contact Form 7 zum Beispiel lädt Skripte standardmäßig global.

Sofern das Plugin es zulässt, gibt es zwei Wege:

  • Ersetzen Sie es durch eine optimierte Alternative, die keine Ressourcen global lädt
  • Behalten Sie das Plugin bei, steuern Sie das Skript-Loading jedoch über Perfmatters, das einen Script-Manager bietet, mit dem Sie CSS/JS eines Plugins auf allen Seiten deaktivieren können, außer dort, wo es tatsächlich benötigt wird

Ergebnis: dieselben 2-3 Requests, aber nur auf der Kontaktseite, nicht auf der gesamten Website.

4. Schwergewichtige Plugins durch leichtere Alternativen ersetzen

Nachdem Sie den Waterfall nach plugins gefiltert haben, sehen Sie, welche Plugins die meisten Requests erzeugen. Wenn ein Plugin 8 Skripte und Styles hinzufügt, während seine Alternative mit zwei auskommt, spart der Wechsel 6 HTTP-Requests.

Beispiele für Ersetzungen aus der Praxis:

  • Revolution Slider (schwergewichtig) → ein leichter Cover-Block des Themes oder MetaSlider
  • Page Builder mit Dutzenden Skripten → der native Gutenberg-Block-Editor
  • Social Plugin mit externen API-Requests → statische Link-Icons

Prüfen Sie jedes Plugin aus der Waterfall-Liste: Wird es überhaupt genutzt? Wenn ein Plugin seit über einem Jahr nicht aktualisiert wurde oder die Funktionalität nicht benötigt wird, löschen Sie es vollständig.

5. Lazy Loading aktivieren

Lazy Loading verzögert das Laden von Bildern und Iframes, die sich unterhalb des sichtbaren Bildschirmbereichs befinden. Ein Besucher öffnet die Seite, und es lädt nur, was er sieht. Der Rest wird beim Scrollen nachgeladen.

Seit WordPress 5.5 wird das Attribut loading="lazy" automatisch zu Bildern hinzugefügt. Das ist für das Basisszenario ausreichend. Wenn Sie ein aggressiveres Lazy Loading benötigen (für Iframes, Hintergrundbilder, Videos), nutzen Sie Perfmatters, WP Rocket oder das kostenlose LazyLoad by WP Rocket.

Video: WordPress HTTP-Requests in 5 Minuten

Ein kurzes Video zum Thema, von der Diagnose bis zur Reduzierung der Requests ohne Plugins:

⁉️🤔 Häufig gestellte Fragen

Wie viele HTTP-Requests sind für WordPress normal?

Eine allgemeingültige Zahl gibt es nicht. Eine aufgeräumte Website mit einem schlanken Theme und 5-7 Plugins kommt mit 25-40 Requests aus. Eine Seite mit einem Page Builder, Werbeskripten und einem Dutzend Plugins kann 80-120 Requests erzeugen. Achten Sie nicht auf die absolute Zahl, sondern auf den Trend: Lag sie bei 90 und wurde auf 55 reduziert, ist das ein gutes Ergebnis.

Beeinträchtigen externe Requests (Google Fonts, Analytics) die Geschwindigkeit?

Ja, aber auf andere Weise. Ein externer Request zu Google Fonts fügt 1-2 Requests hinzu, die jedoch über Googles CDN laufen und schnell laden. Das Hauptproblem ist Render-Blocking: Bis die Schriftart geladen ist, zeigt der Browser möglicherweise keinen Text an. Lösung: Fonts per preload vorladen oder Schriftarten lokal hosten.

Ist es notwendig, alle CSS- und JS-Dateien in einer Datei zusammenzuführen?

Nicht immer. Das Zusammenführen aller Skripte in eine Datei ergibt einen Request, aber eine große Datei braucht länger zum Laden. Modernes HTTP/2 kann mehrere Dateien parallel laden, sodass 3-4 Dateien mit je 30 KB oft schneller laden als eine mit 120 KB. Optimalerweise führen Sie kritisches CSS zusammen (was für das Rendern des ersten Bildschirms nötig ist) und belassen nicht-kritische Skripte mit dem defer-Attribut separat.

Was tun, wenn das Layout nach dem Zusammenführen von CSS zerbricht?

Schließen Sie die problematische Datei von der Zusammenführung aus. WP Rocket und Autoptimize erlauben es, eine Skript- oder Style-URL in die Ausschlussliste aufzunehmen. Führen Sie danach den Test erneut aus. Eine Datei aus einem Pool von 15 Requests zu verlieren, ist kaum spürbar.

Kann man Requests auch ohne Plugins reduzieren?

Das ist möglich. Manuelles Deregistrieren von Skripten über functions.php gibt volle Kontrolle, erfordert aber Verständnis der WordPress-Hooks. Für die meisten Website-Betreiber ist WP Rocket oder Perfmatters einfacher und sicherer: Sie verhindern, dass Sie ein für den Betrieb kritisches Skript deaktivieren.

Zeit, Ihre Requests aufzuräumen

HTTP-Requests sind nichts, was man einmal bereinigt und dann abhakt. Installieren Sie ein neues Plugin, wechseln Sie das Theme, fügen Sie ein Werbeskript ein, und schon entstehen neue Requests. Rufen Sie alle paar Monate GTmetrix auf, öffnen Sie Waterfall und vergleichen Sie mit dem letzten Stand.

Wenn Sie gerade nicht wissen, wie viele Requests Ihre Website erzeugt, öffnen Sie GTmetrix, fügen Sie die URL ein und klicken Sie auf „Start Test". In einer Minute sehen Sie das reale Bild. Gehen Sie dann die Schritte aus diesem Artikel durch. Jeder entfernte Request bringt Ihre Website dem Ziel näher, in 1-2 Sekunden zu laden.