Ich versuche, eine WordPress-Website zu optimieren, die unter langsamen Ladezeiten leidet, und habe festgestellt, dass das Laden der Startseite anscheinend viel länger dauert. Es liegt nicht am Inhalt, da ich nur überlege, wie lange es dauert, bis die Basisanforderung endet (sichtbar über Firebug in Firefox).
Außerdem habe ich versucht, den index.php-Code in eine benutzerdefinierte Seite zu kopieren, und der gleiche exakte Code wird in ungefähr 1 Sekunde geladen, während das Haupt-Home in ungefähr 7 Sekunden geladen wird. Ich bemerkte, dass einzelne Seiten schneller geladen wurden, und zuerst dachte ich, dass dies daran lag der Unterschied im Inhalt, aber nach diesem Test bin ich nicht sicher, was dies verursacht.
Gibt es viel, was WordPress hinter den Kulissen nur für den Hauptindex macht? Gibt es eine andere Möglichkeit, diese Situation zu erklären und, was noch wichtiger ist, zu beheben, damit die Startseite schneller geladen wird?
UPDATE - SCHMUTZIGE LÖSUNG
Nach vielen blinden Versuchen habe ich eine neue Seite namens home erstellt, die index.php
als benutzerdefinierte Vorlage verwendet wird (keine Kopie, dieselbe Datei). Ich habe jeden Aufruf an den Basispfad umgeleitet (über das interne Umschreiben von WordPress) und habe dieselbe Homepage wie zuvor, die nur in 1/6 der Zeit geladen wurde. Obwohl ich mit dem Ergebnis zufrieden bin, würde ich gerne verstehen, was los ist.
EIN ANDERES UPDATE
Der Punkt scheint also zu sein, dass ich mit dieser Site keine dynamische Seite (im Sinne von WordPress) verwenden kann. Sie funktioniert nur mit einer benutzerdefinierten "statischen" Seite, auf der ich Inhalte über verschiedene Funktionen einfüge. Die normale Schleife macht das Home entweder sehr langsam (mit hohem Speicherlimit) oder einfach leer (niedriges Speicherlimit, Skript schlägt fehl).
Wie in dieser Frage vorgeschlagen , habe ich ein statisches Home erstellt, das mit einer benutzerdefinierten Seite verknüpft ist, und es funktioniert einwandfrei. Ich habe auch eine Blog-Seite erstellt (wieder mit einer benutzerdefinierten Vorlage), die ebenfalls einwandfrei funktioniert (wobei "gut" bedeutet, dass meine leere Testseite nur ein Wort und keinen Code enthält), es sei denn, ich gebe sie in admin -> als "Posts-Seite" an Einstellungen lesen. Mit anderen Worten, sobald WordPress eine dynamische Seite sieht (die die Hauptschleife enthalten soll), macht es etwas sehr Schweres, das viel RAM auffrisst.
Ich suche immer noch nach der Ursache dafür, kann es aber umgehen, aber ich würde wirklich gerne verstehen, wo das Problem liegt.
Bearbeiten: Kopfgeld hinzugefügt
Weitere Informationen: Ich habe versucht, alle Plugins zu deaktivieren. WordPress wurde auf die neueste Version aktualisiert.
WEITERE BEARBEITUNG: TABELLENINDEXE
wp_posts:
PRIMARY KEY (`ID`),
KEY `type_status_date` (`post_type`,`post_status`(1),`post_date`,`ID`),
KEY `post_status_date_gmt` (`post_status`(1),`post_date_gmt`),
KEY `post_date` (`post_date`),
KEY `post_date_gmt` (`post_date_gmt`),
KEY `post_parent` (`post_parent`),
KEY `post_name` (`post_name`),
KEY `post_status` (`post_status`),
KEY `post_author` (`post_author`),
FULLTEXT KEY `post_related` (`post_name`,`post_content`),
FULLTEXT KEY `post_content` (`post_content`,`post_title`),
wp_term_relationships:
PRIMARY KEY (`object_id`,`term_taxonomy_id`),
KEY `term_taxonomy_id` (`term_taxonomy_id`)
wp_term_taxonomy:
PRIMARY KEY (`term_taxonomy_id`),
UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`),
KEY `taxonomy` (`taxonomy`)
http://example.com?debug=sql
Premature end of script headers: index.php