Cron pro WordPress prakticky — spolehlivé plánované úlohy

WordPress si plánované akce — publikaci článků, kontroly aktualizací, odesílání e-mailů — řídí vlastním plánovačem WP-Cron. Ten má ale záludnost: nespouští ho čas, nýbrž návštěvníci. Tady je, jak ho na WPCloud vyměnit za spolehlivý systémový cron a k čemu dalšímu se cron hodí.

Založení nové cron úlohy v panelu
Systémový cron v panelu běží přesně na čas — bez ohledu na návštěvnost webu.

V čem je WP-Cron záludný

WP-Cron se probouzí jen při návštěvě webu. Málo navštěvovaný web = úlohy se zpožďují (naplánovaný článek nevyjde, zálohy pluginu neběží). Hodně navštěvovaný web = kontrola plánovače při každém požadavku ubírá výkon. Řešení obojího: vypnout vestavěné spouštění a nechat úlohy budit server.

  1. Vypněte vestavěné spouštění

    Do wp-config.php přidejte řádek define(‚DISABLE_WP_CRON‘, true); — plánovač tím nezrušíte, jen přestane záviset na návštěvnících.

  2. Založte systémový cron

    V panelu podle návodu Cron úlohy vytvořte úlohu, která každých 5–15 minut zavolá https://vase-domena.cz/wp-cron.php (přes wget či curl).

  3. Ověřte běh

    Naplánujte testovací článek pár minut dopředu — má vyjít na čas. Frontu úloh zobrazí i plugin WP Crontrol, který ukáže vše, co má WordPress naplánované.

  4. Přidejte vlastní rutiny

    Cron v panelu poslouží i mimo WordPress: pravidelné importy feedů, generování sestav, čištění dočasných souborů — cokoli, co umí skript na serveru.

💡 Tip

Interval volby: 5 minut pro e-shopy a weby závislé na přesném čase, 15 minut pro běžné weby. Kratší než 5 minut zpravidla nedává smysl — úlohy WordPressu tak často neběží.

⚠️ Pozor

Po vypnutí DISABLE_WP_CRON bez založení systémového cronu přestanou plánované akce chodit úplně — oba kroky patří k sobě.

Časté dotazy

Naplánovaný článek nevyšel. Proč?

Klasický příznak spícího WP-Cronu na málo navštěvovaném webu. Nastavte systémový cron podle tohoto návodu a problém zmizí.

Plugin hlásí „missed schedule“ nebo zaseknuté úlohy

Nainstalujte WP Crontrol, prohlédněte frontu a zaseknutou úlohu spusťte ručně či smažte. Trvalé zasekávání bývá chyba pluginu — zvažte alternativu.

Můžu cronem spouštět PHP skript přímo (bez URL)?

Ano — úloha může volat interpret PHP s cestou ke skriptu. Pro úlohy WordPressu je ale volání wp-cron.php přes URL nejjednodušší a nejkompatibilnější.

Byl pro vás článek užitečný?