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.
- Wejdź w Wpisy → Wszystkie wpisy i kliknij filtr Zaplanowane. Wpisy z minionym terminem mają przy dacie dopisek o przegapionej publikacji.
- Otwórz wpis w edytorze.
- W panelu po prawej kliknij datę publikacji i ustaw ją na teraz albo wybierz opcję natychmiastowej publikacji.
- Kliknij Opublikuj i otwórz adres wpisu w oknie prywatnym.
- Jeśli wpis widać, ale nie ma go na liście na blogu, wyczyść cache wtyczki albo hostingu.
- 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.
| Przyczyna | Po czym ją poznasz | Kto naprawia |
|---|---|---|
| Mały ruch o tej porze | wpis wychodzi z opóźnieniem, przy pierwszych odwiedzinach | hosting albo opiekun strony: cron na serwerze |
| Cache podaje gotowe strony | odwiedziny są, a zadania i tak się spóźniają | opiekun strony: ustawienia wtyczki cache |
| Serwer lub zapora blokuje wp-cron.php | w Zdrowiu witryny ostrzeżenie o spóźnionych zadaniach, błędy w dzienniku | hosting |
| Harmonogram wyłączony w wp-config.php bez crona na serwerze | żadne zadanie nie rusza, nie tylko wpisy | hosting albo opiekun strony |
| Wtyczka zapycha kolejkę zadań | setki zadań jednej wtyczki, błędy PHP w dzienniku | opiekun 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.
Wpis o jesiennym sadzeniu róż miał wyjść o 8:00, a dalej jest zaplanowany. Co się stało?
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.
Tak.
Opublikowany. Poniżej opis problemu dla hostingu w trzech zdaniach, z prośbą o cron na serwerze.
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.