Többször találkoztunk azzal a problémával, hogy a WordPress sebessége egy idő után egyre lassabb. Ilyenkor mindig arra gyanakszik a felhasználó, hogy bizonyára a tárhely szolgáltató zsúfolja túl a szervert és ezért lassul le az oldalunk. Nyilván ilyen is előfordul, de nem feltétlenül ez áll a probléma hátterében. Hogyan optimalizálhatjuk tehát az oldalunkat a lassulások elkerülése érdekében?
A WordPress lassulás hátterében nagyon gyakran a megnövekedett látogatói szám áll. Ilyenkor az adatbázis terhelése olyan mértékben növekszik meg egy-egy oldallekérés során, hogy az már érezhető lassuláshoz vezet. Némileg csökkentheti a terhelést, ha valamelyik cache bővítményt már telepítettük, de a nagyobb látogatói számnál már ez sem segít. A fő problémát a nagyszámban lekérdezett konfigurációs beállítások kiolvasása jelenti, amely minden oldallekérés során megtörténik a wp_options táblából. Ezért optimalizálnunk kell az adatbázis tábláit.
Ahhoz, hogy a lekérdezésekből fakadó terhelést csökkentsük, nincs más dolgunk, mint lefuttatni a következő kódsort a phpmyadmin SQL mezőjében, ezzel az indexeléssel jelentősen optimalizáljuk a wp_options táblát:
[codesyntax lang=”php”]
CREATE INDEX idx_autoload USING hash ON wp_options (autoload(3))
[/codesyntax]
Ezzel a sorral indexeljük a wp_options táblát így a lekérdezések kevesebbet erőforrást fognak felemészteni. Az oldalad pedig gyorsabb lesz.
Meg tudod nézni, hogy az index be van-e kapcsolva, ha a köv. kódsort lefuttatod:
[codesyntax lang=”php”]
EXPLAIN extended SELECT option_name, option_value FROM wp_options WHERE autoload = 'yes'
[/codesyntax]
Ha eredményül valami hasonlót kapsz, akkor a tábla indexelése megtörtént:
[codesyntax lang=”php”]
id select_type table type possible_keys key key_len ref rows filtered Extra 1 SIMPLE wp_options ref idx_autoload idx_autoload 11 const 497 100.00 Using where
[/codesyntax]
Gyakori probléma még a rengeteg feltelepített, nem használt, de aktív bővítmény. Ezeket ki kell kapcsolni, sőt inkább töröld is le.!