WordPress: zaplanowany wpis nie opublikował się. Ratunek i przyczyna

Gdy zaplanowany wpis w WordPress nie opublikował się, najpierw opublikuj go ręcznie: otwórz go, zmień datę na teraz albo kliknij Opublikuj. Potem szukaj przyczyny. Prawie zawsze to WP-Cron, czyli harmonogram WordPressa uruchamiany przez odwiedziny strony. Blokuje go brak ruchu, cache albo hosting, a trwałą poprawkę robi hosting.

Autor: Zespół TellMyShop. Piszemy o PrestaShop na podstawie pracy z zapleczem prawdziwych sklepów i testów na własnym sklepie testowym.
Aktualizacja: · 5 min czytania

Co zrobić od razu, gdy wpis się nie opublikował

Najpierw ratujesz wpis, przyczyną zajmiesz się za chwilę. Jeśli link do wpisu poszedł już w newsletterze albo w social media, liczy się każda minuta.

  1. Wejdź w Wpisy → Wszystkie wpisy i kliknij filtr Zaplanowane. Wpisy z minionym terminem mają przy dacie dopisek o przegapionej publikacji.
  2. Otwórz wpis w edytorze.
  3. W panelu po prawej kliknij datę publikacji i ustaw ją na teraz albo wybierz opcję natychmiastowej publikacji.
  4. Kliknij Opublikuj i otwórz adres wpisu w oknie prywatnym.
  5. Jeśli wpis widać, ale nie ma go na liście na blogu, wyczyść cache wtyczki albo hostingu.
  6. Sprawdź, czy w tym samym czasie nie było więcej zaplanowanych wpisów. Problem z harmonogramem zwykle dotyczy wszystkich, a nie jednego.

Jeśli zostawisz zaplanowaną datę z przeszłości i klikniesz Opublikuj, wpis dostanie tę datę. Na blogu pokaże się wtedy niżej, między starszymi tekstami. Zwykle lepiej ustawić datę na teraz.

Dlaczego WordPress nie opublikował zaplanowanego wpisu

WordPress nie ma własnego zegara. Zadania z harmonogramu, w tym publikacja wpisu, uruchamiają się przy odwiedzinach strony. Jeśli o 8:00 nikt nie wejdzie, wpis poczeka na pierwszego gościa. Jeśli coś zablokuje sam mechanizm, poczeka bez końca. Kinsta opisuje to szerzej w poradniku o błędzie missed schedule.

PrzyczynaPo czym ją poznaszKto naprawia
Mały ruch o tej porzewpis wychodzi z opóźnieniem, przy pierwszych odwiedzinachhosting albo opiekun strony: cron na serwerze
Cache podaje gotowe stronyodwiedziny są, a zadania i tak się spóźniająopiekun strony: ustawienia wtyczki cache
Serwer lub zapora blokuje wp-cron.phpw Zdrowiu witryny ostrzeżenie o spóźnionych zadaniach, błędy w dziennikuhosting
Harmonogram wyłączony w wp-config.php bez crona na serwerzeżadne zadanie nie rusza, nie tylko wpisyhosting albo opiekun strony
Wtyczka zapycha kolejkę zadańsetki zadań jednej wtyczki, błędy PHP w dziennikuopiekun strony: aktualizacja albo wyłączenie wtyczki

Wiele zarządzanych hostingów ustawia cron na serwerze same. Na tańszych pakietach trzeba to zrobić w panelu hostingu albo poprosić pomoc techniczną.

Jak sprawdzić, co blokuje harmonogram

Zacznij od Narzędzia → Zdrowie witryny. WordPress ma test, który sprawdza, czy zaplanowane zadania wykonują się na czas. Gdy któreś się spóźnia, w zaleceniach zobaczysz komunikat o zadaniu, które się opóźnia. Opis testu jest w dokumentacji klasy Site Health. Uwaga: pojedyncze ostrzeżenie zaraz po dodaniu nowego zadania bywa fałszywym alarmem. Liczy się to, czy problem się powtarza.

Potem sprawdź trzy rzeczy:

  • Czy to tylko wpisy. Jeśli spóźniają się też aktualizacje i zadania wtyczek, problem jest w samym mechanizmie, nie we wpisie.
  • Czy coś się zmieniło. Nowa wtyczka cache, zapora, przeprowadzka na inny serwer albo zmiana pakietu u hostingu to częste początki kłopotów.
  • Co mówi dziennik błędów. Błąd PHP w zadaniu jednej wtyczki potrafi zatrzymać kolejkę.

Trwała naprawa: cron na serwerze

Najpewniejsze rozwiązanie to zadanie na serwerze, które co kilka minut wywołuje harmonogram WordPressa, niezależnie od ruchu. Wtedy wbudowane uruchamianie przy odwiedzinach można wyłączyć. Dokumentacja dla twórców opisuje to w artykule o podpięciu WP-Cron pod harmonogram systemu. Krok po kroku, z typowymi pułapkami, pokazuje też poradnik o naprawie missed schedule.

To praca dla hostingu albo osoby, która opiekuje się stroną, bo wymaga panelu serwera i zmiany w pliku wp-config.php. Gdy prosisz o pomoc, napisz: o której wpis miał wyjść, czy spóźniają się też inne zadania i jaka wtyczka cache działa na stronie.

Doraźnie pomaga wtyczka, która co jakiś czas publikuje wpisy z minionym terminem. To dobry plaster, gdy czekasz na hosting, ale nie zastąpi crona na serwerze.

Jak Claude pomaga, gdy wpis się nie opublikował

Wtyczka TellMyShop dla WordPress i WooCommerce nie naprawi harmonogramu serwera. Pomoże za to szybko ustalić, co się dzieje, i uratować wpis.

Ty

Wpis o jesiennym sadzeniu róż miał wyjść o 8:00, a dalej jest zaplanowany. Co się stało?

Claude

Sprawdziłem witrynę. Dwa wpisy mają termin z przeszłości i status zaplanowany. Zdrowie witryny pokazuje spóźnione zadania harmonogramu, a w dzienniku nie ma błędów PHP. Na stronie działa wtyczka cache. Najbardziej prawdopodobna przyczyna: mały ruch rano i cache, przez które harmonogram nie rusza. Podgląd dla pierwszego wpisu:

było: Status: zaplanowany, termin 8:00

będzie: Status: opublikowany, data: teraz

Opublikować? Drugi wpis ma termin dopiero za tydzień, więc go nie ruszam.

Ty

Tak.

Claude

Opublikowany. Poniżej opis problemu dla hostingu w trzech zdaniach, z prośbą o cron na serwerze.

Ilustracja: produkty, liczby i odpowiedzi są przykładowe.

Tytuły, godziny i wyniki w tej rozmowie są przykładowe. W darmowej wersji TellMyShop Free Claude sprawdzi kondycję witryny, dzienniki błędów i listę wtyczek i powie, co najpewniej blokuje harmonogram. Wpis opublikujesz wtedy sam. W TellMyShop Pro zmieni status wpisu po twojej zgodzie na podgląd, od razu po aktywacji licencji, a zmiana trafi do historii zmian.

Czego Claude nie zrobi: nie ustawi crona na serwerze i nie zmieni pliku wp-config.php, bo ten plik jest zablokowany w każdej wersji. Ustawienia wtyczki cache zmieni tylko z włączonym przełącznikiem Wtyczki, który włączasz w panelu wtyczki na 24 godziny. Gdy problem wraca, a nie wiesz, od czego zacząć, przegląd całej witryny opisujemy w tekście o audycie SEO WordPress, a nagłe błędy po aktualizacjach w poradniku o tym, co zrobić, gdy WordPress po aktualizacji nie działa.

Darmową wersję pobierzesz ze strony TellMyShop Free, a możliwości Pro opisujemy na stronie TellMyShop dla WordPress i WooCommerce.

Pytania i odpowiedzi

Co znaczy „Przegapiono termin” przy wpisie w WordPress?

To znak, że nadeszła godzina publikacji, a WordPress nie uruchomił zadania, które miało zmienić status wpisu. Wpis został w stanie zaplanowanym. W wersji angielskiej ten komunikat brzmi Missed schedule.

Dlaczego WordPress nie opublikował zaplanowanego wpisu?

Zaplanowane zadania WordPressa uruchamiają się przy odwiedzinach strony. Gdy nikt nie wchodzi, gdy cache podaje gotowe strony albo gdy serwer blokuje plik wp-cron.php, zadanie się spóźnia albo nie wykonuje. Rzadziej winna jest wtyczka, która zapycha kolejkę zadań.

Czy wtyczka do zaplanowanych wpisów rozwiąże problem?

Często pomaga, bo co jakiś czas publikuje wpisy, którym minął termin. Leczy jednak objaw. Trwałe rozwiązanie to zadanie cron na serwerze, które ustawia hosting albo osoba opiekująca się stroną.

Czy Claude naprawi harmonogram WordPressa?

Nie. Claude sprawdzi kondycję witryny i dzienniki błędów, wskaże prawdopodobną przyczynę i przygotuje opis zadania dla hostingu. Spóźniony wpis w TellMyShop Pro opublikuje po twojej zgodzie, ale ustawień serwera i pliku wp-config.php nie zmienia.

Czy wpis opublikowany później straci coś w Google?

Nie ma powodu, żeby kilka godzin opóźnienia szkodziło wpisowi. Data publikacji ustawi się na chwilę, w której go opublikujesz, chyba że zostawisz datę z planu. Ważniejsze jest, żeby newsletter albo post w social media nie poszły z linkiem do niedziałającej strony.

WordPress jest znakiem towarowym WordPress Foundation. WooCommerce jest znakiem towarowym Automattic Inc. Claude jest znakiem towarowym Anthropic. TellMyShop nie jest powiązany z żadnym z tych podmiotów.

TellMyShop dla WordPress i WooCommerce

Claude czyta twoją stronę, pokazuje każdą zmianę przed zapisem i zapisuje dopiero po twoim „tak”. Każdą zmianę cofniesz jednym poleceniem. Działa też z darmowym Claude.

Przeczytaj też