WP-Cron je PHP funkcia, ktorá je súčasťou WordPress a napodobňuje službu Cron na serveri, ktorý sa často označuje ako cron job.
Cron job je služba na Linux serveroch, ktorá slúži na spúšťanie procesov v určitom čase, ktorý si môžete nastaviť resp. naplánovať, napr. každú minútu alebo hodinu alebo raz za deň. Úlohy Cron majú na starosti to, aby vaša webová stránka fungovala podľa možnosti čo najlepšie, tak napr. cron môže vykonávať také úlohy ako odstránenie nepotrebných záznamov, odosielanie emailových upozornení, naplánovanie záloh dôležitých súborov alebo databázy a pod.
WP-Cron však pracuje odlišným spôsobom, nemá naplánované úlohy v určitom čase, ale aktivuje sa vtedy, ak niekto navštívi resp. načíta vašu webovú stránku (platí to aj pre vyhľadávacie roboty).
Tento spôsob je však dobrý len vtedy, ak máte niekoľko málo stoviek návštev denne. Ak je návštevnosť príliš nízka (niekoľko desiatok), úlohy sa nemusia dlhšie spustiť a keď sa po čase spustia, tak musia spracovať veľa dát naraz. Ak je návštevnosť vysoká (rádovo tisíce), tak cron úlohy sa vo veľkom množstve spúšťajú znovu a znovu, čo môže výrazne zaťažiť server, čo sa odzrkadlí v rýchlosti načítavania vašej webovej stránky.
Z týchto dôvodov odporúčame funkciu WP-Cron vypnúť a nahradiť ju klasickými cron službami v našom Control Paneli.
Vypnutie WP-Cron vo WordPress
Prihláste sa pomocou protokolu FTP na server a z koreňového priečinka /public_html/ si do počítača stiahnite súbor wp-config.php.
Súbor si otvorte napríklad pomocou programu Notepad++ (pre úpravu vám bude stačiť aj klasický Notepad - Poznámkový blok, ale Notepad++ je výborné riešenie pre takéto úpravy) a niekde pod riadkom 80 nájdite túto časť kódu:
define( 'WP_DEBUG', false ); /* Add any custom values between this line and the "stop editing" line. */ /* That's all, stop editing! Happy publishing. */
Sem si medzi dva riadky označené /* a */ vložte tento kód:
define( 'DISABLE_WP_CRON', true);
Takže bude to vyzerať takto:
define( 'WP_DEBUG', false ); /* Add any custom values between this line and the "stop editing" line. */ define( 'DISABLE_WP_CRON', true); /* That's all, stop editing! Happy publishing. */
Súbor uložte a nahrajte naspäť do priečinka /public_html/. Takto zakážete používanie WP-Cron vo WordPress.
Vytvorenie Cron úlohy v Control Paneli
V Control Paneli kliknite na službu Cron:
Kliknite na Pridať záznam a vytvorte si WEB Cron úlohu s použitím tejto URL, kde domena.tld nahraďte svojou vlastnou doménou. Ak vaša stránka nebeží na protokole HTTPS, tak si protokol upravte na HTTP:
https://domena.tld/wp-cron.php?doing_wp_cron
Časové obdobie Cronu si nastavte na 10 minút, ale v prípade potreby, ak vyžadujete, aby sa úlohy spúšťali častejšie môžete ešte na menej (každých 5 minút alebo dokonca každú minútu, ale pre väčšinu webových stránok to asi ani potrebné nebude).
Dole napravo kliknite na Pridať a odteraz všetky úlohy bude vykonávať náš server.
See also this article
See also this article