12k
All articles

So planen Sie Beiträge in WordPress

WordPress-Beiträge planen, Missed-Schedule-Fehler beheben und WP-Cron mit echtem Server-Cron einrichten, damit Posts pünktlich erscheinen.

OpenReplay Team
OpenReplay Team
So planen Sie Beiträge in WordPress

Um einen Beitrag in WordPress zu planen, öffnen Sie das Panel Einstellungen → Zusammenfassung des Beitrags, klicken auf das Datum Veröffentlichen: Sofort, wählen ein zukünftiges Datum mit Uhrzeit und klicken anschließend auf die Schaltfläche Planen, die Veröffentlichen ersetzt.

Dieser Teil dauert weniger als eine Minute. Länger dauert es, herauszufinden, warum der für 2 Uhr morgens eingeplante Beitrag beim Frühstück noch immer unveröffentlicht dasteht — rot markiert mit Verpasster Zeitplan.

Der Grund liegt in der Art, wie WordPress geplante Aufgaben ausführt: nicht über einen echten Timer, sondern über Seitenaufrufe. Dieser Leitfaden behandelt zuerst den schnellen Klickpfad, danach den WP-Cron-Mechanismus und die dauerhafte Server-Cron-Lösung, die verpasste Zeitpläne endgültig beseitigt.

Die wichtigsten Erkenntnisse

  • WordPress plant Beiträge in der Zeitzone Ihrer Website, die standardmäßig auf UTC eingestellt ist. Legen Sie die richtige Zone unter Einstellungen → Allgemein fest, bevor Sie etwas planen — andernfalls werden Beiträge zur falschen Ortszeit veröffentlicht.
  • WordPress verwendet keinen echten System-Timer, sondern WP-Cron, einen Pseudo-Cron, der fällige Aufgaben nur prüft, wenn jemand eine Seite lädt. Eine Website mit geringem Traffic oder starkem Caching kann den geplanten Zeitpunkt daher komplett verpassen.
  • Die dauerhafte Lösung ist ein echter Server-Cron, der wp-cron.php alle 5–15 Minuten aufruft, sowie anschließend die Zeile define('DISABLE_WP_CRON', true); in wp-config.php. Halten Sie diese Reihenfolge ein, sonst werden geplante Aufgaben stillschweigend gar nicht mehr ausgeführt.
  • Plugins wie MWW Scheduled Post Trigger veröffentlichen verpasste Beiträge erst nachdem sie überfällig sind; ein Server-Cron verhindert das Verpassen von Anfang an.
  • Managed-Plattformen wie Kinsta und DreamPress von DreamHost betreiben bereits einen Cron auf Serverebene (typischerweise alle 15 Minuten), sodass dort in der Regel keine Konfiguration nötig ist.

Legen Sie zuerst Ihre Zeitzone fest

WordPress plant Beiträge in der Zeitzone Ihrer Website, die standardmäßig auf UTC eingestellt ist. Legen Sie die richtige Zone unter Einstellungen → Allgemein fest, bevor Sie etwas planen — andernfalls werden Beiträge zur falschen Ortszeit veröffentlicht. Eine frische Installation speichert Zeiten in koordinierter Weltzeit (UTC), sodass ein für „8:00 Uhr” eingeplanter Beitrag um 8:00 Uhr UTC erscheint, solange Sie WordPress nicht mitgeteilt haben, wo Sie sich befinden. Gehen Sie zu Einstellungen → Allgemein, wählen Sie eine Stadt in Ihrer Zone (städtebasierte Einträge berücksichtigen die Sommerzeit automatisch, im Gegensatz zu festen UTC-Offsets) und speichern Sie. Erledigen Sie das einmalig, bevor Sie irgendetwas planen. Die Installationshinweise des Plugins MWW Scheduled Post Trigger weisen darauf hin, zuerst diese Einstellung zu prüfen, und die FAQ verweist erneut darauf, wenn Beiträge weiterhin nicht erscheinen.

Wie planen Sie einen Beitrag im Block-Editor?

Um einen Beitrag im Block-Editor zu planen, öffnen Sie das Panel Einstellungen → Zusammenfassung, klicken auf das Datum Veröffentlichen: Sofort, wählen ein zukünftiges Datum mit Uhrzeit und klicken dann auf die Schaltfläche Planen, die Veröffentlichen ersetzt. WordPress veröffentlicht den Beitrag zu diesem Zeitpunkt automatisch. Zur Kontrolle: Sobald ein zukünftiges Datum gesetzt ist, lautet die obere Schaltfläche Planen statt Veröffentlichen.

Classic Editor: Klicken Sie in der Meta-Box Veröffentlichen auf Bearbeiten neben Sofort veröffentlichen, geben Sie Datum und Uhrzeit ein, klicken auf OK und anschließend auf die Schaltfläche Planen.

Bei Seiten funktioniert es genauso. Das Datumsfeld befindet sich für beide Inhaltstypen im selben Panel.

Verwalten, Planung aufheben und früher veröffentlichen

Um alle eingeplanten Beiträge zu sehen, gehen Sie zu Beiträge → Alle Beiträge und klicken oberhalb der Liste auf den Filter Geplant; von dort können Sie jeden Eintrag bearbeiten, früher veröffentlichen oder aus der Planung nehmen.

  • Früher veröffentlichen: Öffnen Sie den Beitrag und klicken auf Veröffentlichen. Er geht unabhängig vom geplanten Zeitpunkt sofort live.
  • Planung aufheben: Setzen Sie den Status des Beitrags zurück auf Entwurf. Damit verschwindet er aus der Warteschlange, ohne veröffentlicht zu werden, und Sie können weiter daran arbeiten und später neu planen. (Das Datum auf „jetzt” zu setzen und auf Veröffentlichen zu klicken, ist früher veröffentlichen — keine Aufhebung der Planung.)
  • Änderungen an einem bereits veröffentlichten Beitrag planen: Standardmäßig ist das nicht möglich, denn jede Änderung an einem live geschalteten Beitrag wird beim Speichern sofort öffentlich. Um ein Update einzuplanen, nutzen Sie ein Plugin wie PublishPress Revisions, das eine Revision vorbereitet und zeitgesteuert veröffentlicht.

Warum werden geplante WordPress-Beiträge verpasst?

WordPress verwendet keinen echten System-Timer, sondern WP-Cron, einen Pseudo-Cron, der fällige Aufgaben nur prüft, wenn jemand eine Seite lädt. Auf einer Website mit geringem Traffic wird ein für 2:00 Uhr geplanter Beitrag daher möglicherweise erst veröffentlicht, wenn der nächste Besucher eintrifft. Das Plugin Handbook formuliert die praktische Konsequenz unmissverständlich: Planen Sie einen Job für 14 Uhr, kommen bis 17 Uhr keine Besucher, bleibt der Job bis 17 Uhr liegen. Wenn der Auslöser endlich greift, ist der Beitrag längst überfällig, und WordPress markiert ihn rot mit Verpasster Zeitplan.

Zwei Bedingungen im Produktivbetrieb verschärfen das Problem:

  • Wenig oder kein Traffic. Wie SpinupWP erklärt, werden geplante Ereignisse nur ausgelöst, wenn jemand die Seite besucht. Eine Website, die stundenlang still ist, verpasst also alles, was in diesem Zeitfenster fällig wird. Nachtbeiträge auf einem Hobby-Blog sind der Klassiker.
  • Aggressives Full-Page-Caching. Eine gecachte Seite wird als statisches HTML ausgeliefert, ohne PHP auszuführen — WP-Cron läuft dann überhaupt nicht. Wird ein ausreichend großer Teil des Traffics aus dem Cache bedient, kommt WordPress kaum zur Ausführung, sodass selbst eine gut besuchte Website keine geplanten Ereignisse mehr auslöst. Auf performanceoptimierten Websites ist das eine häufige Ursache.

Die dauerhafte Lösung: Pseudo-Cron deaktivieren und echten Server-Cron einrichten

Die dauerhafte Lösung besteht darin, einen echten Cron mit festem Intervall zu betreiben und anschließend den Seitenaufruf-Trigger zu deaktivieren. Das ist keine Notlösung, sondern ein dokumentiertes Vorgehen: Das Plugin Handbook behandelt genau für diesen Fall — wenn eine Aufgabe pünktlich laufen muss — das Einbinden von WP-Cron in den System-Taskplaner.

Gehen Sie in dieser Reihenfolge vor. Wenn Sie WP-Cron deaktivieren, bevor ein Ersatz läuft, werden geplante Aufgaben ohne Fehlermeldung und ohne Warnung nicht mehr ausgeführt: Beiträge, Backups und Update-Prüfungen verstummen sämtlich, bis es Ihnen auffällt.

Schritt 1: Einen echten Cron-Job anlegen. Rufen Sie im Modul Cron Jobs von cPanel oder in der Crontab Ihres Servers wp-cron.php in einem festen Intervall auf. Ein verlässlicher Standardwert sind 5–15 Minuten. Diese Form mit wget -q -O - stammt von Kinsta:

*/15 * * * * wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

*/15 führt den Aufruf alle 15 Minuten aus; ersetzen Sie example.com durch Ihre Domain. Die kanonische Form des Handbooks verwendet wget --delete-after http://YOUR_SITE_URL/wp-cron.php im selben Intervall. Beides funktioniert; nehmen Sie, was Ihr Hoster unterstützt.

Schritt 2: Den Seitenaufruf-Trigger deaktivieren. Sobald der Server-Cron eingerichtet ist, fügen Sie diese Zeile in wp-config.php oberhalb des Kommentars /* That's all, stop editing! */ ein:

define('DISABLE_WP_CRON', true);

Plugin als Übergangslösung. Plugins wie MWW Scheduled Post Trigger oder Missed Scheduled Posts Publisher veröffentlichen verpasste Beiträge erst nachdem diese bereits überfällig sind, und die FAQ von MWW beschreibt das Plugin selbst als Übergangslösung, bis Sie gemeinsam mit Ihrem Hoster klären, warum der Cron nicht auslöst. Ein echter Server-Cron verhindert das Verpassen, statt darauf zu reagieren. Verlassen Sie sich nicht darauf, dass ein einzelnes Plugin garantiert funktioniert — manche versagen bei bestimmten Hoster-Konfigurationen.

Übergangs-PluginEchter Server-Cron (empfohlen)
FunktionsweiseVeröffentlicht bereits verpasste Beiträge beim nächsten Besuch/IntervallRuft wp-cron.php in festem Intervall auf, unabhängig vom Traffic
Geeignet fürHobby-Blogs mit geringem Traffic, schnelle EntsperrungProduktivbetrieb, gecachte Websites, geringen Traffic oder Multisite-Installationen
Verhindert das Verpassen?Nein, reagiert nachträglichJa, proaktiv
EinrichtungInstallieren und aktivierenwp-config.php bearbeiten + Cron-Eintrag anlegen (oder Managed-Hoster nutzen)

Managed-Hoster. Kinsta betreibt für jede Website einen Cron auf Serverebene alle 15 Minuten, und DreamPress von DreamHost deaktiviert WP-Cron standardmäßig und ersetzt es durch einen System-Cron im gleichen Intervall. Auf solchen Plattformen müssen Sie in der Regel nichts konfigurieren. Prüfen Sie die Dokumentation Ihres Hosters, bevor Sie WP-Cron deaktivieren.

Mit WP-CLI prüfen und manuell ausführen. Auf einem Server mit SSH-Zugang zeigt wp cron event list die geplanten Ereignisse samt nächster Ausführungszeit, und wp cron event run --due-now erzwingt die sofortige Ausführung aller überfälligen Ereignisse — der schnellste Weg, um zu bestätigen, dass ein hängender Beitrag veröffentlicht wird.

Fazit

Einen WordPress-Beitrag zu planen ist ein Klickpfad von einer Minute — diese Beiträge zuverlässig zu halten, ist jedoch eine Serverangelegenheit. Setzen Sie Ihre Zeitzone unter Einstellungen → Allgemein und planen Sie Beiträge über das Panel Zusammenfassung. Sollte je Verpasster Zeitplan erscheinen, vertrauen Sie dem Pseudo-Cron per Seitenaufruf nicht länger: Richten Sie einen echten Server-Cron ein, der wp-cron.php alle 5–15 Minuten aufruft, und ergänzen Sie dann define('DISABLE_WP_CRON', true);. Diese eine Änderung macht aus der Planung nach dem Best-Effort-Prinzip einen verlässlichen Mechanismus — selbst auf einer ruhigen oder gecachten Website.

FAQs

Sollte ich WP-Cron deaktivieren, wenn ich einen Managed-WordPress-Hoster wie Kinsta oder DreamHost nutze?

Nein. Auf Managed-Plattformen wie Kinsta und DreamPress von DreamHost müssen Sie WP-Cron in der Regel nicht selbst deaktivieren, da diese Plattformen bereits serverseitig einen Cron betreiben (typischerweise alle 15 Minuten), der wp-cron.php unabhängig vom Traffic aufruft. Prüfen Sie zuerst die Dokumentation Ihres Hosters — viele Managed-Tarife konfigurieren das automatisch, und eine doppelte Einrichtung bringt keinen Vorteil. Greifen Sie nur dann in wp-config.php ein, wenn Ihr Hoster bestätigt, dass kein Server-Cron läuft.

Was ist der Unterschied zwischen einem Plugin für verpasste Zeitpläne und einem echten Server-Cron?

Ein Plugin für verpasste Zeitpläne wie MWW Scheduled Post Trigger oder Missed Scheduled Posts Publisher veröffentlicht Beiträge erst, nachdem sie bereits überfällig sind, und reagiert dabei beim nächsten Seitenaufruf oder Intervall. Ein echter Server-Cron ruft wp-cron.php dagegen in einem festen Intervall auf, unabhängig vom Traffic, und verhindert das Verpassen von vornherein. Plugins sind eine schnelle Übergangslösung für Hobby-Blogs mit geringem Traffic; ein Server-Cron ist die proaktive Lösung für Produktivbetrieb, gecachte Websites oder Multisite-Installationen.

Warum wurde mein geplanter Beitrag zur falschen Tageszeit veröffentlicht?

Eine frische WordPress-Installation speichert Zeiten in koordinierter Weltzeit (UTC), sodass ein für '8:00 Uhr' eingeplanter Beitrag um 8:00 Uhr UTC erscheint, solange Sie Ihre Zone nicht unter Einstellungen und dann Allgemein festgelegt haben. Wählen Sie einen städtebasierten Eintrag anstelle eines festen UTC-Offsets, da städtebasierte Einträge die Sommerzeit automatisch berücksichtigen. Legen Sie das einmalig fest, bevor Sie irgendetwas planen, damit alle künftigen Beiträge Ihrer Ortszeit folgen.

Wie kann ich prüfen, ob meine geplanten Beiträge tatsächlich veröffentlicht werden?

Auf einem Server mit SSH-Zugang führen Sie wp cron event list aus, um alle geplanten Ereignisse samt nächster Ausführungszeit zu sehen, und anschließend wp cron event run --due-now, um alle überfälligen Ereignisse sofort auszuführen. Dieses WP-CLI-Duo ist der schnellste Weg, um zu bestätigen, dass ein hängender Beitrag veröffentlicht wird, und um zu diagnostizieren, ob WP-Cron überhaupt auslöst. Ohne SSH stellt das Plugin WP Crontrol dieselbe Ereignisliste im Admin-Dashboard bereit.

Führt Full-Page-Caching dazu, dass geplante Beiträge verpasst werden?

Ja, aggressives Full-Page-Caching ist eine häufige und oft übersehene Ursache für verpasste Zeitpläne. Eine gecachte Seite wird als statisches HTML ausgeliefert, ohne PHP auszuführen, sodass WP-Cron bei diesen Anfragen nie läuft — selbst bei hohem Traffic. Wird ein ausreichend großer Teil des Traffics aus dem Cache bedient, kommt WordPress kaum zur Ausführung, und geplante Ereignisse werden nicht mehr ausgelöst. Die Lösung ist dieselbe wie bei Websites mit geringem Traffic: den Seitenaufruf-Trigger deaktivieren und einen echten Server-Cron einrichten.

DevTools for the frontend

Gain Debugging Superpowers

Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers.

Star on GitHub12k

We use cookies to improve your experience. By using our site, you accept cookies.