Leitfaden zur Optimierung der Ladezeit mehrerer WordPress-Websites: Konfiguration von WPMU_OPTIONS und praktische Anwendung von Caching-Strategien

3-Minuten-Lesung
2026-03-16
2026-06-03
2,076
Ich bekomme eine Provision, wenn du über die untenstehenden Links einkaufst – ohne zusätzliche Kosten für dich.

Analyse der Leistungsschwellen in einem WordPress-Mehrsites-Netzwerk

Das WordPress-Multisite-Netzwerk bietet große Erleichterungen bei der Verwaltung mehrerer Websites, führt jedoch auch zu besonderen Leistungsproblemen. Mit zunehmender Anzahl der Websites im Netzwerk können Datenbankabfragen, Objekt-Caching sowie die Lese von Netzwerkoptionen zu Engpässen bei der Ladezeit werden. Insbesondere die Netzwerkoptionentabelle…wp_sitemeta„In“wpmu_optionsManagement ist ein zentrales, aber oft übersehenes Element.

Jedes Mal, wenn eine Seite geladen wird, muss das WordPress-Multisite-Netzwerk Daten abrufen.wpmu_optionsDie Netzwerkbereichseinstellungen in diesem Kontext sind entscheidend für die effiziente Nutzung der Ressourcen. Wenn diese Optionen nicht korrekt in der Cache gespeichert werden oder wenn sie viele unnötige, serialisierte Daten enthalten, kann dies zu einer erhöhten Anzahl von Datenbankabfragen und verlängerten Reaktionszeiten führen. Die Leistungsschwäche zeigt sich in mehreren Aspekten: Zunächst steigt die Belastung des Datenbankservers, da häufig auf dieselbe Tabelle zugegriffen wird; außerdem verbraucht PHP mehr CPU-Ressourcen beim Verarbeiten der serialisierten Daten; schließlich nehmen große Optionswerte mehr Platz bei der Netzwerkübertragung und im Speicher ein, was die Effizienz des Caches beeinträchtigt.

Das Verständnis der Ursachen für diese Engpässe ist der erste Schritt zur Optimierung. Optimierung bedeutet nicht nur das Installieren eines Caching-Plugins, sondern erfordert eine umfassende Analyse und Anpassung auf verschiedenen Ebenen – insbesondere auf der Datenbankebene, auf der Codeebene sowie auf der Architekturebene – insbesondere in Umgebungen mit mehreren Standorten, in denen Datenbanken und Kerndateien gemeinsam genutzt werden.

Empfohlene Lektüre Das ultimative Optimierungskonzept für WordPress-Websites: Ein umfassender Leitfaden von der Geschwindigkeit bis zum Ranking.

Ein tieferes Verständnis der WPMU_OPTIONS-Tabelle und der Kernkonfiguration

WPMU_OPTIONSEs handelt sich um die zentrale Datenbank, in der die für das WordPress-Multisite-Netzwerk geltenden Einstellungen gespeichert werden. Diese Datenbank ist im Zusammenhang mit der Einzelsite-Installation von WordPress von großer Bedeutung.wp_optionsDie Funktionen dieser Tabellen sind ähnlich, doch ihr Wirkungsbereich umfasst das gesamte Netzwerk. Alle Einstellungen, die alle Standorte im Netzwerk betreffen – wie die Liste der aktivierten Plugins, das Netzwerkthema, die Upload-Einstellungen sowie die Registrierungskonfiguration – werden hier gespeichert.

UltaHost – WordPress-Hosting-Anbieter
30-tägige Geld-zurück-Garantie, unbegrenztes Bandbreiten- und Datenbankvolumen, kostenlose DDoS-Schutzmaßnahmen sowie ein Rabatt von 501 auf 4 Terabyte bei einer Kaufdauer von 3 Jahren.

Standardmäßig nutzt WordPress…get_site_option()Die Funktion dient dazu, diese Optionen abzurufen. Das Problem ist jedoch, dass ohne eine persistente Objektcache (wie Memcached oder Redis) jede Aufruf der Funktion dazu führt, dass die Daten erneut aus der Datenbank abgerufen werden müssen – was zu einer Verzögerung führt.get_site_option()Jeder Vorgang führt zu einer Datenbankabfrage. Für ein geschäftiges, mehrstandiges Netzwerk bedeutet dies, dass Tausende von Abfragen pro Sekunde durchgeführt werden könnten.wp_sitemetaAbfrage des Tabellens.

Ein häufiges Leistungsproblem ist die Serialisierung großer Datenmengen. Wenn Entwickler dies verwenden…update_site_option()Wenn eine Funktion einen großen Array oder ein Objekt speichert, wird dieser nach der Serialisierung in einer Datenbank abgelegt. Häufiges Lesen und Deserialisieren dieser großen Datenmengen verbraucht viele Ressourcen. Daher ist es wichtig, diese Prozesse zu optimieren.WPMU_OPTIONSDer Schlüssel liegt darin, den unnötigen Datenspeicher zu reduzieren und eine effektive Caching-Strategie umzusetzen.

Audit- und Netzwerkreinigungsoptionen

Der erste Schritt zur Optimierung ist die Überprüfung des aktuellen Zustands.wpmu_optionsWelche Inhalte werden in der Tabelle gespeichert? Dies kann durch das Ausführen von SQL-Abfragen in der Datenbank des “Haupt-Sites” im Internet oder durch die Verwendung spezieller, plattformübergreifender Management-Plugins erreicht werden.

SELECT meta_key, LENGTH(meta_value) as value_size FROM wp_sitemeta ORDER BY value_size DESC LIMIT 20;

Diese SQL-Anweisung listet die 20 größten Netzwerkoptionen sowie deren Größe auf, um Ihnen zu helfen, zu erkennen, welche als “datenintensiv” gelten. Häufig sind veraltete temporäre Daten, nicht gelöschte Protokolle oder zu große Konfigurationsobjekte die Hauptziele für die Bereinigung. Für Optionen, die als nutzlos oder veraltet eingestuft wurden, können Sie den folgenden Codeausschnitt verwenden, um sie zu löschen:

Empfohlene Lektüre Die vollständige Anleitung zur Optimierung der Geschwindigkeit von WordPress-Websites: Der ultimative Leitfaden von den Grundlagen bis zur praktischen Umsetzung.

// 谨慎操作:删除指定的网络选项
if (false !== get_site_option('some_large_temp_data')) {
    delete_site_option('some_large_temp_data');
}

Die regelmäßige Durchführung solcher Audits und Reinigungsmaßnahmen trägt dazu bei, dass die Systeme und Daten in einem ordnungsgemäßen Zustand bleiben.wpmu_optionsEffiziente und straffe Gestaltung von Tabellen.

Optimierung der Les- und Schreiblogik der Kernoptionen

Für diejenigen, die unbedingt gespeichert werden müssen…wpmu_optionsEs ist von entscheidender Bedeutung, die Daten zu optimieren, um deren Lese- und Schreibvorgänge effizienter zu gestalten. Vermeiden Sie es, die Optionen bei jedem Seitenladen zu aktualisieren – zum Beispiel sollten keine Echtzeitzahlen oder häufig sich ändernde temporäre Daten direkt geschrieben werden. Stattdessen sollte die Verwendung eines Speichercaches als Zwischenschicht in Betracht gezogen werden.

Für selbst entwickelte Plugins oder Themes sollte bei der Speicherung von Netzwerkoptionen eine “bedarfsorientierte Speicherung”-Strategie angewendet werden. Bei der Ausführung…update_site_option()Zuerst wird… verwendet.get_site_option()Die alte Wertung abrufen und die Aktualisierung nur dann durchführen, wenn sich der Wert tatsächlich geändert hat – dadurch werden unnötige Schreibvorgänge in der Datenbank reduziert.

hosting.com Shared Hosting
Hohe Leistung mit AMD EPYC-CPUs, NVMe-SSD-Speicher und LiteSpeed, fachkundiger Inhouse-Support rund um die Uhr, erweiterte Sicherheitsmaßnahmen einschließlich SSL, Brute-Force-, Malware- und DDoS-Schutz, Einsparungen von bis zu 73%
$old_value = get_site_option('my_network_setting');
$new_value = calculate_new_value();

if ($old_value !== $new_value) {
    update_site_option('my_network_setting', $new_value);
}

Einführung einer effizienten Objektkachspolitik

Die Objektcache ist die Grundlage für die Verbesserung der Leistung von WordPress auf mehreren Websites. Sie speichert die Ergebnisse von Datenbankabfragen, Antworten auf entfernte Anfragen sowie die Ausgaben komplexer Berechnungen in einem schnellen Speicher im Arbeitsspeicher. Spätere Anfragen werden direkt aus dem Speicher abgerufen, was die Belastung der Datenbank und die Verarbeitungszeit in PHP erheblich verringert.

Konfigurieren des Caches für persistente Objekte

WordPress unterstützt verschiedene Backend-Systeme für die Persistenz von Objektcaches, wobei Memcached und Redis am häufigsten verwendet werden. In Netzwerken mit mehreren Websites sind die Vorteile einer persisten Caching-Lösung aufgrund der größeren Datenmengen und der größeren Anzahl an Websites noch deutlicher erkennbar.

Als Beispiel für Redis müssen Sie den Redis-Dienst sowie die PHP-Redis-Erweiterung auf dem Server installieren. Anschließend…wp-config.phpFügen Sie die entsprechenden Konfigurationen zum Dateiinhalt hinzu. Bei mehreren Standorten ist eine wichtige Konfiguration die Verwendung einer globalen Cache-Gruppe oder einer Standortwechsellogik, um sicherzustellen, dass die Cache-Schlüssel im Netzwerk eindeutig sind und eine Verfälschung der Daten zwischen den verschiedenen Standorten verhindert wird.

Empfohlene Lektüre Wie man die WordPress-Datenbank optimiert, um die Ladegeschwindigkeit der Website deutlich zu verbessern.

// 在 wp-config.php 中配置Redis对象缓存
define('WP_REDIS_CLIENT', 'predis');
define('WP_REDIS_SCHEME', 'tcp');
define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
// 对于多站点,建议添加一个前缀,或在代码中处理缓存组
define('WP_REDIS_PREFIX', 'my_network_');

Nach der Installation und Aktivierung des entsprechenden Objekt-Caching-Plugins (z. B. Redis Object Cache) wird WordPress automatisch…get_site_option()Die Abfrageergebnisse werden in einem Cache gespeichert.

Caching of network queries and transient data

Neben dem Kernobjekt-Caching ist die WordPress-Transients-API ein wertvolles Werkzeug für die Entwicklung mehrerer Websites. „Transienten“ bezeichnen Cache-Daten, die mit einer Ablaufzeit versehen sind. Für Daten, die im gesamten Netzwerk berechnet werden müssen, aber keine extrem hohe Echtzeitanforderungen haben, sollte die Transients-API bevorzugt werden.set_site_transient()undget_site_transient()

InterServer Shared Hosting
Shared Hosting $2.50 USD pro Monat, erster Monat $0.1 USD Promo-Code tryinterserver, 461 Cloud-Apps Skripte, ein Klick installieren.

Beispielsweise ist die Zählung der Gesamtanzahl der Nutzer oder der Websites im Netzwerk eine relativ zeitaufwändige Aufgabe, doch die Daten müssen nicht jede Sekunde aktualisiert werden. Sie können diese Daten für eine Stunde im Cache speichern.

function get_cached_network_site_count() {
    $count = get_site_transient('network_site_count');
    if (false === $count) {
        // 缓存不存在或已过期,执行数据库查询
        $count = get_blog_count(); // 假设这个函数较耗时
        // 缓存12小时
        set_site_transient('network_site_count', $count, 12 * HOUR_IN_SECONDS);
    }
    return $count;
}

Damit wird sichergestellt, dass die teuren Datenbankabfragen nur einmal pro Stunde ausgeführt werden – und nicht bei jedem Seitenladen.wpmu_optionsDie momentanen Daten darin…_site_transient_*Auch diese Komponente sollte vom Objekt-Cache verarbeitet werden, um die Geschwindigkeit der Backend-Verarbeitung zu erhöhen.

Advanced Caching and File System Optimization

Neben der Objektcache sind auch die Seiten-Level-Cache sowie Optimierungen des Dateisystems von entscheidender Bedeutung für die Verbesserung der Ladezeit mehrerer Websites. Diese Strategien verringern die Server-Reaktionszeit und den Ressourcenverbrauch aus verschiedenen Aspekten.

Konfigurieren Sie die Seiten-Caching-Funktionen so, dass sie mit mehreren Webseiten kompatibel sind.

Die Seiten-Caching-Technologie speichert die vollständig rendernte HTML-Seite. Bei Besuchen durch anonyme Nutzer wird direkt die statische HTML-Version zurückgegeben, wodurch der Aufruf von PHP-Code und der Datenbank vollständig umgangen wird. Dies führt zu einer erheblichen Beschleunigung insbesondere bei Seiten, deren Inhalt nicht häufig geändert wird (z. B. Artikel oder Standardseiten).

Für mehrere Websites müssen Sie einen Cache-Plugin wählen, das die Netzwerkaktivierung sowie die Konfiguration auf Netzwerkebene unterstützt – beispielsweise WP Rocket (Business-Version), W3 Total Cache oder Cache Enabler. Bei der Konfiguration sollten Sie folgende Punkte berücksichtigen: Erstens müssen Sie sicherstellen, dass das Cache-Verzeichnis (z. B.)/wp-content/cache/Erstens muss der Zugriff auf alle Websites im Netzwerk klar strukturiert und konfliktfrei gestaltet werden; zweitens sollte die Lebensdauer der Caches angemessen eingestellt werden, um eine Balance zwischen Leistung und Aktualität der Inhalte zu gewährleisten; drittens müssen die Regeln für das Vorladen (Preloading) der Caches korrekt konfiguriert werden, damit neu veröffentlichte Inhalte rechtzeitig in den Cache geschrieben werden.

Auf einem Nginx-Server können Sie effizientere Regelungen für die Statisierung von Inhalten umsetzen. Im Folgenden finden Sie einen vereinfachten Nginx-Konfigurationsausschnitt, der dazu dient, direkt auf in Cache gespeicherte HTML-Dateien zuzugreifen:

set $cache_uri $request_uri;
if ($request_method = POST) { set $cache_uri 'nocache'; }
if ($query_string != "") { set $cache_uri 'nocache'; }
if ($request_uri ~* "(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php)") {
    set $cache_uri 'nocache';
}
# 检查缓存文件是否存在
if (-f "/path/to/wp-content/cache/page_${host}${cache_uri}index.html") {
    expires max;
    add_header X-Cache-Status "HIT";
    rewrite ^ /wp-content/cache/page_${host}${cache_uri}index.html break;
}

Optimierung der Verarbeitung statischer Ressourcen und hochgeladener Dateien

Mehrsites-Netzwerke verfügen in der Regel über eine große Anzahl an Mediendateien, und die Optimierung ihrer Ladezeit verbessert direkt die Benutzererfahrung. Zunächst sollten Sie sicherstellen, dass alle statischen Ressourcen der Websites (CSS, JavaScript, Bilder) über ein CDN (Content Delivery Network) verteilt werden. Dies kann mithilfe von Plugins oder durch entsprechende Anpassungen erreicht werden.wp-config.phpDies wird durch die Verwendung von URLs in den Thema-Dateien erreicht. Zum Beispiel kann eine CDN-Konstante für den gesamten Netzwerkbereich definiert werden:

// 在 wp-config.php 中定义CDN域名
define('WP_CONTENT_URL', 'https://cdn.yourdomain.com/wp-content');

Zweitens: Optimieren Sie die Struktur der hochgeladenen Dateien. Der Standard-Upload-Pfad für mehrere Sites lautet…/wp-content/uploads/sites/{BLOG_ID}/Stellen Sie sicher, dass das Dateisystem des Servers effizient ist (z. B. durch die Verwendung von SSDs), und überlegen Sie die Möglichkeit, dies weiter zu verbessern.uploadsDie Verzeichnisse werden über Symbolverknüpfungen auf eine spezielle Speichervorlage oder auf einen Objektspeicher (z. B. Amazon S3, Google Cloud Storage) montiert, um die I/O-Abelastung des Hauptservers zu verringern.

Bei Bildern sollte unbedingt die Technik des „Lazy Loadings“ sowie die Nutzung neuerer Bildformate (wie WebP) angewendet werden. Viele Caching-Plugins oder spezialisierte Bildoptimierungs-Tools (wie ShortPixel, Imagify) unterstützen die batchweise Umwandlung und Optimierung von Bildern auf Netzwerkebene.

Schließlich darf auch die regelmäßige Wartung der Datenbank nicht vernachlässigt werden.wp_sitemetawp_optionsDie regelmäßige Optimierung (OPTIMIZE TABLE) sowie Reparaturen von Kerntabellen – einschließlich Artikeln und Kommentaren – auf allen Standorten sorgen dafür, dass die Datenbankabfragen optimal funktionieren. Nur durch die kontinuierliche Überwachung von Leistungsindikatoren mithilfe von Überwachungstools wie New Relic oder dem Query Monitor-Plugin kann man gezielte Optimierungen durchführen.

Zusammenfassungen

Die Optimierung der Ladezeit in einem WordPress-Mehrsites-Netzwerk ist ein systemisches Projekt, das auf verschiedenen Ebenen – Datenbank, Code, Caching und Infrastruktur – gemeinsam angegangen werden muss. Der Schlüssel liegt darin, diese Aspekte zu verstehen und entsprechend zu optimieren.wpmu_optionsDie Speicher- und Lesemechanismen sorgen dafür, dass die Datenbankbelastung durch Audits, Datenbereinigung, Optimierung der Daten sowie der Logik reduziert wird. Auf dieser Grundlage ist die obligatorische Nutzung von Persistenz-Caches (wie Redis) der Schlüssel zur Erreichung hoher Leistung – sie ermöglicht es, häufig auftretende Netzwerkabfragen in In-Memory-Lesevorgänge umzuwandeln. Zusätzlich können durch die Kombination von Seiten-Caching, CDN-Distribution und Optimierungen des Dateisystems eine solide und effiziente Mehrstandort-Architektur aufgebaut werden. Denken Sie daran: Überwachung, Messung und Iteration sind entscheidend, um eine dauerhafte Hochleistung zu gewährleisten. Es gibt keine einmalige, perfekte Konfiguration – es handelt sich vielmehr um einen kontinuierlichen Optimierungsprozess.

FAQ Häufig gestellte Fragen

Wird die Optimierung von WPMU_OPTIONS die normale Funktionsfähigkeit der Plugins beeinträchtigen?

Nein. Solange Ihre Bereinigungs- und Optimierungsmaßnahmen auf den Ergebnissen einer Überprüfung basieren und nur solche temporären Daten gelöscht werden, die eindeutig unnütz sind oder von Ihren eigenen Plugins erstellt wurden, werden die Kernfunktionen sowie andere Plugins nicht beeinträchtigt. Es wird empfohlen, vor der Durchführung der Maßnahmen…wp_sitemetaEine vollständige Backup-Kopie der Tabellen erstellen und diese zunächst in der Testumgebung überprüfen. Das Optimierungsprinzip lautet: “Nur unnötige Daten löschen, das Kernsystem unberührt lassen.”

Wie sollte man zwischen Redis und Memcached für die Caching-Lösung bei mehreren Webseiten wählen?

Beide sind ausgezeichnete Backend-Lösungen für die Persistenz und Caching von Objekten. Redis verfügt über eine umfangreichere Funktionalität und unterstützt die Speicherung von Daten auf der Festplatte sowie komplexere Datenstrukturen – daher eignet es sich besonders für Szenarien mit sehr großen Datenmengen, bei denen eine Persistenz der Daten oder die Nutzung fortgeschrittener Funktionen erforderlich ist. Memcached hingegen ist einfacher konzipiert und weist möglicherweise eine höhere Effizienz bei der Speicherzuweisung auf Mehrkern-Servern auf; es stellt somit die klassische Wahl für reine Speicher-Caches dar. Für die meisten Mehrstandort-Netzwerke kann die Wahl zwischen Redis und Memcached zu erheblichen Verbesserungen führen, sofern der Server über ausreichend Speicher verfügt und keine Festplatten-Persistenz der Daten erforderlich ist. Es empfiehlt sich, mit Memcached zu beginnen, da dessen Konfiguration relativ einfach ist.

Muss das Page-Caching-Plugin für jeden einzelnen Website-Besucher auf dem Netzwerk separat konfiguriert werden?

Das hängt vom Plugin ab. Hervorragende Caching-Plugins, die für mehrere Websites konzipiert sind (z. B. W3 Total Cache), ermöglichen es Ihnen, die Einstellungen auf der Webadministratorenoberfläche global zu konfigurieren und diese auf alle Websites im Netzwerk anzuwenden. Gleichzeitig erlauben sie den Administratoren der Unterverzeichnisse, unter den globalen Regeln begrenzte Anpassungen vorzunehmen (z. B. bestimmte Seiten auszuschließen). Bei der Auswahl eines Plugins sollten Sie unbedingt überprüfen, ob in der Dokumentation ausdrücklich angegeben wird, dass die Konfigurationen auf “Network Wide”-Ebene unterstützt werden.

Wird get_site_option auch nach Aktivierung der Objektcache noch die Datenbank abfragen?

Ja, aber die Häufigkeit wird deutlich verringert. Wenn der Cache für persistente Objekte korrekt konfiguriert und ausgeführt wird…get_site_option()Die Funktion prüft zunächst, ob im Cache ein entsprechendes Ergebnis vorhanden ist. Falls ein Cache-Erfolg („Hit“) vorliegt, wird das Wertes aus dem Cache direkt zurückgegeben, ohne dass eine Abfrage an die Datenbank durchgeführt wird. Erst wenn der Cache fehlt („Miss“) oder abgelaufen ist, wird eine Abfrage durchgeführt.wp_sitemetaNach Abschluss der Abfrage wird der Cache automatisch mit den neuen Ergebnissen gefüllt, die für nachfolgende Anfragen zur Verfügung stehen. Daher erfolgt die Datenbankabfrage nur, wenn der Cache ungültig wird.