Lovas Viktor

Megoldott problémák

Lassú a webshop? Megkeressük, mi lassítja.

Webshop- és weboldaltulajdonosoknak, akiknél lassan tölt be az oldal, vagy gyenge a Google PageSpeed-eredmény. Mérésekkel megkeressük az okot, és azt javítjuk, ami tényleg lassít.

Lassú oldalnál elsőre a nagyobb szerver tűnik megoldásnak. A munkáinkban ritkán ez volt a gond. Egy burkolatanyag-webshopban a kedvencek kezelése minden látogatónál végigolvasott egy több százezer soros táblát. Egy adatbázis-indexszel a lekérdezés kb. 200 ms-ról kb. 1 ms-ra gyorsult. Ugyanott két oldalelem miatt egyetlen oldal sem került gyorsítótárba, ezért a vendégek is lassú oldalt kaptak.

Gyakori ok a folyamatosan hízó adattábla is. A sokféle szűrőkombináció vagy a keresési oldalak gyorsítótára addig nő, amíg lassulást és tárhelyhiányt okoz. Ilyenkor ütemezett takarítás segít. A lassú kategória- és keresőoldalaknál a keresőindexből olvasott listák, a Solr keresőmotor vagy a memóriaalapú gyorsítótár hozott változást.

Ha a PageSpeed-mérés gyenge, főleg mobilon, többnyire a képek, a betűtípusok és a felesleges szkriptek a gond. Ezekre WebP-képek, képernyőmérethez igazított méretek, késleltetett betöltés és oldaltípusonkénti kritikus CSS a válasz. A beágyazott YouTube-videó helyett elég egy előnézeti kép, a lejátszó kattintásra töltődik be. Ha a tárhely a szűk keresztmetszet, azt is megmondjuk.

Amit először megnézünk

  1. A lassú oldalak adatbázis-lekérdezéseit: hiányzik-e egy index, olvas-e végig feleslegesen egy nagy táblát.
  2. A gyorsítótárat: bekerülnek-e az oldalak, és ha nem, melyik oldalelem akadályozza.
  3. A folyamatosan növő táblákat, például a keresési és szűrési gyorsítótárat, és hogy kell-e rájuk ütemezett takarítás.
  4. A kategória-, kereső- és nyitóoldalakat: honnan jönnek a listák adatai, és segítene-e keresőmotor vagy memóriaalapú gyorsítótár.
  5. A Google PageSpeed jelzéseit mobilon: képek mérete és formátuma, betűtípusok, külső szkriptek, betöltés közbeni ugrálás.
  6. A szerver naplóit, hogy a lassulás mikor és milyen forgalomnál jelentkezik.

Ár és idő

Mekkora munka?

Egy célzott gyorsítás, például egy hiányzó index, egy gyorsítótár-hiba javítása vagy a képek átállítása WebP-re, jellemzően a kicsi sávba esik, sokszor annál is kevesebb idő. Ha a keresést kell más alapra tenni, vagy a teljes oldalon végig kell menni a PageSpeed-jelzéseken, az inkább közepes munka. Az ingyenes konzultáción átbeszéljük a tüneteket, és megmondjuk, mit érdemes először mérni.

Fejlesztés: 20 000 Ft + áfa / óra. Az első konzultáció ingyenes. Árak és méretsávok

Valós példák

Ilyet már megoldottunk

Minden példa valós, a saját projektjeinkből, ügyfélnév nélkül.

Burkolatanyag-webshop

Gyorsabb és pontosabb termékkeresés Solr keresőmotorral

Helyzet: A termékkereső és a szűrők lassan reagáltak, és a találatok sem voltak mindig pontosak.

Megoldás: A keresést adatbázis helyett Apache Solr keresőmotorra állítottuk át, amely szórészletekre is talál. A sebesség érdekében az árszűrő fix ársávokkal működik.

Drupal 9Search API SolrApache Solr

Burkolatanyag-webshop

Kedvencek lekérdezése 200 ms helyett 1 ms alatt

Helyzet: Az oldal lassú volt, mert a kedvencek kezelése minden látogatónál egy több százezer soros táblát olvasott végig.

Megoldás: Adatbázis-indexszel a lekérdezést kb. 200 ms-ról kb. 1 ms-ra gyorsítottuk, és rendszeresen töröljük a 30 napnál régebbi vendégjelöléseket, elsőre 754 ezer sort. A fejlécben lévő kedvencszámláló egyetlen egyszerű lekérdezéssel működik.

Drupal 11PHPMySQL

Sofőrállás-portál

Gyorsabb mobilos betöltés éles képekkel

Helyzet: Az oldal a sok banner és kép miatt mobilon lassan töltődött, de a képeknek élesnek kellett maradniuk.

Megoldás: A képeket WebP formátumra és eszközmérethez igazított változatokra állítottuk, késleltetett betöltéssel. Helyi betűtípust vezettünk be, és kikapcsoltuk a nem használt külső szkriptet.

Drupal 9

Szerszám-webáruház

Gyors kategóriamenü sok ezer kategóriához

Helyzet: A sok ezer kategóriát tartalmazó menü lassan töltött be, és hibásan jelenítette meg az üres kategóriákat.

Megoldás: Saját kategóriamenüt építettünk a keresőindexre támaszkodva, utólagos betöltéssel és gyorsítótárazással. Kategória mentésekor a menü automatikusan frissül.

Drupal 9Drupal CommerceSearch APIJavaScript

Szerszám-webáruház

Gyorsabb képbetöltés WebP-vel és reszponzív képekkel

Helyzet: Az oldal a sok kép miatt lassan töltött be, és a Google PageSpeed is rossz értéket adott.

Megoldás: WebP formátumot és képernyőmérethez igazított képeket vezettünk be a listákban és a termékoldalon, a képek csak görgetéskor töltődnek be. Méretet adtunk a képeknek, hogy a tartalom ne ugráljon betöltés közben.

Drupal 9Drupal Commerce

Szerszám-webáruház

Gyorsabb első megjelenés oldaltípusonkénti kritikus CSS-sel

Helyzet: A Core Web Vitals értékek javításához az oldalak első megjelenését gyorsítani kellett.

Megoldás: Oldaltípusonként (főoldal, termék, kategória, keresés, blog) automatikusan előállítjuk a megjelenéshez elengedhetetlen stílusokat, és ezeket közvetlenül az oldalba ágyazzuk.

Drupal 9Drupal CommerceGulp

Szerszám-webáruház

Lassú kategória- és keresési oldalak felgyorsítása

Helyzet: A kategória- és keresési oldalak lassan töltöttek be, ami a vásárlói élményt és a keresőhelyezést is rontotta.

Megoldás: Memcache-t és finomabb gyorsítótárazást vezettünk be, a szűrőket utólag töltjük be, a találatokat pedig előre elkészített formában tároljuk a keresőindexben.

Drupal 9Drupal CommerceSearch APIMemcache

Szerszám-webáruház

Felesleges szkriptek és stílusok kigyomlálása a jobb PageSpeedért

Helyzet: Az oldal lassan töltött be, a Google PageSpeed gyenge eredményt mutatott.

Megoldás: Eltávolítottuk a nem használt JavaScript-, stílus-, ikon- és animációs csomagokat. A képváltót csak a nyitóoldalon töltjük be, a betűtípusokat saját szerverről szolgáljuk ki, a képek pedig görgetéskor töltődnek be.

Drupal 9Drupal Commerce

Utazási webshop

Gyorsabb főoldal, ugrálás nélküli diavetítés

Helyzet: A Google PageSpeed gyenge értéket mutatott, a főoldali diavetítés lassan töltött be és betöltés közben ugrált.

Megoldás: Képernyőmérethez igazodó képeket vezettünk be a diavetítésben, az első képet előre töltjük, a többit csak szükség esetén. Megszüntettük a betöltéskori ugrálást.

Drupal 8Twig

Utazási webshop

Gyorsabb első megjelenés kritikus CSS-sel

Helyzet: Az oldalak első megjelenése lassú volt, a PageSpeed pontszám gyenge.

Megoldás: Oldaltípusonként kritikus CSS-t generálunk, így az oldal látható része gyorsabban jelenik meg.

Drupal 9PHPCSS

Nyomtatvány-webshop

Gyorsabb oldalbetöltés, jobb PageSpeed-eredmény

Helyzet: Az oldal lassan töltött be, és gyenge eredményt ért el a Google PageSpeed mérésén.

Megoldás: Bevezettük a kritikus CSS előtöltését és a fájlok összevonását, finomhangoltuk a gyorsítótárat, optimalizáltuk a képeket késleltetett betöltéssel, és a mérés jelzései alapján javítottuk a kontrasztot.

Drupal 9Critical CSSAdvAgg

Fogászati termékek webshopja

Gyorsabb webshop mobilon a PageSpeed eredmények alapján

Helyzet: A Google PageSpeed gyenge eredményt mutatott, főleg mobilon.

Megoldás: Bevezettük a képtömörítést, a WebP formátumot és a késleltetett képbetöltést, tömörítettük és összevontuk a CSS- és JS-fájlokat. A betűtípusokat helyben szolgáljuk ki, és a kezdőlapi diavetítést mobilra optimalizáltuk.

Drupal 9Drupal Commerce

Mind a 24 kapcsolódó feladat a Munkáink oldalon →

Kérdések és válaszok

Amit ezzel kapcsolatban kérdezni szoktak

Nem elég, ha nagyobb tárhelyre vagy szerverre költözünk?

Néha elég, és ha a mérés ezt mutatja, megmondjuk. A munkáinkban azonban a lassulást többnyire egy rossz lekérdezés, egy hízó tábla vagy egy rosszul működő gyorsítótár okozta. Ezeken a nagyobb szerver csak ideig-óráig segít.

Mennyivel lesz jobb a PageSpeed-pontszám?

Előre nem ígérünk számot, mert az a kiinduló állapottól függ. Azt viszont pontosan látod, melyik jelzésen mit javítottunk: képméret, betűtípus, kritikus CSS, felesleges szkriptek. A pontszám csak mérőszám, az számít, hogy a vásárló hamar lássa a tartalmat.

Pár hónap múlva nem lesz megint lassú?

Ahol egy folyamatosan növő tábla okozta a gondot, ott ütemezett takarítást építünk, ami magától fut. Egy új modul vagy funkció viszont hozhat új lassulást. Ha mi üzemeltetjük az oldalt, ezt a frissítéseknél figyeljük.

Csak Drupal-oldallal foglalkoztok?

A gyorsítási munkáink nagy része Drupal és Drupal Commerce alapú oldalakon készült, ott ismerjük a tipikus szűk pontokat. Más rendszernél a konzultáción megbeszéljük, tudunk-e érdemben segíteni.

Nézzük meg a te esetedet

Egy óra, telefonon, videón vagy személyesen, ingyen. A végén megmondom, mit javaslok, és körülbelül mibe kerülne, akkor is, ha az a válasz, hogy nincs szükséged ránk.