WordPress ist nicht schlecht – nur schlecht gebaut
Langsam, unsicher, ständig kaputt? Meist liegt das nicht an WordPress, sondern an Pagebuildern, Plugin-Chaos und Multipurpose-Themes. Was ein eigenes Theme anders macht.
Kurz gesagt: WordPress selbst ist weder langsam noch unsicher. Die typischen Probleme entstehen fast immer durch die Art, wie eine Seite gebaut wurde: Pagebuilder wie Elementor, Divi oder WPBakery, 30 und mehr Plugins und gekaufte Multipurpose-Themes mit Funktionen, die niemand braucht. Ein eigenes, schlankes Theme ohne Pagebuilder – mit Inhalten im Block-Editor – ist schnell, stabil und lässt sich trotzdem einfach pflegen.
„WordPress ist langsam.“ „WordPress wird ständig gehackt.“ „Nach jedem Update ist etwas kaputt.“ Diese Sätze höre ich oft. Wenn ich mir die betroffenen Seiten dann ansehe, finde ich selten ein Problem in WordPress selbst. Ich finde fast immer dieselben drei Dinge: einen Pagebuilder, eine lange Plugin-Liste und ein Theme vom Marktplatz, das alles können soll.
Warum WordPress so einen schlechten Ruf hat
1. Pagebuilder erzeugen viel Ballast
Ein Pagebuilder ist praktisch: Sie ziehen Elemente auf die Seite und sehen sofort das Ergebnis. Der Preis dafür steckt im Quelltext. Jeder Abschnitt wird in mehrere verschachtelte Container gepackt, dazu kommen eigene CSS- und JavaScript-Dateien des Builders, oft auch auf Seiten, die diese Funktionen gar nicht nutzen. Eine einfache Überschrift mit Text steckt dann schnell in fünf oder sechs div-Ebenen.
Der Browser muss all das laden, auswerten und darstellen. Auf einem schnellen Rechner merkt man das kaum. Auf einem Smartphone mit mittelmäßigem Netz schon – und genau dort misst Google die Ladezeit.
2. Plugin-Chaos
Für jedes kleine Problem ein Plugin: Slider, Cookie-Banner, Formular, Galerie, Popup, Zusatzfunktionen für den Builder, noch ein Plugin für Schriftarten. So kommen schnell 30 oder 40 Plugins zusammen. Jedes davon ist fremder Code, der bei jedem Seitenaufruf mitläuft, eigene Dateien lädt und gepflegt werden muss.
Die meisten Sicherheitslücken in WordPress-Installationen stecken nicht im Kern, sondern in Plugins und Themes. Je mehr davon installiert sind, desto größer ist die Angriffsfläche – besonders bei Plugins, die der Entwickler nicht mehr pflegt.
3. „Nulled“-Themes und -Plugins
Premium-Themes und -Plugins werden auf dubiosen Seiten kostenlos angeboten, als sogenannte „nulled“-Versionen. Darin ist der Lizenzschutz entfernt – und häufig Schadcode eingebaut. Außerdem bekommen diese Kopien keine regulären Updates. Wenn ich eine gehackte Seite bereinige, ist so ein Theme nicht selten der Einstieg.
4. Updates, die das Layout zerstören
Bei einer Pagebuilder-Seite hängt das Layout an drei Stellen gleichzeitig: am Builder, an seinen Erweiterungen und am Theme. Ändert sich bei einem Update die Struktur der Elemente, verschieben sich Abstände, Spalten brechen um oder Bereiche verschwinden. Viele Betreiber schieben Updates deshalb aus Angst vor sich her – und genau das macht die Seite dann wirklich unsicher.
Was ein eigenes Theme anders macht
Ein eigenes Theme wird für genau ein Design geschrieben. Es enthält nur den Code, der für diese Website gebraucht wird – kein Slider-Modul, das nie benutzt wird, keine 600 Icons, keine zwölf Header-Varianten.
Template-Hierarchie statt Baukasten
WordPress hat ein klares System, welche Datei welche Seite darstellt: header.php und footer.php für Kopf und Fuß, page.php für Seiten, single.php für Beiträge, dazu bei Bedarf eigene Vorlagen wie page-kontakt.php. Eine einfache Seitenvorlage sieht so aus:
<?php get_header(); ?>
<main>
<?php while ( have_posts() ) : the_post(); ?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>
<?php endwhile; ?>
</main>
<?php get_footer(); ?>
Kopf, Navigation und Fußbereich stehen fest im Theme. Ihre Redakteure können dort nichts versehentlich verschieben.
Menüs und Widget-Bereiche registrieren
Damit Sie Menüs und Footer-Inhalte trotzdem selbst ändern können, werden im Theme feste Plätze dafür angelegt:
// functions.php
add_action( 'after_setup_theme', function () {
register_nav_menus( array(
'hauptmenue' => 'Hauptmenü',
'footer' => 'Footer-Menü',
) );
} );
add_action( 'widgets_init', function () {
register_sidebar( array(
'name' => 'Footer – Spalte 1',
'id' => 'footer-1',
'before_widget' => '<div>',
'after_widget' => '</div>',
) );
} );
Im Theme wird das Menü dann an der richtigen Stelle ausgegeben:
// header.php (Ausschnitt)
<?php
wp_nav_menu( array(
'theme_location' => 'hauptmenue',
'container' => 'nav',
) );
?>
Unter „Design → Menüs“ pflegen Sie die Einträge selbst. Das Aussehen bestimmt das Theme.
theme.json: Farben und Schriften an einer Stelle
Mit der Datei theme.json legt das Theme fest, welche Farben und Schriftgrößen im Block-Editor zur Verfügung stehen. Ein minimales Beispiel:
{
"$schema": "https://schemas.wp.org/trunk/theme.json",
"version": 3,
"settings": {
"color": {
"custom": false,
"customGradient": false,
"defaultPalette": false,
"palette": [
{ "slug": "primary", "color": "#1d3557", "name": "Primär" },
{ "slug": "accent", "color": "#e76f51", "name": "Akzent" }
]
},
"typography": {
"customFontSize": false
}
}
}
Damit sehen Redakteure im Editor nur die Farben aus Ihrem Corporate Design. Eine beliebige Farbe oder Schriftgröße lässt sich nicht mehr einstellen – das Erscheinungsbild bleibt einheitlich.
Eigene Blöcke und Block-Vorlagen
Wiederkehrende Elemente – eine Leistungsbox, ein Kontakt-Abschnitt, ein Zitat mit Foto – werden als Block-Vorlage (Pattern) oder als eigener Block angelegt:
// functions.php
add_action( 'init', function () {
register_block_pattern( 'meintheme/leistung', array(
'title' => 'Leistung mit Button',
'content' => '<!-- wp:group -->
<div class="wp-block-group">
<!-- wp:heading {"level":3} --><h3>Titel der Leistung</h3><!-- /wp:heading -->
<!-- wp:paragraph --><p>Kurze Beschreibung.</p><!-- /wp:paragraph -->
</div>
<!-- /wp:group -->',
) );
} );
Im Editor fügt man die Vorlage mit einem Klick ein und ändert nur Text und Bild. Das Styling liefert das Theme. Für strukturierte Daten wie Öffnungszeiten, Team-Mitglieder oder Referenzen eignen sich zusätzlich eigene Felder, etwa mit Advanced Custom Fields.
Die Vorteile im Alltag
- Ladezeit und Core Web Vitals: Weniger CSS, weniger JavaScript, flacheres HTML. Das wirkt sich direkt auf LCP, INP und CLS aus – die Werte, mit denen Google die Nutzererfahrung misst.
- Sicherheit: Weniger Plugins bedeuten weniger fremden Code und weniger mögliche Lücken. Der eigene Theme-Code ist überschaubar und lässt sich prüfen.
- Stabile Updates: WordPress-Updates betreffen das Layout kaum, weil es nicht an einem Builder hängt. Updates werden zur Routine statt zum Risiko.
- SEO: Sauberes HTML mit einer sinnvollen Überschriften-Struktur, schnelle Ladezeiten und kein doppelter Code – eine gute technische Grundlage.
- Wartbarkeit: Ein anderer Entwickler findet sich in einem schlanken Theme schnell zurecht. Bei einer Builder-Seite muss er erst verstehen, welches Plugin was erzeugt.
- Keine Abhängigkeit von einer Lizenz: Läuft die Lizenz eines Premium-Builders aus, gibt es keine Updates mehr. Wer wechseln will, baut oft die ganze Seite neu, weil die Inhalte in Shortcodes oder builder-eigenen Strukturen gespeichert sind. Inhalte im Block-Editor bleiben dagegen normales WordPress.
Ehrlich gesagt: Wann ein Pagebuilder in Ordnung ist
Ich halte Pagebuilder nicht grundsätzlich für schlecht. Es gibt Fälle, in denen sie die vernünftigere Wahl sind:
- Das Budget ist sehr klein und die Seite soll einfach erst einmal online sein.
- Es geht um eine einzelne Landingpage für eine Aktion, die nach ein paar Wochen wieder verschwindet.
- Sie möchten Layouts wirklich selbst gestalten – nicht nur Texte pflegen – und nehmen dafür etwas mehr Ladezeit in Kauf.
Und auch das gehört dazu: Ein eigenes Theme kostet am Anfang mehr als ein gekauftes Theme mit Builder. Es muss geplant, geschrieben und getestet werden. Der Vorteil zeigt sich später – bei Wartung, Updates, Ladezeit und wenn die Seite über Jahre weiterlaufen soll.
Checkliste: Wurde Ihre WordPress-Seite „amateurhaft“ gebaut?
Ein paar Punkte können Sie selbst prüfen, ohne Programmierkenntnisse:
- Quelltext ansehen: Rechtsklick auf die Seite, „Seitenquelltext anzeigen“, dann mit Strg+F suchen. Begriffe wie
elementor,et_pb(Divi) odervc_row(WPBakery) verraten einen Pagebuilder. - Plugins zählen: Im Backend unter „Plugins“. Mehr als 20 aktive Plugins sind ein Warnzeichen, über 30 fast immer zu viel. Achten Sie auch auf deaktivierte Plugins, die nur herumliegen.
- PageSpeed prüfen: Geben Sie Ihre Adresse bei PageSpeed Insights ein und schauen Sie auf das Ergebnis für Mobilgeräte. Ein roter Wert und Hinweise auf „nicht verwendetes JavaScript“ oder „nicht verwendetes CSS“ sind typisch für Builder-Seiten.
- Theme prüfen: Unter „Design → Themes“ sehen Sie den Namen. Stammt es von einem Marktplatz und wirbt mit „unbegrenzten Layouts“ oder Dutzenden Demos, schleppen Sie viel ungenutzten Code mit.
- Updates: Stehen seit Monaten Updates aus, weil sich niemand traut? Dann ist die Seite schon jetzt ein Risiko.
- Herkunft der Lizenzen: Wissen Sie, wo Theme und Premium-Plugins gekauft wurden? Wenn nicht, kann es eine „nulled“-Version sein.
Treffen drei oder mehr Punkte zu, lohnt sich ein genauerer Blick.
Was Sie jetzt tun können
Nicht jede Seite muss sofort neu gebaut werden. Oft reicht es zuerst, überflüssige Plugins zu entfernen, Caching und Bilder sauber einzurichten und die Updates wieder regelmäßig einzuspielen. Ob sich ein eigenes Theme lohnt, hängt davon ab, wie lange die Seite laufen soll und wie wichtig Ladezeit und Sichtbarkeit bei Google für Sie sind.
Wenn Sie wissen möchten, wo Ihre Seite steht: Beim WordPress-SEO-Check für 150 € prüfe ich Technik, Ladezeit und Struktur und sage Ihnen, was sich lohnt. Ist die Seite vor allem zu langsam, finden Sie unter Website schneller machen (ab 490 €) den Ablauf. Regelmäßige Updates, Sicherungen und Kontrolle übernehme ich mit der WordPress-Wartung für 129 € im Monat. Wie ein eigenes Theme ohne Pagebuilder bei mir entsteht, steht unter WordPress-Theme nach Maß – Sie bekommen ein Angebot nach Ihrem Design und Umfang.