Napraw WP-Cron: prosty przewodnik, który działa

Opublikowany: 2025-11-02

WordPress to potężny system zarządzania treścią, z którego korzystają miliony ludzi na całym świecie. Jeden z jego ukrytych silników, WP-Cron, jest odpowiedzialny za obsługę zaplanowanych zadań, takich jak publikowanie zaplanowanych postów, sprawdzanie aktualizacji wtyczek i wykonywanie zadań konserwacyjnych. Jednak wielu użytkowników WordPressa napotyka problemy z wydajnością ze względu na działanie WP-Cron. Jeśli zaplanowane posty nie są publikowane lub automatyczne tworzenie kopii zapasowych nie powiedzie się, Twój system WP-Cron może działać nieprawidłowo. Ten przewodnik przedstawia niezawodną i łatwą do stosowania metodę naprawy WP-Cron i zapewnienia wydajnego działania witryny.

Co to jest WP-Cron?

WP-Cron (skrót od WordPress Cron) to domyślny system planowania zadań w WordPress. W przeciwieństwie do tradycyjnych zadań cron opartych na systemie Unix/Linux, które działają o określonych porach, WP-Cron działa tylko wtedy, gdy ktoś odwiedza Twoją witrynę. W rezultacie w witrynach o małym natężeniu ruchu mogą wystąpić pominięte zadania, podczas gdy w witrynach o dużym natężeniu ruchu mogą wystąpić problemy z wydajnością.

Typowe problemy powodowane przez WP-Cron

  • Ominięte zaplanowane posty lub zadania
  • Opóźnione powiadomienia e-mailowe
  • Niska wydajność witryny podczas ładowania strony
  • Nie można wykonać kopii zapasowych lub skanów

Wszystkie te problemy wynikają z tego, że WP-Cron polega na tym, że odwiedzający go uruchamiają. Na szczęście rozwiązanie jest proste i skuteczne: zastąp domyślne zachowanie WP-Cron prawdziwym zadaniem cron działającym bezpośrednio na serwerze.

Przewodnik krok po kroku dotyczący naprawy WP-Cron

Aby ustabilizować i poprawić wydajność witryny WordPress, wyłącz wbudowane wykonywanie WP-Cron i zamiast tego skonfiguruj prawdziwe systemowe zadanie cron. Oto jak to zrobić:

1. Wyłącz WP-Cron w wp-config.php

Zaloguj się na swoje konto hostingowe lub użyj protokołu FTP/SFTP, aby uzyskać dostęp do katalogu głównego WordPress. Następnie znajdź i otwórz plik wp-config.php . Wstaw następujący wiersz kodu tuż nad wierszem /* That's all, stop editing! Happy publishing. */ :

 define('DISABLE_WP_CRON', true);

To polecenie wyłącza automatyczne uruchamianie WP-Cron przy każdym ładowaniu strony.

2. Ustaw prawdziwe zadanie Cron na swoim serwerze

Teraz, gdy wyłączyłeś WP-Cron, czas ustawić prawdziwe zadanie cron, które będzie uruchamiało wp-cron.php w regularnych odstępach czasu. Sposób, w jaki to zrobisz, zależy od Twojego środowiska hostingowego.

Dla hostingu cPanel

  1. Zaloguj się do panelu kontrolnego cPanel.
  2. Przewiń do sekcji „Zaawansowane” i kliknij Zadania Cron .
  3. W sekcji „Dodaj nowe zadanie Cron” ustaw czas wykonania. W przypadku większości witryn wystarczające jest ustawienie uruchamiania co 15 minut. Wybierać:
    • Minuta: */15
    • Godzina: *
    • Dzień: *
    • Miesiąc: *
    • Dzień powszedni: *
  4. W polu wprowadzania poleceń dodaj tę linię (zastąp yourdomain.com ):
     wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
  5. Kliknij Dodaj nowe zadanie Cron, aby zapisać zmiany.
Interfejs użytkownika panelu sterowania jest bardzo prosty i łatwy.

Dla VPS lub serwera dedykowanego (przez SSH)

Jeśli pracujesz z wiersza poleceń, połącz się z SSH na swoim serwerze i edytuj plik crontab dla swojego użytkownika:

 crontab -e

Dodaj następujący wiersz (ponownie dostosuj domenę):

 */15 * * * * wget -q -O - https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

To instruuje serwer, aby niezawodnie uruchamiał WP-Cron co 15 minut, niezależnie od osób odwiedzających witrynę.

3. Sprawdź, czy WP-Cron działa

Aby sprawdzić, czy zadanie cron działa poprawnie:

  • Zaplanuj post w najbliższej przyszłości (np. 5 minut do przodu).
  • Poczekaj po zaplanowanym czasie i sprawdź, czy się opublikuje.
  • Przejrzyj dzienniki hostingu lub powiadomienia e-mail dotyczące zadań cron (jeśli są włączone) pod kątem błędów wykonania.

Możesz także użyć wtyczek, takich jak WP Crontrol , aby przeglądać zaplanowane zdarzenia w instalacji WordPress i zarządzać nimi. Ta wtyczka pozwala zobaczyć pominięte lub zaległe zadania.

Jak przyspieszyć panel administracyjny WP-Admin w WordPress?

Zaawansowane wskazówki dotyczące zarządzania WP-Cron

1. Dostosuj częstotliwość Cron na podstawie aktywności w witrynie

Chociaż ustawienie cron tak, aby uruchamiał się co 15 minut, jest powszechne, witryny o bardzo małym ruchu mogą skorzystać na częstszym wykonywaniu. I odwrotnie, w witrynach o dużym natężeniu ruchu często można uruchamiać cron rzadziej (co 30 minut lub co godzinę), jeśli zadania nie wymagają wykonywania w czasie rzeczywistym.

2. Monitoruj długotrwałe zadania

Niektóre wtyczki dodają ciężkie zadania w tle, takie jak kopie zapasowe, raporty lub skany. Jeśli te zadania zawieszą się podczas wykonywania, mogą uniemożliwić uruchomienie innych zadań cron. Użyj wtyczek takich jak Query Monitor lub WP Crontrol, aby zidentyfikować problematyczne zdarzenia.

3. Oddzielne intensywne zadania

Jeśli Twoja witryna wykonuje krytyczne operacje w tle, takie jak cogodzinna synchronizacja z zewnętrznymi interfejsami API lub kolejkowanie wiadomości e-mail, rozważ uruchomienie tych zadań za pośrednictwem oddzielnych zadań cron, zamiast przeciążać WP-Cron. Możesz napisać własne skrypty dedykowane tym operacjom i zaplanować je osobno.

Typowe błędy, których należy unikać

  • Używanie WP-Cron na stronach o dużym natężeniu ruchu: może to prowadzić do problemów z wydajnością, ponieważ jest często uruchamiane.
  • Wyłączenie WP-Cron bez ustawienia prawdziwego zadania cron: Prowadzi to do tego, że zaplanowane zadania w ogóle nie będą uruchamiane.
  • Nieprawidłowa składnia polecenia w cron: Zawsze przetestuj polecenie cron ręcznie w terminalu, aby sprawdzić, czy działa, zanim zaczniesz na nim polegać.

Alternatywne polecenia (jeśli wget jest niedostępny)

Jeśli wget nie jest dostępny na twoim serwerze, możesz zamiast tego użyć bezpośrednio curl lub php :

Używanie loków

 */15 * * * * curl -s https://yourdomain.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1

Korzystanie z interfejsu wiersza polecenia PHP

 */15 * * * * php /path/to/your/site/wp-cron.php >/dev/null 2>&1

Pamiętaj, aby zastąpić /path/to/your/site/ rzeczywistą ścieżką do instalacji WordPress.

Wniosek

Naprawienie WP-Cron to jeden z najskuteczniejszych sposobów zapewnienia niezawodności i wydajności witryny WordPress. Wbudowany system cron jest funkcjonalny, ale zawodny w przypadku wielu rzeczywistych witryn internetowych. Wyłączając domyślne wykonywanie WP-Cron i zastępując je zadaniem cron na poziomie serwera, robisz ważny krok w kierunku profesjonalizacji zarządzania witryną.

Niezależnie od tego, czy prowadzisz blog, sklep internetowy, czy witrynę korporacyjną – niezawodne planowanie zadań ma znaczenie. Naprawiony WP-Cron zapewnia, że ​​aktualizacje, kopie zapasowe i automatyczne zadania będą działać dokładnie wtedy, gdy powinny, zapewniając spokój ducha i bardziej stabilny system.

Wykonaj czynności opisane powyżej i pewniej monitoruj wydajność swojej witryny oraz zadania o znaczeniu krytycznym. Niezawodność zaczyna się od proaktywnej konfiguracji.