Blog ... old fashioned

Deadlock-free product indexing in Shopware 6 with a dedicated messenger transport

Running multiple Shopware message workers during indexing causes deadlocks on the product table. This guide explains why, walks through the pitfalls of Symfony Messenger routing, and shows how to configure a dedicated indexer transport consumed by a single worker.

Shopware 6.7 cache tags: how to migrate your plugins to the new HTTP cache system

Symfony Profiler showing cache tags collected by the SwagCacheTagExample plugin in Shopware 6.7

Shopware 6.7 moved caching from the Store-API route layer to the HTTP layer. The old CacheTagsEvent events are deprecated. This guide covers what changed, how to add and invalidate cache tags the new way, how to handle dynamic content via AJAX, and what pitfalls to avoid.

2025: What a year as an engineering lead

2025: What a year as an engineering lead

A year of challenges, mistakes, and growth. From leading a new framework team formed from four different teams, to people leaving, to finding our identity through an on-site workshop. This is my story of 2025 as an engineering lead at shopware AG, including the hard-learned lessons about team building, roadmap ownership, and what really matters in engineering leadership.

Deep dive into Shopware SEO URLs — how they work, how to configure them, and how to avoid growth issues

A practical, code-referenced and slightly opinionated guide to Shopware’s SEO URL system. We walk through Admin configuration, the internals (Twig placeholders, generation, persistence), and common pitfalls at scale — with pragmatic fixes.

Categories: Shopware 6

Performance Workflow and Optimization Techniques for Composable Frontends with Nuxt and Vue

This article covers more than just common performance issues you might encounter during a project’s lifecycle. It also describes a workflow that can make your life easier for future projects by building performance optimization into your development process from day one.

Unofficial API aware guidelines for Shopware 6

Unofficial API aware guidelines for Shopware 6

This is a collection of insights and things we've seen during plugin reviews, app reviews and projects for Shopware 6. We hope this is helpful for anyone who wants to make their app, plugin or project headless-ready and API aware. Many thanks to the awesome Maciek Kucmus who did all the hard work to put this together. I only revised and extended some parts. Also feel free to comment or ping me if we forgot something or you want to add more important points to this checklist.

Categories: Shopware 6

LightningCSS - How to Transform a DashedIdent value?

LightningCSS - How to Transform a DashedIdent value?

Sometimes I have very stupid ideas. People usually laugh at first, but I've learned that there's truth in every stupid idea. So, my latest dumb idea was to turn CSS into CSS! Sounds great, I know. If you're working with Bootstrap 5 and want to use CSS variables to change the color of some buttons, for example, you'll find that Bootstrap can only handle this in some parts of its components. They are working on fully supporting this with Bootstrap 6, but they also rely on SCSS in their components, and if they were to change it now, those would be breaking changes. The sad thing is that there is currently no date for when Bootstrap 6 will be released.

Categories: CSS