Pflicht-Anforderungen für WordPress 6
WordPress hat klare offizielle Mindest-Voraussetzungen. Wenn dein Hosting hier unter den Werten liegt, läuft WordPress nicht stabil:
- PHP 7.4 oder höherWordPress unterstützt offiziell PHP 7.4, 8.0, 8.1, 8.2 und 8.3. Empfohlen wird mittlerweile PHP 8.1+, weil PHP 7.4 keinen Security-Support mehr bekommt.
- MySQL 5.7+ oder MariaDB 10.4+Aktuell empfohlen: MySQL 8 oder MariaDB 10.6+ für beste Performance und Sicherheit.
- Apache 2.4+ oder Nginx 1.18+Mit aktivem mod_rewrite (Apache) oder vergleichbarer Rewrite-Konfiguration (Nginx) – sonst funktionieren saubere Permalinks nicht.
- HTTPS-UnterstützungSSL ist heute Pflicht. Let's Encrypt reicht, sollte aber automatisch erneuert werden.
PHP-Extensions, die WordPress zwingend braucht
Auch wenn die PHP-Version stimmt, müssen bestimmte Extensions verfügbar sein. Bei vielen günstigen Standard-Hostern fehlen einzelne davon:
- mysqliDatenbank-Anbindung. Standard-Bibliothek, aber bei minimalen PHP-Builds gelegentlich abgeschaltet.
- mbstringMulti-Byte-String-Funktionen. Pflicht für korrekte Umlaut-Verarbeitung und Multilingual-Plugins.
- GD oder ImagickGrafik-Bibliothek für Bild-Verarbeitung in WordPress (Thumbnail-Erzeugung, Image-Resize beim Upload).
- curlHTTP-Client für Updates, REST-API-Aufrufe, Plugin-Downloads.
- opensslVerschlüsselung, SSL-Verbindungen, sichere Hashes.
- zipUpdate-Pakete entpacken, Backup-Plugins (z. B. UpdraftPlus, All-in-One WP Migration) brauchen das.
- xml, dom, simplexmlXML-Parser für RSS-Feeds, Sitemaps, Konfigurationen.
- jsonPflicht ab WordPress 5.x – kommt bei modernen PHP-Builds automatisch mit.
PHP-Konfigurationswerte
Auch bei vorhandenen Extensions kann WordPress scheitern, wenn die PHP-Limits zu niedrig gesetzt sind – besonders bei plugin-lastigen Sites mit WooCommerce oder Elementor:
| PHP-Direktive | Mindestwert | Empfohlen |
|---|---|---|
| memory_limit | 128 MB | 256 MB (512 mit WooCommerce) |
| max_execution_time | 30 s | 120 s |
| upload_max_filesize | 8 MB | 64 MB |
| post_max_size | 8 MB | 64 MB |
| max_input_vars | 1.000 | 5.000 (für Page-Builder) |
Besonderheit WordPress: Page-Builder wie Elementor, Divi und Beaver Builder
sind sehr max_input_vars-hungrig. Wer mit komplexen Templates arbeitet, sollte
auf 5.000 oder mehr setzen. Detail-Ansicht der PHP-Konfiguration mit Tuning-Tipps:
PHP-Konfiguration für WordPress.
RAM und Speicher
WordPress selbst ist nicht extrem speicherhungrig, aber die Plugin-Last summiert sich. Realistische Faustregeln:
- Kleine Blogs (bis 50 Beiträge, wenige Plugins):128–256 MB RAM pro PHP-Worker reichen.
- Mittlere Sites (Yoast, WPForms, ein Page-Builder, Caching-Plugin):256 MB pro Worker, stabiler bei 384 MB.
- WooCommerce-Shops (mit Variations-Produkten):512 MB pro Worker, bei größeren Shops 768 MB.
- LMS-Sites (LearnDash, LifterLMS, MemberPress):512 MB bis 1 GB pro Worker, je nach Komplexität.
Bei Shared-Hosting ist das oft kein direkter Konfigurationsparameter, sondern wird vom Hoster im Backend pauschal pro Tarif gesetzt. Bei VPS und dedizierten Servern ist es Teil der PHP-FPM-Konfiguration.
Datenbank-Anforderungen
WordPress nutzt MySQL oder MariaDB. Wichtige Konfigurationswerte:
- max_allowed_packetMindestens 64 MB. Sonst scheitern größere Inhalt-Imports oder Backup-Plugins.
- innodb_buffer_pool_sizeBei dedizierten Servern: 50–80 % des freien RAM für InnoDB.
- UTF-8 utf8mb4 als Default-CharsetPflicht ab WordPress 4.2 für Emoji-Support und exotische Zeichen.
WordPress 6 setzt auf utf8mb4 als Standard. Bei alten WordPress-Installationen, die noch in utf8 (3-Byte) statt utf8mb4 (4-Byte) laufen, gibt es Encoding-Probleme bei Emojis und einigen Sonderzeichen.
Cron-Jobs (für Backups und Plugin-Tasks)
WordPress bringt einen eigenen Cron mit (wp-cron.php), der bei jedem
Page-View ausgeführt wird. Das ist für viele Sites problematisch:
- Bei Sites mit wenig Trafficlaufen Cron-Tasks selten (kein Page-View = kein Cron). Backup-Plugins, geplante Beiträge und Updates können hängen bleiben.
- Bei Sites mit viel Trafficläuft
wp-cron.phpbei jedem einzelnen Aufruf – unnötige Server-Last. - Lösung:echter Server-Cron-Job, der
wp-cron.phpalle 5–15 Minuten aufruft.DISABLE_WP_CRONinwp-config.phpsetzen, dann läuft nur der echte Cron.
Bei manchen ganz günstigen Hostern fehlt Server-Cron komplett – das ist ein Hinweis darauf, dass das Hosting nicht für ernsthafte WordPress-Sites gedacht ist.