Jak wyłączyć wp-cron w WordPress (i zamiast tego użyć prawdziwego zadania Cron)

Chcesz wyłączyć wp-cron i zastąpić go własnym prawdziwy praca crona?

Zastąpienie wp-cron własnym zadaniem cron może pomóc w bardziej niezawodnym wykonywaniu zaplanowanych zadań witryny, a także zmniejszyć obciążenie serwera w przypadku witryn o dużym natężeniu ruchu.

W tym poście wyjaśnimy, czym jest wp-cron i dlaczego warto go wyłączyć, jeśli nie znasz tej taktyki. Następnie pokażemy Ci krok po kroku, jak wyłączyć wp-cron i zastąpić go prawdziwym zadaniem cron.

Jeśli już wiesz, czym jest wp-cron i dlaczego możesz chcieć go wyłączyć, możesz kliknij tutaj, aby przejść bezpośrednio do samouczka.

Co to jest wp-cron?

Wp-cron to plik/funkcja odpowiedzialna za kontrolowanie wrażliwych czasowo zadań witryny WordPress.

Załóżmy na przykład, że zaplanowałeś publikację posta w najbliższą środę o 9:30. Wp-cron upewnia się, że dzieje się to na czas (lub przynajmniej tak blisko „na czas”, jak to możliwe – więcej o tym za chwilę).

Oprócz upewnienia się, że podstawowe funkcje WordPress działają, wiele wtyczek WordPress polega również na wp-cron do obsługi wrażliwych na harmonogram części wtyczki.

Jeśli chcesz wyświetlić wszystkie zaplanowane zadania w swojej witrynie, możesz użyć pliku a darmowa wtyczka, taka jak WP-Crontrol. Jeśli pójdziesz do Narzędzia → Zdarzenia Cronamożesz zobaczyć wszystkie automatyczne zadania, które WordPress zaplanował do uruchomienia i jak często są wykonywane:

Wtyczka WP-Crontol pozwala zobaczyć zadania przed wyłączeniem wp-cron

Jak sama nazwa wskazuje, wp-cron pochodzi z bardziej ogólnego systemu planowania cron, który jest używany przez systemy operacyjne Unix. Jednak wp-cron różni się od tych systemów planowania, a wp-cron nie jest prawdziwym zadaniem cron.

Duża różnica polega na tym, że wp-cron działa tylko wtedy, gdy Ty lub inna osoba odwiedza Twoją witrynę (na interfejsie użytkownika lub na pulpicie nawigacyjnym). Za każdym razem, gdy ktoś odwiedzi Twoją witrynę, WordPress uruchomi plik wp-cron.php i sprawdzi zaplanowane zadania. Jeśli istnieje zadanie, wykona je.

Może to jednak stanowić problem w przypadku witryn o niskim natężeniu ruchu, ponieważ wp-cron działa tylko podczas wizyty. Załóżmy na przykład, że zaplanowałeś ten post na środę na 9:30, ale w tym czasie Twoja witryna nie jest odwiedzana. W rzeczywistości Twoja witryna jest odwiedzana dopiero o 11:30.

Cóż, w tym scenariuszu Twój post nie zostałby opublikowany do 11:30, ponieważ wp-cron nie był w stanie działać, gdy nie było żadnych odwiedzin. Nadal pokazywałby sygnaturę czasową jako 9:30 – po prostu nie pojawiłby się w Twojej witrynie do 11:30.

Dlaczego powinieneś wyłączyć wp-cron?

Istnieją dwa powody wyłączenia wp-cron i zastąpienia go własnym dedykowanym zadaniem cron:

  1. Niezawodność – jak ilustruje powyższy przykład, wp-cron nie zawsze jest niezawodny w witrynach o niskim natężeniu ruchu, ponieważ do wykonania wymaga wizyty w witrynie. Dzięki prawdziwemu zadaniu cron możesz ustawić wykonywanie zadań co X minut nieważne co – nawet jeśli nie ma wizyt.
  2. Wydajność – w witrynach o dużym natężeniu ruchu niektórzy ludzie nie lubią wp-cron, ponieważ WordPress będzie uruchamiał plik wp-cron.php przy prawie każdej wizycie. WordPress stara się to ograniczyć, nie uruchamiając go częściej niż raz na 60 sekund, ale nadal mogą występować spadki wydajności z różnych przyczyn technicznych, takich jak jednoczesne wizyty wyzwalające wp-cron.

Krótko mówiąc, nauczenie się, jak wyłączyć wp-cron, może być przydatne zarówno w witrynach o małym, jak i dużym natężeniu ruchu, choć z różnych powodów.

Jak wyłączyć wp-cron (i skonfigurować prawdziwe zadanie cron)

Skoro już wiesz „co” i „dlaczego”, przejdźmy do „jak”. Pokażemy Ci, jak wyłączyć wp-cron, a następnie zastąpić go własnym zadaniem Cron serwera (lub inne rozwiązanie).

Proces składa się z dwóch części:

  1. Musisz wyłączyć wbudowaną funkcję wp-cron, aby WordPress nie uruchamiał wp-cron.php przy każdej wizycie. Aby to zrobić, wystarczy dodać wiersz kodu do pliku wp-config.php Twojej witryny.
  2. Musisz skonfigurować własne zadanie cron, aby wywoływać wp-cron.php zgodnie z ustalonym harmonogramem. Dzięki temu możesz uruchamiać wp-cron.php według określonego harmonogramu, niezależnie od tego, czy Twoja witryna otrzymuje ruch, czy nie.

Wyłącz wp-cron w wordpress

Aby wyłączyć wp-cron, musisz dodać jeden wiersz kodu do pliku wp-config.php swojej witryny. Ponieważ jest to kluczowy plik konfiguracyjny, zdecydowanie zalecamy utworzenie kopii zapasowej witryny przed wprowadzeniem zmian (lub przynajmniej utworzenie kopii oryginalnego pliku wp-config.php, aby można było ponownie przesłać kopię roboczą, jeśli coś pójdzie nie tak ).

Aby uzyskać dostęp do pliku wp-config.php, możesz:

  • Połącz się z serwerem przez FTP i znajdź plik w katalogu głównym (w tym samym katalogu, który zawiera foldery wp-admin i wp-content).
  • Użyj czegoś takiego jak Menedżer plików cPanel, aby przeglądać pliki serwera z poziomu przeglądarki internetowej.

Po utworzeniu kopii zapasowej witryny i/lub oryginalnego pliku wp-config.phpdodaj następujący fragment kodu nad wierszem, który mówi /* That's all, stop editing! Happy publishing. */

define('DISABLE_WP_CRON', true);

jak tak:

Jak wyłączyć wp-cron w wordpress

Zapisz zmiany i ponownie prześlij plik, jeśli to konieczne.

Gdy to zrobisz, WordPress nie będzie już wywoływał pliku wp-cron.php, gdy ludzie odwiedzą Twoją witrynę.

Skonfiguruj własne zadanie cron

Po wyłączeniu wp-cron musisz skonfigurować własne zadanie cron, aby automatyczne zadania witryny nadal były uruchamiane.

Można to zrobić na dwa sposoby:

  1. Możesz utworzyć własne zadanie cron na poziomie serwera, korzystając z hostingu. Dokładny proces różni się w zależności od dostawcy usług hostingowych.
  2. Możesz skorzystać z usługi cron online, która jest narzędziami opartymi na chmurze, które umożliwiają uruchamianie zadania cron przy użyciu serwerów usługi. Zazwyczaj te usługi mają ograniczone bezpłatne plany, więc może być konieczne zapłacenie. Na szczęście nawet płatne usługi są dość przystępne (np. 12 dolarów na rok).

Pokażę ci, jak skonfigurować obie te metody – ale wystarczy użyć jednej z tych metod.

Skonfiguruj zadanie cron serwera za pośrednictwem swojego hostingu

Proces konfigurowania zadania cron serwera różni się w zależności od hosta. Niektórzy bardzo to ułatwiają, inni nie.

W tym przykładzie użyję cPanelu, ponieważ jest to najpopularniejsze rozwiązanie, ale zalecam zapoznanie się z dokumentacją pomocy technicznej hosta, jeśli host nie korzysta z cPanelu lub jeśli nie masz pewności, gdzie znaleźć tę funkcję (lub jeśli twój gospodarz w ogóle na to pozwala).

Aby rozpocząć, zaloguj się do pulpitu nawigacyjnego hostingu i przejdź do cPanel. W interfejsie cPanel powinieneś znaleźć narzędzie o nazwie Praca Crona (lub coś podobnego). Zwykle jest pod Zaawansowany kategorii, ale może się różnić w zależności od hosta.

Wybierz to narzędzie:

Narzędzie cron cPanel

Na następnej stronie znajdź Dodaj nowe zadanie Cron Sekcja. Powinieneś zobaczyć opcje określające czas, a także a Komenda.

Czas zależy od Ciebie, ale zwykle uruchamianie go co 30 minut jest dobrym punktem wyjścia, szczególnie w przypadku hostingu współdzielonego. W rzeczywistości niektóre współdzielone hosty nie pozwalają na ich częstsze uruchamianie.

Możesz wybrać Dwa razy na godzinę od Wspólne ustawienia menu rozwijane, które wstępnie skonfiguruje pozostałe ustawienia synchronizacji. Lub możesz użyć Crontab.guru aby samodzielnie wygenerować składnię – wystarczy wpisać szczegóły w odpowiednich polach.

Następnie dodaj następujący wiersz kodu do pliku Komenda skrzynka:

wget -q -O - >/dev/null 2>&1

Pamiętaj, aby wymienić z rzeczywistym adresem URL Twojej witryny.

Na przykład, jeśli Twoja witryna jest https://basketballfanatic.comwtedy właściwym poleceniem byłoby:

wget -q -O - >/dev/null 2>&1

Tworzenie nowego zadania cron w cPanel

Pamiętaj, aby kliknąć Dodaj nowe zadanie Cron przycisk, aby zapisać zadanie crona. Następnie powinieneś zobaczyć, że pojawia się na liście Aktualne zadania Cron poniżej.

Skorzystaj z usługi cron online

Jeśli twój host nie pozwala ci skonfigurować zadań cron lub wolisz prostsze środowisko, możesz zamiast tego skorzystać z dedykowanej usługi cron.

Istnieje kilka popularnych opcji, w tym następujące:

W tym samouczku użyjemy EasyCron.

EasyCron jest bezpłatny dla maksymalnie 200 codziennych wywołań cron w odstępach maksymalnie 20-minutowych (co pozwala uruchamiać jedno zadanie co 20 minut każdego dnia), co powinno wystarczyć na jedną witrynę WordPress. Płatne plany są również dość przystępne, zaczynając od zaledwie 12 USD na rok.

Rozpocząć, zarejestruj darmowe konto.

Następnie kliknij + Praca Crona przycisk w interfejsie EasyCron:

Utwórz nowe zadanie cron po wyłączeniu wp-cron

Zobaczysz wtedy wyskakujące okienko, w którym możesz skonfigurować zadanie cron.

w Adres URL do połączenia pole, wprowadź pamiętaj o wymianie z rzeczywistym adresem URL witryny.

Następnie pod Kiedy wykonaćwybierać Co 30 minut (w razie potrzeby możesz wybierać częściej, ale 30 minut to dobry punkt wyjścia dla większości witryn).

Następnie kliknij Utwórz zadanie Crona aby zapisać ustawienia i uruchomić zadanie cron:

Jak dodać zadanie cron za pomocą EasyCron

Gotowy!

Wyłącz wp-cron już dziś, aby uzyskać bardziej niezawodne planowanie zadań

Wp-cron to wbudowany system planowania WordPress, który zapewnia terminowe wykonywanie różnych zadań witryny, takich jak zaplanowane posty na blogu.

Jednak wbudowana funkcja ma pewne wady, jeśli chodzi o niezawodność (dla witryn o niskim natężeniu ruchu) i wydajność (dla witryn o dużym natężeniu ruchu). Z tych powodów możesz chcieć wyłączyć wp-cron i zastąpić go prawdziwym zadaniem cron, co pokazaliśmy ci w tym poście.

Aby poznać inne sposoby poprawy wydajności witryny, zapoznaj się z naszym pełnym przewodnikiem dotyczącym poprawy wydajności WordPress.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Verified by MonsterInsights
Яндекс.Метрика