Naplánovaný příspěvek ve WordPressu se nepublikoval: zachraňte ho a najděte příčinu
Když se naplánovaný příspěvek ve WordPressu nepublikoval, nejdřív ho publikujte ručně: otevřete ho, nastavte datum na teď nebo klikněte na Publikovat. Pak hledejte příčinu. Téměř vždy je to WP-Cron, plánovač WordPressu, který běží při návštěvách webu. Zablokovat ho může nízká návštěvnost, cache nebo hosting a trvalou opravu udělá hosting.
Autor: Tým TellMyShop. Průvodce pro majitele webů na WordPressu a obchodů na WooCommerce: příčina, ruční oprava a stejná práce v rozhovoru v chatu.
Naposledy aktualizováno: · 5 min čtení
Co udělat hned, když příspěvek nevyšel
Nejdřív příspěvek zachraňte, příčinu vyřešíte za chvíli. Pokud odkaz už odešel v newsletteru nebo na sociálních sítích, počítá se každá minuta.
- Přejděte do Příspěvky → Všechny příspěvky a klikněte na filtr Naplánované. Opožděné příspěvky mají u data štítek o zmeškaném plánování (Missed schedule).
- Otevřete příspěvek v editoru.
- V pravém panelu klikněte na datum publikace a nastavte ho na teď, nebo zvolte okamžité publikování.
- Klikněte na Publikovat a otevřete adresu příspěvku v anonymním okně.
- Pokud je příspěvek vidět, ale chybí v seznamu na blogu, vymažte cache v cache pluginu nebo u hostingu.
- Zkontrolujte, zda na stejný čas nebyly naplánované další příspěvky. Problém s plánovačem obvykle postihne všechny, ne jen jeden.
Pokud ponecháte minulé plánované datum a kliknete na Publikovat, příspěvek dostane to datum. Na blogu se pak objeví níž, mezi staršími příspěvky. Obvykle je lepší nastavit datum na teď.
Proč WordPress naplánovaný příspěvek nepublikoval
WordPress nemá vlastní hodiny. Naplánované úlohy, včetně publikace příspěvku, běží, když někdo navštíví web. Když v 8:00 nikdo nepřijde, příspěvek čeká na prvního návštěvníka. Když něco blokuje samotný mechanismus, čeká navždy. Podrobněji to vysvětluje Kinsta ve svém průvodci k chybě missed schedule.
| Příčina | Jak ji poznáte | Kdo ji opraví |
|---|---|---|
| Nízká návštěvnost v tu dobu | příspěvek vyjde pozdě, při první návštěvě | hosting nebo správce webu: úloha cron na serveru |
| Cache posílá hotové stránky | návštěvy jsou, ale úlohy pořád běží pozdě | správce webu: nastavení cache pluginu |
| Server nebo firewall blokuje wp-cron.php | Stav webu varuje před opožděnými úlohami, v záznamu jsou chyby | hosting |
| Plánovač vypnutý ve wp-config.php bez cronu na serveru | neproběhne žádná úloha, nejen příspěvky | hosting nebo správce webu |
| Plugin ucpává frontu úloh | stovky úloh od jednoho pluginu, chyby PHP v záznamu | správce webu: aktualizovat nebo deaktivovat plugin |
Mnoho spravovaných hostingů nastavuje úlohu cron na serveru samo. U levnějších tarifů to musíte udělat v panelu hostingu nebo požádat podporu.
Jak zjistit, co blokuje plánovač
Začněte v Nástroje → Stav webu. WordPress má test, který ověřuje, zda naplánované úlohy běží včas. Když je některá opožděná, uvidíte v doporučeních hlášku o opožděné naplánované události. Test popisuje dokumentace třídy Site Health. Pozor: jedno varování hned po přidání nové úlohy může být planý poplach. Důležité je, zda se problém vrací.
Pak zkontrolujte tři věci:
- Jde jen o příspěvky? Pokud jsou opožděné i aktualizace a úlohy pluginů, problém je v samotném mechanismu, ne v příspěvku.
- Změnilo se něco? Nový cache plugin, firewall, přesun na jiný server nebo změna tarifu hostingu jsou častým začátkem.
- Co říká záznam chyb? Chyba PHP v úloze jednoho pluginu může zastavit celou frontu.
Trvalá oprava: úloha cron na serveru
Nejspolehlivějším řešením je úloha na serveru, která každých pár minut zavolá plánovač WordPressu bez ohledu na návštěvnost. Vestavěné spouštění při návštěvách pak lze vypnout. Dokumentace pro vývojáře to popisuje v článku o napojení WP-Cron na systémový plánovač úloh. Postup krok za krokem s častými nástrahami je v tomto průvodci opravou missed schedule.
Je to práce pro hosting nebo pro toho, kdo se o web stará, protože vyžaduje panel serveru a změnu ve wp-config.php. Když žádáte o pomoc, uveďte, kdy měl příspěvek vyjít, zda jsou opožděné i jiné úlohy a jaký cache plugin na webu běží.
Jako dočasné řešení pomůže plugin, který čas od času publikuje opožděné příspěvky. Je to dobrá náplast, než se ozve hosting, ale úlohu cron na serveru nenahradí.
Jak chat pomůže, když příspěvek nevyšel
Plugin TellMyShop pro WordPress a WooCommerce plánovač na serveru neopraví. Pomůže ale vašemu chatu (Claude nebo ChatGPT) rychle zjistit, co se děje, a příspěvek zachránit.
Vy: Příspěvek o podzimní výsadbě růží měl vyjít v 8:00 a pořád je naplánovaný. Co se stalo?
Váš chat: Zkontroloval jsem web. Dva příspěvky mají datum v minulosti a stav naplánováno. Stav webu ukazuje opožděné naplánované úlohy a v záznamu nejsou chyby PHP. Na webu běží cache plugin. Nejpravděpodobnější příčina: nízká ranní návštěvnost plus cache, takže se plánovač nespustí. Náhled pro první příspěvek:
Publikovat? Druhý příspěvek má vyjít až příští týden, takže ho nechám být.
Vy: Ano.
Váš chat: Publikováno. Níže je popis problému pro hosting ve třech větách, se žádostí o úlohu cron na serveru.
stará verze: Stav: naplánováno, v 8:00
nová verze: Stav: publikováno, datum: teď
Titulky, časy a výsledky v této konverzaci jsou příklady. V TellMyShop Free chat zkontroluje stav webu, záznamy chyb a seznam pluginů a řekne vám, co plánovač nejspíš blokuje. Příspěvek pak publikujete sami. V TellMyShop Pro změní stav příspěvku po schválení náhledu, hned po aktivaci licence, a změna se zapíše do historie změn.
Co chat neudělá: nenastaví úlohu cron na serveru a nezmění wp-config.php, protože ten soubor je blokovaný ve všech verzích. Nastavení cache pluginu mění jen se zapnutým přepínačem Pluginy, který zapnete v panelu pluginu na 24 hodin. Pokud se problém vrací a nevíte, kde začít, celou kontrolu webu popisujeme v článku o SEO auditu webu na WordPressu a náhlé chyby po aktualizacích v návodu, co dělat, když WordPress po aktualizaci nefunguje.
Bezplatnou verzi si stáhnete ze stránky TellMyShop Free a co umí Pro, popisujeme na stránce TellMyShop pro WordPress a WooCommerce.
Otázky a odpovědi
Co u příspěvku ve WordPressu znamená zmeškané plánování (Missed schedule)?
Znamená to, že čas publikace nastal a WordPress nespustil úlohu, která měla změnit stav příspěvku. Příspěvek zůstal naplánovaný. Tento štítek uvidíte u data v seznamu příspěvků.
Proč WordPress můj naplánovaný příspěvek nepublikoval?
WordPress spouští naplánované úlohy, když někdo navštíví web. Pokud web nikdo nenavštíví, pokud cache posílá hotové stránky nebo pokud server blokuje soubor wp-cron.php, úloha proběhne pozdě nebo vůbec. Méně často frontu úloh ucpe plugin.
Vyřeší problém plugin na zmeškané plánování?
Často pomůže, protože čas od času publikuje opožděné příspěvky. Léčí ale příznak. Trvalým řešením je úloha cron na serveru, kterou nastaví hosting nebo ten, kdo se o web stará.
Umí chat opravit plánování ve WordPressu?
Ne. Chat zkontroluje stav webu a záznamy chyb, ukáže na pravděpodobnou příčinu a připraví popis úlohy pro hosting. S TellMyShop Pro umí po vašem souhlasu opožděný příspěvek publikovat, ale nemění nastavení serveru ani soubor wp-config.php.
Přijde příspěvek publikovaný pozdě v Google o něco?
Není důvod, aby pár hodin zpoždění příspěvku uškodilo. Datum publikace se nastaví na okamžik, kdy ho publikujete, pokud neponecháte plánované datum. Důležitější je, aby newsletter nebo příspěvek na sociálních sítích nevyšel s odkazem na stránku, která ještě nefunguje.
WordPress je ochranná známka WordPress Foundation. WooCommerce je ochranná známka společnosti Automattic Inc. Claude je ochranná známka společnosti Anthropic PBC. ChatGPT a OpenAI jsou ochranné známky společnosti OpenAI. TellMyShop s těmito společnostmi není propojen.