WooCommerce
Miért lassú a WooCommerce webshopod? 5 valós technikai ok
A leggyakoribb technikai okok, amitől egy WooCommerce belassul, és mit lehet tenni ellenük.
Egy webshopnál a sebesség nem kényelmi kérdés, hanem pénzkérdés. A lassan betöltő termékoldal még azelőtt veszít látogatót, hogy az bármit látott volna belőle, a döcögő pénztár pedig a már majdnem megnyert vásárlót engedi el. Minél tovább tart a betöltés, annál többen zárják be az oldalt, és mobilon ez még keményebben érvényesül.
A másik tét a Google. A Core Web Vitals (a valós felhasználói élményt mérő betöltési mutatók) rangsorolási tényező a keresőben: a tartósan lassú oldal rosszabb organikus pozíciót kaphat, és a hirdetéseid is drágulhatnak, mert a gyenge landing-élmény rontja a minőségi mutatót. A lassúságért tehát kétszer fizetsz: kevesebb látogató jön, és közülük is kevesebben vásárolnak.
Főállásban építek és üzemeltetek WooCommerce-rendszereket, és amikor lassú webshopot kapok kézhez, az ok szinte mindig ugyanabból az öt dologból jön össze. Ritkán maga a WooCommerce a hibás, sokkal inkább az, ami az évek alatt köré rakódott. Vegyük végig őket.
1. Túltolt plugin-stack, egymásra rakódó lekérdezések
Gyakran látok negyven-hatvan aktív pluginnal futó webshopot: külön bővítmény a sliderre, a kívánságlistára, a felugró ablakra, kettő a SEO-ra, három a statisztikára. A gond az, hogy mindegyik minden oldalletöltésnél lefut, akkor is, ha az adott oldalon semmi dolga. A pluginok ráadásul nem tudnak egymásról: mindegyik saját adatbázis-lekérdezéseket (query) futtat, és ezek összeadódnak. Egy oldalletöltés alatt így simán összejön több száz lekérdezés.
Gyakori mellékhatás a háttérben zajló admin-ajax forgalom is: egyes bővítmények rövid időközönként pingelik a szervert, így a látszólag üresjáratban lévő oldal is terhelést termel.
- Írd össze, melyik plugin mit csinál, és mi történne, ha nem lenne. Amit hónapok óta nem használsz, azt ne csak kapcsold ki, hanem töröld.
- Egy funkció = egy megoldás. Két SEO-plugin nem kétszer jobb SEO, hanem kétszer annyi futó kód.
- A kis, egyfunkciós bővítmények egy része kiváltható pár sor saját kóddal, és ez a leggyorsabb plugin-fogyókúra.
András tippje
Nem a pluginok darabszáma öl, hanem a rossz plugin. Egyetlen rosszul megírt bővítmény (mondjuk olyan, ami minden oldalletöltésnél végigolvassa a teljes rendeléstáblát) többet lassít, mint húsz rendesen megírt. Ezért mérni kell (lásd lejjebb a Query Monitort), nem darabszámot számolgatni.
2. Alulméretezett tárhely, hiányzó objektum-gyorsítótár
A WooCommerce dinamikus rendszer: kosár, készlet, árak, bejelentkezett vásárlók. Ezért a klasszikus oldal-gyorsítótár (page cache) épp a legfontosabb oldalakon (kosár, pénztár, fiók) nem segít: ott minden kérést a PHP-nak és az adatbázisnak kell kiszolgálnia. Két dolog számít igazán: a szerver ereje és az objektum-gyorsítótár (object cache).
Az olcsó, megosztott tárhelyen kevés a PHP-worker és lassú a lemez-I/O; amint egyszerre tizenöt-húsz látogató kattint, a kérések könnyen sorban állnak. Az objektum-gyorsítótár (jellemzően Redis vagy Memcached) azt oldja meg, hogy az ismétlődő lekérdezések eredménye memóriából jöjjön vissza, ne kelljen minden kérésnél újraszámolni. WooCommerce alatt ez az egyik legnagyobb hatású, mégis leggyakrabban hiányzó optimalizáció. A legtöbb megosztott tárhelyen egyszerűen nincs is rá lehetőség.
Tapasztalatom szerint egy forgalmasabb shopnál a tárhelyváltás (VPS vagy menedzselt hoszting, Redisszel) önmagában érezhető gyorsulást hoz, mindenféle plugin-varázslás nélkül.
3. A page builder témák render-költsége
Az Elementor és a hozzá hasonló vizuális szerkesztők jók abban, amire valók: fejlesztő nélkül, gyorsan össze lehet rakni velük egy landinget vagy egy bemutatkozó oldalt. Az ár a kimenetben van: minden szekció köré több réteg wrapper-elem épül, így a DOM (az oldal HTML-fastruktúrája) hatalmasra hízik, és mellé betöltődik a builder saját CSS- és JavaScript-csomagja is, méghozzá olyan oldalakon is, ahol a funkcióinak a töredékét használod.
Egy terméklistán, ahol húsz-negyven termékkártya jelenik meg, ez a többletköltség kártyánként sokszorozódik. A PageSpeed jellemzően pontosan ezt jelzi vissza: túl nagy DOM-méret, render-blokkoló erőforrások, gyenge LCP (a fő tartalom megjelenési ideje). A builder tehát nem „rossz”, csak drága, és webshop-méretben ezt az árat betöltési időben a vásárlóid fizetik meg.
A tartós megoldás a sablonszintű kiváltás: a builder-oldalak átépítése karcsú, kézzel írt sablonokra. Ez nagyobb munka, mint bekapcsolni egy cache-plugint, de egyedül ez szünteti meg a gyökérokot. Én jellemzően egyedi ACF-sablonokkal csinálom.
4. Optimalizálatlan képek, hiányzó oldal-cache és CDN
Ez a legkevésbé izgalmas ok, mégis ezzel találkozom a leggyakrabban. A galériába feltöltött többmegabájtos termékfotók, a hiányzó WebP-formátum, a lazy loading (késleltetett képbetöltés) nélkül egyszerre betöltődő tucatnyi kép: klasszikus, jól mérhető lassítók, és viszonylag olcsón javíthatók.
- Képek: WebP (vagy AVIF) formátum, méretre szabott változatok, lazy loading a hajtás alatti képekre.
- Oldal-cache a nem bejelentkezett látogatóknak: a főoldal, a kategória- és termékoldalak kiszolgálhatók statikus HTML-ként, csak a kosár és a pénztár marad dinamikus.
- CDN (tartalomszóró hálózat) a statikus fájlokra: a képek, a CSS és a JavaScript a látogatóhoz földrajzilag közeli szerverről töltődik le.
A sorrend viszont fontos: a cache tünetet kezel, nem okot. Ha az első három pont bármelyike fennáll, a cache-plugin csak elfedi a bajt: az első, cache-elés nélküli kérés és minden bejelentkezett vásárló továbbra is a lassú oldalt kapja.
5. Elhízott adatbázis: wp_options, tranziensek, sessionök
A WordPress adatbázisa idővel szemetelődik, a WooCommerce pedig ezt fel is gyorsítja. A leggyakoribb gócpont a wp_options tábla autoload-mechanizmusa: az autoloadra állított sorokat a WordPress minden egyes kérésnél betölti a memóriába. Ez pár száz kilobájtig rendben van, de régi pluginok maradványaival és felduzzadt beállításokkal több tíz megabájtra is nőhet, és onnantól minden oldalletöltés ezt cipeli.
- Lejárt, de nem törölt tranziensek (átmeneti gyorsítótár-bejegyzések), amelyek autoloadként ragadnak bent.
- Felgyűlt WooCommerce-sessionök és Action Scheduler-naplóbejegyzések.
- Bejegyzés-revíziók ezrei, és a rég törölt pluginok árván hagyott táblái.
Ide tartozik a rendelések tárolása is: a régebbi WooCommerce a rendeléseket a wp_posts/wp_postmeta táblákban tartotta, ami nagy rendelésszámnál nagyon lassú lekérdezéseket szül. Az újabb verziók HPOS-a (High-Performance Order Storage, dedikált rendeléstáblák) ezt kezeli. Ha a shopod még a régi struktúrán fut, a migráció megérheti, de csak mérés és teljes mentés után.
András tippje
Az adatbázis-takarítás az a műfaj, ahol egy rossz mozdulat rendeléseket törölhet. Mielőtt bármilyen „optimalizáló plugint” engednél az éles adatbázisra: teljes mentés, és lehetőleg staging-környezetben próba. Nálam ez az üzemeltetés része: rendszeres, mentés melletti takarítás, nem évi egy nagy ijedtség.
Hogyan diagnosztizáld magad, és mikor kell szakember
A fenti öt ok nagy része két ingyenes eszközzel magadtól is beazonosítható. Az egyik a PageSpeed Insights: mindig a mobil nézetet nézd, mert a Google is azt súlyozza, és ott ütnek ki igazán a gondok. A másik a Query Monitor plugin: bejelentkezve, oldalanként megmutatja, hány lekérdezés fut, melyik plugin mennyi időt visz el, és pontosan mi a lassú.
| Tünet | Valószínű ok | Első ellenőrzés |
|---|---|---|
| Magas szerver-válaszidő (TTFB) minden oldalon | Tárhely vagy hiányzó object cache (1-2. ok) | Query Monitor: lekérdezések száma és ideje |
| Gyenge LCP, óriási DOM | Page builder téma (3. ok) | PageSpeed: DOM-méret, render-blokkolás |
| Nagy oldalméret, lassan betöltő képek | Optimalizálatlan assetek (4. ok) | PageSpeed: képformátum- és méretjavaslatok |
| Idővel egyre lassul, már az admin is döcög | Elhízott adatbázis (5. ok) | wp_options autoload-méret, tranziensek |
Szakemberre ott van szükség, ahol a beavatkozás már kockázatos: adatbázis-takarítás éles shopon, tárhely-migráció, builder-kiváltás, vagy amikor a mérés egy konkrét pluginra mutat, de az üzletileg nélkülözhetetlen, és okosabban kell kiváltani. Ha nem akarod ezt magad kibogozni, az ingyenes átvilágítás során pontosan ezeket a méréseket futtatom le a shopodon, és megmondom, melyik ok mennyit nyom nálad.
A lényeg egy mondatban: a lassú WooCommerce mögött szinte mindig ugyanaz az öt gyökérok áll: túltolt plugin-stack, gyenge tárhely object cache nélkül, drága page builder, optimalizálatlan assetek cache és CDN nélkül, valamint elhízott adatbázis. Mindegyik mérhető, mindegyik javítható, de egyik sem oldódik meg attól, hogy feltelepítesz még egy plugint a többi mellé.
Nézzük meg ingyen, hol lassul a webshopod.
Add meg az oldalad, és előzetes, prioritált listát kapsz a legfontosabb technikai problémákról, kötelezettség nélkül.
További cikkek
Miért kapsz nálam 2 perc alatt árajánlatot, amikor máshol napokig vársz rá?
Kitöltesz egy űrlapot, vársz napokat, aztán jön egy PDF „egyedi ajánlat” felirattal. Nálam 2 perc beszélgetés után tól-ig árat kapsz a publikus árlistámból. Elmesélem, hogyan lehetséges ez.
ElolvasomÁrakMennyibe kerül egy mobilapp 2026-ban? Valós árak, sávok és buktatók
A rangsoroló árcikkek 700 ezertől 10 millióig mondanak mindent. Itt valós sávokat kapsz 2026-ra: mitől ugrik az ár, mik a rejtett költségek, és mikor jobb app store helyett a webapp.
Elolvasom