WooCommerce cart fragments er den mekanisme, som kan opdatere indholdet af en mini-cart uden at genindlæse siden. Når en kunde lægger en vare i kurven, kan WooCommerce hente et nyt HTML-fragment via AJAX og udskifte vareantal, subtotal eller kurvlisten i headeren. Det giver en responsiv shopoplevelse, især i temaer med en synlig mini-cart.
Hvorfor fragments kan koste hastighed
Funktionen indlæser JavaScript og kan sende et ekstra request, også når kunden blot besøger en artikel eller landingsside. På et travlt site bliver hvert dynamiske request behandlet af WordPress, PHP og ofte databasen, fordi det ikke kan serviceres på samme måde som en almindelig cachet HTML-side. Det kan hæve TTFB under belastning. JavaScriptet bidrager også til arbejde på hovedtråden og kan påvirke INP.
Problemet er ikke, at cart fragments findes. Problemet er en opsætning, der kører dem bredt uden et reelt behov, eller en mini-cart, der giver mange opdateringer. Caching skal desuden være korrekt: en kunde må aldrig få en anden kundes kurv vist.
WordPress- og WooCommerce-vinklen
Gennemgå først temaet. Nogle moderne temaer bruger egne mini-cart-løsninger eller WooCommerce Store API, mens andre fortsat er afhængige af det klassiske fragment-script. Fjern derfor ikke scriptet blindt. Test især tilføj-til-kurv, antal i headeren, variationer, kuponer, kurvsiden og checkout for både gæster og indloggede brugere.
- Undlad fragmenter på rent redaktionelle sider, hvis der ikke vises en funktionel mini-cart.
- Behold dem på produkt- og handelsflow, hvis temaets kurvvisning kræver opdateringer i realtid.
- Brug full page cache for anonyme, ikke-personaliserede sider, men ekskludér kurv, checkout og konto.
- Supplér med object cache for at gøre nødvendige dynamiske WooCommerce-kald billigere.
Sådan måler og retter du
Åbn DevTools Network på en forsideside og en produktside. Kig efter wc-ajax=get_refreshed_fragments, admin-ajax.php eller get_refreshed_fragments, og notér responsens tid, størrelse og hyppighed. Lav derefter en kontrolleret test, hvor fragments kun begrænses på udvalgte skabeloner. Sammenlign request-antallet, serverens svartid og brugerflowet.
Fjern ikke mekanismen alene for at forbedre en lab-score. En forkert eller forsinket kurv er dyrere end et lille ekstra request. Målet er, at kundekritiske opdateringer er korrekte, mens ikke-handelsrelaterede sider forbliver så lette og cachebare som muligt.
