Masz pytania? Zadzwoń: +48 42 299 67 33
Konfiguracja WP-Cron z Crontab

Konfiguracja WP-Cron z Crontab

Łukasz Kwaśniewicz
2017-04-20

WP Cron to standardowa funkcjonalność Wordpressa, umożliwiająca tworzenie własnych harmonogramów. Wykorzystując go, możemy uruchomić konkretne polecenia/skrypty co określony interwał czasu. Możemy go użyć np. do opublikowania artykułu, albo do cyklicznego robienia backupów. WP Cron obsługuje przede wszystkim wykonywanie zadań cyklicznych, wyznaczone przez aktywne wtyczki zainstalowane w Wordpressie. Brzmi prosto ? Tak jest. Niestety, nie zawsze.

Kilka słów o WP-Cron

Pomimo że Cron jest narzędziem bardzo użytecznym, ma swoje wady. Najważniejszą jest obciążenie, które generuje na serwerze. Dzieje się tak, gdyż uruchamiany jest wraz z każdą odsłoną serwisu. Bez względu na to ile wyświetleń generuje Twoja strona, za każdym razem, gdy ktoś ją odwiedza, wyzwalany jest Cron. Wywołuje to niepożądane obciążenie serwera i w konsekwencji wolniejsze wczytywanie serwisu. W dzisiejszych czasach, gdy użytkownicy są mocno wybredni, kilka sekund opóźnienia, może zdecydować o tym, czy zostaną na stronie(i np. dokonają zakupu), czy odejdą gdzie indziej. Czy oznacza to, że powinieneś/aś zrezygnować z Crona? Niekoniecznie. Jest na to rozwiązanie.

Crontab

Istnieje możliwość powiązania Twojego panelu Wordpressa z Cronem systemowym w CPanel. Dzieje się to poprzez odłącznie sterowania WP Cronem od jądra Wordpressa i ustawienie jego wyzwalania zależne od harmonogramu zadań na serwerze (Crontab). Nie martw się. To tylko brzmi skomplikowanie. W rzeczywistości nie jest, aż tak trudne. Czemu warto zdecydować się na to rozwiązanie? Korzystając z niego, odciążymy serwer, przyśpieszymy stronę oraz uniezależnimy się od wyświetleń wyzwalających działania WP Crona.

Optymalizacja WP-Crona – Od czego zacząć ?

Pierwszym krokiem jest wyłączenie standardowego działania WP Crona. Jak tego dokonać ? Otwórz plik wp-config.php, który znajdziesz w katalogu głównym swojej strony na serwerze. Następnie dodaj komendę w linii pod tagiem <?php ( otwierającym skrypt php ), przykładowo początek skryptu będzie wyglądał tak (dodana linijka jest pogrubiona):

<?php
define('DISABLE_WP_CRON', 'true');

Co dalej ? Następnie powinniśmy „podpiąć” nasz WP-Cron pod Crontab (systemowy harmonogram zadań).

W tym celu po zalogowaniu się do CPanel należy:

 

1)       Znaleźć sekcję „Zaawansowane” i kliknąć w ikonę „Zadania Cykliczne(Crontab)”

 

 

2)      W sekcji „Dodaj nowe zadanie” => „Popularne ustawienia„ wybrać  interesującą Cię częstotliwość. Opcja „raz na godzinę” powinna być wystarczająca, ale możesz wybrać dowolny, odpowiedni dla siebie interwał.

 

 

 

3)      Następnie definiujemy zadanie Crona, poprzez podanie odpowiedniego polecenia. Polecenie do wykonania w Cronie musi być w postaci:

wget -q -O /dev/null https://twoja_domena.pl/wp-cron.php

gdzie domena klienta to nazwa domeny na której chcemy ustawić zadanie.

Jeśli chcemy ustawić Crona dla wordpresa znajdującego się gdzie indziej niż bespośrednio pod naszą domeną to w tym polecaniu musicie wpisać dokładną ścieżkę do tej instalacji. Przykładowo jeśli instalacja znajduje się w folderze blog należy podac ścieżki chcielibyśmy ustawić Crona dla naszej strony blogowej to powinniśmy podać scieżkę do folderu blog czyli np. https://twoja_domena.pl/blog/wp-cron.php

 

wpcron 4

5)      Po wykonaniu tej czynności zobaczysz informację o pozytywnym dodaniu zadania Cron

wpcron5

Powyższe ustawienia pozwolą na „spięcie” WP-Cron z Crontab, a tym samym uruchamianie zadań o w z góry określonym czasie oraz ograniczy obciążenia serwera nim spodowane.

 

Mogą Cię również zainteresować

comments powered by Disqus