How to speed up a slow Shopware 6 store (LCP/INP improvements)?
Quick Answer
Most slow Shopware 6 stores have the same three problems: uncached dynamic content, oversized frontend JavaScript, and overloaded plugin stacks. LCP usually drops because the first visible content loads too late. INP usually drops because the browser is busy running scripts after the page becomes visible. The fix is part server tuning, part frontend cleanup, and part extension discipline. Below is the process we use to improve real Core Web Vitals scores on production Shopware stores.
Before You Start
- ✦ Production access — you’ll need SSH, server metrics, and Shopware admin access to measure real bottlenecks.
- ✦ Performance baseline — record current Lighthouse and CrUX numbers before changing anything.
- ✦ Staging environment — some cache and theme optimisations can break carts or dynamic pricing if tested directly on live traffic.
Measure real bottlenecks
Start with Lighthouse, Chrome DevTools, and real-user metrics from Google Search Console. Don’t optimise blindly. LCP issues usually come from slow TTFB, oversized hero images, or render-blocking CSS. INP problems usually come from heavy plugins, sliders, third-party tracking scripts, or JavaScript hydration delays. Separate homepage, category, product, cart, and checkout testing because they often fail for different reasons.
- Run Lighthouse in mobile mode
- Measure uncached and cached pages separately
- Record TTFB, LCP element, CLS, and INP values
Fix server response time
If your TTFB is already above 800ms, frontend tweaks won’t save the store. Shopware 6 performs best with Redis, HTTP cache, OPcache, and proper queue workers enabled. Many slow stores still run on small VPS instances with overloaded MySQL containers and no cache warm-up strategy. That combination destroys LCP before the browser even receives HTML.
- Enable Redis for sessions and cache
- Use Shopware HTTP cache with proper invalidation
- Move search indexing and queue tasks off request cycles
Reduce frontend JavaScript
INP problems are usually frontend problems. We’ve seen stores loading five slider libraries, four tracking systems, and multiple chat widgets before users can even click Add to Cart. Shopware themes often inherit this mess over time. Remove anything that blocks the main thread or attaches large event listeners during initial page load.
- Delay third-party scripts until interaction
- Remove unused CMS sliders and animations
- Load reviews and recommendation widgets lazily
Optimise media delivery
Large hero banners are one of the biggest LCP killers in Shopware storefronts. The browser waits for those images before calculating visual completion. Most stores upload desktop-sized PNG banners directly into CMS blocks. That’s an easy way to push LCP above four seconds on mobile.
- Convert banners to WebP or AVIF
- Preload only the true LCP image
- Enable responsive image sizing in CMS blocks
Audit plugins and themes
Plugin overload is one of the biggest performance problems in Shopware projects. Many extensions inject storefront subscribers, database queries, Twig hooks, tracking scripts, and AJAX requests on every page. A slow plugin can destroy both LCP and INP even when the server itself is fine.
- Disable plugins one at a time during testing
- Replace overlapping extensions with native features
- Review custom Twig overrides and storefront subscribers
Retest with real traffic
Performance tuning is iterative. After deploying changes, retest pages under realistic conditions. Many stores look fast in synthetic Lighthouse tests but still fail under traffic spikes because cache invalidation, Elasticsearch, or external APIs behave differently in production. Watch CrUX data for at least two weeks before deciding the problem is solved.
- Retest mobile pages after deployment
- Monitor real-user metrics in Search Console
- Compare before-and-after conversion behaviour
Shopware Performance Checklist
0 of 8 completeMistakes Most Developers Make
! Ignoring third-party scripts
What happens: Analytics, chat, review, and tracking tools block interaction time even after pages visually load.
Fix: Delay non-essential scripts until user interaction or after initial rendering finishes.
! Overloading plugin stacks
What happens: Page generation slows down and frontend JavaScript becomes harder to control.
Fix: Replace duplicate plugin functionality with native Shopware features wherever possible.
! Testing only desktop performance
What happens: Mobile users still experience laggy interaction and poor conversion rates despite decent desktop scores.
Fix: Optimise for mid-range mobile devices first. That’s what Google measures most heavily.
! Skipping cache warm-up
What happens: First visitors after deployment hit uncached pages and experience slow load times.
Fix: Preload high-traffic pages after deployments and major catalog updates.
Key Takeaway
The short version: slow Shopware 6 stores are usually suffering from a mix of server delays, bloated frontend JavaScript, and too many extensions running at once. Focus on TTFB first, then remove anything blocking the browser’s main thread. LCP improvements mostly come from cache strategy and media optimisation. INP improvements mostly come from reducing JavaScript execution and delaying third-party tools. Start with Step 2—that one alone handles most of it.
Related Answers
Still need help?
Talk to our Shopware experts
We've handled GDPR/CCPA compliance for dozens of EU & US Shopware stores.