WordPress zawiera wbudowany system planowania znany jako WP-Cron, który odpowiada za zarządzanie zaplanowanymi zadaniami, takimi jak publikowanie postów o określonej godzinie, wysyłanie powiadomień e-mail czy uruchamianie automatycznych kopii zapasowych.
Chociaż WP-Cron jest wygodny i działa dobrze dla wielu stron internetowych, ma swoje ograniczenia. Jednym z częstych problemów jest to, że czasami pomija zaplanowane zadania, szczególnie na stronach o niskim ruchu.
Bardziej niezawodną alternatywą jest skonfigurowanie prawidłowych zadań cron zarządzanych przez serwer Twojego dostawcy hostingu. Te zadania cron są niezależne od odwiedzin strony i działają według precyzyjnego harmonogramu, zapewniając spójne i terminowe wykonywanie zadań.
W WPBeginner polegamy na prawidłowo skonfigurowanych zadaniach cron bezpośrednio na naszym serwerze, aby zapewnić terminowe wykonanie wszystkich naszych zaplanowanych zadań, a to podejście konsekwentnie przynosi nam doskonałe rezultaty. Oznacza to, że nie musimy martwić się o opóźnienia lub pominięte zadania, nawet w okresach niskiego ruchu lub dużej aktywności serwera.
W tym artykule pokażemy Ci, jak łatwo wyłączyć wp-cron w WordPress i omówimy dwa sposoby ustawienia prawidłowych zadań cron.

Dlaczego wyłączać wp-cron?
Twoja strona WordPress ma wbudowany system planowania zwany wp-cron. Wykonuje on zadania wrażliwe na czas, takie jak sprawdzanie aktualizacji, publikowanie zaplanowanych postów, automatyczne tworzenie regularnych kopii zapasowych, wysyłanie powiadomień e-mail i inne.
Więcej informacji znajdziesz w naszym przewodniku na temat przeglądania i kontrolowania zadań cron w WordPressie.

Problem polega na tym, że WordPress jest uruchamiany w celu sprawdzania zaplanowanych zadań tylko wtedy, gdy ktoś odwiedza Twoją stronę internetową. Działa to wystarczająco dobrze dla większości stron, ale czasami może powodować problemy dla mniejszych.
Na przykład, jeśli Twoja witryna ma niski ruch, Twoje zaplanowane posty mogą nie zostać opublikowane na czas. Jeśli Twoja witryna generuje duży ruch, wp-cron będzie często sprawdzany, co może wpłynąć na wydajność Twojej witryny.
Teraz, jeśli chcesz tylko naprawić błąd brakujących zaplanowanych postów, możesz użyć darmowego wtyczki Missed Scheduled Publisher. Ale jeśli chcesz rozwiązać wszystkie problemy z zaplanowanymi akcjami, potrzebujesz prawdziwego zadania cron.
Prawdziwe zadanie cron jest uruchamiane przez system operacyjny serwera hostingowego, a nie przez WordPress. Możesz je skonfigurować, aby bardziej niezawodnie sprawdzało zaplanowane zadania. Domyślnie WordPress nie ma dostępu do jego konfiguracji na poziomie serwera, ale możesz to łatwo zrobić, postępując zgodnie z naszym samouczkiem.
Niemniej jednak, przyjrzyjmy się, jak łatwo wyłączyć wp-cron i skonfigurować prawidłowe zadanie cron. Oto, co omówimy w tym samouczku:
- Wyłączanie wp-cron w WordPress
- Metoda 1: Konfiguracja prawidłowego zadania cron na serwerze WordPress
- Metoda 2: Konfiguracja prawidłowego zadania Cron przy użyciu usługi zewnętrznej
- Bonus: Automatyczne planowanie publikacji na blogu WordPress
Wyłączanie wp-cron w WordPress
Aby wyłączyć wp-cron, musisz edytować plik wp-config.php, który jest podstawowym plikiem konfiguracyjnym WordPress. Znajduje się on w głównym folderze Twojej witryny WordPress i będziesz potrzebować klienta FTP lub menedżera plików w panelu kontrolnym hostingu.
Ten plik zawiera wiele poufnych informacji, a wprowadzenie błędnych zmian może uszkodzić Twoją witrynę WordPress. Zalecamy najpierw wykonanie kopii zapasowej pliku na wszelki wypadek. Możesz dowiedzieć się, jak to zrobić, postępując zgodnie z naszym przewodnikiem jak edytować plik wp-config.php w WordPress.
Będziesz musiał wkleić poniższy kod do pliku wp-config.php tuż przed linią, która mówi: „To wszystko, przestań edytować! Miłego blogowania”:
define('DISABLE_WP_CRON', true);
Tak to powinno wyglądać.

Następnie zapisz plik i prześlij go z powrotem na swoją stronę internetową.
WordPress nie będzie już uruchamiał wp-cron, gdy ktoś odwiedzi Twoją witrynę.
Metoda 1: Konfiguracja prawidłowego zadania cron na serwerze WordPress
Teraz musisz skonfigurować odpowiednie zadanie cron do uruchamiania zaplanowanych zadań. Sposób, w jaki to zrobisz, będzie się różnić w zależności od narzędzi udostępnianych przez Twojego dostawcę hostingu WordPress.
Najprostszym sposobem na skonfigurowanie zadań cron jest użycie cPanel, popularnego panelu sterowania witryną internetową, który jest dołączony do wielu planów hostingowych, w tym Bluehost. W tym poradniku użyjemy cPanel Bluehost.
Uwaga: Niektórzy dostawcy hostingu nie używają cPanel, a niektórzy mogą nawet nie zezwalać na tworzenie zadań cron. W razie wątpliwości skontaktuj się z dostawcą hostingu lub zapoznaj się z jego dokumentacją wsparcia. Zawsze możesz skorzystać z zewnętrznej usługi cron (sprawdź metodę 2).
Po zalogowaniu się na konto hostingowe i przejściu do strony „Websites”, przełącz się na zakładkę „Advanced” u góry.
Tutaj przewiń w dół do sekcji „Zadania cron” i kliknij przycisk „Zarządzaj” obok niej. Pamiętaj, że pozycja tej sekcji może się różnić w zależności od Twojego dostawcy hostingu.

Spowoduje to przejście do nowej strony, na której można tworzyć nowe zadania cron.
Nie martw się ostrzeżeniem o konieczności dobrej znajomości poleceń Linuksa. Potrzebne jest tylko jedno polecenie, a poniżej dokładnie pokażemy Ci, jakie to jest.
Jeśli potrzebujesz, możesz zmienić adres e-mail, na który będą wysyłane powiadomienia o zadaniach cron. Domyślny adres to ten, którego użyłeś podczas rejestracji hostingu, i będzie on działał poprawnie na większości stron internetowych.

Teraz przewińmy w dół do sekcji „Add New Cron Job” i skonfigurujmy zadanie cron.
Najpierw musisz zdecydować, jak często zadanie cron będzie uruchamiane. Może to być dowolna wartość, ale zalecamy interwały 30-minutowe.
Będziesz musiał kliknąć przycisk „Ustawienia ogólne” i wybrać interwał czasowy z menu rozwijanego. „Dwa razy na godzinę” to dobry wybór dla większości stron, jeśli nie masz pewności.

Teraz możesz wprowadzić polecenie, które poprosi WordPress o wykonanie zaplanowanych zadań. Musisz wkleić następujący kod w pole „Command”:
wget -q -O - https://example.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
Pamiętaj, aby zastąpić „example.com” adresem URL swojej witryny.
Po wykonaniu tej czynności kliknij przycisk „Dodaj nowy Cron Job”, a zobaczysz nowy cron job dodany do listy poniżej.

WordPress będzie teraz sprawdzał i uruchamiał zaplanowane zadania co 30 minut zamiast wtedy, gdy ktoś odwiedza Twoją witrynę.
Metoda 2: Konfiguracja prawidłowego zadania Cron przy użyciu usługi zewnętrznej
Jeśli Twój plan hostingowy nie oferuje prawidłowych zadań cron lub są one trudne do skonfigurowania, możesz zamiast tego skorzystać z zewnętrznej usługi cron.
Są to dedykowane usługi, które pozwalają na ustawianie zadań cron za pomocą prostego interfejsu. Oto kilka z lepszych:
- EasyCron oferuje darmowy plan, który wymaga comiesięcznego odnowienia
- cron-job.org to darmowa usługa
- Cronitor jest darmowy, jeśli potrzebujesz tylko jednego zadania cron
- SetCronJob oferuje płatne plany zaczynające się od 10 USD rocznie
W tym samouczku użyjemy EasyCron, ponieważ jest łatwy w użyciu, a darmowy plan jest odpowiedni dla większości początkujących użytkowników.
Po utworzeniu darmowego konta możesz utworzyć nowe zadanie cron, klikając przycisk „+ Cron Job” po lewej stronie.

Spowoduje to wyświetlenie ekranu „Utwórz zadanie cron”. Najpierw musisz wkleić następujący adres URL w polu „URL do wywołania”:
https://example.com/wp-cron.php?doing_wp_cron
Upewnij się, że zastąpisz „example.com” adresem URL swojej witryny.

Następnie należy wybrać opcję „Co 30 minut” z listy rozwijanej „Kiedy wykonać”. Po zakończeniu nie zapomnij kliknąć przycisku „Utwórz zadanie Cron”, aby zapisać ustawienia.
Nowy cron job zostanie dodany do listy i będzie uruchamiał wp-cron na Twojej witrynie co 30 minut.

Bonus: Automatyczne planowanie publikacji na blogu WordPress
Po poprawnym skonfigurowaniu zadań cron, wszystkie zaplanowane zadania na blogu WordPress będą wykonywane bezproblemowo. Możesz nawet automatycznie planować publikację swoich postów.
Pozwoli Ci to losowo wybrać artykuł do opublikowania w wybranej wcześniej dacie publikacji. Aby to zrobić, musisz zainstalować i aktywować wtyczkę PublishPress Planner.
Po aktywacji przejdź do strony Harmonogram » Ustawienia i przełącz się na zakładkę „Kalendarz treści” u góry. Tutaj zaznacz pole „Zaplanowane” obok opcji „Statusy do wyświetlenia czasu publikacji”.

Następnie musisz wybrać format czasu publikacji swojego posta i kliknąć pole obok opcji „Domyślny czas publikacji dla elementów utworzonych w kalendarzu”.
Spowoduje to otwarcie okna dialogowego, z którego można wybrać konkretną godzinę, godzinę i minutę publikacji zaplanowanych postów każdego dnia. Aby uzyskać pomysły, możesz zapoznać się z naszym poradnikiem kiedy jest najlepszy czas na publikację bloga.
Następnie kliknij przycisk „Zapisz zmiany”, aby zachować swoje ustawienia.

Teraz możesz przejść do edytora bloków, gdzie możesz wybrać opcję „Zaplanowane” z menu rozwijanego „Status posta”.
Więcej informacji znajdziesz w naszym poradniku jak automatycznie planować posty na blogu WordPress.

Mamy nadzieję, że ten samouczek pomógł Ci dowiedzieć się, jak wyłączyć wp-cron w WordPress i skonfigurować odpowiednie zadania cron. Możesz również zapoznać się z naszym samouczkiem jak dodać użytkownika administratora w WordPress za pomocą FTP oraz naszym przewodnikiem dla początkujących jak przeglądać i kontrolować zadania cron.
Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Jiří Vaněk
Dziękuję za konkretne kroki. Użyłem metody 1, gdzie wyłączyłem CRON za pomocą wp-config, a ponieważ mam własny serwer, nic nie stało na przeszkodzie, abym używał serwerowego CRON do zaplanowanych zadań. Jedyną rzeczą, co do której nie byłem pewien wcześniej, był adres URL, którego należy użyć dla CRON. Więc dziękuję również za konkretne polecenie, które mogłem wprowadzić do CRON.
Phil Daley
Mam stronę WooCommerce, która musi uruchamiać kolejne zadanie cron co 5 minut
Jeśli zastosuję metodę 1 – czy muszę również ustawić wp_cron.php tak, aby działał co najmniej co 5 minut (lub szybciej)? czy nadal będzie wystarczające uruchamianie co 30 minut?
Wsparcie WPBeginner
Metoda opisana w naszym artykule wpłynie na wszystkie zadania cron na Twojej stronie. Jeśli potrzebujesz, aby konkretne zadanie cron wykonywało się częściej, zalecamy skontaktowanie się z pomocą techniczną w celu ustalenia, czego dotyczy zadanie cron, a oni pomogą Ci je skonfigurować!
Admin
kzain
To świetny post! Wyłączenie wp-cron i używanie zewnętrznych zadań cron jest czymś, nad czym zastanawiam się od jakiegoś czasu, aby poprawić szybkość strony. Jasne instrukcje dotyczące wyłączenia wp-cron i konfiguracji zadań zewnętrznych są niesamowite. Dzięki za udostępnienie!
Paula Coombes
Hello,

I’d just like to say thank you so much for this straightforward help.
I used Method 1.
I’ve carried out your instructions after reading everything at least 3 times and, for the first time ever, my WP health state has no problems!!
Thanks again.
Wsparcie WPBeginner
You’re welcome, glad our guide was helpful!
Admin
Beth Alexander
Czy jest sposób, aby sprawdzić, czy nowe zadanie cron uruchamiane z Panelu sterowania działa?
Wsparcie WPBeginner
Aby sprawdzić zadanie cron, zalecamy zapoznanie się z naszym poniższym artykułem!
https://www.wpbeginner.com/plugins/how-to-view-and-control-wordpress-cron-jobs/
Admin
Anita Richards
Jestem zdezorientowany.
WooCommerce zaleca ustawienie polecenia bez części „?doing_wp_cron”.
Jaka jest różnica?
Wsparcie WPBeginner
Chyba że otrzymamy inne informacje, ?doing_wp_cron umożliwia pewne przetwarzanie w tle, którego bez niego nie można by wykonać.
Admin
Anita Richards
Ok, to ma sens. Zgaduję, że musi to być różnica między procesami WP i Woo?
Stworzyłem dwa zadania cron w cPanel, jedno z nimi i jedno bez. Czy to spowoduje problemy?
Wsparcie WPBeginner
Powinna to być nieco inna metoda, aby osiągnąć ten sam rezultat.
Zależałoby to od wielkości Twojej witryny, jak wiele zadań cron wpłynęłoby na Twoją witrynę hostingową, ponieważ Twoja witryna staje się większa, może to stanowić problem