WordPress rendszerek esetén gyakori probléma, hogy kis látogatószám esetén is igen magas az oldal erőforrás felhasználása, így a tárhelyhez biztosított erőforrást esetenként maximálisan kihasználja. A probléma oka lehet a admin-ajax.php és wp-cron.php futása melyek a rendszerhez tartozó funkció manipulációkat tartalmazzák.
WordPress optimalizálásakor az alábbiakat érdemes elvégezni.
1. wp-cron.php
Mi a feladata?
A CRON a feladatok ütemezésére szolgálnak meghatározott időpontokban a WordPress rendszerben. A WordPress cron feladata, hogy ellenőrizze vannak egy frissítések a rendszerhez, az időzített bejegyzéseket ez az ütemező teszi közzé, illetve az előre meghatározott ütemezés szerint futó biztonsági mentést futtatja, ha be van állítva ilyen bővítmény az oldalunkon.
Miért okoz teljesítmény problémát?
A Sybell sok nagy forgalmú WordPress oldalt üzemeltet. Emiatt sok teljesítményproblémát tapasztaltunk a WordPress beépített Cron kezelőjével.
A wp-cron egy WordPress által fejlesztett cron feladat, ami a rendszerbe be van építve, ezért fontos tudni, hogy MINDEN oldal betöltődéskor lefut a wp-cron.php is, ezzel ellenőrzi, hogy vannak-e teendői. Ha van teendője a feladatlistáját el is végezi. Fontos kiemelni, hogy ez MINDEN meghíváskor lefut és így MINDEN oldal betöltődéskor terheli a tárhely erőforrásait.
Ahhoz, hogy optimalizáljuk a WordPress erőforrás felhasználását, javasolt a wp-cron automatikus futását letiltani, majd javasoljuk időzíteni 12 óránkénti futásra.
A wp-cron.php probléma megoldása
1. lépésben tiltsuk le a wp-cron futását, ezt a wp-config.php fájlban tudjuk beállítani.
Az alábbi sort írjuk be a wp-config.php fájlba, az alábbi képen látható módon.
define('DISABLE_WP_CRON', true);
Ezzel tiltottuk is a cron futását!
2. lépésben állítsuk be a wp-cron.php időzített futtatását az általunk javasolt 12 órára.
A cron futását cPanel felületen tudjuk beállítani, kattintsunk a Cron-feladatok menüre.
Ezt követően állítsuk be, a felületen a naponta kétszeri futást (1.), majd a Parancs (2.) mezőbe írjuk be az alábbit. Értelem szerűen a „domainnevünk.hu” részt cseréljük ki a saját domain nevünkre.
wget -q -O – https://domainnevünk.hu/wp-cron.php?doing_wp_cron > /dev/null 2>&1
Majd kattintsunk az Új cron-feladat hozzáadása (3.) gombra.
Ha beállítottuk az alábbi sort kell, hogy lássuk.
2. admin-ajax.php
Mi a feladata?
Az Ajax egy JavaScript-alapú webes technológia, amely segít dinamikus és interaktív webhelyek működésében.
A WordPress az Ajax segítségével biztosítja az alapvető adminisztrációs területek számos funkciójának, például az automatikus mentéseket menedzseli, a felhasználói munkamenetek kezelésért felel, illetve közösen szerkesztett bejegyzések esetén értesít, stb.
Hogyan működik?
Az admin-ajax.php a böngésző és a szerver között hoz létre kapcsolatot 15 másodpercenként. Így a több egyidejű Ajax-kérés (admin-ajax.php) magas erőforrás használathoz vezethet, ami jelentősen lelassítja a tárhelyet, növeli az erőforrás használatot és terheli a weboldalt ezáltal. Ez a WordPress rendszer optimalizálásának hiányát jelenti egyértelműen.
admin-ajax.php probléma megoldása
Úgy tudjuk optimalizálni a működést, hogy egy bővítmény segítségével a WordPress Heartbeat API-nak megmondjuk, hogy „mit” és „milyen gyakran” ellenőrizzen.
A WP Rocket Heartbeat Control bővítménnyel könnyen megoldhatod ezt a problémát. Ez lehetővé teszi, hogy néhány kattintással letiltsd vagy módosítsd a Heartbeat API működését.
A Heartbeat Control bővítmény telepítése és aktiválása után kezelheted a Heartbeat API gyakoriságát a WordPressben. Kattints a Beaállítások->Heartbeath Control menüre.
A bővítményben, 3 opciót látunk „WordPress Dashboard”, „Frontend”, „Post editor”. Mind a három opción esetén válasszuk ki a Modify Hearthbeat lehetőséget és állítsuk be a csuszkát 120-as értékre.
Majd kattintsunk a Save changes gombra.
Ha még ezt követően is teljesítmény problémát tapasztalunk, javasolt növelni az értékeket 200-ra vagy letiltani mind a három opciót, a „Disable Heartbeat” lehetőséggel.