Hogyan cseréljük le a WordPress beépített cron-ját a cPanel ütemezett feladataival?

cPanel 2 perc olvasás

Ha a WordPress oldala néha lassabban tölt be, vagy az ütemezett bejegyzései nem jelennek meg időben, annak gyakran a WordPress beépített időzítője, a WP-Cron az oka. A cPanel tárhelyen ezt egy valódi, a szerver által időzített feladatra cserélheti.

Mi a WP-Cron, és mi a baja?

A WordPress az időzített feladatait (ütemezett bejegyzések, frissítések keresése, bővítmények karbantartó feladatai, webáruházi e-mailek) a wp-cron.php fájllal futtatja. Ez azonban nem a szerver órájához igazodik: akkor indul el, amikor valaki megnyit egy oldalt. Ennek következményei:

  • ha az oldalnak éppen nincs látogatója, a feladatok késnek (például egy éjfélre ütemezett bejegyzés csak az első reggeli látogatáskor jelenik meg);
  • egy nagy forgalmú oldalon szükségtelenül sokszor fut, és a futás az adott látogató oldalbetöltését lassítja;
  • egyes gyorsítótár-bővítmények vagy hibás DNS-beállítások miatt egyáltalán nem indul el.

A megoldás: a WP-Cront kikapcsolja, és a szerver cron-feladata hívja meg rendszeresen, például negyedóránként. (A cron általános használatáról a cPanel időzített feladatairól (cron job) szóló cikk szól.)

A legegyszerűbb út: WP Toolkit

Ha a WordPresst a WP Toolkit kezeli (a cPanel WordPress Management menüpontja), a webhely áttekintőjében, a Teljesítmény résznél kapcsolja be a wp-cron.php fájl átvétele opciót. A WP Toolkit ilyenkor maga kapcsolja ki a WP-Cront, és beállítja helyette a szerveroldali időzítést; az alábbi kézi lépésekre nincs szükség.

Kézi beállítás a Cron-feladatok menüpontban

  1. Jelentkezzen be a cPanelbe, és a Speciális csoportban kattintson a Cron-feladatok menüpontra.

    cPanel Speciális csoport: Cron-feladatok

  2. Az Új cron-feladat hozzáadása részben állítsa be az ütemezést. Negyedórás futáshoz a Perc mező melletti listából válassza a Tizenöt percenként egyszer (*/15) lehetőséget, a többi mezőben (Óra, Nap, Hónap, Hétköznap) maradjon a * (minden).
  3. A Parancs mezőbe írja az alábbi parancsok egyikét (a felhasznalonev helyére a cPanel-felhasználónevét, a mappa helyére a WordPress mappáját írja; a fő domainnél ez a public_html):

    PHP-val, közvetlenül (ajánlott, nem függ a DNS-től és a webszervertől):

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

    WP-CLI-vel (csak az esedékes feladatokat futtatja):

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

    Weboldalcím meghívásával, ha a fentiek valamiért nem működnek:

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

    A > /dev/null 2>&1 rész miatt a rendszer nem küld e-mailt minden futásról.

  4. Kattintson az Új cron-feladat hozzáadása gombra.

    cPanel Cron-feladatok: negyedóránként futó wp-cron.php feladat

A feladat megjelenik az oldal alján, a Jelenlegi cron-feladatok listában, ahol a Szerkesztés és a Törlés hivatkozással módosíthatja.

Jelenlegi cron-feladatok: a létrehozott feladat

A WP-Cron kikapcsolása

Ha a szerver cron-feladata már fut, kapcsolja ki a WordPress beépített időzítőjét, különben mindkettő futna. Ehhez a WordPress gyökérmappájában lévő wp-config.php fájlba, a /* That's all, stop editing! */ sor elé írja be:

define('DISABLE_WP_CRON', true);

A fájlt a cPanel Fájlkezelőjében szerkesztheti (Fájlkezelő).

Ellenőrzés

  • Ütemezzen be egy próbabejegyzést néhány perccel későbbre, és nézze meg, hogy a következő cron-futás után megjelenik-e.
  • A WordPress Eszközök › Webhely egészség oldala jelzi, ha az ütemezett események késnek.
  • Ha a parancs hibát ad, ideiglenesen törölje a végéről a > /dev/null 2>&1 részt, és adja meg a Cron e-mail mezőben a címét: a következő futás kimenetét e-mailben megkapja.
Vissza: cPanel leírások (43)