WordPress Lighthouse Score bei 50 steckengeblieben? Caching-Plugins können das nicht beheben
Du hast WP Rocket installiert. Dein Lighthouse-Score ist von 35 auf 52 gestiegen. Du hast Autoptimize hinzugefügt. 52 auf 58. Du hast Perfmatters installiert. Jetzt nutzt du DREI Performance-Plugins -- jedes mit eigenem JavaScript -- um Performance-Probleme zu beheben, die durch andere Plugins verursacht wurden, die JavaScript hinzufügen. Siehst du die Ironie?
Ich bin selbst mehrmals in genau dieser Situation gewesen. Du verbringst ein ganzes Wochenende damit, WP Rocket-Einstellungen anzupassen, kritisches CSS zu generieren, Skripte zu verschieben, Bilder lazy-loaded, Preload zu aktivieren und ein CDN einzurichten. Du führst Lighthouse erneut aus. 54. Vielleicht 58 an einem guten Tag. Du schaust auf die Konkurrenz -- sie liegen bei 90+. Du fragst dich, was du falsch machst.
Hier ist die Sache: Du machst nichts falsch. Du hast die WordPress-Performance-Grenze erreicht. Sie ist real, gut dokumentiert, und keine Kombination von Caching-Plugins kann sie durchbrechen. Das Problem ist nicht deine Konfiguration. Es ist die Architektur.
Dieser Artikel erklärt genau, warum Caching WordPress-Performance nicht beheben kann, was tatsächlich deine niedrigen Scores Metrik für Metrik verursacht, und wie wir einen echten Kunden -- SleepDr -- von einem Lighthouse-Score von 35 auf 94 migriert haben, indem wir die Architektur vollständig verändert haben.
Inhaltsverzeichnis
- Das Performance-Plugin-Paradoxon
- Render-Blocking CSS: Caching liefert es schneller, nicht kleiner
- JavaScript-Bloat: jQuery und die Page-Builder-Steuer
- Datenbank-Abfrage-Overhead: Das First-Request-Problem
- Server-seitiges Rendering: PHPs struktureller Engpass
- Dein Lighthouse-Score-Breakdown verstehen
- Fallstudie: SleepDr-Migration -- WordPress zu Next.js
- Die Architektur, die Performance wirklich behebt
- Wann eine Migration Sinn macht (und wann nicht)
- Häufig gestellte Fragen

Das Performance-Plugin-Paradoxon
Lass mich dir ein Bild malen, das ich jeden Monat sehe. Ein Website-Besitzer kontaktiert mich, weil ihre WordPress-Site irgendwo zwischen 35 und 55 auf Lighthouse scored. Sie haben bereits eine Kombination dieser Plugins installiert:
- WP Rocket ($59/Jahr) -- Page-Caching, CSS/JS-Minifizierung, Lazy-Loading
- Autoptimize (kostenlos) -- CSS/JS-Aggregation, kritisches CSS
- Perfmatters ($24,95/Jahr) -- Script-Manager, Datenbank-Bereinigung
- Asset CleanUp (kostenlos) -- bedingtes Asset-Laden
- Flying Scripts (kostenlos) -- verzögerte JavaScript-Ausführung
Das sind fünf Plugins, deren einziger Zweck ist, WordPress so zu machen, dass es sofort funktioniert. Jede fügt ihren eigenen PHP-Ausführungs-Overhead hinzu. Jede schreibt ihre eigenen Regeln zu .htaccess. Einige konflikt miteinander auf subtile Weise, die nur unter echter Last zum Vorschein kommen.
Das beste Szenario? Du kommst von 35 zu vielleicht 65. Ich habe Teams 40+ Stunden damit verbringen sehen, diese Plugins und ihre verschiedenen Interaktionen zu optimieren. Das ist eine Woche Entwickler-Zeit -- leicht $4.000-$8.000 an Arbeitskosten -- um 20-30 Lighthouse-Punkte zu gewinnen und immer noch nicht "gut" Core-Web-Vitals-Schwellenwerte zu erreichen.
Und hier ist, was niemand darüber spricht: Diese gecachten Seiten helfen nur zurückkehrenden Besuchern. Der erste Hit? Noch immer langsam. Ein Googlebot-Crawl? Trifft wahrscheinlich nicht gecachte Seiten. Dein wichtigster Traffic -- neue Besucher aus der Suche -- bekommt die schlechteste Erfahrung.
Render-Blocking CSS: Caching liefert es schneller, nicht kleiner
Das ist die erste Mauer, auf die du treffen wirst, und es ist diejenige, die die meisten Menschen missverstehen.
Ein typisches WordPress-Theme lädt zwischen 200KB und 800KB CSS auf jeder einzelnen Seite. Ich übertreibe nicht. Hier ist, was dazu beiträgt:
- Theme-Stylesheet: 150-400KB (Divi, Avada und Elementor Themes sind die schlimmsten Verursacher)
- Plugin-Stylesheets: 50-200KB (Kontaktformulare, Schieber, Social-Sharing, SEO-Plugins)
- Google Fonts: 30-100KB (oft mit 3-5 Font-Gewichten, die du nicht verwendest)
- Icon-Bibliotheken: 50-80KB (laden alle Font Awesome für 6 Icons)
Hier ist die kritische Stat: ungefähr 70% dieses CSS wird auf einer beliebigen Seite nicht verwendet. Deine Homepage braucht nicht die WooCommerce-Cart-Styles. Dein Blog-Beitrag braucht nicht die Kontaktformular-CSS. Aber WordPress lädt alles, überall, auf einmal.
Was macht WP Rocket damit? Es minifiziert das CSS (spart vielleicht 10-15%), kombiniert Dateien, um HTTP-Anfragen zu reduzieren, und generiert kritisches CSS für oberhalb des Inhalts. Das ist wirklich hilfreich. Aber der Browser lädt immer noch alle 400KB+. Er parsed alle davon. Das ungenutzte CSS trägt immer noch zu FCP-Verzögerungen bei.
WP Rocket kann dein CSS nicht tree-shaken. Es kann nicht bestimmen, welche Styles pro Seite benötigt werden und den Rest entfernen. Das würde erfordern, die Beziehung zwischen deinem HTML und CSS zur Build-Zeit zu verstehen -- was genau moderne Frameworks tun.
Wie Next.js + Tailwind das tatsächlich beheben
Mit Next.js und Tailwind CSS werden ungenutzte Styles zur Build-Zeit bereinigt. Nicht verzögert. Nicht minifiziert. Vollständig entfernt. Der Build-Prozess scannt deine Templates, identifiziert welche Utility-Klassen tatsächlich verwendet werden, und generiert eine CSS-Datei, die nur diese Styles enthält.
Das Ergebnis? Gesamte CSS-Payload: 15-40KB für eine ganze Site. Nicht pro Seite -- für die ganze Site. Das ist keine marginale Verbesserung. Es ist eine Größenordnung Unterschied.
/* WordPress: lädt alles */
/* theme.min.css: 387KB */
/* elementor-frontend.min.css: 142KB */
/* woocommerce.min.css: 98KB */
/* contact-form-7.min.css: 12KB */
/* Gesamt: 639KB CSS, ~70% ungenutzt auf einer beliebigen Seite */
/* Next.js + Tailwind: baut nur auf, was verwendet wird */
/* globals.css: 22KB (ganze Site) */
/* Pro-Seite CSS: 0KB zusätzlich (es ist alles in dem bereinigten Bundle) */
JavaScript-Bloat: jQuery und die Page-Builder-Steuer
Hier ist, wo TBT -- Total Blocking Time -- wirklich leidet. Und TBT ist 30% deines Lighthouse-Performance-Scores. Du kannst buchstäblich nicht über 70 kommen mit schlechtem TBT.
WordPress versandt jQuery auf jeder Seite. Das sind 87KB minifiziert und gzip. Es wird synchron auf dem Haupt-Thread ausgeführt. Jedes einzelne Seiten-Load zahlt diese Steuer, auch wenn keine Funktionalität auf der Seite jQuery erfordert.
Aber jQuery ist nur die Vorspeise. Hier ist das JavaScript-Budget für eine typische WordPress-Page-Builder-Site:
| Quelle | Größe (minifiziert + gzip) | Haupt-Thread-Zeit |
|---|---|---|
| jQuery + jQuery Migrate | 87KB + 10KB | 150-300ms |
| Elementor Frontend | 180-350KB | 200-500ms |
| WP Rocket (ja, wirklich) | 15-25KB | 30-60ms |
| Slider-Plugin | 80-150KB | 100-250ms |
| Analytics + Tracking | 50-120KB | 80-200ms |
| Andere Plugins | 50-200KB | 100-300ms |
| Gesamt | 462KB - 855KB | 660ms - 1,610ms |
Das sind 660ms bis 1,6 Sekunden Haupt-Thread-Blockierung nur von JavaScript-Ausführung. Lighthouse möchte TBT unter 200ms für einen guten Score. Unter 600ms für "braucht Verbesserung." Du bist bereits erledigt, bevor dein tatsächlicher Content auch nur rendert.
Was können Caching-Plugins tun? Sie können minifizieren (spart 5-10%), Ausführung verschieben (hilft FCP aber TBT bleibt dasselbe, weil die Arbeit immer noch passiert), und Skripte verzögern, bis der Benutzer interagiert (was Funktionalität bricht und eine unangenehme Erfahrung erzeugt, wenn Benutzer etwas anklicken und 500ms lang nichts passiert).
Next.js: Kein jQuery, intelligentes Code-Splitting
Next.js lädt jQuery nicht. Punkt. Es gibt da keine Entsprechung. React behandelt DOM-Manipulation, und es ist bereits im Bundle für Interaktivität. Aber hier ist der eigentliche Gewinn: automatisches Code-Splitting.
Jede Seite lädt nur das JavaScript, das sie benötigt. Eine statische "About"-Seite könnte 30KB insgesamt JS versenden. Deine interaktive Buchungsformular-Seite lädt die Formularbibliothek nur auf dieser Seite. Dynamische Importe bedeuten, dass schwere Komponenten auf Anforderung laden.
// Lädt nur den Buchungskalender, wenn diese Komponente rendert
import dynamic from 'next/dynamic'
const BookingCalendar = dynamic(() => import('../components/BookingCalendar'), {
loading: () => <div className="h-96 animate-pulse bg-gray-100 rounded" />,
ssr: false // Nicht einmal im Server-Bundle einbeziehen
})
export default function BookingPage() {
return (
<main>
<h1>Schedule Your Consultation</h1>
<BookingCalendar />
</main>
)
}
Das ssr: false-Flag bedeutet, dass das Kalender-JavaScript nicht einmal im initialen Page-Load existiert. Benutzer sehen einen Platzhalter sofort, dann hydratisiert die interaktive Komponente. TBT bleibt minimal.

Datenbank-Abfrage-Overhead: Das First-Request-Problem
Jedes WordPress-Seiten-Load triggert Datenbank-Abfragen. Nicht ein paar. Eine Menge.
Ich installierte Query Monitor auf einer Kunden-Website letztes Jahr -- ein ziemlich Standard-WordPress + WooCommerce + Yoast-Setup. Hier ist, was ein einzelner Homepage-Load generiert hat:
- WordPress-Kern: 8-12 Abfragen (Optionen, Benutzer-Session, Rewrite-Regeln)
- Yoast SEO: 15+ Abfragen (Meta-Daten, Schema-Einstellungen, Breadcrumbs)
- WooCommerce: 20+ Abfragen (Produkt-Daten, Cart, Session)
- Theme-Optionen: 10-15 Abfragen (Customizer-Einstellungen, Widget-Daten)
- Menu-Rendering: 5-8 Abfragen (verschachtelte Menu-Elemente, Meta)
- Sidebar-Widgets: 5-10 Abfragen pro Widget
Gesamt: 63-80 Datenbank-Abfragen für ein einzelnes Seiten-Load. Auf Shared-Hosting mit einer MySQL-Datenbank, die auch 200 andere Sites bedient? Du kannst sehen, wo das hingeht.
WP Rocket's Page-Caching eliminiert das -- für gecachte Seiten. Aber Caches verfallen. Neue Seiten sind nicht gecacht, bis zum ersten Besuch. WooCommerce-Cart-Seiten können nicht gecacht werden (sie sind dynamisch pro Benutzer). Admin-Benutzer umgehen den Cache. Und Googlebot trifft oft auf Seiten, die aus dem Cache gefallen sind.
Jedes nicht gecachte Request zahlt die volle Datenbank-Strafe.
Next.js ISR: Vorgerenderte HTML, null Datenbank-Abfragen bei Request-Zeit
Mit Next.js mit Incremental Static Regeneration (ISR) werden Seiten zur Build-Zeit auf statisches HTML vorgerendert. Wenn ein Benutzer eine Seite anfordert, gibt der Server eine vorgebaute HTML-Datei zurück. Kein PHP-Ausführung. Keine Datenbank-Abfragen. Keine Berechnung.
// Das läuft zur Build-Zeit, NICHT zur Request-Zeit
export async function getStaticProps() {
const posts = await fetchFromWordPressAPI('/wp-json/wp/v2/posts')
return {
props: { posts },
revalidate: 3600 // Rebuild diese Seite alle Stunde
}
}
Das revalidate: 3600 bedeutet, dass die Seite im Hintergrund alle Stunden neu gebaut wird. Benutzer bekommen immer sofort statische HTML. Content bleibt frisch. Datenbank-Abfragen passieren einmal während der Regeneration, nicht auf jedem einzelnen Besucher-Request.
Wenn wir Headless-CMS-Entwicklung machen, wird WordPress zum Content-Backend -- Redakteure nutzen weiterhin die vertraute Admin-Oberfläche -- aber das Frontend ist völlig entkoppelt. Die Datenbank wird nur während Builds oder Revalidation getroffen, nicht während Benutzer-Requests.
Server-seitiges Rendering: PHPs struktureller Engpass
Lass uns über TTFB sprechen -- Time to First Byte. Das ist, wie lange es dauert, bis der Server anfängt, eine Antwort zu senden, nachdem eine Anfrage gestellt wurde.
WordPress generiert jede Seite, indem PHP ausgeführt wird. Sogar ein einfacher Blog-Beitrag erfordert:
- Apache/Nginx empfängt Request
- PHP-Prozess spawnt (oder wird aus Pool wiederverwendet)
- WordPress-Bootstrap lädt (~50 Dateien)
- Aktive Plugins laden (jeweils: Datei-Lesevorgänge, Datenbank-Abfragen, Hook-Registrierung)
- Theme-Funktionen laden
- Template-Hierarchie resolved
- Datenbank-Abfragen ausführen
- Template auf HTML rendern
- Antwort gesendet
Auf Shared-Hosting (wo die Mehrheit der WordPress-Sites leben -- SiteGround, Bluehost, GoDaddy), dauert dieser Prozess 2-4 Sekunden allein für TTFB. Bevor CSS, JavaScript oder Bilder laden. Dein Benutzer starrt auf einen leeren Screen für 2+ Sekunden.
Verwaltetes WordPress-Hosting (Kinsta, WP Engine, Flywheel) reduziert das auf 0,8-1,5s TTFB. Besser. Immer noch nicht großartig.
Next.js auf Vercel's Edge Network? 50-200ms TTFB. Das ist nicht, weil Vercel magische Server hat. Es ist, weil es nichts zu berechnen gibt. Das HTML existiert bereits. Der Edge-Knoten, der dem Benutzer am nächsten ist, serviert es direkt. Kein PHP. Keine Datenbank. Kein Template-Rendering.
Die Performance-Lücke zwischen 2+ Sekunden TTFB und 100ms TTFB ist nicht etwas, das du mit einem Caching-Plugin überbrücken kannst.
Dein Lighthouse-Score-Breakdown verstehen
Bevor wir die Fallstudie schauen, lass uns verstehen, was Lighthouse tatsächlich misst und warum WordPress mit jeder Metrik kämpft:
| Metrik | Gewichtung | Was es misst | WordPress-Problem | Next.js-Lösung |
|---|---|---|---|---|
| TBT | 30% | Haupt-Thread-Blockierung durch JS | jQuery + Plugin-JS = 600ms+ | Code-Splitting = <50ms |
| LCP | 25% | Größtes sichtbares Element gemalt | Langsamer TTFB + Render-Blocking-CSS | Vorgerenderte HTML + bereinigtes CSS |
| CLS | 25% | Visuelles Layout-Shifting | Lazy-geladene Bilder ohne Dimensionen, dynamische Ads | next/image mit expliziter Größe |
| Speed Index | 10% | Visuelle Vollständigkeit über Zeit | Schweres CSS blockiert Rendering | Minimales CSS, sofortige HTML |
| FCP | 10% | Erster Content gemalt | Render-Blocking-Ressourcen | Kritisches CSS inline, nichts blockiert |
TBT allein bei 30% Gewicht bedeutet, wenn du 1.200ms+ Blockierungszeit erreichst (häufig auf WordPress), verlierst du fast ein Drittel deines Scores gleich. Keine Menge an Bild-Optimierung oder Caching kann das kompensieren.
Fallstudie: SleepDr-Migration -- WordPress zu Next.js
SleepDr kam zu uns mit einem Problem, das ich dutzende Male gesehen habe. Sie sind eine Sleep-Health-Praxis mit einer WordPress-Site gebaut auf einem Premium-Theme, betreiben WooCommerce für Termin-Planung, Yoast für SEO, Elementor für Page-Building, und -- erraten -- WP Rocket, Autoptimize UND Perfmatters für Performance.
Drei Performance-Plugins. Lighthouse Score: 35.
Hier sind die Vorher- und Nachher-Nummern:
| Metrik | WordPress (Vorher) | Next.js (Nachher) | Änderung |
|---|---|---|---|
| FCP | 4.2s | 1.1s | -74% |
| LCP | 6.8s | 1.8s | -74% |
| CLS | 0.28 | 0.01 | -96% |
| TBT | 1,200ms | 50ms | -96% |
| TTFB | 2.1s | 0.3s | -86% |
| Lighthouse Score | 35 | 94 | +169% |
Keine Caching-Plugin-Kombination könnte diese Ergebnisse erreichen. Die Architektur musste sich ändern. Lass mich durch jede Metrik gehen.
FCP: 4.2s → 1.1s (-74%)
Was den WordPress-Score verursachte: Die WordPress-Site hatte 2.1s TTFB (Shared-Hosting), gefolgt von 580KB Render-Blocking-CSS von Elementor, dem Theme, WooCommerce, und sechs Plugin-Stylesheets. Der Browser konnte nichts malen, bis er alles das CSS heruntergeladen und geparst hatte. FCP konnte buchstäblich nicht starten, bis 4+ Sekunden nach dem Klick.
Die Next.js-Reparatur: Vorgerenderte HTML serviert von Vercel's Edge (0.3s TTFB). Kritisches CSS inline in den <head> -- ungefähr 4KB. Der Browser malt Content fast sofort nach dem Empfangen der HTML. Gesamt-CSS für die ganze Site: 28KB, asynchron nach dem ersten Paint geladen.
LCP: 6.8s → 1.8s (-74%)
Was den WordPress-Score verursachte: Das größte Contentful-Element war ein Hero-Bild. Auf WordPress wurde es durch Elementor's Lazy-Loading geladen (das mit WP Rocket's Lazy-Loading konfliktierte -- ja, sie kämpften miteinander). Das Bild war ein 2.4MB PNG serviert ohne Next-Gen-Format-Konvertierung. LCP konnte nicht komplettiert werden, bis dieses massive Bild über eine langsame TTFB-Verbindung heruntergeladen wurde.
Die Next.js-Reparatur: next/image mit automatischer WebP/AVIF-Konvertierung, responsives srcset, und Priority-Loading für oberhalb-der-Falte-Bilder. Das Hero-Bild ging von 2.4MB PNG zu 85KB AVIF. Es wurde in der Load-Sequenz priorisiert -- kein Lazy-Loading für oberhalb-der-Falte-Content. Kombiniert mit dem schnellen TTFB, komplettierte sich LCP in 1.8s.
CLS: 0.28 → 0.01 (-96%)
Was den WordPress-Score verursachte: Drei Übeltäter. Erstens, Bilder ohne explizite Width/Height-Attribute (Elementor dimensionierte sie dynamisch via CSS, verursachte Reflow). Zweitens, ein Cookie-Einwilligungs-Banner, das sich nach dem Page-Load in das DOM injizierte, drückte Content herunter. Drittens, Web-Fonts luden mit font-display: swap, verursachten sichtbaren Text-Reflow. Ein CLS von 0.28 ist furchtbar -- Google betrachtet alles über 0.1 als "arm."
Die Next.js-Reparatur: next/image erzwingt Width und Height, reserviert Platz, bevor Bilder laden. Das Cookie-Banner wurde als Fixed-Overlay positioniert anstatt Inline-Content. Fonts wurden selbst gehostet mit font-display: optional und vorgeladen. Das Ergebnis: 0.01 CLS. Effektiv null Layout-Shift.
TBT: 1,200ms → 50ms (-96%)
Was den WordPress-Score verursachte: jQuery (87KB + 150ms Ausführung). Elementor Frontend JS (280KB + 400ms). WooCommerce Cart-Fragmente (35KB + 80ms). Drei Performance-Plugins' JavaScript (kombiniert 45KB + 90ms). Analytics und Tracking (60KB + 120ms). Verschiedene Plugin-Skripte (100KB + 200ms). Gesamt: über eine Sekunde Haupt-Thread-Blockierung.
Die Next.js-Reparatur: Kein jQuery. Kein Page-Builder JS. Dynamische Importe für das Appointment-Buchungs-Widget. Analytics geladen via next/script mit strategy="lazyOnload". Gesamt-JavaScript auf der Homepage: 62KB. TBT: 50ms. Das ist eine 96% Reduktion.
TTFB: 2.1s → 0.3s (-86%)
Was den WordPress-Score verursachte: SleepDr war auf SiteGround Shared-Hosting. Jeder nicht gecachte Request triggerte WordPress-Bootstrap, Plugin-Laden, 60+ Datenbank-Abfragen, und PHP-Template-Rendering. Sogar mit WP Rocket's Page-Cache, Cache-Invalidation passierte häufig wegen WooCommerce-Cart-Dynamik. Durchschnittlicher TTFB für echte Benutzer: 2.1 Sekunden.
Die Next.js-Reparatur: Statische Seiten auf Vercel's globales Edge-Netzwerk deployed. ISR handhabt Content-Updates -- Seiten regenerieren im Hintergrund alle 30 Minuten. Benutzer-Requests treffen immer vorgebaute HTML beim nächsten Edge-Knoten zum Benutzer. TTFB fiel auf 0.3s durchschnittlich, mit einigen Regionen, die Sub-100ms sehen.
Die Architektur, die Performance wirklich behebt
Die SleepDr-Migration nutzte das, was wir das Headless-WordPress-Pattern nennen. WordPress bleibt als CMS -- das SleepDr-Team loggt sich immer noch in wp-admin ein, schreibt Content in Gutenberg, verwaltet ihre Appointment-Typen in WooCommerce. Nichts änderte sich für sie auf der Content-Management-Seite.
Aber das Frontend ist völlig Next.js. Der Build-Prozess pulled Content von WordPress via REST-API, generiert statische Seiten, und deployed zu Vercel. Content-Redakteure publizieren in WordPress, ein Webhook triggert eine Revalidation, und die aktualisierte Seite ist in unter 30 Sekunden live.
Für Teams, die einen ähnlichen Ansatz erwägen, Astro ist eine andere Option wert zu evaluieren -- besonders für Content-reiche Sites mit minimaler Interaktivität. Astro versandt null JavaScript standardmäßig, was Lighthouse-Scores sogar noch höher pushen kann.
Die Schlüssel-Einsicht: wir haben WordPress nicht optimiert. Wir haben den Teil ersetzt, der langsam war (die PHP-Rendering und Frontend-Zustellung) während wir den Teil behielten, der gut funktioniert (Content-Management).
Wann eine Migration Sinn macht (und wann nicht)
Ich werde dir nicht sagen, dass jede WordPress-Site zu Next.js migrieren sollte. Das wäre unehrlich. Hier ist meine ehrliche Einschätzung:
Migration macht Sinn, wenn:
- Deine Lighthouse-Scores trotz Optimierungsbemühungen unter 60 stecken
- Performance direkt Einnahmen beeinfluss (E-Commerce, Lead-Gen, SaaS-Marketing-Sites)
- Du $200+/Monat für verwaltetes WordPress-Hosting zahlst, um akzeptable Speed zu bekommen
- Dein Entwicklungs-Team sich mit React/JavaScript wohlfühlt
- SEO-Rankings leiden unter Core-Web-Vitals-Fehlschlägen
Migration macht keinen Sinn, wenn:
- Du ein persönliches Blog oder kleine Broschüren-Site bist (die Investition zahlt sich nicht aus)
- Dein Content-Team stark auf WordPress-spezifische Plugins mit keiner API-Entsprechung verlässt
- Du bei 60-70 Lighthouse glücklich bist und deine Core Web Vitals passen
- Dein Budget unter $15.000 für die Migration liegt
Für Sites, wo Migration Sinn macht, rangiert die typische Investition von $15.000-$50.000+ abhängig von Komplexität, Anzahl von Templates, und Custom-Funktionalität. Wir haben unseren Ansatz und typische Projektstrukturen auf unserer Pricing-Seite detailliert.
Die ROI-Berechnung ist einfach: wenn schlechte Performance dich X in verlorenen Konvertierungen pro Monat kostet, und Migration kostet Y, kennst du deine Amortisierungsperiode. Für SleepDr, die verbesserte Seiten-Speed trug zu einer 34% Steigerung in Appointment-Buchungen innerhalb des ersten Quartals bei.
Häufig gestellte Fragen
Kann WP Rocket wirklich nicht meinen WordPress-Lighthouse-Score beheben? WP Rocket ist wirklich einer der besten WordPress-Caching-Plugins verfügbar. Es tut alles, das eine Caching-Schicht tun kann -- Page-Caching, Minifizierung, Lazy-Loading, CDN-Integration, kritische CSS-Generierung. Aber es operiert innerhalb von WordPress's architektonischen Zwängen. Wenn dein Score unter 50 ist, kann WP Rocket dich typischerweise auf 55-65 bringen. Über 80 konsistent zu kommen erfordert das Render-Blocking-CSS, jQuery-Abhängigkeit, und PHP-Rendering-Overhead zu entfernen, das WP Rocket einfach nicht eliminieren kann. Es optimiert Zustellung. Es kann die Architektur nicht umstrukturieren.
Welchen Lighthouse-Score kann WordPress realistisch mit Caching-Plugins erreichen? Mit einem gut-optimierten Setup -- leichtes Theme, minimale Plugins, WP Rocket vollständig konfiguriert, verwaltetes Hosting wie Kinsta oder WP Engine -- kannst du realistisch 65-75 auf mobilen Lighthouse erreichen. Desktop-Scores werden höher (80-90) sein, weil das Test-Gerät mehr Processing-Power hat. Über 80 auf mobilen konsistent zu kommen erfordert entweder ein extrem minimales WordPress-Setup (fast keine Plugins, Custom-Theme) oder eine Architektur-Änderung. Sites mit Page-Builders wie Elementor oder Divi maxen typischerweise 50-65 aus.
Wie viel kostet es, von WordPress zu Next.js zu migrieren? Kosten variieren signifikant basierend auf Site-Komplexität. Eine einfache Broschüren-Site (5-15 Seiten, Blog, Kontaktformular) läuft $15.000-$25.000. Eine mittlere-Komplexität-Site mit Custom-Post-Types, mehrfachen Templates, und Integrationen läuft $25.000-$40.000. E-Commerce oder komplexe Web-Applikationen mit Benutzer-Konten, dynamischer Daten, und Third-Party-Integrationen starten bei $40.000+. Das sind 2025-Markt-Sätze für Agenturen mit bewiesener Headless-Erfahrung. Du kannst uns kontaktieren für eine spezifische Schätzung basierend auf deiner Site.
Bedeutet Headless WordPress, dass mein Content-Team neue Tools lernen muss? Nein. Das ist der ganze Punkt des Headless-Ansatzes. Dein Content-Team nutzt weiterhin wp-admin, Gutenberg, ACF, oder worauf sie auch immer gewöhnt sind. Die einzige sichtbare Änderung ist, dass sie vielleicht warten müssen 30-60 Sekunden für Content-Updates, um auf der Live-Site zu erscheinen (wegen ISR-Revalidation), anstatt Änderungen sofort zu sehen. Einige Teams finden das kaum merklich. Die Editorial-Erfahrung bleibt praktisch identisch.
Was ist der Unterschied zwischen TBT und FCP, und warum ist beide Metrik wichtig? FCP (First Contentful Paint) misst, wenn der Benutzer etwas sieht -- any content überhaupt. TBT (Total Blocking Time) misst, wie lange der Haupt-Thread durch JavaScript-Ausführung zwischen FCP und Time to Interactive blockiert ist. Du kannst einen akzeptablen FCP haben aber furchtbares TBT, bedeutend Benutzer sehen Content schnell aber können nicht damit interagieren. Das ist häufig auf WordPress-Sites, wo HTML von Cache rendert aber dann 800KB+ JavaScript ausführt. Beide Metriken sind wichtig, weil zusammen sie 40% deines Lighthouse-Scores darstellen (TBT bei 30%, FCP bei 10%).
Wird die Migration zu Next.js meine SEO-Rankings vorübergehend verletzen? Wenn es richtig durchgeführt ist, nein. Der Schlüssel ist die Beibehaltung von URL-Strukturen, Implementierung von richtigen 301-Weiterleitungen für alle URLs, die sich ändern, Bewahrung aller Meta-Daten, und Sicherstellung, dass die XML-Sitemap korrekt ist. Wir sehen typischerweise eine kurze 1-2-Woche-Stabilisierungsperiode, wo Rankings leicht schwanken, gefolgt von Verbesserungen, während Google die besseren Core Web Vitals erkennt. SleepDr sah keine Ranking-Drops während der Migration und gewann Positionen innerhalb von 6 Wochen. Das Risiko kommt aus schlampigen Migrationen -- kaputte Weiterleitungen, fehlende Seiten, geänderte URL-Strukturen ohne Weiterleitungen.
Kann ich stattdessen Astro für die Migration verwenden? Absolut. Astro ist eine ausgezeichnete Wahl für Content-reiche Sites mit limitierter Interaktivität. Astro versandt null JavaScript standardmäßig und hydratisiert nur interaktive Komponenten -- das heißt sie "Islands Architecture." Für eine Site wie ein Blog, Dokumentations-Site, oder Marketing-Site, wo Content primär ist, kann Astro sogar bessere Lighthouse-Scores als Next.js erreichen. Wir empfehlen Next.js, wenn du signifikante Client-seitige Interaktivität benötigst (Dashboards, Buchungssysteme, E-Commerce) und Astro, wenn Content primär ist.
Ist die Lighthouse-Score-Verbesserung die Investition wert? Das hängt völlig davon ab, was deine Site tut. Für einen persönlichen Blog, wahrscheinlich nicht. Für ein Geschäft, wo Organic-Search-Traffic Einnahmen treibt, ist die Mathematik überzeugend. Google hat Core Web Vitals als Ranking-Faktor bestätigt. Studien von 2024-2025 zeigen, dass jede 100ms-Verbesserung in LCP mit einer 1.1% Steigerung in Konvertierungs-Rate für E-Commerce-Sites korreliert. Wenn deine Site $50.000/Monat in Einnahmen generiert und eine 10-15% Konvertierungs-Verbesserung $5.000-$7.500/Monat hinzufügt, zahlt sich eine $30.000-Migration in 4-6 Monaten aus. Führe deine eigenen Zahlen durch -- die Antwort ist immer spezifisch für dein Geschäft.