Jak wyłączyć wp-cron i poprawić wydajność w WordPress?
Jeśli Twoja witryna generuje duży ruch, chcesz jeszcze bardziej zwiększysć wydajność WordPress? Jedną z możliwości jest wyłączenie wewnętrznego cron w WordPress i podmiana go na harmonogram zadań dostępny na serwerze hostingowym.
W WordPress istnieje mechanizm zwany wp-cron. Służy do automatycznego uruchamiania zaplanowanych zadań, takich jak publikowanie zaplanowanych wpisów, wykonywanie automatycznych kopii zapasowych itp. Domyślnie WordPress oraz wtyczki używają mechanizmu wewnętrznego cron do zarządzania tymi zadaniami.
Problem z wewnętrznym cronem WordPressa polega na tym, że jest on uruchamiany za każdym razem, gdy odwiedzana jest strona WordPressa. Dla witryn z niewielkim ruchem nie jest to zazwyczaj problem, ale dla witryn o dużym ruchu może to negatywnie wpływać na wydajność, ponieważ każde odwiedziny będą generowały dodatkowe zapytania do bazy danych.
Wyłączenie wewnętrznego crona WordPressa i zastąpienie go zewnętrznym mechanizmem crona może pomóc w poprawie wydajności Twojej witryny.
Jeśli twoja witryna nie ma problemów wydajnościowych lub jeśli nie masz do czynienia z dużym ruchem, nie ma potrzeby wyłączania crona. Rozważ optymalizację innych aspektów witryny, takich jak pamięć podręczna cache, optymalizacja bazy danych, optymalizacja zasobów aby poprawić ogólną wydajność.
Jak wyłączyć wp-cron w WordPress?
Aby deaktywować mechanizm wp-cron w WordPress edytuj plik wp-config.php znajdujący się na serwerze, w głównym katalogu WordPress. Aby dokonać edycji w plikach na hostingu możesz skorzystać z wbudowanego w panel hostingowy narzędzia Zarządzanie plikami lub klienta FTP.
Dodaj do wp-config.php następującą definicję:
define( 'DISABLE_WP_CRON', true);
Na przykładzie edycji plików w panelu hostingowym:
Edycja pliku wp-config za pomocą panelu hostingowego.
- (1) Wejdź do katalogu, w którym znajduje się Twój WordPress,
- w oknie po prawej stronie, odnajdź plik
wp-config.php - (2) kliknij prawym przyciskiem myszy na wierszu i wybierz Edytuj
Edycja pliku wp-config: dodaj linijkę DISABLE_WP_CRON.
- Odnajdź w pliku linijkę z definicją
WP_DEBUG, - (1) powyżej niej wstaw definicję wyłączającą wp-cron w WordPress,
- następnie (2) zapisz zmiany w pliku.
Mechanizm wp-cron został wyłączony. Co dalej?
Aktywowanie zadania wp-cron w panelu hostingowym
Teraz zaloguj się do swojego Panelu hostingowego Direct Admin i dodaj nowe zadanie CRON zastępujące wp-cron. Jeśli nie wiesz jak dodawać zadania na serwerze - sprawdź nasz poradnik Jak dodać zadanie cron? Czasowe uruchamianie skryptu.
Użyj następującego polecenia, wymieniając https://domena.pl na Twoją nazwę:
wget -q -O - https://domena.pl/wp-cron.php >/dev/null 2>&1
Fragment >/dev/null 2>&1 oznacza ciche wykonanie, nie zostanie wysłane żadne powiadomienie. W ten sposób nie będzie zaśmiecało Twojej skrzynki.
Dodawanie zadania wp-cron po stronie hostingu.
- Jeśli zdecyjesz że zadanie będzie uruchamiane dwa razy na godzinę, podaj
0,30w pozycji (1) Minuta, - następnie wklej (2)komendę do wykonania, zamieniając na odpowiedni protokół i własną domenę,
- kliknij (3) Zapisz.
Gotowe.
Teraz przetestuj prawidłowe działanie i zaplanuj wpis testowy w WordPress.
Możesz łatwo sprawdzić, czy wget uruchamiany przez CRON działa poprawnie, obserwując logi dostępu swojej domeny. Każde wywołanie crona pojawi się tam jako żądanie GET /wp-cron.php z nagłówkiem Wget, co pozwala szybko potwierdzić, że zadanie zostało wykonane o właściwej godzinie.
W panelu hostingowym możesz obserwować czy wget odwiedził adres.
Przykładowy wpis w logu:
185.242.134.76 - - [24/Nov/2025:09:00:02 +0100] "GET /wp-cron.php HTTP/1.1" 200 505 "-" "Wget/1.19.5 (linux-gnu)"
Kilka przykładów ustawienia godziny w CRON
Kilka typowych przykładów konfiguracji CRON pomoże Ci szybko zrozumieć, jak definiować konkretne godziny i interwały wykonywania zadań. Możesz ustawić pojedynczą godzinę, wiele godzin naraz lub wykonywanie co określony przedział czasu, np. co 15 minut, co 2 godziny albo o wybranych porach dnia. Dzięki temu CRON pozwala precyzyjnie kontrolować, kiedy skrypt lub polecenie ma zostać uruchomione.
15 3 * * *- raz dziennie o 03:15*/15 * * * *- co 15 minut55 23 * * *- codziennie o 23:550 * * * *- co godzinę o pełnej godzinie0 */2 * * *- co 2 godziny (minuta = 0)0 8,20 * * *- o 08:00 i 20:00 każdego dnia0 9 * * 1-5- w dni robocze o 09:00 (1 = poniedziałek, 5 = piątek)
Za co odpowiada cron w WordPress?
W WordPress, mechanizm wp-cron jest odpowiedzialny za uruchamianie zaplanowanych zadań i automatyczne wykonywanie określonych czynności w określonych momentach czasowych. Może on być wykorzystywany do różnych celów w zależności od potrzeb witryny i zainstalowanych wtyczek. Oto kilka przykładów zadań, za które odpowiedzialny jest cron w WordPress:
-
Publikacja zaplanowanych wpisów: Jeśli w WordPress zaplanujesz wpis do opublikowania w przyszłości, to zadanie cron zostanie uruchomione w wyznaczonym czasie i opublikuje wpis automatycznie.
-
Wykonanie automatycznych kopii zapasowych: Wtyczki do tworzenia kopii zapasowych często korzystają z mechanizmu cron, aby wykonywać automatyczne kopie zapasowe witryny zgodnie z zaplanowanym harmonogramem.
-
Aktualizacja wtyczek i motywów: Cron może być używany do sprawdzania dostępnych aktualizacji dla zainstalowanych wtyczek i motywów oraz do ich automatycznego aktualizowania.
-
Wysyłanie powiadomień lub newsletterów: Jeśli korzystasz z wtyczki do wysyłania powiadomień lub newsletterów, cron może zostać użyty do uruchamiania zaplanowanych wysyłek w określonym czasie.
-
Czyszczenie pamięci podręcznej: W przypadku witryn zastosowanych mechanizmów cache, cron może być używany do regularnego czyszczenia pamięci podręcznej w celu utrzymania wydajności witryny.
-
..i wiele innych, zależnych od zainstalowanych wtyczek.