Kako vgrajeni cron WordPress zamenjamo z načrtovanimi opravili cPanel?

cPanel Branje: 2 min

Če se tvoja stran WordPress včasih nalaga počasneje ali se tvoji načrtovani prispevki ne prikažejo pravočasno, je vzrok pogosto vgrajeni časovnik WordPressa, WP-Cron. Na gostovanju cPanel ga lahko zamenjaš s pravim opravilom, ki ga časovno vodi strežnik.

Kaj je WP-Cron in kaj je narobe z njim?

WordPress svoje načrtovane naloge (načrtovani prispevki, iskanje posodobitev, vzdrževalne naloge vtičnikov, e-poštna sporočila spletne trgovine) izvaja z datoteko wp-cron.php. Ta pa se ne ravna po uri strežnika: zažene se, ko nekdo odpre stran. Posledice:

  • če stran ravno nima obiskovalca, naloge zamujajo (na primer prispevek, načrtovan za polnoč, se prikaže šele ob prvem jutranjem obisku);
  • na zelo prometni strani teče po nepotrebnem pogosto, izvajanje pa upočasni nalaganje strani tega obiskovalca;
  • zaradi nekaterih vtičnikov za predpomnjenje ali napačnih nastavitev DNS se sploh ne zažene.

Rešitev: WP-Cron izklopiš, redno pa ga kliče opravilo cron strežnika, na primer vsakih 15 minut. (O splošni uporabi crona govori članek o načrtovanih opravilih (cron job) v cPanelu.)

Najpreprostejša pot: WP Toolkit

Če WordPress upravlja WP Toolkit (točka menija WordPress Management v cPanelu), v pregledu spletnega mesta, v razdelku Zmogljivost, vklopi možnost Prevzem datoteke wp-cron.php. WP Toolkit takrat sam izklopi WP-Cron in namesto njega nastavi časovno vodenje na strani strežnika; spodnji ročni koraki niso potrebni.

Ročna nastavitev v točki menija Opravila cron

  1. Prijavi se v cPanel in v skupini Napredno klikni točko menija Opravila cron.

    Skupina Napredno v cPanelu: Opravila cron

  2. V razdelku Dodaj novo opravilo cron nastavi razpored. Za izvajanje vsakih 15 minut na seznamu ob polju Minuta izberi možnost Enkrat na petnajst minut (*/15), v drugih poljih (Ura, Dan, Mesec, Dan v tednu) naj ostane * (vse).
  3. V polje Ukaz vpiši enega od spodnjih ukazov (namesto felhasznalonev vpiši svoje uporabniško ime cPanel, namesto mape pa mapo WordPress; pri glavni domeni je to public_html):

    S PHP, neposredno (priporočeno, ni odvisno od DNS in spletnega strežnika):

    /usr/local/bin/php /home/felhasznalonev/public_html/wp-cron.php > /dev/null 2>&1
    

    Z WP-CLI (izvede le zapadle naloge):

    /usr/local/bin/wp cron event run --due-now --path=/home/felhasznalonev/public_html > /dev/null 2>&1
    

    S klicem spletnega naslova, če zgornji iz kakršnega koli razloga ne delujeta:

    wget -q -O - https://pelda.hu/wp-cron.php?doing_wp_cron > /dev/null 2>&1
    

    Zaradi dela > /dev/null 2>&1 sistem ne pošlje e-pošte o vsakem zagonu.

  4. Klikni gumb Dodaj novo opravilo cron.

    Opravila cron v cPanelu: opravilo wp-cron.php, ki teče vsakih 15 minut

Opravilo se prikaže na dnu strani, na seznamu Trenutna opravila cron, kjer ga lahko spremeniš s povezavama Uredi in Izbriši.

Trenutna opravila cron: ustvarjeno opravilo

Izklop WP-Cron

Ko opravilo cron strežnika že teče, izklopi vgrajeni časovnik WordPressa, sicer bi tekla oba. Za to v datoteko wp-config.php v korenski mapi WordPress, pred vrstico /* That's all, stop editing! */, vpiši:

define('DISABLE_WP_CRON', true);

Datoteko lahko urejaš v Upravitelju datotek v cPanelu (Upravitelj datotek).

Preverjanje

  • Načrtuj poskusni prispevek nekaj minut pozneje in preveri, ali se po naslednjem zagonu crona prikaže.
  • Stran Orodja › Zdravje spletnega mesta v WordPressu opozori, če načrtovani dogodki zamujajo.
  • Če ukaz vrne napako, z njegovega konca začasno izbriši del > /dev/null 2>&1 in v polje E-pošta za cron vnesi svoj naslov: izpis naslednjega zagona dobiš po e-pošti.
Nazaj: cPanel – članki (48)