Utgangspunkt
Butikken hadde en kjent WooCommerce-form: fungerende katalog, en checkout som ikke kunne ødelegges, flere markedsskript, et tema med år med overrides, og røde mobile Core Web Vitals på viktige maler.
Forretningsrisikoen var konkret. Enhver optimalisering som berørte handlekurv, betaling, lager, skatt eller sesjon måtte gå via staging, måling og rollback.
Diagnose
Første steg var å skille malfamilier: forside, kategori, produkt, handlekurv, checkout og innholdssider. Hver familie hadde ulike ytelsesgrenser, så én samlet score ville skjult flaskehalsene.
De største kostnadene summerte seg: tredjepartsskript for tidlig, ubrukt CSS, bilde-sizing-drift, cache-misser på sider som trygt kunne caches, og ucachet wc-ajax=get_refreshed_fragments ved hvert sidelast som under last oversvømte PHP-FPM-poolen.
Arkitekturvalg
Prosjektet startet ikke med omskriving. Første beslutning var å beskytte checkout-korrekthet, deretter flytte bare trygge flater mot sterkere caching og lettere rendering.
Cloudflare håndterte edge-regler, cache-grenser, redirects, botfiltrering og observabilitet. WordPress og WooCommerce forble kommersiell sannhetskilde. Frontend-endringer ble scoped per malfamilie, ikke som generisk tema-opprydding.
Leveransemodell
Arbeidet gikk i korte batcher: baseline, skriptrevisjon, bilde- og layoutfikser, cache-policy, checkout-isolasjon, staging-validering, produksjonsutrulling, deretter måling etter lansering.
Hver batch hadde en rollback-sti. Det betyr mer enn en dramatisk lansering når omsetningen går gjennom samme checkout som optimaliseres.
Resultatbånd
Måling 30 dager etter utrulling i den konfidensielle EU-B2B-butikken: LCP 5,4s til 1,8s (-66%), checkout-TTFB 2,1s til 0,4s (-80%), main-thread-blokkering 1 200ms til 180ms (-85%), cart-to-checkout-abandonment 42% til 34% (-19%).
Den gjenbrukbare lærdommen: ytelsesgjenoppretting i WooCommerce handler mindre om perfekt score og mer om riktig grense mellom cachebare kommersielle sider og live transaksjonsflyter.