Wp-cron w WordPressie – jak przyspieszyć stronę

WordPress

Zarządzanie automatycznymi procesami na stronach to fundament działania nowoczesnych CMS-ów. Publikowanie zaplanowanych wpisów, wysyłanie e-maili transakcyjnych czy sprawdzanie aktualizacji wtyczek musi odbywać się poza ingerencją redaktora. Podstawowy mechanizm, który za to odpowiada, czyli wp-cron w WordPressie, bywa jednak największym wrogiem szybkości ładowania witryny.

Według danych technologicznych od czołowych dostawców hostingu, standardowy mechanizm WordPressa oparty jest na tak zwanym "pseudo-cronie". Oznacza to, że harmonogram nie funkcjonuje w oparciu o stały zegar serwera. Zamiast tego, plik wp-cron.php uruchamiany jest dokładnie w momencie, gdy jakikolwiek użytkownik (lub robot sieciowy) fizycznie odwiedza dowolną podstronę Twojego serwisu.

Domyślny wp-cron wywołuje skrypt sprawdzający zadania przy każdej, pojedynczej wizycie na stronie. W przypadku portali o dużym ruchu, generuje to tysiące zbędnych zapytań do bazy danych, co drastycznie spowalnia środowisko. Rozwiązaniem jest całkowite wyłączenie natywnego mechanizmu i uruchomienie zadań cyklicznych bezpośrednio po stronie serwera hostingowego (System Cron).

Dlaczego wp-cron drastycznie obciąża procesor na portalach o dużym ruchu?

Zjawisko przeciążenia wynika wprost z natury działania starych języków skryptowych. Jeśli na Twoją stronę wchodzi 500 użytkowników w ciągu minuty, WordPress podejmie 500 niezależnych prób wykonania tego samego cyklu zapytań SQL, sprawdzając, czy w kolejce nie czeka np. odłożony w czasie backup bazy danych. To potężne obciążenie marnuje cenne zasoby procesora (CPU), za które płacisz w abonamencie.

Z drugiej strony, na bardzo małych, świeżych blogach problem bywa wręcz odwrotny. Jeśli nikt nie odwiedza serwisu przez trzy dni, wp-cron po prostu "zasypia". Rezultat? Zaplanowany artykuł nie zostaje opublikowany na czas, a automatyczna kopia bezpieczeństwa przepada, ponieważ nie było żadnego bodźca "z zewnątrz", który uruchomiłby procedurę sprawdzającą zadania.

Jak całkowicie wyłączyć domyślny wp-cron z plików rdzenia?

Optymalizacja tego procesu wymaga zaledwie jednej prostej edycji w głównym systemie instalacji. Odcinając zależność od ruchu organicznego, zyskujesz natychmiastowe obniżenie wskaźnika TTFB (Time to First Byte) o cenne milisekundy dla każdego zapytania od strony frontendowej.

  • Zaloguj się na swój serwer za pomocą klienta FTP lub menedżera plików udostępnianego w panelu hostingu (np. cPanel lub DirectAdmin).
  • Znajdź plik wp-config.php, pobierz jego kopię zapasową, a następnie otwórz do edycji w prostym notatniku.
  • Dodaj w nowej linii komendę: define('DISABLE_WP_CRON', true); bezpośrednio pod definicjami hasła do bazy danych, po czym zapisz zmiany.

Wdrożenie serwerowego zadania Cron dla Twojej domeny

Wyłączenie natywnego mechanizmu nie oznacza, że porzucasz harmonogramowanie. Musisz jedynie delegować ten obowiązek na niezawodny serwer (np. system Linux, na którym wisi Twój hosting). Właściwy panel hostingu uruchomi odpowiedni adres fizycznie "od tyłu", dokładnie o wyznaczonej przez Ciebie godzinie, całkowicie odciążając zasoby zarezerwowane dla czytelników.

W przypadku infrastruktury bazującej na systemie cPanel, wystarczy odszukać sekcję "Zadania Cron". W polu polecenia wprowadzasz komendę np. wget -q -O - https://twojadomena.pl/wp-cron.php?doing_wp_cron >/dev/null 2>&1. Według wytycznych pomocy technicznej hosterów, na nowoczesnych portalach e-commerce i portalach prasowych najoptymalniejszym interwałem dla wywołań serwerowych jest 10 lub maksymalnie 15 minut.

Zoptymalizowanie automatyzacji to pierwszy i kluczowy krok technicznego audytu SEO. Gwarantuje niezawodność procesów wewnętrznych, a jednocześnie zapewnia płynne wyświetlanie frontendu z maksymalną wydajnością procesora serwera.

Link do artykułu skopiowany