Shopware Troubleshooting: Common Issues and Fixes | OpsBlu Docs

Shopware Troubleshooting: Common Issues and Fixes

Troubleshoot common Shopware 6 issues including performance problems and tracking failures.

Common issues you may encounter with your Shopware 6 store and how to diagnose and fix them.

Performance Issues

Shopware store performance directly impacts conversion rates and SEO. Core Web Vitals are critical metrics that affect both user experience and search rankings.

Largest Contentful Paint (LCP)

LCP measures loading performance. Shopware-specific LCP issues include:

  • Symfony application overhead and server response time
  • Unoptimized hero images and product images
  • Third-party plugins adding render-blocking scripts
  • Theme JavaScript and CSS blocking render
  • Database queries and cache configuration
  • CDN configuration and asset delivery

Target: LCP under 2.5 seconds

Cumulative Layout Shift (CLS)

CLS measures visual stability. Shopware-specific CLS issues include:

  • Product images without explicit dimensions
  • Dynamic content from plugins shifting layouts
  • Font loading causing layout shifts
  • Off-canvas cart and navigation animations
  • Lazy-loaded content without proper placeholders
  • CMS blocks with dynamic heights

Target: CLS under 0.1

General Performance Best Practices

Theme Selection:

  • Use modern, optimized themes built on Shopware 6
  • Avoid heavily customized themes without performance testing
  • Regularly update theme to latest version
  • Test theme performance before purchase

Plugin Management:

  • Audit installed plugins quarterly
  • Remove unused plugins completely (don't just deactivate)
  • Check plugin performance impact before installation
  • Consolidate plugin functionality where possible
  • Use Shopware profiler to identify slow plugins

Server & Hosting:

  • Use PHP 8.1+ for better performance
  • Enable OPcache and configure properly
  • Use MySQL 8.0+ or MariaDB 10.5+
  • Consider dedicated hosting or managed Shopware hosting
  • Configure Redis or similar for caching
  • Enable HTTP/2 or HTTP/3

Cache Configuration:

  • Enable HTTP cache in production
  • Configure cache warming
  • Use reverse proxy (Varnish) for high traffic
  • Set appropriate cache TTLs
  • Clear cache strategically (not after every change)

Database Optimization:

  • Regularly optimize database tables
  • Use proper indexes
  • Archive old order data
  • Monitor slow queries
  • Consider read replicas for high traffic

Asset Optimization:

  • Enable theme compilation in production
  • Minify JavaScript and CSS
  • Use WebP images with fallbacks
  • Implement lazy loading for images
  • Optimize SVG files
  • Use Shopware's built-in image optimization

For general performance concepts, see the global performance hub.

Tracking & Analytics Issues

Events Not Firing

Common causes of tracking failures on Shopware:

  • JavaScript errors from theme or plugins
  • Cache preventing updated tracking code from loading
  • Incorrect configuration in tracking code
  • Cookie consent blocking tracking scripts
  • Data layer not populating correctly
  • Plugin conflicts

Common scenarios:

  • GA4 events missing from specific pages
  • Meta Pixel not tracking AddToCart
  • GTM container not loading
  • Purchase events firing multiple times
  • Events firing in preview but not production

Tracking Best Practices

Consolidate Tracking:

  • Use GTM as single source for all tags
  • Remove redundant tracking implementations
  • Document all tracking implementations
  • Use version control for tracking code

Test Thoroughly:

  • Test in staging environment first
  • Use browser extensions (GTM debugger, GA debugger, Meta Pixel Helper)
  • Test in incognito/private browsing
  • Test across different browsers
  • Test on mobile devices
  • Verify in platform analytics (GA4, Meta Events Manager)

Monitor Continuously:

  • Set up alerts for tracking failures
  • Review data quality weekly
  • Monitor conversion tracking accuracy
  • Check for unusual traffic patterns
  • Validate data against order reports

For general tracking concepts, see the global tracking hub.

Common Shopware-Specific Issues

Problem: Changes not appearing on storefront or tracking not working.

Diagnosis:

# Check cache status
bin/console cache:pool:list

# View cache statistics
bin/console cache:pool:stats

Solution:

# Clear all caches
bin/console cache:clear

# Warm up cache
bin/console cache:warmup

# Clear HTTP cache
bin/console http:cache:clear

# Recompile theme
bin/console theme:compile

# Complete cache clear
bin/console cache:clear && bin/console theme:compile && bin/console cache:warmup

Prevention:

  • Don't clear cache unnecessarily in production
  • Use cache warming after clearing
  • Configure cache tags properly
  • Use development mode during testing

Plugin Conflicts

Problem: Plugin causes errors, crashes, or conflicts with other plugins.

Diagnosis:

  1. Check Shopware error logs: var/log/
  2. Check browser console for JavaScript errors
  3. Enable debug mode to see detailed errors:
    APP_ENV=dev bin/console cache:clear
    
  4. Deactivate plugins one by one to identify culprit

Common Conflicts:

  • Multiple tracking plugins interfering
  • Theme incompatibilities
  • Plugin requiring specific Shopware version
  • Database migration failures

Solution:

  • Update all plugins to latest compatible versions
  • Contact plugin developer for support
  • Check plugin compatibility matrix
  • Use alternative plugins
  • Report bugs to plugin developer

Theme Customizations Lost on Update

Problem: Theme updates overwrite custom code.

Prevention:

  • Use theme inheritance instead of direct edits
  • Create child theme for customizations
  • Use Twig block overrides
  • Document all customizations
  • Use version control (Git)
  • Test updates on staging first

Recovery:

  • Check if Shopware keeps backup of old theme
  • Restore from Git if using version control
  • Re-implement customizations from documentation
  • Consider creating proper child theme

Slow Backend Performance

Problem: Shopware Administration loads slowly.

Common Causes:

  • Large product catalog (50k+ products)
  • Many installed plugins
  • Inefficient custom admin extensions
  • Database not optimized
  • Server resources insufficient

Solutions:

# Optimize database
bin/console dal:refresh:index

# Rebuild search index
bin/console es:index

# Clear doctrine cache
bin/console doctrine:cache:clear-metadata
bin/console doctrine:cache:clear-query
bin/console doctrine:cache:clear-result

Long-term Fixes:

  • Upgrade server resources (RAM, CPU)
  • Optimize database indexes
  • Archive old data
  • Use Elasticsearch for better search performance
  • Limit loaded data in admin grids

Data Layer Issues

Problem: GTM data layer is empty or has incorrect values.

Causes:

  • Cache preventing updated code from loading
  • Twig variables not available in context
  • JavaScript errors preventing data layer pushes
  • Incorrect variable names or paths

Debug:

// Check data layer in browser console
console.table(window.dataLayer);

// Monitor data layer pushes
(function() {
    const originalPush = Array.prototype.push;
    window.dataLayer = window.dataLayer || [];
    window.dataLayer.push = function() {
        console.log('dataLayer.push:', arguments[0]);
        return originalPush.apply(this, arguments);
    };
})();

Solutions:

  • Clear cache and recompile theme
  • Verify Twig variables exist with {% if variable is defined %}
  • Add fallback values: \{\{ variable|default('') \}\}
  • Check JavaScript console for errors
  • Use GTM Preview mode to debug

Multi-Sales Channel Tracking

Problem: Tracking IDs mixing between sales channels.

Solutions:

{# Conditional tracking per sales channel #}
{% if context.salesChannel.id == 'channel-id-1' %}
    {% set gaId = 'G-XXXXXXXXX1' %}
    {% set gtmId = 'GTM-AAAAAAA' %}
{% elseif context.salesChannel.id == 'channel-id-2' %}
    {% set gaId = 'G-XXXXXXXXX2' %}
    {% set gtmId = 'GTM-BBBBBBB' %}
{% endif %}
  • Use separate GTM containers per channel
  • Configure cross-domain tracking if needed
  • Test each sales channel independently

Debugging Tools

Shopware-Specific Tools

Shopware Profiler:

# Enable profiler
APP_ENV=dev

# Access profiler toolbar at bottom of page
# Shows database queries, cache hits, performance metrics

Shopware CLI:

# System information
bin/console system:info

# Check requirements
bin/console system:check-requirements

# View configuration
bin/console debug:config

# List plugins
bin/console plugin:list

# View events
bin/console debug:event-dispatcher

Database Console:

# Access database console
bin/console dbal:run-sql "SELECT * FROM product LIMIT 10"

# Check migrations
bin/console database:migrate --dry-run

# Check database status
bin/console database:status

Browser Developer Tools

Chrome DevTools (F12):

  • Console: Check for JavaScript errors
  • Network: Verify tracking requests sent
  • Application: Check localStorage, cookies, session data
  • Performance: Record page load, analyze bottlenecks
  • Lighthouse: Run performance audits

Performance Testing Tools

Analytics Debugging Tools

Browser Extensions:

Platform Tools:

  • GA4 DebugView
  • Meta Events Manager Test Events
  • GTM Preview Mode
  • Google Tag Assistant

Getting Help

Shopware Support Channels

Shopware Documentation:

Shopware Community:

Shopware Slack:

Shopware Support:

  • Commercial support for Enterprise customers
  • Partner support channels
  • Bug tracker for core issues

When to Hire a Developer

Consider hiring a Shopware developer when:

  • Complex custom functionality needed
  • Multiple persistent errors you can't resolve
  • Theme requires significant customization
  • Performance issues persist despite optimizations
  • Migration from another platform
  • Plugin development needed
  • Advanced server configuration required

Find Shopware Partners:

Next Steps

Performance Issues:

Tracking Issues:

Prevention:

  • Document your setup and customizations
  • Test in staging before deploying to production
  • Monitor performance and tracking regularly
  • Keep Shopware core, themes, and plugins updated
  • Regular database maintenance
  • Implement proper caching strategy

Emergency Troubleshooting

Site is Down

  1. Check server status - Is server running?
  2. Check error logs - var/log/
  3. Check .env file - Database credentials correct?
  4. Check database - Is database accessible?
  5. Clear cache - bin/console cache:clear
  6. Check disk space - df -h
  7. Check PHP version - Compatible with Shopware version?

Cannot Access Admin

  1. Clear browser cache and cookies
  2. Try different browser
  3. Check admin URL - /admin by default
  4. Reset admin password:
    bin/console user:change-password admin
    
  5. Check admin user exists:
    bin/console user:list
    
  6. Create new admin user:
    bin/console user:create
    

Payment Issues

  1. Check payment plugin is active
  2. Verify API credentials
  3. Check payment plugin logs
  4. Test in sandbox/test mode first
  5. Contact payment provider support

For urgent production issues, contact your hosting provider or Shopware partner immediately.