WordPress Post lässt sich nicht mehr laden / kein Zugriff möglich

Kein Kommentar Autor: Jürgen (jdo)

Ich weiß derzeit noch nicht, ob das Problem an meinem Server oder an WordPress liegt. Möglicherweise ist es auch ein Plug-in und das Problem kann ich nicht reproduzieren. Allerdings habe ich eine Lösung gefunden, wie es sich bereinigen lässt.

In der Zwischenzeit ist das Problem bereits dreimal aufgetreten. Warum? Weiß ich nicht, wie bereits erwähnt.

Was ist passiert? Was sind die Symptome?

Beim Speichern oder beim Veröffentlichen hat sich anscheinend irgendwas verhaspelt. Folgende Probleme sind dann aufgetreten:

  • Der Post lässt sich nicht mehr laden.
  • Die Liste mit allen Posts lädt sich nicht mehr, wenn der entsprechende Beitrag auf dieser Liste ist. Sollte der Beitrag also auf Seite 3 sein, funktionieren die Seiten 1, 2, 4 und so weiter, aber Seite 3 scheint ewig zu laden.
  • Die CPU-Last auf dem Server steigt bei allen CPUs auf 100 %. Ein Neustart von Apache bringt nur kurze Entlastung und die Last steigt langsam wieder an, bis alle CPUs 100 % ausgelastet sind.
  • Zugriff auf alle anderen Bereiche funktioniert. Plug-ins, Seiten, Benutzern und so weiter.
  • Klicke ich auf die Beträge eines Benutzers, lädt sich auch hier die Seite nicht mehr mit dem entsprechenden Beitrag.
  • Deaktivieren diverse Plug-ins oder der Cache-Plug-ins hat auch nichts genutzt.
  • Eine Suche nach einem Wort in der Überschrift des Beitrags führt ebenfalls zu einem scheinbar unendlichem Laden.
  • Ein kompletter Neustart des Servers hat das Problem ebenfalls nicht gelöst.

Zusammengefasst: Sobald der entsprechende Beitrag involviert ist, geht nichts mehr. Auch im Frontend konnte man den Beitrag nicht mehr aufrufen.

Was ist die Lösung?

Als mir das Problem erstmalig passiert ist, hatte ich den Post zum Glück noch offen. Ein Klick auf Löschen hat den Beitrag in die Tonne gekloppt und danach war alles wieder in Ordnung. Allerdings musste ich Apache durchstarten, damit sich die Sache wieder beruhigt.

Beim zweiten Mal hatte ich den Beitrag nicht mehr offen und nun schaute ich zunächst dumm aus der Wäsche. Den Beitrag einfach in der Datenbank weghauen ist nicht so einfach, da Posts über mehrere Tabellen verknüpft sind.

Es gibt aber eine WordPress-Funktion, die einen Beitrag oder Post komplett und sauber löscht.

wp_delete_post()

Die Lösung, um den blockierten Post zu löschen, der die Probleme verursacht, ist denkbar einfach. Es hat aber trotzdem eine Weile gedauert, bis ich das überrissen hatte. Du fügst einfach diese Zeile in Deine footer.php ein, rufst die Website mindestens ein Mal auf und löscht die Zeile wieder:

<?php wp_delete_post(Post ID); ?>

Die Zahl 123 steht im nachfolgenden Fall für die Post-ID – also nicht einfach die Zeile oben übernehmen, weil Du damit den Beitrag mit der ID 123 ohne weitere Nachfragen löscht! Ich würde mit diesem Befehl also den Beitrag mit der ID 123 sauber löschen:

<?php wp_delete_post(123); ?>

Auch hier musste ich Apache neu starten, um den Server zu beruhigen, also die Last der CPUs auf normales Niveau zu bringen.

Wie finde ich die Post ID in WordPress?

Die Post-ID ist einfach zu finden, wenn Du Zugriff auf die Datenbank hast. Öffne die Tabelle wp_posts und finde in der Spalte ID die entsprechende Nummer.

Klar findest Du die ID auch in WordPress, wenn Du mit der Maus über den entsprechenden Beitrag fährst.

Post ID in WordPress finden
Post ID in WordPress finden

Das Problem ist aber, dass sich die Liste mit den Beiträgen nicht mehr laden lässt, in der sich der kaputte Beitrag befindet. Deswegen musst Du eventuell in der Datenbank nachschauen.

Ich würde schon gerne wissen, woran das liegt – allerdings bin ich auch froh, eine relativ einfache Lösung gefunden zu haben. Vielleicht hilft es Dir auch.




 Alle Kommentare als Feed abonnieren

Kommentare sind geschlossen.

Air VPN - The air to breathe the real Internet