Perfmatters ist unter den WordPress-Optimierungs-Plugins ein schlankes und zugleich leistungsstarkes Werkzeug. Damit lassen sich unnötige Skripte und Ressourcen einfach steuern, die Ladezeit verbessern und die Serverlast minimieren. Nach über fünf Jahren Nutzung ist mein Eindruck: Es bringt mehr als nur Tempo – es macht die ganze Website stabiler und leichter zu verwalten.
Diese Website nutzt derzeit das WP Rocket Cache Plugin und Perfmatters gemeinsam. In diesem Beitrag geht es nur um Perfmatters: Ich zeige die Grundeinstellungen, die Gründe für jede Auswahl, dazu die Optimierungsergebnisse.
Inhalt
7mn read
Inhalt
7mn read
View more
Ⅰ. Das beste WordPress-Optimierungs-Plugin
WordPress-Cache-Plugins: ein Stichwort, an dem WordPress-Nutzer nie vorbeikommen. Nach der Installation eines Cache-Plugins messen die meisten mit Google PageSpeed, Chrome DevTools: Die Website wird spürbar schneller.
Mit der Zeit installiert man jedoch weitere Plugins, um das Besuchererlebnis zu verbessern oder Funktionen zu erweitern. Das Problem: Dabei sammeln sich unnötige Skripte und Ressourcen an, und oft passiert sogar das Gegenteil – die Seiten laden langsamer.
Genau das habe ich mit WP Rocket selbst erlebt. Vielleicht liegt es an meiner begrenzten Erfahrung und meinem Wissen, aber ich kam zu dem Schluss, dass kein anderes Cache-Plugin eine bessere Alternative ist.
1️⃣ Optimierungs-Plugins im Vergleich
Im Vergleich mit clearfy, Autoptimize und Asset CleanUp fiel meine Wahl auf Perfmatters: Es hat die intuitivste Oberfläche, und jede Einstellung ist ausführlich erklärt. Zusätzliches Googeln: kaum nötig.
PerfmattersMeine Wahl
Die intuitivste Oberfläche, und jede Einstellung ist ausführlich erklärt.
Bietet dieselben Funktionen, ist aber viel zu kompliziert. Nach fünf Minuten wieder gelöscht.
TrustPilot: starke 4,9 Punkte. Als ich zum ersten Mal ein WordPress-Optimierungs-Plugin ausgewählt habe, hat mich diese Bewertung zu Perfmatters gebracht.
2️⃣ Perfmatters pricing & Promo Code
Nach über fünf Jahren mit Perfmatters stellt mir Perfmatters offiziell einen Promo Code zur Verfügung.
Gib den Code auf der Bezahlseite unter [Enter a discount code] ein, dann werden 20% abgezogen.
Ⅱ. Perfmatters Grundeinstellungen – Anleitung
In WordPress werden CSS- und JS-Dateien global geladen. Deshalb landet Code oft auch auf Seiten, die ihn gar nicht nutzen – und die Website wird langsamer. Perfmatters: Es bietet alle Funktionen, die ein WordPress-Optimierungs-Plugin haben sollte – Code entfernen, Ressourcen steuern, Anfragen minimieren.
Damit sinkt die „Ressourcenverschwendung“, die ein Cache-Plugin allein nicht lösen kann, grundlegend – im Ergebnis bekommst du schnellere Ladezeiten und weniger Serverlast gleichzeitig.
Wir beginnen mit den allgemeinen Einstellungen (General) von Perfmatters und gehen dann die grundlegenden Funktionen zur Datenbank- und Asset-Optimierung durch. Den Script Manager richtest du ein, indem du aus dem Admin-Bereich die Website aufrufst – er wird später gesondert erklärt.
Perfmatters ist ein reines Optimierungs-Plugin ohne Cache-Funktion. Schon die Optimierungen im Tab „General“ können die Website-Performance deutlich verbessern.
Die eingebaute Emoji-Funktion von WordPress lädt eine eigene JavaScript-Datei (wp-emoji-release.min.js) und erzeugt damit unnötige Anfragen. Aktivierst du die Option, wird dieses Skript nicht geladen.
Normale Emojis im Beitrag zeichnet der Browser selbst, sie sind also nicht betroffen. Wenn du jedoch Emojis direkt in Header oder Footer eingefügt hast – bei manchen Themes kann es dann zu Darstellungsfehlern kommen.
XML-RPC ist unter anderem anfällig für Brute-Force-Angriffe – aktiviere die Option, um es abzuschalten. Nur wenn ein Plugin wie JetPack XML-RPC nutzt, lässt du es eingeschaltet.
Remove jQuery Migrate
Über diesen Code kommunizieren alter und neuer Code miteinander. Er wird praktisch nicht gebraucht – aktiviere die Option, um ihn zu entfernen.
Hide WP Version
Ist die WordPress-Version sichtbar, lassen sich Schwachstellen leichter finden – aktiviere die Option, um sie auszublenden.
Remove RSD Link
RSD Link: nur nötig für Clients oder mobile Apps, die sich über XML-RPC verbinden – aktiviere die Option, um ihn zu entfernen.
Remove Shortlink
Permalinks: Wer sie nutzt, braucht keine Shortlinks – aktiviere die Option, um sie zu entfernen.
Art
Beispiel
Beschreibung
Shortlink
[https://domain.com/?p=123]
Standardlink auf Basis der Beitrags-ID. Die Grundform älterer WordPress-Versionen.
Permalink
[https://domain.com/post-name/]
Für Menschen gut lesbar. Heute Standard auf den meisten Websites.
Disable RSS Feeds
Wenn du anderen Websites keine RSS-Feeds bereitstellst, aktiviere die Option, um sie abzuschalten.
Remove RSS Feed Links
Entfernt den Link nur, wenn Disable RSS Feeds aktiviert ist.
Disable Self Pingbacks
Setzt du interne Links von deiner Website auf deine Website, entstehen Self Pingbacks – aktiviere die Option, um sie abzuschalten. Pingbacks: Die dadurch entstehenden Kommentar-Backlinks bringen für SEO kaum etwas.
Disable REST API
Die REST API ist die Schnittstelle für Apps, Websites, Plugins und externe Dienste: Über sie tauschen diese Daten aus WordPress aus, und zwar im JSON-Format.
Situation
Beschreibung
✅ REST API aktiv
Ruft eine externe App oder ein Plugin [https://domain.com/wp-json/wp/v2/posts] auf, erhält sie die Liste der Blogbeiträge als JSON
⚙️ Beispiele für die REST API
Wenn eine mobile App die Beitragsliste von WordPress lädt oder externe Tools (z. B. Rank Math, Elementor) Website-Daten automatisch aktualisieren
❌ REST API deaktiviert
Zugriffe auf die obige Adresse werden blockiert, externe Anfragen abgelehnt
Bleibt sie öffentlich, kann jeder grundlegende Website-Informationen abrufen. Viele Plugins, darunter Rank Math, nutzen die REST API nur im eingeloggten Admin-Bereich.
Am sichersten ist es daher, sie nur zu deaktivieren für nicht eingeloggte Nutzer (ausgeloggt). Das bringt eher Sicherheit als Tempo.
Betreibst du die Website allein, wähle [Disable for Non-Admins]; gibt es weitere Autoren, wähle [Disable When Logged Out].
Ist Disable REST API aktiv (Logged Out), können Fehler auftreten – selbst wenn die KI-Verbindung, etwa mit Claude, genehmigt wurde.
Tritt bei der Verbindung mit Claude MCP ein Fehler auf, füge die folgende Einstellung als Code-Snippet hinzu.
Die REST API selbst bleibt aktiv; es werden nur die zugehörigen Link-Meta-Tags im Seitenkopf entfernt, um unnötige Anfragen zu vermeiden.
Disable Google Maps
Manche Themes oder Plugins laden das Google-Maps-API-Skript automatisch – auch auf Seiten ohne Karte. Ist die Option aktiv, wird dieses Skript blockiert und es gibt weniger externe Anfragen.
Enthält ein Beitrag eine Google-Karte, kannst du unter [Exclude Locations] z. B. die Beitrags-ID eintragen, damit die Karte dort nicht deaktiviert wird.
Das Skript für die Passwortstärke-Anzeige wird eigentlich nur auf den Seiten Registrierung, Passwort ändern, Profil bearbeiten geladen. Fügt ein Theme oder Plugin aber Formulare wie ein Login-Popup auf allen Seiten ein, wird [zxcvbn.min.js] global geladen.
/wp-includes/js/zxcvbn.min.js
/wp-admin/js/password-strength-meter.min.js
Aktiviere die Option – diese Datei kommt praktisch nie zum Einsatz.
Disable Comments
Nutzt deine WordPress-Website keine Kommentare, aktiviere die Option, um die Kommentarfunktion abzuschalten.
Add Blank Favicon
Eine frisch installierte WordPress-Website hat keine Datei [/favicon.ico], deshalb erscheint bei Performance-Tests ein 404-Fehler. Diese Option beseitigt ihn und ist für Theme- und Plugin-Entwickler gedacht. Nicht nötig ist sie für WordPress-Websites, die bereits ein Favicon haben.
Remove Global Styles
Seit WordPress 5.9 fügt der Core das Inline-CSS [global-styles-inline-css] automatisch in [<head>] ein. Für FSE-Themes gedacht, sind das 150–200 Zeilen Inline-CSS, doch auch bei klassischen Themes wie Kadence oder GeneratePress, die kein FSE nutzen, wird es eingefügt – das HTML wird größer und FCP/LCP verschlechtern sich leicht.
In Version 2.6.8 wurde der frühere Schalter [Separate Block Styles] zum Auswahlfeld [Block Style Behavior]. Der Standardwert [Separate Styles Inline (Default)] lädt die Styles getrennt pro Block.
WordPress hat für jeden Block (Absatz, Bild, Galerie, Button usw.) eigenes CSS. Standardmäßig wird auch das CSS ungenutzter Blöcke geladen, gebündelt in einem globalen Stylesheet. Trennt man es nach Blöcken, wird nur das CSS der Blöcke geladen, die auf der Seite vorkommen.
CSS-Menge bis zu 17% geringer
Bei manchen einseitigen Websites LCP ca. 30–50 ms besser
Die TBT (Total Blocking Time) sinkt kaum, aber das CSS-Parsing wird leichter
Art
Funktionsweise
Ergebnis beim Laden
❌ Bisher (Standard)
Lädt das CSS aller Blöcke auf einmal
Enthält viel unnötiges CSS
Block Style Behavior
Lädt nur das CSS der Blöcke auf der Seite
Etwas mehr CSS-Dateien, aber insgesamt weniger CSS
Seit WordPress-Core 6.2 offiziell unterstützt, daher machen Themes und Plugins wie Kadence, Spectra, GeneratePress keine Probleme. Hat ein Theme jedoch eine eigene CSS-Ladelogik oder eine FSE-basierte Struktur (rund um theme.json), kann es zu Stilkonflikten kommen.
Diese Funktion nutzt den Filter [should_load_separate_core_block_assets] des WordPress-Cores. Beachte, dass das CSS nicht im Head, sondern inline im Body eingefügt wird. Der W3C-Validator kann deshalb Warnungen ausgeben.
Quelle: Perfmatters-Dokumentation
Typ
Beispiel
Grund
❌ FSE-basierte Themes
Twenty Twenty-Four, Blockbase usw.
Globale Styles (theme.json) bestimmen das CSS
⚠️ Ältere Builder-Themes
Avada, WPBakery, Jupiter X usw.
Eigene CSS-Struktur und Core-CSS werden doppelt geladen
⚠️ Block-Plugins mit Legacy-CSS
Alte Ultimate Blocks, Stackable (alte Version) usw.
Gehen davon aus, dass gemeinsames Block-CSS global geladen wird
Disable Heartbeat & Revisions
Der WordPress-[Heartbeat] ist ein Signal, das prüft, ob Server und Website verbunden sind. Im Dashboard sendet er alle 15 Sekunden eine POST-Anfrage an /wp-admin/admin-ajax.php. Erlaube ihn nur beim Bearbeiten von Beiträgen und Seiten und setze das Intervall auf 60 Sekunden – das entlastet den Server.
Heartbeat
Nur Beiträge und Seiten erlauben
Bleiben die Beitragsrevisionen (Revisions) auf dem Standardwert, sammeln sie sich in der Datenbank und bremsen die Website – deshalb erlauben wir nur 3.
Das Autosave-Intervall für Beiträge liegt standardmäßig bei 1 Minute; hier stellen wir 10 Minuten ein.
Verbraucht der Server beim Schreiben im Admin-Bereich viel CPU, kann die Besucherseite langsamer werden – egal welches Cache-Plugin du nutzt. Ohne Perfmatters kannst du diese Einstellungen direkt in der wp-config.php vornehmen.
General › Login URL
1 / 2
Einstellung
Check / Uncheck
Kurzbeschreibung
Login URL einrichten
Ersetzt andere Plugins, die die Login-URL verbergen
Login-URL einrichten
Das WordPress-Dashboard liegt standardmäßig unter yourdomain.com/wp-admin – ein Sicherheitsrisiko. Statt eines anderen Plugins, das das Dashboard verbirgt, kannst du die Funktion von Perfmatters nutzen.
JavaScript Defer: Damit wird JavaScript erst ausgeführt, nachdem das HTML-Dokument geparst und angezeigt wurde. Es ist eine Funktion, die das Laden verzögert und so Render-Blocking verhindert. DOMContentLoaded wird schneller erreicht – das verbessert FCP und LCP.
Include Inline Scripts
Diese Option verzögert auch kurzen JavaScript-Code, der direkt im HTML-Dokument steht (<script>…</script>). Inline-Skripte werden oft für erste Abläufe wie Menü-Toggles gebraucht, daher bleibt die Option ohne besonderen Grund deaktiviert.
Include jQuery
Viele Plugins und Themes hängen von jQuery ab. Wird jQuery verzögert, können Teile der Website wie Menü-Toggles, Slider oder Popups kaputtgehen. Deaktiviert lassen, und nur bei Bedarf nach einem Test aktivieren.
Excluded from Deferral
Trägst du die Dateipfade von Skripten ein, die verzögert nicht richtig funktionieren (Slider, Formularprüfung, Menüs usw.), werden sie von Defer ausgenommen und sofort geladen.
Diese Option hält nach dem Laden der Seite bis zur ersten Interaktion (Scrollen, Klicken, Tippen usw.) die Ausführung von JavaScript an. Nicht notwendiges JavaScript wie Werbung, Analytics oder externe Tracking-Skripte wird aufgeschoben – das verbessert LCP (Largest Contentful Paint) und FCP.
Während [Defer] nach dem HTML-Parsing ausführt, schiebt [Delay] die Ausführung auf, bis der Nutzer etwas tut. Für Abläufe, die sofort starten müssen, etwa Autoplay oder Start-Popups, gilt: solche Skripte ausnehmen.
Delay JavaScript: Wenn du es aktivierst, empfehle ich, auch die drei Unteroptionen zu aktivieren.
Option
Empfehlung
Beschreibung
Delay Behavior
Nicht alles JS, nur „nicht notwendige Skripte“ verzögern Empfohlen: [Only Delay Specified Scripts (Default)]
Delay Timeout
Läuft nach einer gewissen Zeit automatisch, auch ohne Nutzeraktion (für Werbung/Statistik, Standard 15 Sekunden)
Disable Click Delay
Sofortige Reaktion auf Klicks (besserer INP, keine UX-Verzögerung)
Enable FastClick
Entfernt die Klickverzögerung auf Mobilgeräten (verhindert die iOS-Tippverzögerung)
Delay Behavior
Legt fest, ob nur bestimmte Skripte oder alles JavaScript verzögert wird.
Werden alle Dateien verzögert, kann es mit bestimmten Plugins oder Themes Probleme geben. Unter [Quick Exclusions] wählst du installierte Plugins und Themes aus, um sie auszunehmen. Fehlt etwas in der Liste, trägst du es direkt unter [Excluded from Delay] ein.
Delay Timeout
Auch wenn der Nutzer nichts tut (Klicken, Scrollen usw.), wird verzögertes JavaScript nach einer bestimmten Zeit automatisch ausgeführt. Standardmäßig sind 15 Sekunden eingestellt.
Im verzögerten Zustand wird JS erst geladen, wenn der Nutzer etwas anklickt, und erst danach läuft die angeklickte Aktion (Menü öffnen, Button usw.) – die Reaktion kommt also leicht verspätet. Diese Option ist eine Funktion, die diese Verzögerung beseitigt.
Situation
Standard-Delay-JS
Mit Disable Click Delay
Klick des Nutzers
Klick-Event läuft nach dem Laden von JS → leichte Verzögerung
JS läuft sofort → schnelle Reaktion auf Klicks
Enable FastClick
Mit aktivierter Verzögerung kann es passieren, dass man zweimal klicken muss – das tritt bei allen Cache- und Optimierungs-Plugins auf. Diese Option behebt das.
JavaScript › Minify
↳ JavaScript minimieren (Minify JavaScript)
Eine Funktion, die unnötige Zeichen (Leerzeichen, Zeilenumbrüche, Kommentare usw.) aus JavaScript-Dateien entfernt und so die Dateigröße minimiert. Das senkt die Übertragungsmenge und die Parsing-Zeit.
Bereits minimierte Dateien enden auf [.min.js]. Zeigt Google PageSpeed Insights oder Lighthouse die Warnung [JavaScript minimieren], aktiviere diese Option, um auch nicht minimierte Skripte zu komprimieren.
CSS › Unused
Die CSS-Einstellungen bieten zwei Wege: ungenutztes CSS entfernen und CSS minimieren.
↳ Ungenutztes CSS entfernen (Remove Unused CSS)
Eine Funktion, die CSS-Code findet und entfernt, der auf der Seite gar nicht verwendet wird. WordPress-Themes und -Plugins laden CSS-Dateien meist auf allen Seiten. Ungenutztes CSS vergrößert die Dateien und verlängert die Render-Blocking-Zeit – das schadet LCP und FCP.
Ist die Option aktiv, wird für jede Seite nur das tatsächlich benötigte CSS extrahiert. Besonders viel bringt das bei großen Themes (Elementor, Divi, Avada usw.) oder vielen Plugins. Fehlen einzelne Styles, etwa bei Slidern oder Form-Buildern, trägst du sie unter [Excluded Stylesheets] ein.
Used CSS Method
Das verwendete CSS lässt sich inline einfügen oder als separate Datei laden.
Inline (Standard): Das benötigte CSS wird direkt ins HTML-Dokument eingefügt. Ohne externe CSS-Anfrage profitieren FCP und LCP, aber das HTML jeder Seite wird größer. Empfohlen für Blog-Websites mit wenig CSS.
File: Das verwendete CSS wird als eigene .css-Datei geladen. Der Browser-Cache greift, aber es kommt eine externe Anfrage hinzu. Empfohlen für große Websites oder Builder-Seiten mit viel CSS.
Stylesheet Behavior
Die Option „Stylesheet-Verhalten“ ist die Einstellung, wie mit unnötigen CSS-Dateien umgegangen wird.
Einstellung
Funktionsweise
Merkmale
🕒Delay (Default)
Lädt Stylesheets leicht verzögert.
Standardeinstellung; läuft auf den meisten Websites stabil und hilft beim ersten Rendering (FCP·LCP).
Gib ein gängiges CDN wie KeyCDN oder Bunny CDN ein, damit CSS-Dateien über das CDN ausgeliefert werden. Cloudflare cacht alle auf DNS-Ebene übertragenen Ressourcen automatisch; daher wird es hier nicht eingetragen.
CSS › Minify
↳ CSS-Dateien minimieren (Minify CSS)
Entfernt Leerzeichen und Kommentare aus CSS-Dateien und verkleinert sie so. Wird eine Plugin-Funktion auf der Besucherseite fehlerhaft oder gar nicht angezeigt, trage die betreffende CSS-Datei hier ein.
Preloading › Preload
Eine Funktion, die Ressourcen vorab lädt und so das Rendering beschleunigt. Sie verbessert die erste Anzeige (LCP) und den Seitenwechsel und besteht aus drei Teilen: grundlegendes Vorladen, spekulatives Laden und Vorverbinden (Preconnect, DNS Prefetch).
Kategorie
Auswirkung auf die Serverlast
Auswirkung auf Core Web Vitals (LCP / FCP / TTFB)
Preload
🔸 leicht erhöht
✅ LCP besser / ⚠️ TTFB unverändert
Speculative Loading
🔺 mittel bis hoch
⚡ LCP·FCP der nächsten Seite besser / ⛔ kaum Einfluss auf die aktuelle Seite
Preconnect
🔹 sehr gering
✅ FCP·LCP besser (kürzere Verbindungszeit zu externen Ressourcen)
DNS Prefetch
⚪ kaum
⚪ minimal bessere FCP möglich (indirekt)
Preload Critical Images
Lädt wichtige Bilder vorab und verkürzt so die LCP-Zeit (Largest Contentful Paint).
Chrome behandelt vorgeladene Bilder höchstens zwei mit hoher Priorität, daher nur 2–3 festlegen. Zu viele belasten den Server, und weil Bilder vor dem CSS erscheinen, kann sich der CLS-Wert (Cumulative Layout Shift) verschlechtern.
Preload
Lädt Ressourcen wie Schriften vorab und verbessert so Largest Contentful Paint(LCP).
Welche Ressourcen in Frage kommen, findest du in Google PageSpeed oder im Netzwerk-Tab der Chrome DevTools. Werden zu viele Ressourcen vorgeladen, kann die Total Blocking Time (TBT) steigen.
Cloudflare Early Hints
Early Hints(HTTP 103): eine Funktion, mit der der Browser Ressourcen lädt, bevor der Server das HTML fertig erzeugt hat. Ähnlich wie Preload, setzt aber noch früher an. Nutzt du Cloudflare, aktiviere die Option.
Fetch Priority ist das HTML-Attribut, mit dem du festlegst, in welcher Reihenfolge der Browser Ressourcen lädt, z. B. [<img fetchpriority="”high”">] oder [“low”]. Preload ist verpflichtend, Fetch Priority eine Empfehlung: Der Browser hat also Spielraum.
Bildklassen werden meist mit Bindestrich (-) oder Unterstrich (_) getrennt. Zeigen die Chrome DevTools sie ohne Bindestrich an, gib sie genau so ein.
Disable Core Fetch
Seit WordPress 6.3 versieht der Core das oberste Bild automatisch mit dem Attribut [<img fetchpriority="”high”">], erkennt aber nicht immer das tatsächliche LCP-Element (größter Inhalt). Ist diese Option aktiv, wird die automatische Einstellung des Cores unterbunden, und es gilt nur der fetchpriority-Wert, den du in Perfmatters festlegst.
Preloading › Speculative Loading
Speculative Loading unterstützt vier Modi: Auto (Default), Prefetch, Prerender und Disabled. Für die drei Modi außer Disabled wählst du zusätzlich eine Stufe: Auto (Standard), Conservative, Moderate oder Eager.
Modus
Beschreibung
Merkmale
Auto (Default)
Der WordPress-Core steuert Speculative Loading automatisch
Läuft standardmäßig auf Conservative-Niveau, stabil
Prefetch
Lädt die Ressourcen der nächsten Seite vorab herunter (ohne Rendering)
Geringe Last, bringt Tempo
Prerender
Rendert die verlinkte Seite vorab im Hintergrund
Schnellster Seitenwechsel, aber hohe Serverlast
Disabled
Schaltet Speculative Loading komplett ab
Entfernt allen zugehörigen Code; geeignet für langsame Server oder Shared Hosting
Speculative Loading
└─ Modus: Auto(Default),Prefetch,Eagerness
├─ Eagerness-Einstellung
│ ├─ Auto (Standard)
│ ├─ Conservative
│ ├─ Moderate
│ └─ Eager
│
└─ Disabled
Eagerness-Stufe
Beschreibung
Merkmale
Auto (Standard)
Der WordPress-Core wählt automatisch eine passende Stufe
Läuft standardmäßig auf Conservative-Niveau
Conservative
Lädt erst vor, wenn die Klickabsicht eindeutig ist
Am stabilsten, spart Ressourcen
Moderate
Lädt beim Mouse-Hover (ca. 200 ms) vor
Gute Balance aus Tempo und Effizienz
Eager
Lädt auch bei schwachen Signalen sofort vor
Am schnellsten, aber hoher Ressourcenverbrauch
Berücksichtige bei der Einstellung, dass dies viel Server-CPU verbrauchen oder die Website insgesamt bremsen kann.
Das [Link-Preloading] (Instant Page / Prefetch) eines Cache-Plugins lädt eine Seite vorab, sobald die Maus über einem Link schwebt. Speculative Loading arbeitet für den Server effizienter – nutze also nur eines von beiden, und wenn du Speculative Loading verwendest, schalte das Link-Preloading im Cache-Plugin ab.
Art
Instant Page(Prefetch)
Speculative Loading
Technik
Per JavaScript wird beim Hover über ein [<a>]-Tag vorab per fetch geladen
Basiert auf der nativen Speculation Rules API des Browsers
Zeitpunkt
Wenn der Nutzer mit der Maus über einen Link fährt
Der Browser sagt die „Wahrscheinlichkeit eines Seitenwechsels“ automatisch voraus (Hover, Klick, Touch und weitere Signale)
Optimierung auf Netzwerk- und Rendering-Ebene im Browser
WordPress Integration
Basiert auf externem Skript (instant.page)
Im WordPress-6.8-Core integriert
Effizienz
Schnell, aber nicht vom Browser steuerbar
Schneller und stabiler, spart Ressourcen
Preloading › Connection
Eine Funktion, die vor der Anfrage externer Ressourcen die Netzwerkverbindung vorbereitet.
Kategorie
Beschreibung
Preconnect
Baut Netzwerkverbindungen zu externen Ressourcen (Schriften, CDN, Analytics-Skripte usw.) vorab auf. Der Browser stellt die Verbindung schon vor der HTTP-Anfrage her und spart so Roundtrip-Zeit.
DNS Prefetch
Löst den Domainnamen auf, bevor der Nutzer klickt – wenn du die DNS-Auflösung noch etwas beschleunigen willst.
Preconnect für alle Einträge zu nutzen belastet die Serverressourcen – lege daher nur etwa 2–3 fest.
//encrypted-tbn1.gstatic.com
//encrypted-tbn2.gstatic.com
//ep1.adtrafficquality.google
//fundingchoicesmessages.google.com
//pagead2.googlesyndication.com
//tpc.googlesyndication.com
//www.googleadservices.com
//googleads.g.doubleclick.net
//www.google.co.kr
//www.googletagservices.com
//www.youtube.com
//analytics.google.com
//www.google-analytics.com
Die meisten Cache-Plugins haben Preconnect / Prefetch bereits an Bord – nutzt du Perfmatters zusammen mit einem Cache-Plugin, schalte diese beiden Funktionen hier ab.
Preconnect/DNS Prefetch
verwenden
Perfmatters: allein im Einsatz
Zusammen mit einem Cache-Plugin
Lazy Loading › Images
Preload betrifft Dateien, die sofort sichtbar sind; Lazy Load betrifft Bilder, die erst nach dem Scrollen erscheinen. Das Laden wird verzögert, bis der Nutzer nach unten scrollt und das Bild wirklich sehen muss.
Da die von Google PageSpeed empfohlene Methode [Bilder außerhalb des sichtbaren Bereichs aufschieben] umgesetzt wird, hat das keine Auswirkung auf SEO.
Images
Preload Critical Images lädt die beiden oberen Bilder bereits vorab und nimmt sie automatisch vom Lazy Load aus. Stellst du zusätzlich Exclude Leading Images ein, werden sie doppelt verarbeitet und Ressourcen verschwendet.
Lazy Loading gilt nicht für Hintergrundbilder.
iFrames and Videos
Verzögert das Laden von iFrames und Videos – gilt für eingebettete Inhalte wie YouTube, Vimeo, SoundCloud oder Google Maps und für Videos im [<video>]-Tag.
Hast du YouTube-Videos, aktiviere die Vorschaubild-Funktion. Statt des eigentlichen iFrames zeigt sie ein leichtes Vorschaubild und ein SVG-Play-Icon; das iFrame lädt erst beim Klick. So sinkt die TBT (Total Blocking Time).
Exclude from Lazy Loading
Verzögerst du Bilder, die beim Öffnen der Seite sofort sichtbar sein müssen, etwa Beitragsbild oder Logo, dann wirkt der Bildschirm leer oder flackert. Gehört das Bild zum LCP, wird außerdem der Wert schlechter. Gib für das auszuschließende Bild den Dateipfad (example.png) oder den Klassennamen (class=”example”) ein.
Nutzt du das GeneratePress-Theme, trage zum Ausschließen des Logos die Klasse [is-logo-image] ein.
Um das Beitragsbild (Thumbnail) von Blogbeiträgen auszuschließen, trage die Klasse [class=”attachment-full size-full”] ein.
ShortPixel/ Imagify: Nutzt du ein solches Plugin für WebP-Bilder, werden Bilder im [<picture>]-Tag ausgegeben. Trägst du das ganze Tag ein, werden alle Bilder der Website ausgenommen – gib daher möglichst eine bestimmte Klasse oder einen Pfad an.
picture
.is-logo-image
.featured-image
/uploads/header/
Exclude by Parent Selector
Haben Bild-Tags keine eigene Klasse, etwa bei Beitragsbildern oder Galerien, kannst du sie über die Klasse des übergeordneten Containers ausnehmen.
Sieht der übergeordnete Selektor zum Beispiel so aus,
<div class=”featured-gallery”>
<img src=”image1.jpg”>
</div>
gibst du Folgendes ein.
featured-gallery
Threshold
Stellt den Schwellenwert (Threshold) ein, damit Bilder kurz vor dem Erscheinen im Bildschirm vorab geladen werden.
Der Standardwert ist 0px. Damit Bilder beim Scrollen nicht so abrupt erscheinen, setze ihn auf 100px oder 200px – also leicht erhöhen. Websites mit vielen Werbeskripten wie Mediavine oder AdThrive stellen mindestens 300px ein.
DOM Monitoring
Erkennt neue Elemente, die zur Seite hinzugefügt werden, und behandelt neu hinzugefügte Bilder, iFrames usw. automatisch mit LazyLoad. Nötig ist das bei Websites mit dynamischen Inhalten, etwa mit Tabs, Infinite Scroll, Slidern oder AJAX-Paginierung.
DOMContentLoaded: der Zeitpunkt, an dem das erste DOM fertig ist. DOM Monitoring erkennt die Änderungen danach.
Add Image Dimensions
Ergänzt fehlende Breiten- und Höhenangaben bei Bildern.
Fade In
Eine visuelle Ergänzung, die das plötzliche Erscheinen von Bildern durch einen sanften Übergang ersetzt.
⚙️Empfohlene Lazy-Loading-Einstellungen
Die im Abschnitt Lazy Loading beschriebenen Empfehlungen im Überblick:
Option
Empfehlung
Beschreibung
Images
Lazy Load für alle Bilder
Exclude Leading Images
⚙️ 0 (Default)
Ist bei Preload eine Bildanzahl gesetzt, 0 lassen
iFrames and Videos
YouTube- und eingebettete Videos verzögert laden
YouTube Preview Thumbnails
Nur das Thumbnail lädt zuerst, das Video erst beim Klick
Exclude from Lazy Loading
⛔ leer lassen
Nur bei Bedarf bestimmte Dateien manuell eintragen
Exclude by Parent Selector
⛔ leer lassen
Nur bei Bedarf bestimmte Container manuell eintragen
Threshold
📏 300
Beginnt mit dem Vorladen nahe dem Viewport
DOM Monitoring
Lazy Load bleibt bei dynamischen DOM-Änderungen aktiv
Add Image Dimensions
Verhindert CLS (ergänzt width/height automatisch)
Fade In
Sanftes Einblenden (bessere UX)
Lazy Loading › CSS Background Images
CSS Background Images
Hintergrundbilder in CSS-Stylesheets lassen sich verzögert laden.
Trage unter Background Selectors die ID oder Klasse des Containers ein, der das Hintergrundbild enthält, oder die des übergeordneten Containers – ohne Präfix ([.], [#]) und eine pro Zeile.
Exclude Leading nimmt ab dem ersten geladenen Element eine bestimmte Anzahl von Hintergrundbild-Containern vom Lazy Load aus. Nutzt du viele Hintergrundbilder, verwende Exclude Leading.
Option
Empfehlung
Beschreibung
Background Images
Lädt das CSS-Attribut [background-image:] verzögert (z. B. Hintergrund im Hero-Bereich).
Background Selectors
⛔ leer lassen
Nur eintragen, wenn du eine bestimmte Hintergrundklasse (.div-background-class) festlegst
Exclude Leading
⚙️ 0 (Default)
Das erste Hintergrundbild lädt sofort (z. B. Haupt-Hero)
Lazy Loading › Lazy Elements
Lazy Elements
Aktiviert das verzögerte Laden von Elementen im DOM.
Das DOM (Document Object Model) ist die Baumstruktur der Elemente, die der Browser aus dem HTML-Dokument erstellt. Je größer sie ist, desto höher sind Speicherverbrauch, Zeit für die Style-Berechnung, Aufwand für Layout-Neuberechnung (Reflow) insgesamt.
Art
Anzahl der Knoten im body
Status
Normal
bis 800
🟢 Normal
Warnung
mehr als ca. 800
🟠 Achtung
Fehler
mehr als ca. 1.400
🔴 Warnung
Die meisten Cache-Plugins haben diese Funktion nicht – aktiviere sie also auch zusammen mit einem Cache-Plugin. Du kannst auch bestimmte Elemente und übergeordnete Container festlegen.
Option
Empfehlung
Beschreibung
Elements
Lazy Load für HTML-Elemente selbst (kleineres DOM, weniger Last beim ersten Rendering)
Element Selectors
⛔ leer lassen
Nur eintragen, wenn nur bestimmte Container oder Abschnitte verzögert geladen werden sollen
Fonts
Im Tab Fonts geht es im Kern darum, ob du Google Fonts lokal einbindest oder Google Fonts abschaltest.
Local Google Fonts vs. Google Fonts deaktivieren
Local Google Fonts
Nutzt du Local Google Fonts, deaktiviere die entsprechende Funktion in anderen Themes oder Cache-Plugins.
Google Fonts deaktivieren
Hostest du Google Fonts lokal, werden sie nicht extern (von Google-Servern) geladen, sondern lokal auf der Website gespeichert und direkt ausgeliefert. Das senkt die Netzwerkanfragen und verbessert die LCP merklich.
Google Fonts deaktivieren: Google Fonts werden komplett blockiert, stattdessen erscheinen Browser-Standardschriften (z. B. Arial, Helvetica, sans-serif). So gibt es die wenigsten Netzwerkanfragen, aber das Design kann uneinheitlich werden.
Display Swap
Noch bevor die Webschrift geladen ist, zeigt der Browser den Text zuerst in einer Systemschrift an. So können Nutzer den Inhalt sofort lesen – das verbessert LCP-Wert und gefühltes Tempo. Auf CLS hat das keinen Einfluss.
Print Method
Lokale Stylesheets werden standardmäßig als Datei (File) ausgegeben. Stellst du auf Inline um, wird das CSS direkt ins HTML eingefügt – das hilft, Render-Blocking zu verringern und FCP sowie LCP zu verbessern. Dafür wird die Seite etwas größer.
Limit Subsets
Lädt nur die benötigten Zeichensätze und verkleinert so die Schriftdateien. Zeichen nicht ausgewählter Sprachen werden eventuell nicht angezeigt. Üblich ist es daher, zu Latin (Default) die eigene Landessprache hinzuzufügen.
Nutzt du ein mehrsprachiges Plugin, ist ein Cache-Plugin die bessere Wahl, das alle Google Fonts und Display Swap-Einstellungen im Cache verarbeitet.
CDN URL
Nutzt du statt Cloudflare ein gewöhnliches CDN, kannst du hier die URL eintragen und die lokalen Schriften über das CDN ausliefern.
Lokale Schriften löschen
Löscht die lokalen Schriften – wenn du das Theme gewechselt, andere Schriften gewählt oder im Cache-Plugin andere Schriften ausgewählt hast.
⤵️ Empfohlene Fonts-Einstellungen
Kategorie
Empfehlung
Beschreibung
Local Google Fonts
Google Fonts werden nicht extern (von Google-Servern) geladen, sondern lokal auf der Website gespeichert und direkt ausgeliefert. Weniger Netzwerkanfragen und eine kürzere Schrift-Ladezeit helfen bei der LCP-Verbesserung.
Display Swap
Zeigt vor dem Laden der Webschrift zuerst eine Systemschrift an und verringert so das Text-Flackern (FOUT) deutlich.Bessere LCP und gefühlte Ladezeit; auf CLS kein Einfluss.
Print Method
Standard ist File; bei Inline wird das CSS ins HTML eingefügt – so wird Render-Blocking minimiert und FCP/LCP verbessert. Das HTML kann dabei etwas größer werden.
Limit Subsets
Lädt nur die benötigten Zeichensätze, verkleinert die Schriftdateien und beschleunigt das Laden. Beispiel: [Latin(Default)] + [Korean] wählen. Deutsch und Spanisch sind in Latin enthalten, mehr ist nicht nötig. Indische Sprachen brauchen ein eigenes Subset (z. B. Devanagari). Auch mit einem Mehrsprachigkeits-Plugin wird Beibehalten empfohlen.
CDN URL
⚙️ Optional
Nutzt du außer Cloudflare ein eigenes CDN, kannst du den Pfad angeben. Normalerweise leer lassen.
Clear Local Fonts
🔁 Bei Bedarf ausführen
Bei Theme-Wechsel, Schriftwechsel oder Wechsel des Cache-Plugins werden die vorhandenen lokalen Schriften gelöscht und ein neuer Cache erstellt.
Google Fonts deaktivieren
Blockierst du Google Fonts komplett, fallen externe Anfragen weg, aber alle vom Theme festgelegten Schriften verschwinden und werden durch Standardschriften (z. B. Arial) ersetzt. Weil das Design uneinheitlich werden kann, empfiehlt sich: bei Local Google Fonts deaktiviert lassen.
CDN
CDN URL Rewrite: Gib nacheinander die URL ein und füge die einzubeziehenden Verzeichnisse hinzu. Mit den beiden Einträgen wp-content und wp-includes werden alle Bilder, CSS, JS und Schriften über das CDN ausgeliefert; Dateien, die du ausnehmen willst, kannst du vom CDN ausschließen.
Analytics
Google Analytics anbinden kannst du etwa mit dem von Google entwickelten Site Kit. Doch schon ein Test mit Google PageSpeed Insights nach der Installation von Site Kit zeigt spürbare Leistungseinbußen. Wenn du Google Analytics mit lokaler Einbindung schneller anbinden willst, aktiviere diese Funktion.
Wird Google Analytics doppelt eingerichtet, also hier und in Site Kit oder SEO-Plugins wie Yoast und RankMath, entstehen statt einer zwei HTTP-Anfragen. Nutze es daher nur an einer Stelle.
Code › Snippets
Hier hinterlegst du PHP-, CSS-, JS- und HTML-Codeschnipsel und schaltest sie ein oder aus. Neue fügst du mit [New Snippet] hinzu.
Das Snippet gegen Verbindungsfehler mit Claude MCP richtest du so ein:
<> Code
All Snippets / MCP REST API exception
ActiveSave Snippet④
Name②
MCP REST API exception
Location
Everywhere⌄
Type
PHPJSCSSHTML
Code③
<?php
1// Let WP Rocket MCP (OAuth) requests through the Perfmatters REST API restriction
②Gib einen Namen ein und lass [Location] auf [Everywhere] und [Type] auf [PHP].
③Kopiere den Code mit [Copy] auf diesem Bildschirm und füge ihn im Codefeld unter der Zeile [<?php] ein.
④Stelle den Schalter auf [Active] und klicke auf [Save Snippet].
Code › Global Scripts
Hier trägst du Code ein, der in header, body oder footer der ganzen Website landen soll – etwa Analytics- oder Verifizierungs-Tags, die auf jeder Seite stehen müssen.
Code › Settings
Hier gibt es Import/Export von Snippets, das Editor-Theme und den Safe Mode. Lässt sich die Website wegen eines Snippets nicht mehr öffnen, kannst du es über die Recovery URL abschalten.
Tools › Plugin
Die übrigen Funktionen im Tab Tools sind optional und mit dem Bild unten gut verständlich. Zu aktivieren sind zwei Dinge: der Script Manager und die erweiterten Optionen der bisher erklärten Einstellungen.
Tools › Settings
Database
Bietet dein Cache-Plugin keine Datenbankoptimierung, kannst du die Funktion von Perfmatters nutzen – nimm einfach die Lösung, die dir bequemer ist.
Ⅲ. So nutzt du den Perfmatters Script Manager
Den Script Manager von Perfmatters nutzt du, nachdem du im Admin-Dashboard auf „Website aufrufen“ geklickt hast. Je nach Theme und Plugins sieht der Admin-Bildschirm anders aus. Unnötige Skripte kannst du am jeweiligen Eintrag per Schalter deaktivieren, sodass sie nicht geladen werden.
Lässt du zum Beispiel die Dashicons, die man in den allgemeinen Einstellungen abschalten könnte, aktiv und willst sie nur auf bestimmten Seiten deaktivieren, geht das im Script Manager.
Ⅳ. Fazit & FAQ
Perfmatters ist kein bloßes [Tempo-Plugin], das Skripte und Ressourcen entfernt, sondern ein Werkzeug, das Ineffizienzen in der gesamten WordPress-Struktur steuert und so Stabilität und Verwaltbarkeit der Website zugleich erhöht.
Wichtig ist nicht, [alle Funktionen einzuschalten], sondern Charakter der Website und Plugin-Struktur zu verstehen und gezielt anzuwenden.
Perfmatters ist ein Plugin, das unnötigen Code und Anfragen steuert und die Website-Struktur selbst verschlankt. Es steuert, wie CSS, JS, Schriften und Bilder geladen werden, verbessert so die Core Web Vitals und senkt die Serverlast.
Perfmatters dient der [Leistungssteigerung der gesamten Website], Asset CleanUp der [Steuerung einzelner Ressourcen].
Für die meisten WordPress-Betreiber ist Perfmatters die praktischere und stabilere Wahl.
Am wirkungsvollsten ist die Kombination WP Rocket + Perfmatters.
WP Rocket übernimmt die statische Optimierung wie Cache, Komprimierung und Preload, Perfmatters die dynamische Optimierung über Code-, Ressourcen- und Anfragesteuerung – die beiden überschneiden sich nicht.
ℹ️ Affiliate-Hinweis Die Inhalte dieser Website enthalten Affiliate-Links. Kauft ein Besucher über einen dieser Links ein Produkt oder eine Dienstleistung, erhält die Website vom Verkäufer eine Provision. Der Betrag, den der Käufer zahlt(bei Aktionsrabatten sinkt er ↓), steigt dadurch nicht. Angegebene Preise, Rabatte und Lagerbestände entsprechen dem Stand bei Erstellung und können abweichen; prüfe sie daher vor dem Kauf beim Verkäufer. Produkte werden nach eigenen Kriterien ausgewählt und bewertet, und Provisionen beeinflussen weder die Reihenfolge noch den Inhalt der Bewertungen.