Atpakaļ uz blogu
·veiktspējacore-web-vitalsoptimizācija

Magento ātrdarbība un Core Web Vitals — praktisks ceļvedis

Magento ātrdarbība un Core Web Vitals — praktisks ceļvedis

Magento ātrdarbība un Core Web Vitals — praktisks ceļvedis

Veikala ātrums tieši ietekmē pārdošanas apjomu. Google dati rāda, ka 53% mobilo ierīču lietotāju pamet lapu, ja tā ielādējas ilgāk par 3 sekundēm. Turklāt kopš 2021. gada Core Web Vitals ir ranžēšanas faktors Google meklētājā — lēns veikals ne tikai zaudē klientus, bet arī organisko trafiku.

Magento ir jaudīga platforma, taču bez pareizas optimizācijas tā var būt lēna. Šajā rakstā apskatīsim konkrētus soļus, kā uzlabot Magento veiktspēju un sasniegt labus Core Web Vitals rādītājus.

Core Web Vitals — kas tie ir

Google Core Web Vitals ir trīs metrikas, kas mēra reālu lietotāju pieredzi:

Largest Contentful Paint (LCP)

LCP mēra, cik ātri ielādējas lapas galvenais saturs. Mērķis: zem 2,5 sekundēm. Magento veikaliem LCP parasti nosaka galvenais produkta attēls vai kategorijas banneris.

Interaction to Next Paint (INP)

INP (kas aizstāja FID) mēra, cik ātri lapa reaģē uz lietotāja darbībām — klikšķiem, tapu, tastatūras ievadi. Mērķis: zem 200 milisekundēm. Magento veikalos problēmas bieži rada smags JavaScript — trešo pušu skripti, sarežģīti filtri vai neoptimizēti pielāgotie moduļi.

Cumulative Layout Shift (CLS)

CLS mēra vizuālo stabilitāti — cik daudz lapas elementi pārvietojas ielādes laikā. Mērķis: zem 0,1. Tipiski CLS pārkāpēji Magento veikalos ir attēli bez noteiktiem izmēriem, vēlīni ielādēti fonti un dinamiski ievietots saturs.

Backend optimizācija

Varnish kešatmiņa

Varnish ir pilnas lapas kešatmiņa (full page cache), kas ir Magento veiktspējas stūrakmens. Pareizi konfigurēts Varnish apkalpo lielāko daļu pieprasījumu bez PHP izpildes, samazinot atbildes laiku no sekundēm līdz milisekundēm.

Galvenie konfigurācijas punkti:

  • TTL (Time To Live) — cik ilgi saturs tiek kešots. Produktu un kategoriju lapām ieteicams vismaz 86400 sekundes (24 stundas).
  • Cache invalidation — Magento automātiski invalidē kešu, kad mainās produktu dati. Pārliecinieties, ka šis mehānisms darbojas korekti.
  • ESI (Edge Side Includes) — ļauj kešot lapas daļēji, piemēram, kešojot visu lapu, bet atstājot grozu dinamisku.
  • Health checks — konfigurējiet Varnish veselības pārbaudes, lai tas automātiski pārslēdzas uz tiešo backend, ja PHP kļūst nepieejams.

Redis kešatmiņa

Redis ir atmiņā bāzēta datu glabātuve, ko Magento izmanto diviem mērķiem:

Sesiju glabāšana — Redis ir ātrāks un drošāks nekā failu sistēma vai datu bāze sesiju glabāšanai. Konfigurējiet atsevišķu Redis instanci sesijām.

Objektu kešatmiņa — Magento konfigurācija, izkārtojumu dati un citi objekti. Izmantojiet atsevišķu Redis instanci ar pietiekamu atmiņu.

Svarīgi: konfigurējiet Redis maxmemory-policyvolatile-lru, lai Redis automātiski dzēstu vecākos ierakstus, kad atmiņa ir pilna.

Datu bāzes optimizācija

MySQL/MariaDB optimizācija var dramatiski uzlabot Magento veiktspēju:

  • Indeksu analīze — izmantojiet EXPLAIN vaicājumiem, lai identificētu trūkstošus indeksus. Magento pamata indeksi parasti ir korekti, bet pielāgotie moduļi bieži pievieno neindeksētus vaicājumus.
  • Lēno vaicājumu žurnāls — ieslēdziet slow query log ar slieksni 1 sekunde. Regulāri analizējiet un optimizējiet identificētos vaicājumus.
  • Tabulu uzturēšana — regulāri izpildiet OPTIMIZE TABLE lielākajām tabulām, īpaši catalog_product_entity, sales_order un customer_entity.
  • Konfigurācija — pielāgojiet innodb_buffer_pool_size (ieteicams 70-80% no pieejamās RAM), query_cache_type (izslēgts MySQL 8.0+), innodb_log_file_size.

PHP optimizācija

  • OPcache — obligāts. Konfigurējiet pietiekami lielu opcache.memory_consumption (vismaz 256 MB) un ieslēdziet opcache.validate_timestamps=0 produkcijā.
  • PHP-FPM — pielāgojiet pm.max_children atbilstoši pieejamajiem servera resursiem. Pārāk maz — pieprasījumi gaida rindā; pārāk daudz — serveris aizrijas.
  • PHP versija — vienmēr izmantojiet jaunāko Magento atbalstīto PHP versiju. PHP 8.3 ir ievērojami ātrāks nekā 8.1.

Frontend optimizācija

Attēlu optimizācija

Attēli parasti veido 60-80% no lapas svara. Optimizācija:

  • WebP formāts — nodrošina 25-35% mazāku failu izmēru nekā JPEG pie salīdzināmas kvalitātes. Magento 2.4+ atbalsta WebP konvertēšanu.
  • Lazy loading — attēli ārpus sākotnējā skata netiek ielādēti līdz lietotājs ritina. Magento to daļēji atbalsta, bet pārliecinieties, ka galvenais LCP attēls netiek lazy-loaded.
  • Izmēru norādīšana — vienmēr norādiet width un height atribūtus attēliem, lai novērstu CLS.
  • CDN — izmantojiet CDN attēlu un statisku failu izsniegšanai. Tas samazina latentumu lietotājiem, kas atrodas tālu no servera.

JavaScript optimizācija

JavaScript ir galvenais INP metrikas ietekmētājs:

  • Trešo pušu skriptu audits — katrs analytics, čata, reklāmas skripts palēnina lapu. Regulāri pārskatiet un noņemiet nevajadzīgos. Apsveriet skriptu ielādi ar defer vai async.
  • RequireJS bundling — Magento 2 izmanto RequireJS, kas pēc noklusējuma ielādē daudzus mazus failus. Konfigurējiet JavaScript bundlingu, lai samazinātu HTTP pieprasījumu skaitu.
  • Critical CSS — ielādējiet kritiski svarīgo CSS inline, bet pārējo — asinhroni. Tas dramatiski uzlabo LCP.

Fontu optimizācija

Fonti var izraisīt gan LCP pasliktināšanos, gan CLS:

  • Izmantojiet font-display: swap vai font-display: optional
  • Priekšielādējiet kritiskos fontus ar <link rel="preload">
  • Apsveriet sistēmas fontu izmantošanu, ja tas iespējams

Mērīšana un monitorings

Optimizācija bez mērīšanas ir minējums. Izmantojiet šos rīkus:

Lauka dati (Field Data)

  • Google Search Console — Core Web Vitals atskaite parāda reālu lietotāju pieredzi
  • Chrome User Experience Report (CrUX) — publisks datu kopums ar reālu lietotāju metriku

Laboratorijas dati (Lab Data)

  • Lighthouse — Chrome DevTools iebūvēts rīks veiktspējas mērīšanai
  • WebPageTest — detalizēta ielādes analīze ar ūdenskrituma diagrammām
  • GTmetrix — vienkāršs rīks ar vēsturisku datu izsekošanu

Svarīgi: laboratorijas dati un lauka dati var atšķirties. Vienmēr prioritizējiet lauka datus, jo tie atspoguļo reālu lietotāju pieredzi.

Tipiskās kļūdas

Pārāk daudz trešo pušu moduļu

Katrs modulis pievieno kodu, kas jāizpilda. Mēs regulāri redzam veikalus ar 50+ trešo pušu moduļiem, no kuriem trešdaļa praktiski netiek izmantota. Mazāk ir vairāk.

Kešatmiņas ignorēšana

Daži izstrādātāji izslēdz kešatmiņu izstrādes laikā un aizmirst to ieslēgt produkcijā. Vai arī pielāgots kods apiet kešatmiņu, padarot konkrētas lapas lēnas.

Neoptimizēti attēli

Augšupielādēt 4000px platu attēlu, ko rāda 400px platumā — tas ir resursu izšķērdēšana un lietotāju pieredzes pasliktināšana.

Kopsavilkums

Magento ātrdarbības optimizācija ir nepārtraukts process, nevis vienreizējs projekts. Sāciet ar mērīšanu, identificējiet lielākās vājās vietas un risiniet tās prioritārā secībā. Koncentrējieties vispirms uz backend kešošanu (Varnish + Redis), tad uz attēlu optimizāciju un JavaScript samazināšanu.

Labi Core Web Vitals rādītāji nav tikai SEO priekšrocība — tie nozīmē ātrāku, patīkamāku iepirkšanās pieredzi jūsu klientiem, kas tieši pārvēršas augstākā konversijā un lielākos ieņēmumos.