# Shopware 6

Diese Anleitung beschreibt die Integration von smoxy mit Shopware 6. Sie setzt voraus, dass du eine aktuelle Version von Shopware 6 verwendest — bei sehr alten Versionen können nicht alle Funktionen vollständig unterstützt werden.

{% hint style="info" %}
**Voraussetzungen:** Schließe zuerst die [Erste Schritte](https://docs.smoxy.eu/erste-schritte)-Anleitung ab. Die Domain deines Shops muss über smoxy geroutet werden.
{% endhint %}

***

### Cache-Tagging (Surrogate Keys)

Shopware 6 unterstützt Surrogate Keys für effiziente Cache-Invalidierung. Wenn richtig konfiguriert, teilt Shopware smoxy genau mit, welche gecachten Seiten gelöscht werden müssen, wenn sich Inhalte ändern — anstatt den gesamten Cache zu flushen.

#### Reverse-Proxy-Modus aktivieren

Bearbeite `config/packages/storefront.yaml` (Shopware 6.6.0+) oder `config/packages/shopware.yaml`:

```yaml
shopware:
    http_cache:
        reverse_proxy:
            enabled: true
            hosts: ["https://smoxy:<token>@example.com"]
            use_varnish_xkey: true
```

Ersetze `example.com` durch deine tatsächliche Shop-Domain und `<token>` durch das Cache-Token aus der Grundkonfiguration deiner Site.

> **Hinweis:** Der Konfigurationsschlüssel hat sich von `storefront.reverse_proxy` (bis Shopware 6.5.x) zu `shopware.http_cache.reverse_proxy` (ab Shopware 6.6.0) geändert. Passe deine Konfiguration beim Upgrade entsprechend an.

> **Cloudflare-Nutzer:** Wenn du Cloudflare verwendest, musst du eine separate Subdomain für die Cache-Invalidierung einrichten. Siehe Cloudflare Setup.

#### Cache-Hit-Rate optimieren

Reduziere die Cache-Tag-Fragmentierung, indem du Per-Item-Tags für Config, Snippets und Themes deaktivierst:

```yaml
shopware:
    cache:
        tagging:
            each_config: false
            each_snippet: false
            each_theme_config: false
```

Das reduziert die Anzahl der Tags pro Seite, was zu weniger unnötigen Cache-Invalidierungen und einer höheren Cache-Hit-Rate führt.

***

### Mehrere Sales Channels

Wenn deine Shopware-6-Installation mehrere Sales Channels mit verschiedenen Domains verwendet (z. B. länderspezifische Shops), musst du nur **eine Domain** in der Reverse-Proxy-`hosts`-Einstellung konfigurieren. Shopware weiß selbst, welche Caches für welchen Sales Channel geleert werden müssen, und übermittelt diese Information automatisch an smoxy.

**Wichtig:** Alle Sales Channels derselben Shopware-Installation müssen dieselbe smoxy-Site verwenden.
