svi članci
Shopware 6·22. април 2026.·2 min čitanja

Shopware 6 performance: 7 koraka do brže prodavnice

Praktičan vodič za optimizaciju Shopware 6 prodavnica — od caching strategije do Core Web Vitals.

Brzina prodavnice direktno utiče na konverziju. Google to zna, korisnici to znaju, a od 2024. i Shopware-ov sopstveni storefront benchmark to formalno meri. U ovom tekstu prolazimo kroz konkretne korake koji su nam pomogli da na realnim klijent setupima dobijemo Largest Contentful Paint ispod 1.8s i Total Blocking Time ispod 100ms.

1. Profilisanje pre optimizacije

Pre nego što išta promenite, pokrenite Lighthouse i PageSpeed Insights na najmanje tri tipa stranica:

  • početna,
  • listing kategorije,
  • detalj proizvoda.

Bez baseline-a ne znate šta optimizujete. U bin/console Shopware nudi i debug:container, bundle:dump i messenger:stats komande — koristite ih.

2. HTTP cache i reverse proxy

Shopware 6 dolazi sa Symfony HTTP cache-om, ali ga uvek treba zameniti pravim reverse proxy-jem u produkciji. Naš stack:

  • Varnish ispred PHP-FPM-a,
  • Redis za session i cache backend,
  • Cloudflare kao edge cache za statiku.

Razlika između default cache-a i Varnish setup-a kod jednog klijenta sa 40k proizvoda: TTFB sa 480ms na 90ms.

3. Database tuning

Tipične bolne tačke:

  • Indeksi na product_translation, product_category i product_visibility.
  • innodb_buffer_pool_size postavljen na 60–70% raspoloživog RAM-a.
  • Sporo loggovanje upita iznad 100ms uključeno trajno — ne samo dok debugujete.

Posebnu pažnju treba obratiti na indexer queue. Ako koristite admin za masovne izmene, prebacite indexere na --queue mod i konzumirajte preko Symfony Messenger-a.

4. Frontend: lean Twig + lazy loading

Shopware-ov standardni storefront je dobar, ali u 90% slučajeva želite custom theme koji:

  • ukida Bootstrap komponente koje ne koristite,
  • lazy-loaduje slike sa loading="lazy" i decoding="async",
  • koristi picture sa srcset i moderne formate (AVIF/WebP).

Za interaktivne komponente — ne učitavajte ceo jQuery samo za slider. Vanilla JS ili Stimulus controler + IntersectionObserver rešavaju 95% potreba.

5. CDN i media

Postavite CDN ispred media/ foldera. Shopware podržava remote URL preko shopware.cdn.url parametra. Naša pravila:

  1. Originali se uvek čuvaju u object storage-u (S3 / B2 / Cloudflare R2).
  2. Thumbnail varijante se generišu pri uploadu, ne pri prvom zahtevu.
  3. Cache TTL na CDN-u — 365 dana za media/, sa hash-om u imenu fajla.

6. Pluginovi: revizija i izolacija

Pravilo broja jedan: pluginovi su najveći single uzrok sporog Shopwarea.

Prolazite kroz svaki plugin i postavljajte sebi tri pitanja:

  1. Koristim li ga zaista u produkciji?
  2. Da li proširuje critical request flow (cart, checkout, listing)?
  3. Da li ima svoj cache pool i koristi li event subscriber umesto decoration svuda?

Često iznesemo 30% performansi samo brisanjem 4–5 nepotrebnih plugin-a.

7. Core Web Vitals: CLS, INP, LCP

Od marta 2024. INP zamenjuje FID. Za Shopware to znači:

  • smanjenje JS work-a na main thread-u,
  • rezervacija prostora za sve dinamičke komponente (banner, slider, cart preview),
  • prefetching kategorija u headeru kada se hover-uje.

Zaključak

Performanse Shopware 6 prodavnice su inženjerski problem, ne šablon koji se kupuje. Pravilan pristup uključuje merenja, infrastrukturu, frontend i disciplinu oko plugin-a.

Ako vam se Shopware uspori sa rastom kataloga ili saobraćaja, pošaljite nam upit — radimo audit i u 80% slučajeva rešavamo problem bez prepisivanja sistema.

#shopware-6#performance#ecommerce#core-web-vitals

Imate kompleksan softverski izazov?

Specijalizovani smo za projekte koje druge agencije odbijaju. Pošaljite specifikaciju — odgovaramo u roku od 24h.