Quantcast
Channel: Shopware Agentur | Great2Gether
Viewing all 157 articles
Browse latest View live

Neue Artikel bei Shopware 6 (Kategorie & Produktslider)

$
0
0

Eine beliebte Funktion bei Shopware 6 war es sowohl im Slider als auch als Kategorie neue Produkte auszugeben. Hier soll gezeigt werden, wie wir das auch bei Shopware 6 umsetzen können.

Übersicht:


1. Die einfachste Lösung: Das Plugin

Ja es gibt ein simples kleines Plugin, was es erlaubt die neusten Artikel sowie in einem Produkt-Slider als auch als Listing auszugeben. Es kostet nicht die Welt und ist für viele wahrscheinlich eine verlockende Option. Das Plugin nennt sich „Neuheiten | Neue Artikel automatisch auflisten“ und ist für relativ erschwingliche 79.- im Shopware Store zu haben.

Erste Funktion: Neue Artikel können in einem Produkt-Slider angezeigt werden. Hierbei kann man es so einbinden, wie man es von Shopware 5 kennt und mehrere Produkt Boxen nebeneinander positionieren oder aber einen Produkt-Slider mit Bildern einbinden.

Zweite Funktion: Mit dem Plugin läßt sich eine Kategorie anlegen, in der nur die neusten Artikel als normales Produkt-Listing ausgegeben werden.

Hier gelangt ihr zu dem Plugin Neuheiten | Neue Artikel automatisch auflisten:
https://store.shopware.com/sysea67519878931/neuheiten-neue-artikel-automatisch-auflisten.html

Shopware 6 - Neue Artikel Plugin

Shopware 6 – Neue Artikel Plugin


2. Custom Rules mit dem Rule Builder

Grundsätzlich lassen sich viele Komplexe Dinge mit dem Ruile Builder abbilden. Diese variante empfiehlt sich für diejenigen, die so viel wie möglich mit Bordmitteln und so wenig wie möglich mit zusätzlichen Plugins arbeiten wollen.

Wer etwas Ahnung von PHP Code hat, dem sollen diese beiden Links an die Hand gelegt werden:

Add custom rules [Shopware Docs]
https://developer.shopware.com/docs/guides/plugins/plugins/framework/rule/add-custom-rules

Data Abstraction Layer [Shopware Docs]
https://developer.shopware.com/docs/concepts/framework/data-abstraction-layer

Wer mehr über den Rule-Builder erfahren möchte, kann sich hier einlesen und ein Video sehen:
https://docs.shopware.com/de/shopware-6-de/einstellungen/regeln

Shopware 6 - Rule Builder

Shopware 6 – Rule Builder


3. Dynamische Produktgruppe

Eine weitere Möglichkeit sind die dynamischen Produktgruppen. Hierfür muss man a) kein Geld ausgeben und b) nicht viel programmieren können. Dafür ist die Funktion aber auch leider noch nicht perfekt. Was kann man aber nun machen? Man kann eine Produktgruppe anlegen, in der man festlegen kann, dass nur die Produkte angezeigt werden sollen, die nach dem Datum X angelegt wurden. Das heißt im Umkehrschluss, dass hier nach der Zeit auch immer ältere Produkte angezeigt werden. Gibt man zum Beispiel das Datum 23.03.2023 ein und ändert es bis 2025 nicht werden einem hier eben Artikel angezeigt, sie seit einem Jahr im Shop sind. Je nachdem wie viele neue Produkte man eingibt, sollte man dann also regelmäßig von Zeit zu Zeit das Datum anpassen. Eine Möglichkeit wäre das erste Mal nach 2 Monaten das Datum einen Monat nach hinten zu setzen. Und danach dann eben monatlich. So bekommt man immer die neusten Artikel der letzen 30 bis 60 Tage angezeigt. Semi-optimal – aber definitiv eine Option.

Laut einem Beitrag im Forum ist aber auf der Roadmap von Shopware 6 auch bereits die Funktion geplant, dass man die neusten Artikel der letzen 30 Tage anzeigen kann. Das würde heißen, dass man es nach dem Set it and forget it Prinzip einmalig einrichten kann und dann nichts mehr daran ändern muss. Ein weiterer spannender Tipp aus dem Forum war bei der dynamischen Produktgruppe auch noch gleich 2 zusätzliche Regeln zu hinterlegen. Die Artikel die ausgegeben werden sollten a) aktiv sein und b) sollte der Lagerbestand größer / gleich 1 sein.


4. Anlegen der Dynamischen Produktgruppe Neue Artikel

Als Erstes gehen wir in den Bereich Kataloge > Dynamische Produktgruppen. Dort legen wir eine neue Gruppe an und legen folgende Regeln fest:

Erste Regel: Erscheinungsdatum > größer als > z. B. das Datum vor einem Monat (Optional könnte man auch das Erstellungsdatum nehmen)

UND

Zweite Regel: Aktiv > Ja

UND

Dritte Regel: Lagerbestand > Größer/gleich > 1

Alles in allem würden unsere Einstellungen also folgendermaßen aussehen:

Dynamische Produktgruppe

Dynamische Produktgruppe

Ob das ganze dann auch funktioniert hat, können wir übrigens vorab schon mit dem Vorschau Button probieren. Werden hier keine Produkte angezeigt, muss entweder das Damit geändert werden, neue Artikel eingetragen werden oder evtl. die Einstellung von Erscheinungsdatum auf Erstellungsdatum gesetzt werden.

Dynamische Produktgruppe - Vorschau

Dynamische Produktgruppe – Vorschau


5. Neue Artikel Kategorie anlegen und Dynamische Produktgruppe zuordnen

Nachdem wir die Gruppe angelegt haben, können wir sie anschließend einer Kategorie zuordnen. Hierfür gehen wir in den Bereich Kataloge und wählen dort – sofern sie zuvor schon angelegt wurde – die Kategorie neu aus. Andernfalls holen wir das jetzt nach und legen die Kategorie neu noch schnell an. Ist, das erledigt geht es in den Reiter Produkte wo wir nun in der Box Produkt-Zuweisung im ersten Feld dynamische Produktgruppe auswählen und in dem Feld darunter dann unsere zuvor ausgewählte Produktgruppe auswählen. Dann speichern wir noch einmal ab und schon werden uns in der Kategorie alle Artikel angezeigt: Die nach dem festgelegten Datum erschienen sind, aktiv sind und der Lagerbestand größer/gleich 1 ist.

Kategorie mit dynamischer Produktgruppe - Neue Artikel

Kategorie mit dynamischer Produktgruppe – Neue Artikel

Wie man sieht, bekommt man hier auch gleich eine Live-Vorschau der Artikel, die der Kategorie zugeordnet sind und kann sich nun sicher sein, dass diese Artikel auch im Frontend ausgegeben werden. Jetzt muss man sich nur noch eine monatliche Erinnerung im Handy einrichten, dass man denn das Datum regelmäßig anpasst.

Die Produkte werden trotzdem nicht angezeigt? Dann hast du den Cache noch nicht gelöscht. Gehe hierfür in den Bereich Einstellungen > Caches & Indizes und klicke dort einmal auf den Caches leeren Button. Spätestens jetzt sollten dir die Artikel angezeigt werden.


6. Produktslider mit neuen Artikeln

Die Zuordnung im Produktslider läuft eigentlich beinahe identisch wie bei den Kategorien. Zunächst einmal binden wir ein Produktslider Element in unserer Erlebniswelt ein. Im Feld Produkt-Zuweisung wählen wir wieder Dynamische Produktgruppe und im Feld darunter bestimmen wir, welche Gruppe für die Zuweisung der Artikel in den Produktslider verantwortlich sein soll. In unserem Fall also wieder Neu. Was definitiv auch noch Sinn macht ist unten links im Feld Sortierung Erstellungsdatum absteigend anzugeben, so dass immer der neuste Artikel an erster Stelle steht. Auch die Anzahl der angezeigten Artikel auf 10 oder 15 zu begrenzen ist auch keine schlechte Idee.

So sieht es aus:

Produktslider mit dynamischer Produktgruppe

Produktslider mit dynamischer Produktgruppe

Ein kleiner Nachteil ist, dass einem bei jedem Artikel – sowie in der Kategorie- als auch der Produktslider-Ansicht – ein Badge mit der Lagerbestand angezeigt wird. Das wird nicht jeder haben wollen, daher sollte man evtl. noch deaktivieren. Dies ist übrigens nur der Fall, wenn man eines der ThemeWare Themes nutzt.

Lager Badges bei ThemeWare

Lager Badges bei ThemeWare

Zum Deaktivieren geht es in den Theme Einstellungen in den Bereich Inhalt und dann sieht man auch schon die Einstellung zu den Lagerbestand-Badges relativ weit oben. Optional kann man auch die Schwelle des Lagerbestand anpassen und von 10 auf 3 oder 2 verringern. Bei Artikeln mit Varianten würde ich aber grundsätzlich davon abraten, da ja jede Variate, wie zum Beispiel jede Hut-Größe, ihren eigenen Lagerbestand hat.


7. Weiterführende Links

Dynamische Produktgruppen [Shopware Docs]:
https://docs.shopware.com/de/shopware-6-de/Kataloge/DynamischeProduktgruppen

Beitrag: Dynamische Produktgruppe für neu eingestellte Artikel [Shopware Forum]:
https://forum.shopware.com/t/dynamische-produktgruppe-fuer-neu-eingestellte-artikel-sw6/88462

Beitrag: Dynamische Produktgruppe – alle neuen Artikel, also neu der letzten 30 Tage [Shopware Forum]:
https://forum.shopware.com/t/dynamische-produktgruppe-alle-neuen-artikel-also-neu-der-letzten-30-tage/86500

Beitrag: Rule Builder “Neue Artikel” und “Reduzierte Artikel” [Shopware Forum]:
https://forum.shopware.com/t/rule-builder-neue-artikel-und-reduzierte-artikel/90586

“Fehlende” Funktionen in Shopware 6 Frontend | Slider, Boxen, “Newcomer” und “neuste Artikel” [Shopware Forum]:
https://forum.shopware.com/t/fehlende-funktionen-in-shopware-6-frontend-slider-boxen-newcomer-und-neuste-artikel/87486

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Der Beitrag Neue Artikel bei Shopware 6 (Kategorie & Produktslider) erschien zuerst auf Shopware Agentur | Great2Gether.


Variantenartikel bei Shopware 6

$
0
0

Probleme bei Variantenartikel in Shopware 6:

Übersicht:


1. Vorausgewählte Varianten im Listing

In den Kategorien werden vorausgewählte Varianten angezeigt. Bei Shopware 5 wurden die Eltern-Artikel angezeigt. Heißt konkret: Wenn es einen Artikel gibt, der einfach nur Weißes T-Shirt genannt wurde, wird in der Liste der Name Weißes T-Shirt-M angezeigt. Das möchte eigentlich niemand in der Liste sehen.

Lösung: Wer nur dieses Problem alleine lösen möchte, kommt noch recht günstig davon. Hierfür gibt es im Shopware Store das Plugin: Vaterartikel im Listing. Für faire 34,90 kommt man hier recht günstig ans Ziel. Es gibt Beschwerden in den Bewertungen, aber der Support reagiert und löst Probleme.

Variantenartikel bei Shopware 6 - Vaterartikel im Listing

Variantenartikel bei Shopware 6 – Vaterartikel im Listing

Shopware 6 Plugin – Vaterartikel im Listing
https://store.shopware.com/mega669179849259/vaterartikel-im-listing.html


2. Vorausgewählte Varianten auf Produkt-Detailseiten

Kommt man auf eine Artikeldetailseite, ist grundsätzlich IMMER schon eine bestimmte Variante vorausgewählt. Genau wie im Listing. Auch das ist vollkommen sinnfrei und wurde ebenfalls bei Shopware 5 weit besser gelöst.

Die gute Nachricht vorab. Auch hierfür gibt es ein Plugin, dass diese Schieflage begradigt. Diesmal kostet es aber einiges mehr, nämlich 495.- als Kauf oder 49.- / monatlich als Mietversion. Hierfür kann man sich dann aber auch die Kosten, die das andere Plugin sparen, da die Ansicht auch im Listing korrigiert wird.

Variantenartikel bei Shopware 6 - Keine Varianten Vorauswahl

Variantenartikel bei Shopware 6 – Keine Varianten Vorauswahl

Shopware 6 Plugin – Keine Varianten Vorauswahl
https://store.shopware.com/emcgn20252324495/keine-varianten-vorauswahl.html
https://www.e-nitio.com/blog/technik/shopware-plugin-keine-vorauswahl.html


3. Multiple Canonical Tags / Duplicate Content

Im Standard erhält jede Variante also einen eigenen Titel, und einen eigenen Link. Wenn man eine andere Variante auswählt, dann lädt nicht nur die Seite neu – nein es wird auch eine eigene URL aufgerufen. Shopify und auch Shopware 5 lösen das beide um einiges besser. Bei Shopify wird beispielsweise weder die Seite neu geladen, noch eine URL für die Varianten generiert. Das spart Ladezeit und ist auch besser für gute Suchmaschinen Positionierung.

Jede einzelne Variante hat also eine eigene URL. Und auch eine eigene Canonical URL. Das ist aus SEO Hinsicht gelinde gesagt katastrophal. Es sei denn man hat, was in der Regel nicht der Fall ist, bei jeder Variante einen anderen Text eingebunden.

Hierfür gibt es eine Lösung für 89,99 € im Store.

Shopware 6 Plugin –

Variantenartikel bei Shopware 6 - SEO URL-Manager

Variantenartikel bei Shopware 6 – SEO URL-Manager

Shopware 6 Plugin – SEO URL-Manager
https://store.shopware.com/atl7563489453634/seo-url-manager.html

Es gibt auch ein kostenloses Plugin.

Seo Canonical URL Plugin:
https://github.com/elgentos/shopware-seo-canonical-url

Optional: Haupt-Variante auswählen für Canonical Tag:

Um den Duplicate Content zu vermeiden, kann man in den SEO Einstellungen des Artikels eine Variante bestimmen, auf die der Canonical Link aller anderen Varianten verweist. Dies ist jedoch etwas kritisch, beispielsweise nach der Migration eines Sops mit tausenden Artikeln. Denn man muss hierfür bei jedem Artikel einzeln diese Einstellung vornehmen.

Hierfür gibt es die Einstellung Verwende dieselbe Canonical-URL für alle Varianten. Darunter wird einem dann, nach Aktivierung der Funktion, ein Drop-Down-Feld mit den zur Verfügung stehenden Artikel-Varianten angezeigt.

Das ist aber meiner Meinung nach semi-optimal – denn Google hat nun den Eindruck, dass es sich bei allen Artikeln, laut URL, um eine bestimmte Variante des Artikels handelt.


4. Varianten im Artikel-Namen

Was mitunter – in unserem Fall nach einer Migration aus Magento 1 – passieren kann ist, dass im Produkt-Namen auch die Variante mit angezeigt wird. Dieser wird dann sowohl im Listing, als auch auf den Produkt-Detailseiten ausgegeben. Das sieht nicht gut aus, und sollte daher behoben werden.


5. Varianten anlegen (Video)

Für alle, die noch nie einen Varianten-Artikel angelegt haben ist hier ein kurzes Video von Shopware wo einem die Basics gezeigt werden:


6. Link-Struktur


Im Bereich Einstellungen > SEO > SEO Url Templates empfehlen wir bei den Produktdetails:
{{ product.translated.name|lower }}/{{ product.productNumber }}

Wo wir schonmal in der Ecke sind könnte man auch das Trailing Slash bei den Kategorien entfernen:

Vorher:
{% for part in category.seoBreadcrumb %}{{ part }}/{% endfor %}

Nachher:
{% for part in category.seoBreadcrumb %}{{ part|lower}}{% if not loop.last %}/{% endif %}{% endfor %}

In Kombination mit dem Canonical Links Plugin funktioniert es ganz gut, ein Produkt Link wird in dem Fall in etwa so aussehen:

https://hut-styler.de/Hut-Styler-Long-Beanie-dunkelblau/HSASLBENAV


7. Weiterführende Links

Foren Beitrag – Varianten-Artikel nutzbar machen
https://forum.shopware.com/t/varianten-artikel-nutzbar-machen/85762/4

Es wird unter anderem erklärt, wie man statt dem Warenkorb Button den Details Button einbinden kann. Das kann interessant sein, wenn man „normale“ und Variantenartikel im Shop hat. Einfacher kann man es globa einstellen im Bereich: Backend > Einstellungen > Shop > Produkte > „Kaufen Buttons in Produktlistings anzeigen“ indem man die Funktion deaktiviert.

Foren Beitrag – Produkt mit Varianten, Detailseite: keine Vorauswahl, sondern “bitte wählen”
https://forum.shopware.com/t/produkt-mit-varianten-detailseite-keine-vorauswahl-sondern-bitte-waehlen/89664/16

Foren Beitrag – Varianten Vorauswahl im Listing
https://forum.shopware.com/t/varianten-vorauswahl/63660/32

Foren Beitrag – Produkt-Varianten OHNE unterschiedliche URL
https://forum.shopware.com/t/produkt-varianten-ohne-unterschiedliche-url/68639/10

Shopware 6 Plugin – Bessere Varianten (Hauptprodukt im Listing)
https://store.shopware.com/mkx1706591384375/bessere-varianten-hauptprodukt-im-listing.html

Foren Beitrag – Meta Title werden nicht übernommen:
https://forum.shopware.com/t/haendisch-gepflegte-meta-title-werden-nicht-uebernommen/85948

Plugin – SEO Professional
https://store.shopware.com/dreis43878114545/seo-professional.html

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Video – Variantenartikel bei Shopware 6 anlegen:

Der Beitrag Variantenartikel bei Shopware 6 erschien zuerst auf Shopware Agentur | Great2Gether.

Shopware 6 Produktfeed für Facebook

$
0
0

Wer einen Shopware 6 Shop betreibt, kann diesen über einen Produktfeed an Google, Facebook und weitere Portale anbinden. Hier soll einmal gezeigt werden, wie wir ohne zusätzliche Plugins, also ausschließlich mit Shopware 6 Bordmitteln einen Produktfeed für Facebook erstellen. Diesen. Können wir dann auch gleichzeitig für Instagram verwenden.

Übersicht:

1. Vorausgewählte Varianten im Listing

Einen Feed kennt man wahrscheinlich am ehesten vom guten alten RSS Feed. Damit kann man zum Beispiel Beiträge eines Blogs abonnieren, ohne dass man sich zu einem Newsletter oder ähnlichem anmelden muss. Mit einem Produktfeed aus Shopware hingegen kann man alle oder bestimmte Produkte aus seinem Shop auf Social Media Portalen oder Online Marktplätzen präsentieren. Sendet man einen passenden Feed an Marktplätze, werden die Artikel dort gelistet und ebenso zum Verkauf angeboten. In der Regel erstellt man den Feed für Marktplätze mit einem Tool wie magnalister.

Erstellt man nun aber einen Feed für Facebook, dann werden die Produkte (noch) nicht direkt über Facebook oder Instagram kaufbar. Es werden lediglich die Produktdaten übertragen und angezeigt. Die Artikel werden jedoch direkt mit dem Pendant im Shopware Shop verlinkt und bringen so mehr oder weniger qualifizierten Traffic von Nutzern auf den Shop.

2. Was kann man mit dem Facebook Feed machen?

Unseren Feed können wir grundsätzlich dafür nutzen, auf unserer Facebook Unternehmensseite einen Shop zu erstellen. Dieser Shop dient dann quasi als erweitertes Schaufenster unsere Shopware Shops – der Kauf findet schlussendlich immer noch in unserem Shopware Store statt. In den USA ist es aber mittlerweile auch schon möglich, den Kauf direkt über Facebook abzuschließen, so dass der Kunde in seinem vertrauten Terrain agiert. Wann die Funktion für den europäischen Markt zur Verfügung stehen wird, ist noch unklar.

Eine weitere Option ist über unseren Produktfeed Artikel aus unserem Shopware 6 Shop als Werbeanzeigen im Shopware Netzwerk zu schalten. Hierbei müssen wir zusätzliche Regeln beachten, wie dass Artikel, die im Facebook Newsfeed beworben werden sollen, ausschließlich quadratische Bilder haben dürfen. Wir wollen hier zunächst einmal auf das Erstellen eines Facebook Shops eingehen.

So könnte dein facebook Shop aussehen, diesen hier findest du unter: https://www.facebook.com/hutstyler/shop

Facebook Feed - Facebook Shop

Facebook Feed – Facebook Shop

3. Pflichtinformationen des Facebook Feeds

Um einen korrekten Feed zu erstellen sind einige Informationen Pflicht, andernfalls wird der Feed von Facebook abgelehnt. Folgende Informationen gehören zum Pflichtprogramm:

• ID
• Title
• Description
• Stock/ Availability
• Price
• Link to product
• Brand name
• Images link

ID: Das ist die Produktnummer, diese wird bei jedem Produkt automatisch vergeben
Title: Das ist der Artikelname. Produkte ohne Namen werden abgelehnt oder führen zu Fehlern im Feed.
Description: Kurze BEschreibung des Artikels max 5000 Zeichen .
Stock/ Availability: Der Lagerbestand sollte aktuell gehalten werden, da man hiernach auf Facebook filtern kann.
Price: Jedes Produkt muss einen Preis haben. Auch hier kommt es andernfalls zu Fehlern.
Link to product: Bei Varianten-Artikeln empfehlen wir mit Canonical Links zu arbeiten.
Brand name: Der Hersteller-Name darf nicht fehlen
Images link: Jeder Artikel sollte mindestens über 1 Foto verfügen

A propos facebook ads. Wir empfehlen grundsätzlich durchgehend quadratische Bilder zu nutzen. Nur wenn quadratische Bilder verwendet werden können Anzeigen im Facebook
News Feed angezeigt werden. Andernfalls muss auf dieses beliebte Format verzichtet werden.

Sollen Dynamic Ads verwendet werden darf das hier nicht fehlen:

• condition

Bei Hotels und Reisen gibt es gesonderte Felder. Hier empfehlen wir den Link von Hutter Consult (s.u.) zu besuchen, damit wir hier den Rahmen nicht sprengen.

4. Dynamische Produktgruppe anlegen

Um unseren Feed mit Produkten zu füttern, müssen wir zunächst eine dynamische Produktgruppe anlegen. Hierfür geht es in den Bereich Kataloge > Dynamische Produktgruppe.

Facebook Feed - Dynamische Produktgruppen

Facebook Feed – Dynamische Produktgruppen

Der Name ist in diesem Falls nicht Facebook Feed oder Facebook Export, sondern Google Export. Das liegt daran, dass man grundsätzlich für bei Feeds die gleiche Produktgruppe verwenden kann. Natürlich kann man den Feed auch nennen wie man will. Was fällt noch auf? Es wurden Kopien der Gruppe angelegt in der weniger Artikel drin sind. Das kann Sinn machen, wenn der Feed mit vielen oder allen Artikeln Fehler erzeugt. Das war in diesem Shop der Fall, daher wurde zunächst getestet was passiert, wenn nur die Gutschein gelistet werden.

Schauen wir uns nun die finalen Einstellungen an:

Facebook Feed - Dynamische Produktgruppe

Facebook Feed – Dynamische Produktgruppe

Name: Trage hier einen passenden Namen ein. Insbesondere wenn du viele Gruppen hast, oder planst zu haben.

Beschreibung: Kann nie schaden. Auch gut für den Kunden, wenn du es als Agentur oder Freelancer einrichtest.

Bedingungen: Es werden ausschließlich Produkte aus der Kategorie Hut Styler eingebunden. Diese ist die oberste Kategorie in unserem Shop. Hiervon werden ausschließlich die aktiven Artikel berücksichtigt. Zusätzlich wird geprüft, ob auch der Hersteller Hut-Styler ist. Als letzte Bedingung wird die Kategorie Gutscheine ausgeschlossen.

So kann sich also jeder frei nach Belieben und je nach Anforderung seinen Produktgruppe konfigurieren. Anschließend können wir die Gruppe speichern und uns unten über den gleichnamigen Button eine Vorschau der Artikel-Liste anzeigen lassen.

Facebook Feed - Produktgruppe Vorschau

Facebook Feed – Produktgruppe Vorschau

Hier sehen wir, dass wir 681 Artikel in der Gruppe haben. Im Feed werden jedoch nur knapp 100 angezeigt werden, da in der Vorschau auch jede Variante der Hüte einzeln gelistet wird. Außerdem sehen wir, dass viele Artikel einen Lagerbestand von 0 haben.

5. Produktvergleich Verkaufskanal anlegen

Im nächsten Schritt muss ein neuer Produktvergleich Verkaufskanal angelegt werden. In diesen importieren wir dann die Produkte aus der zuvor angelegten dynamischen Produktgruppe. Wenn wir hier alles konfiguriert haben erhalten wir auch das erste Mal unseren Produktfeed samt dazugehöriger URL.

Wer ganz neu im Thema ist sollte sich unbedingt in den Shopware Docs zum Theme Produktvergleich einlesen:
https://docs.shopware.com/de/shopware-6-de/Produktvergleich

Die ersten Schritte sind sehr einfach:

Wir klicken auf das + Zeichen neben der Verkaufskanäle Übersicht in der Sidebar.

Facebook Feed - Verkaufskanal anlegen

Facebook Feed – Verkaufskanal anlegen

Dann klicken wir beim Punkt Produktvergleich auf Verkaufskanal anlegen.

5.1 Allgemein Reiter

Im ersten Reiter Allgemein haben wir 6 Bereiche in die wir in unserem Beispiel folgenden Inhalte eingetragen haben:

a) Grundeinstellungen
– Template: Google Shopping XML (wird aber später angepasst)
– Name: Facebook Katalog
Es gibt leider keine Vorlage Facebook XML daher wählen wir Google Shopping und passen dann später im Reiter Template an.

b) Zahlung und Versand
– Steuerberechnung: Spaltenweise (vertikale Berechnung)

c) Storefront Verkaufskanal
– Storefront Verkaufskanal: Hut Styler
– Storefront Domain: https://hut-styler.de
– Währung: Euro
– Sprache: Deutsch
– Kindengruppe: General
Sprache und Kundengruppe waren vorausgewählt.

d) Produktexport
– Dateiname: facebook.xml
– Zeichenkodierung: UTF-8
– Dateiformat: XML
– Varianten als eigene Produkte exportieren: deaktiviert
– Generierungsintervall: 1 Tag
– Per Scheduler generieren: aktiviert
– Dynamische Produktgruppe: Google Produktexport
Ganzen unten wählen wir die Gruppe aus, diw wir zuvor angelegt haben. Das Dateiformat muss XML sein, die Kodierung UTF-8. Wichtig: Falls Per Scheduler generieren aktiviert wird sind weitere Einstellungen notwendig. mehr dazu weiter unten.

e) API-Zugang
– Zugangsschlüssel: Wird generiert
– Export-URL: Wird generiert

f) Status:
Aktiv: aktiviert

5.2 Theme Reiter

Bei Verkaufskanälen vom Typ Produktvergleich ist der Theme Reiter immer ausgegraut und kann nicht bearbeitet werden. Also nicht wundern.

5.3 Template Reiter

Hier gibt es 3 Bereiche. 2 davon bearbeiten wir ein wenig (Kopfzeile & Produktzeile) und den letzten (Fußzeile) ignorieren wir wie Gespräche über das Wetter.

a) Kopfzeile

Wir tauschen den Inhalt aus gegen diese 12 Zeilen Code:

See the Pen
Facebook Feed Kopfzeile
by Atilla Boz (@great2gether)
on CodePen.

Das einzige was hier angepasst werden müsste ist die URL zum Shop Logo.

b) Produktzeile

So wird es im Hut-Styler Feed genutzt:

See the Pen
Facebook Feed Kopfzeile
by Atilla Boz (@great2gether)
on CodePen.

Was muss angepasst werden:
173
Die Kategorie der Produkte kann hier recherchiert werden: https://productcategory.net/ – 173 steht für Hüte.

in stock
In diesem Beispiel wird davon ausgegangen, dass die Artikel immer auf Lager sind. Soll der genaue Lagerbestand ausgelesen werden verwenden wir stattdessen folgende Variable: {{ product.availableStock }}

Hut-Styler
Sofern alle Produkte vom gleichen Hersteller sind kann hier der Name ausgetauscht werden. Sofern es mehrere Hersteller sind kann die Variable gesetzt werden. Das wäre dann: {{ product.manufacturer.translated.name }}

Folgende Dinge haben wir nach dem Upload in facebook ergänzt, weil es empfohlen wurde. Es funktioniert grundsätzlich auch ohne diese Zeilen, laut Facebook hilft es aber die Reichweite zu erhöhen und die richtigen Nutzer zu erreichen.

Altergruppen:
all ages

Größe des Artikels:
{% for properties in product.properties %}
{% if properties.group.name == "Größe" %}
{{ properties.name }}
{% endif %}
{% endfor %}

Farbe des Artikels:
{% for properties in product.properties %}
{% if properties.group.name == "Farbe" %}
{{ properties.name }}
{% endif %}
{% endfor %}

Geschlecht:
{% for properties in product.properties %}
{% if properties.group.name == "Geschlecht" %}
{{ properties.name }}
{% endif %}
{% endfor %}

Auch die Verwendung zusätzlicher Bilder ist Geschmacksache. Wer darauf verzichten will, kann diese Zeilen hier weglassen:


{% for img in product.media.elements %}
{{ img.media.url }},
{% endfor %}

Auch die Zuordnung der Produktkategorien ist nicht verpflichtend, wird von Facebook aber dringend empfohlen.

Profi-Tipp: Im Fehler mit Produkten ohne Bilder zu vermeiden empfiehlt es sich die Zeile für die Bild-URL anzupassen. Somit werden Artikel ohne Cover-Bild beim Export des Feeds übersprungen.

{% if product.cover.media.url is defined and product.cover.media.url is not null %}
{{ product.cover.media.url }}
{% endif %}

Wenn wir speichern kann es teilweise zu einer Fehleranzeige wie dieser kommen:
„Beim Speichern der Pixel ist ein Fehler aufgetreten: Cannot convert undefined or null to object“ – hiervon muss man sich nicht verwirren lassen. Wichtig ist nur, dass wenn wir nach dem Speichern auch noch einmal unten auf den Template testen Button klicken. Wenn hier keine Fehler komme sollte alles in Butter sein.

Nun gehen wir im ersten Reiter zum Punkt API-Zugang und kopieren uns die Export-URL, die könnte so aussehen:
https://hut-styler.de/store-api/product-export/SWPEVELMRG1XDKDXT1ZTMKHARW/facebook.xml

Jetzt rufen wir die URL in unserem Browser an. Sollten keine Fehler angezeigt werden darfst du deiner linken Hand jetzt mit der rechten gratulieren. Bestenfalls sieht das Ergebnis so wie hier aus – oben sehen wir die allgemeinen Informationen und unten folgen schon die Infos zu den ersten 2 Artikeln des Feeds:

Facebook Feed - Verkaufskanal anlegen

Facebook Feed – Verkaufskanal anlegen

6. Produktfeed im Facebook Shop einbinden

Wir haben unsere Dynamische Produktgruppe, der Link zur XML Datei steht – jetzt fehlt nur noch die Integration in den Facebook Shop. Ich setze voraus, dass jeder der diesen Text liest bereits über eine Facebook Unternehmensseite verfügt. Es sollte bestenfalls voller Admin Zugriff vorliegen um die Produkte in den Shop importieren zu können.

6.1 Als erstes loggen wir uns im Facebook Business Manager ein:
https://business.facebook.com/

6.2 (Optional) müssen wir oben links im Dropdown Menü das richtige Unternehmen auswählen

Facebook Produktfeed einbinden - Menü ausklappen

Facebook Produktfeed einbinden – Menü ausklappen

6.3 Einstellungen aufklappen
Rechts über dem Dropdown Menü klicken wir auf das Sandwich Menü um die alle Einstellungen sehen zu können

Facebook Produktfeed einbinden - Menü nach unten

Facebook Produktfeed einbinden – Menü nach unten

6.4 Commerce Manager suchen
In der Übersicht bis nach ganz unten scrollen. Dann sieht man „Commerce Manager“

Facebook Produktfeed einbinden - Menü nach unten

Facebook Produktfeed einbinden – Menü nach unten

6.5 Commerce Manager öffnen
Wer noch gar keinen Shop hat kann hier nun einen neuen Katalog als Shop anlegen. Schau dir hierzu den Link Facebook Commerce Manager: So eröffnest du einen Shop auf Facebook unten an.

Facebook Produktfeed einbinden - Commerce Manager öffnen

Facebook Produktfeed einbinden – Commerce Manager öffnen

6.6 (Optional) Bestehenden Shop bearbeiten
haben wir bereits einen Shop klicken wir drauf um zu dieser Übersicht zu gelangen:

Facebook Produktfeed einbinden - Bestehden Shop bearbeiten

Facebook Produktfeed einbinden – Bestehden Shop bearbeiten

6.6.1 Zuerst müssen wir in der Sidebar den Menüpunkt Katalog aufklappen und dort auf Datenquellen klicken.

Facebook Produktfeed einbinden - Shop - Datenquellen

Facebook Produktfeed einbinden – Shop – Datenquellen

6.6.2 Dann müssen wir auf Feed hochladen klicken

Facebook Produktfeed einbinden - Shop - Datenfeed bearbeiten

Facebook Produktfeed einbinden – Shop – Datenfeed bearbeiten

6.6.3 Bei zeitgesteuerten Feeds bei Zeitpläne gucken > das kleine Menü öffnen

Facebook Produktfeed einbinden - Datenfeed Menü

Facebook Produktfeed einbinden – Datenfeed Menü

6.6.4 Bearbeiten klicken & URL austauschen, dann auf Speichern, Fortsetzen und abschließend auf Update aufrufen klicken

Facebook Produktfeed einbinden - Produktfeed URL

Facebook Produktfeed einbinden – Produktfeed URL

6.6.5 Update / Upload abwarten

Facebook Produktfeed einbinden - Produktfeed Upload

Facebook Produktfeed einbinden – Produktfeed Upload

6.6.6 Abschlussbericht

Facebook Produktfeed einbinden - Upload Bericht

Facebook Produktfeed einbinden – Upload Bericht

6.6.7 Falls unten links das gelbe Symbol angezeigt wird: Bericht ansehen klicken und die Berichtdetails prüfen.

Facebook Produktfeed einbinden - Berichtdetails

Facebook Produktfeed einbinden – Berichtdetails

Und wie wir es korrigiert haben:

a) Für Artikel in dieser Kategorie sollte ein Wert für color eingetragen werden

{% for properties in product.properties %}
{% if properties.group.name == "Farbe" %}
{{ properties.name }}
{% endif %}
{% endfor %}

b) Für Artikel in dieser Kategorie sollte ein Wert für gender eingetragen werden
{% for properties in product.properties %}
{% if properties.group.name == "Geschlecht" %}
{{ properties.name }}
{% endif %}
{% endfor %}

c) Für Artikel in dieser Kategorie sollte ein Wert für size eingetragen werden
{% for properties in product.properties %}
{% if properties.group.name == "Größe" %}
{{ properties.name }}
{% endif %}
{% endfor %}

d) Für Artikel in dieser Kategorie sollte ein Wert für age_group eingetragen werden
all ages

In der Vorlage oben sind diese infos bereits alle eingebunden.

So ich hoffe, dass euch das weiter geholfen hat und ihr genug Wissen tanken konntet um euren Facebook Feed aus Shopware 6 heraus zu erstellen und anschließend bei Facebook einzubinden oder aber – beispielsweise nach einem Relaunch – nur den Link zu eurem neuen Feed einzubinden und den alten rauszuwerfen. Zum Abschluss gibt es noch ein paar Tipps zum Debugging und Tools und natürlich auch noch ein paar weiterführende Links für alle die noch mehr erfahren wollen.

7. Tipps zum Debugging

7.1 Kleinen Feed erstellen
Falls der Feed Fehler enthält empfiehlt es sich zunächst zu prüfen ob es am Code oder an den Artikeln liegt. Bei einem sehr große Feed ist die Wahrscheinlichkeit groß, dass ein, zwei Artikel „nicht passen“. In diesem Fall kann man einen sehr kleinen Feed, z. B. auch nur mit einem oder einem Dutzend Artikel anlegen.

7.2 Kein & Zeichen in der Shop Description verwenden
Falls das & Zeichen im Description Feld verwendet wird, ist es mit der Alternative auszutauschen.

7.3 Dieser Fehler kam dadurch, dass es Produkte ohne Bilder gab:
{„errors“:[{„status“:“400″,“code“:“FRAMEWORK__STRING_TEMPLATE_RENDERING_FAILED“,“title“:“Bad Request“,“detail“:“Failed rendering string template using Twig: Failed rendering string template using Twig: Impossible to access an attribute (\u0022media\u0022) on a null variable in \u002273cb067f2ab51aaf46e35d7823417b39\u0022 at line 8.“,“meta“:{„parameters“:{„message“:“Failed rendering string template using Twig: Impossible to access an attribute (\u0022media\u0022) on a null variable in \u002273cb067f2ab51aaf46e35d7823417b39\u0022 at line 8.“}}}]}

8. Tools zur Verwaltung von Produkt-Feeds & mehr

Automatischer Facebook Katalog Feed [Shopware 6 Plugin – 195.-]
https://store.shopware.com/bst5753893849308/instagram-shopping-automatischer-facebook-katalog-feed.html?c=3

Instagram Shopping / Facebook Dynamic Ads Produktfeed [Shopware 6 Plugin – 149.-]
https://store.shopware.com/proxa20658290938/instagram-shopping/facebook-dynamic-ads-produktfeed.html

Facebook Pixel (Meta Pixel) einbinden & Conversion API    [Shopware 6 Plugin – 69.-]
https://store.shopware.com/media26570126106/facebook-pixel-meta-pixel-conversion-api-einbinden.html

Channable Feed Management Tool:
https://www.channable.com/de/produkte/feed-management-tool

9. Weiterführende Links

Verkaufskanal Produktvergleich [Shopware Docs]
https://docs.shopware.com/de/shopware-6-de/Produktvergleich

Felder und Vorgaben zum Erstellen von Datenfeeds für Kataloge [Facebook Hilfe]
https://www.facebook.com/business/help/120325381656392?id=725943027795860

Produktkategorien [Facebook developers]
https://developers.facebook.com/docs/commerce-platform/catalog/categories#cat-spec-fields

Facebook Feed Header- und Produktzeile [Shopware Forum]
https://forum.shopware.com/t/shopware-6-facebook-feed-export/93861

Facebook Commerce Manager: So eröffnest du einen Shop auf Facebook [swat.io Blog]
https://swat.io/de/verwalten/facebook-shop-commerce-manager/

Shopware 6 Facebook verknüpfen [8mylez Blog]
https://www.8mylez.com/blog/shopware-mit-facebook-verbinden/

Cronjobs einrichten [Nimbits Blog]
https://nimbits.de/shopware-6-cronjobs-richtig-einrichten-easy/

Facebook Commerce Manager: So eröffnest du einen Shop auf Facebook [swat.io Blog]
https://swat.io/de/verwalten/facebook-shop-commerce-manager/

Wie man einen leistungsstarken Facebook-Produkt Feed erstellt [Channable Blog]
https://www.channable.com/de/integrationen/facebook-feed

Was man über den Facebook Datenfeed wissen muss [Hutter Consult Blog]
https://www.thomashutter.com/facebook-was-man-ueber-den-facebook-datenfeed-wissen-muss/

Facebook Produkt Feed Debugging    [socialhead.io Blog]
https://socialhead.io/knowledge/facebook-product-feed-errors/

Beiträge zu Fehlern im Forum [Shopware Forum]
https://forum.shopware.com/t/google-shopping-xml-fehler/71795
https://forum.shopware.com/t/datenfeed-mit-fehler/96610
https://forum.shopware.com/t/fehlermedlung-bei-produktexport-zu-google-shops/86486

Zu Produkt-Kategorien Google product_type [Mixed Sources]
https://support.google.com/merchants/answer/6324436
https://support.google.com/google-ads/answer/6275317
https://support.google.com/merchants/answer/6324406
https://www.datafeedwatch.de/blog/google-produktkategorie-taxonomie
https://www.channable.com/de/blog/blog-google-shopping-kategorien-so-ordnen-sie-ihren-produkten-die-richtige-google-product-category-zu

Shopware Produktexport für Google Shopping [Openstream.ch Blog]
https://www.openstream.ch/shopware-produktexport-fuer-google-shopping/

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Der Beitrag Shopware 6 Produktfeed für Facebook erschien zuerst auf Shopware Agentur | Great2Gether.

Shopware Suche optimieren mit Doofinder für bis zu 20 % höhere Conversion Rates

$
0
0

Doofinder ist ein praktischer Service um eure Shopware Suche zu optimieren. Hier soll gezeigt werden, wie man das Tool in seinen Shopware 5 Shop einbindet. Auf der Webseite heißt es:

Unsere Suchtechnologie basiert auf einer semantischen Verarbeitungsarchitektur, die sicherstellt, dass Ihre Kunden die gewünschten Produkte finden und Rechtschreib- und Tippfehler im Suchprozess minimiert werden.

Übersicht:

1. Preise

Die Preise sind im Vergleich zu den Top-Suchmaschinen wie Fact Finder relativ günstig. Wer noch nicht tausende von Such-Requests in seinem Shop hat kann den Service sogar kostenlos nutzen und seine Shopware Suche optimieren ohne einen Cent auszugeben.

Shopware suche mit doofinder 1 - Preise

Shopware suche mit doofinder 1 – Preise

Preisliste, Stand Dez. 2021:

  • Bis zu 1.000 API Requests / Monat: 0 €
  • Bis zu 10.000 API Requests / Monat: 29 €
  • Bis zu 50.000 API Requests / Monat: 49 €
  • Bis zu 100.000 API Requests / Monat: 69 €
  • Bis zu 200.000 API Requests / Monat: 99 €

Hierbei handelt es sich jedoch nicht um die eigentlichen Suchanfragen sondern um die jeweiligen Requests. Die Anzahl ist grundsätzlich höher als die Suchanfragen.

2. Vorteile einer verbesserten Suche

ine verbesserte Suchfunktion in seinem Shop zu nutzen kann die Conversion Rate in ihrem Shop um 10 – 20% steigern. Bei der gleichen Anzahl von Besuchern also auch mit dem gleichen Werbebudget hat man also die Möglichkeit mehr aus seinem Shop zu machen.

Liste der Vorteile durch eine verbesserte Shopware-Suche

  • Synonym-Erkennung
  • Fehlertoleranz bei Tippfehlern
  • Schnellere Antwortzeiten
  • Anzahl-Steuerung der angezeigten Ergebnisse
  • Intelligente Umleitungen
  • Individuelle Produkt-Positionierungen
  • KI / Künstliche Intelligenz
  • Vorschläge zur Sortiment Erweiterung
  • Verbesserte Bounce-Rate
  • Suchvorschläge
  • Bessere Darstellung in der Suchvorschau
  • Suche per Spracheingabe
  • Individuelle Suchergebnisreihenfolge
  • Promotion Banner

Synonym-Erkennung: Oftmals haben Produkte unterschiedliche Begriffe, die das gleiche meinen. Wie zum Beispiel bei Gefrierschrank und Tiefkühlschrank. Im Produkt-Titel befindet sich dann nur eine Version davon. Das führt dazu dass bei der Eingabe des falschen Begriffs das Produkt nicht angezeigt wird. Bei einer Suche mit Synonym-Erkennung kann das nicht passieren. Doofinder erlaubt es auch Synonyme manuell einzugeben. Insbesondere bei Produkten die sich oft und gut verkaufen, sollte man an dieser Stelle Maßnahmen ergreifen.

Fehlertoleranz: Wer Angelscur eingibt und Angelschnur meint bekommt in vielen Shops keine Ergebnisse. Doofinder ist in der Hinsicht wie Google. Es weiß einfach was gemeint ist und ist bei der Eingabe der Suchbegriffe toleranter und macht es dem Kunden leichter ans Ziel zu gelangen.

Schnellere Antwortzeiten: Professionelle Such-Software sorgt in der Regel für eine weitaus schnellere Auslieferung der Suchergebnisse als die Suche, die beispielsweise standardmäßig in Shopware eingebaut ist.

Anzahl-Steuerung der angezeigten Ergebnisse: Wer steuert wie viele Ergebnisse maximal angezeigt werden sollen verhindert unnötig übermäßig große mengen von Requests. Das macht die Ergebisse übersichtlicher und kann bei Shops mit großen Sortimenten die User-Experience und auch wieder die Antwortzeiten positiv beeinflussen.

Intelligente Umleitungen: Schlaue Suchmaschinen leiten den Nutzer bei Eingabe des Begriffs Kontakt zur Seite mit allen Kontaktdaten und einem E-Mail Formular. Hierfür hat der Admin die Möglichkeit individuelle Umleitungen und die zugehörigen Suchbegriffe festzulegen. Bei doofinder läßt sich hier noch einmal zusätzlich bestimmen ob der Begriff exakt so geschrieben werden soll, oder ob auch wieder eine gewisse Toleranz zum Einsatz kommen soll.

Individuelle Produkt-Positionierungen: Die Standard-Shopsuche von Shopware bietet keinen Möglichkeit bestimmte Produkte in Suchergebnissen besser zu positionieren. Bei doofinder ist dies sehr einfach umsetzbar.

KI / Künstliche Intelligenz: Je länger und intensiver die Doofinder nutze gesucht wird, desto schlauer wird sie. Doofinder merkt sich das Browsing-Verhalten und die letzen Käufer um so passende Artikel vorzuschlagen.

Vorschläge zur Sortiment Erweiterung: Eine gute Suchfunktion hilft ihrem Besitzer dabei, wie bei einer Markt-Analyse, Dinge zu finden nach denen die Besucher des Shops gesucht aber die sie nicht gefunden haben.

Verbesserte Bounce-Rate: Kunden die unzufriedenerweise früher den Shop verlassen un nicht einkaufen sorgen für eine höhere Bounce-Rate / Absprungrate. Das heißt sie kommen und sind schnell wieder weg. Das sieht Google und wertet die Seite dadurch ab. Dies wiederum führt zu einer schlechteren Positionierung in der Google Suche. Mit einer besseren Suche gibt es weniger Absprünge, bessere Absprungraten und eine bessere Position in Google – was will man mehr?

Suchvorschläge: Eine gute Suche ist wie ein guter Verkäufer. Beide machen gute Vorschläge und geben dem Besucher eine perfekte Auswahl von Produkten / Suchbegriffen die sie interessieren könnten.

Bessere Darstellung in der Suchvorschau: Die Shopwareigene Such-Vorschau ist relativ geradlinig und zeigt nur ein kleines Bild des Artikels. Die Doofinder bietet hier ein besseres visuelles Erlebnis.

Suche per Spracheingabe: Ja richtig. Bei Doofinder ist es möglich in der mobilen Suche seine Suchanfrage per Sprache einzugeben. Im Zeitalter von Siri und Alexa wird dies immer mehr zur Gewohnheit und erspart dem Besucher die Tipperei auf winzigen Tastaturen.

Individuelle Suchergebnisreihenfolge: Es gibt Produkte die eigentlich gut sind sich aber einfach nicht gut verkaufen weil es niemand kennt und daher niemand die Suche dafür anstrengt? Mit einem Banner oder prominenter Positionierung in den Suchergebnissen werden Staubfänger wieder in liquide Mittel konvertiert.

Promotion Banner: Gute Suchmaschinen wie Doofinder erlauben es den Nutzer mit speziellen Banner-Promotions auf aktuelle Aktionen wie neue oder rabattierte Artikel, Gewinnspiele oder ähnliches aufmerksam zu machen.

Fakten zur Nutzung der Suche in Online-Shops:

15% der Shop-Besucher benutzen im Schnitt die Suche
Die Conversion-Rate ist bis zu 4x höher, wenn die Suche genutzt wird
70% der verwendeten Suchen in Online Shops kennen keine Synonyme

3. Bessere Shopware Suche = Höhere Umsätze

Conversions Rates hin oder her. Reden wir einmal über echte Euros und machen hier eine kleine Beispiel Rechnung.

gehen wir von einem Shop mit 100.000 € Umsatz mit folgenden Kennzahlen aus:

Monatliche Benutzer: 200.000
Conversion Rate: 1% / 2.000 Verkäufe
Durchschnittlicher Warenkorb: 50 €

Würde man die Conversion Rate jetzt nur um 10% steigern wären das schon 2.200 Verkäufe und 10.000 € mehr Umsatz. Das ganze kann man natürlich auch für Shops mit weniger Umsatz und Besuchern runter rechnen. Shops mit 10.000 € Umsatz würden nun 11.000 € und Shops mit 1.000 € eben 1.100 € Umsatz machen. Das sind wie gesagt die Zahlen, wenn man von einer Conversion Rate Steigerung von 10% rechnet – wobei die Erfahrung zeigt, dass dieser Wert die Unterkante der durchschnittlichen Conversion-Rate Optimierung von 10 – 20 % darstellt.

Hinzu kommt noch einmal, dass nicht nur die Conversion Rate sondern oftmals auch noch einmal der Warenkorbwert um 10% gesteigert werden konnte, was jedoch nur für die Kunden gilt, die auch vorher die Suche verwendet haben. Hier kann man also noch einmal von etwa 1% zusätzlichen Anstieg des Gesamtumsatzes ausgehen.

So steigern sich die Umsätze von:

– Shops mit 100.000 € Umsatz auf 111.000 € Umsatz
– Shops mit 10.000 € Umsatz auf 11.100 € Umsatz
– Shops mit 1.000 € Umsatz auf 1.110 € Umsatz

Was jetzt noch einmal oben drauf kommt ist die Lifetime value der Kunden die aufgrund der besseren Suche ein Produkt gefunden, einen Kauf getätigt und im Nachgang ein paar Wochen / Monate später weitere Einkäufe tätigt hat, weil er regelmäßig mit Aktionen und Angeboten per Newsletter versorgt wurde.

Für den einzelnen Shop-Betreiber stellt sich also einfach die Frage ob man genug Umsatz macht um die Kosten für eine optimierte Suche wieder einzuspielen.

Wer beispielsweise 10.000 € Umsatz macht wird mit einer besseren Suche wahrscheinlich etwas 1.100 € mehr Umsatz machen. Bei einer Marge von nur 5% ist das ein Gewinn-Zuwachs 55 € was ungefähr dem Preis des M Pakets von doofinder entspricht und 50.000 Requests erlaubt.

Es würde sich also in diesem Fall von selbst bezahlen und die wiederkehrenden Umsätze der zusätzlichen Kunden sind dann ein zukünftiger Bonus Gewinn.

Aber auch für noch ganz kleine Shops kann es sich rentieren, denn die doofinder ist bis zu 1.000 Requests / Monat kostenlos.

Abgesehen vom Umsatz-Zuwachs der bereits mit Nutzung der Haupt-Funktionen einhergeht erlaubt doofinder einem sehr tiefe Einblicke in das Verhalten der Shop-Nutzer und die Nutzung der Suche. Hieraus kann man dann wertvolle Schlüsse ziehen und sein Sortiment beispielsweise anhand von getätigten Suchanfragen erweitern. Man weiß einfach mehr und ist der Konkurrenz 1,5 Nasenlängen voraus. Unnötige Investitionen in Ladenhüter können vermieden werden und neue Artikel finden direkt ihre Abnehmer.

4. Account einrichten

Der Account ist schnell eingerichtet. Nach der Anmeldung geben wir einen Namen für unsere Suche und die Adresse ein:

Shopware suche mit doofinder 2 - Account

Shopware suche mit doofinder 2 – Account

Danach wählen wir unsere Plattform und unseren Sektor aus.

Shopware suche mit doofinder 3 - Plattform

Shopware suche mit doofinder 3 – Plattform

Bevor es zum nächsten Schritt muss das Plugin im Shop installiert werden. Wir empfehlen es grundsätzlich erst einmal auf einer Staging Umgebung auszuprobieren um sicher zu gehen das nichts kaputt geht. Wenn die Aktivierung des Plugins auf einer Staging Umgebung, auf der auch alle Plugins aktiv sind, wie sie in der Live-Umgebung genutzt werden problemlos funktioniert können wir es auch auf der Live-Umgebung nutzen.

Wer keine Staging Umgebung hat sollte zumindest ein Backup erstellen, das eingespielt werden kann, falls etwas schiefgehen sollte. Das Plugin kann unter folgendem Link kostenlos im Shopware Plugin Store erworben werden. Anschließend wird es im Account runtergeladen und im Shop installiert.

https://store.shopware.com/doofi51198145229f/doofinder-boosting-site-search.html
Ist das Plugin installiert hat das System Zugriff auf den Shop. Dann kann im nächsten Schritt, falls vorhanden der passende Sub-Shop ausgewählt werden:

Shopware suche mit doofinder 4 - Shop Auswahl

Shopware suche mit doofinder 4 – Shop Auswahl

Im nächsten Schritt werden der API Token und die Hash ID ausgegeben. Diese beiden Dinge müssen wir uns notieren und dann im Plugin in den Einstellungen eingeben.

Im nächsten Schritt werden wir auch schon ins doofinder Dashboard geleitet, wo uns ein Video befrüßt in dem erklärt wird wo welche Übersichten einzusehen sind. Dieses Video sollte man grundsätzlich einmal schauen wenn wir das Tool zum ersten Mal verwenden.

5. Plugin einrichten

Ist das doofinder Plugin für die bessere Shopware Suche installiert können wir folgende Einstellungen aus dem Plugin-Manager heraus vornehmen:

Shopware suche mit doofinder 5 -Plugin Einstellungen

Shopware suche mit doofinder 5 -Plugin Einstellungen

6. Dashboard Übersicht

Im Header finden wir das Auswahlmenü für die unterschiedlichen Übersichten, falls mehrere doofinder eingerichtet wurden. Das ist zum Beispiel der Fall, wenn es für mehrere Shops / Subshops eingerichtet wurde.

Analyze

Der Stats Bereich ist die Übersicht wo wir die wichtigsten Kennzhalne ausgegeben bekomemn;

– Anzahl der Suchanfragen
– Die Click-Through-Rate / CTR
– Die Conversion Rate

Der erste Punkt ist klar. Beim CTR Wert handelt es sich darum, wie oft der Nutzer auf ein Suchergebnis geklickt hat, und die Conversion Rate beschreibt den Anteil der Nutzer die nach einem Such-Aufruf ein Produkt gekauft haben.

Interessant: In den Bereich Top Opportunities und No Results finden wir Tipps zur Optimierung des Shops.

Improve

Im playground können wir die Funktion der Suche testen und uns eine Vorschau von Suchergebnissen ausgeben lassen.

Beim Boosting handelt es sich um die Möglichkeit die wichtigkeit von einzelnen Artikeln auf- oder abzuwerten. Hier kann man z.B. Artikel aus eigener Produktion / mit höherer Marge oder hohem Lagerbestand im Verkauf fördern, indem die Produkte ei bestimmten Suchanfragen höher gelistet werden als andere Artikel.

Custom Results ermöglichen dem Nutzer komplett individualisierte Suchergebnisse festzulegen.

Banners ermöglichen eine Weiterleitung auf Landingpages wenn bestimmte Suchbegriffe eingegeben werden. Damit alssen sich zum Beispiel interessante Marketing Aktionen umsetzen. Eine Idee wäre bestimmte Suchbegriffe auf Social Media zu veröffentlichen. Wer diese in der Suche eingibt bekommt dann einen individuellen Banner angezeigt, der dann auf ein besonderes Angebot verlinkt ist.

Die Redirection Funktion bietet in etwa die selbe Funktion, jedoch wird in diesem Fall kein Banner angezeigt, sondern man wird direkt auf eine zuvor definierte Landingpage weitergeleitet.

Der Bereich Synonyms ermöglicht uns zu bestimmten Suchbegriffen manuell Synonyme einzugeben, diese können auch mit einer Datei importiert werden.

Setup

Indizes steht für den Produkt Index, der hier ausgegeben wird. Die Produkte werden per API oder Feed-Datei zur Verfügung gestellt. Bei Shopware wird dies über das Plugin geregelt.

Search Layer ermöglicht die Erstellung des Javascripts, was (sofern kein Plugin verwendet wird) in die Webseite eingebunden werden kann. Hier können auch CSS Anpassungen vorgenommen werden.

Settings – hier ist der Name Programm. Alle wichtigen Einstellungen zur Suche können hier vorgenommen werden.

7. Umleitungen einrichten / Redirections anlegen

Die Redirections sind eine Funktion, die man auf jeden Fall nutzen sollte. Wer die Suche nutzt will nicht unbedingt immer zwingend eine spezifisches Produkt aufrufen. Nein, es kann auch einfach mal sein, dass jemand nach Versandinformationen sucht und einfach den Begriff Versand eingibt.

Grundsätzlich würde ich empfehlen für alle wichtigen CMS Seiten eine Umleitung im Bereich Redirections anzulegen. Hier sieht man eine erste Liste, wie sie für den Sprit-Schleuder Shop von uns eingerichtet wurde:

Shopware Suche optimieren - Doofinder Redirections Liste

Shopware Suche optimieren – Doofinder Redirections Liste

Wie man sieht wurde zusätzliche eine Umleitung für SALES angelegt, wie wir uns auch noch einmal genauer anschauen wollen:

Shopware Suche optimieren - Doofinder Redirections SALES

Shopware Suche optimieren – Doofinder Redirections SALES

Was hier passiert ist, dass wenn jemand einen der folgenden Begriffe eingibt: Sales, Sonderangebote, Rabatt, Günstig, billig automatisch auf die Kategorie SALES im Shop weitergeleitet wird, was ziemlich praktisch ist.

8. Kompatibilität

Die Suche von doofinder ist grundsätzlich kompatibel mit allen Webseiten. „Shopsysteme, Open Source, Corporate Websistes, Blogs etc.. Natürlich auch im responsive Design.“

Für eine einfache schnelle Integration werden auch Plugins unter anderem für folgende Shop- und CMS-Systeme angeboten:

  • Shopware
  • PrestaShop
  • Shopify
  • Magento
  • WooCommerce

9.Tipps

Eventueller Fehler, der keiner ist: Überall die gleichen Statistiken
Wenn ihr mehrere Search Engines also mehrere Shops und / oder Subshops angelegt habt und im Dashboard bei den Statistiken die gleichen Ergebnisse stehen liegt das daran, dass die Ergebnisse gebündelt angezeigt werden. Wie im Screenshot angeziegt sind in dem Fall die Häkchen zu entfernen.

Shopware suche mit doofinder 6 -Tipp entkoppeln

Shopware suche mit doofinder 6 -Tipp entkoppeln

Top 100 Suchgriffe finden:
Prüfe welches deine Top 100 gesuchten Begriffe sind. Präsentiere anschließend einige dieser Artikel prominent auf der Startseite oder höher in den Suchergebnissen.

Bundles für höhere Warenkörbe:
Mache Bundles mit den oft gesuchten Produkten um den Warenkorbwert pro Kauf zu erhöhen.

Banner-Promotions:
Binde Banner ein um Aktionen zu kommunizieren

Ladenhüter verkaufen:
Positioniere Ladenhüter manuell an oberer Stelle in den Suchergebnissen

Suche optimal präsentieren und testen:
Sorge dafür, dass die Suche gut zu finden und farblich abgesetzt ist. Mache A/B Tests mit der Farbe Position und Größe der Suche. Sorge dafür, dass mindestens 30 eingegebene Zeichen im Suchfeld sichtbar sind.

Synonyme eingeben:
Prüfe ob ein deinem Shop Produkte verkauft werden, die Synonyme haben. Wenn ja gebe diese ein. Z.B.: Whisky und Whiskey

10. Weiterführende Links

Doofinder kostenlos testen:
https://www.doofinder.com
Erklär-Video von doofinder:
https://www.youtube.com/watch?v=oSIfUg1hzM4

Doofinder bietet für Agenturen, Webdesigner und Marketer Affiliate-Partnerschaften an.

Anmeldung zum doofinder Partnerprogramm:
https://www.doofinder.com/de/partners
Schreibe uns jetzt eine Nachricht, wenn wir die Doofinder Suche in deinem Shop einbinden sollen.

Synonym Eingabe:
https://www.doofinder.com/support/the-data-feed/the-admin-control-panel/synonyms
* Wir verwenden auf dieser Seite Affiliate Links zur doofinder Seite. Wenn du den Service buchst erhalten wir eine Empfehlungsprovision und werden reich. Vielen Dank, dass du unser Imperium unterstützt.

Layer / Layout anpassen:
https://www.doofinder.com/de/product/design-types

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Der Beitrag Shopware Suche optimieren mit Doofinder für bis zu 20 % höhere Conversion Rates erschien zuerst auf Shopware Agentur | Great2Gether.

Shopware Erlebniswelten Responsive Webdesign

$
0
0

Hier soll gezeigt werden, wie man die Ansichten seiner Shopware 6 Erlebniswelten für mobile Ansichten optimieren kann. Vieles was bei Shopware 5 einfach ging, ist in Shopware 6 komplizierter geworden. Natürlich sind auch viele spannende neue Funktionen wie der Rule Builder oder die Dynamischen Produktkategorien dazu gekommen. Aber gerade wenn man an seinen ersten Shopware 6 Projekte sitzt schaut man relativ oft in die Röhre.

Übersicht:


1. Was ist das Problem auf mobilen Endgeräten?

Worauf will ich hinaus? In den Einkaufswelten (von Shopware 5) konnte man bestimmte Sektionen zum Beispiel für die mobile Ansichten ausblenden. Das ist bei Shopware 6 ohne ein zusätzliches Plugin nicht mehr möglich. Heißt alle Elemente die man in seine Erlebniswelt einbaut werden vom kleinsten bis zum größten Viewports identisch ausgegeben. Hierbei verwendet man dann natürlich so große Bilder, dass Sie auf dem größten Viewport noch gut aussehen.

Aber das sind genau die Bilder, die wir auf mobilen Endgeräten definitiv nicht ausliefern sollten da solche Riesen Bilder auf Mini Endgeräten unnötig lange Ladezeiten mit sich bringen und das beste Mittel auf dem Weg nach unten bei den Google Suchergebnisseiten sind.


2. Das Plugin zur Responsive Optimierung der Erlebiswelten

Die gute Nachricht für schnelle Lösungen in Form von Plugins für um die hundert Euro findet sich hier unter diesem Link:

Responsives Anzeigen und Ausblenden für Erlebniswelten
https://store.shopware.com/flink71241235154/responsives-anzeigen-und-ausblenden-fuer-erlebniswelten.html

Erlebniswelten Plugin für Viewports

Erlebniswelten Plugin für Viewports

Das ist aktuell wahrscheinlich auch die empfehlenswerteste Methode um die Ausgabe der Elemente und Sektionen der Einkaufswelt individuell für die unterschiedlichen Viewports ausgeben zu lassen. Besonders spannend hört sich hierbei die Funktion Inhalte mit Bildern für bessere Performance nachladen an.

Plugin Dokumentation:
https://docs.flinkfactory.com/plugins/FlinkCmsResponsiveHelper/configuration/


3. Ausblenden auf mobile / Desktop Ansicht mit (S)CSS

Eine Sache ist völlig absurd… wenn man die Standard Erlebniswelt für die Kategorien mit Sidebar auswählt, dann wird die Sidebar auch einfach auf mobilen Endgeräten angezeigt. Sprich man hat oben die Sandwich Navi, dann kommt die Sidebar und dadrunter wohlgemerkt erst die Liste der Artikel. Ich dachte zuerst das wäre ein Bug. Aber nein es gibt auch Foren-Beiträge die dieses Verhalten bestätigen.

Standard Kategorie-Layout mit Sidebar (Mobile Ansich)
https://forum.shopware.com/t/standard-kategorie-layout-mit-sidebar-mobile-ansich/93584

Im Beitrag wird auch schon „gesagt“ was man machen kann. Man muss die Sektion anklicken und dann im Feld Mobiles Sidebar-Verhalten die Option Nicht angezeigt auswählen.

Shopware 6 Sidebar deaktivieren auf mobile

Shopware 6 Sidebar deaktivieren auf mobile

Aber was macht man mit anderen Elementen die man ausblenden möchte?

Ich will es hier auch noch einmal an der Sidebar demonstrieren… auch wenn es hier die oben beschriebene, definitiv bessere Variante gibt.

Man könnte nämlich auch beiden Sidebar Elementen Navigation & Filter im Layout Bereich eine Klasse zuordnen. Hierfür muss aber zunächst erst einmal die Standard Kategorie kopiert werden, da diese sich sonst nicht bearbeiten läßt.

So machen wir es beim Navigation Element:

Responive Webdesign mit CSS

Responive Webdesign mit CSS

Wie man sieht habe ich der Klasse einen sprechenden Namen gegeben und Schleichwerbung eingebaut. Mit der Zeile .g2g-hideonmobile in meinem CSS Code kann ich nun jeden Bereich, der diese Klasse zugeordnet bekommen hat ganz einfach ausblenden. Es kann übrigens nicht schaden sich eine kleine Liste der Elemente und Bereiche zu machen, insbesondere wenn man plant halbwegs zahlreiche Bereiche auszublenden.

Noch etwas besser wäre es gleich 3-4 Klassen anzulegen, die man dann noch mit dem Viewport Kürzel erweitert.


.g2g-hideonmobile-sm,
.g2g-hideonmobile-md,
.g2g-hideonmobile-lg,
.g2g-hideonmobile-xl {
display: none;
}

// AB 576px = SM / SMALL
@include media-breakpoint-up(sm) {
.g2g-hideonmobile-sm {
display: block;
}
}
// AB 768 = MD / MEDIUM
@include media-breakpoint-up(md) {
.g2g-hideonmobile-md {
display: block;
}
}
// AB 992 = LG / LARGE
@include media-breakpoint-up(lg) {
.g2g-hideonmobile-lg {
display: block;
}
}
// AB 1200 = XL / XTRA LARGE
@include media-breakpoint-up(xl) {
.g2g-hideonmobile-xl {
display: block;
}
}

Und den Sidebar Elemente würden wir dann die Klasse g2g-hideonmobile-lg zuordnen, da hier der Umbruch bei 992px stattfindet. .Bei Elementen mit Texten ist diese Herangehensweise „halb so schlimm“ – bei essentiellen Elementen des Shops… naja. Also macht es auf keinen Fall mit der Sidebar. Bilder kann man theoretisch auch auf diese Weise ausblenden. Natürlich wäre es besser, wenn wir auch den Code im Quelltext erst gar nicht mehr angezeigt bekämen, aber fürs erste kann man sich so helfen.


4. Erlebniswelt-Banner frisieren

Erlebniswelt-Banner haben in der Regel nicht nur ein, nein sondern gleich zwei Probleme. Erstens werden immer die gleichen Banner ausgegeben, egal wie klein oder groß der Viewport / Monitor ist. Zweitens werden die Bilder immer abgeschnitten. Man muss sich also genau überlegen wo man zusätzliche Grafik-Elemente oder Text einbindet, weil alles was zu weit am Rand ist wird in dem einen oder anderen Viewport mehr oder weniger beschnitten werden. Bei Text kommt noch einmal hinzu, dass dieser auf kleineren Viewports immer kleiner und unleserlicher wird. Daher rate ich grundsätzlich davon ab Text in BAnner einzubinden, sofern nicht unterschiedliche Bild-Dateien verwendet werden.

Wer sich etwas mit Bootstrap und SCSS auskennt sollte einfach das Einkaufswelten TWIG Plugin verwenden und selber etwas sauberes zaubern. Wichtig ist es hierbei dann die Bilder auch abhängig von Viewports oder Bildschirmauflösung auszugeben.

Moori Twig Compiler

Moori Twig Compiler

Hier geht es zum Plugin im Store:
https://store.shopware.com/moorl29420842994f/html-erlebniswelten-element-mit-twig-compiler.html

Noch ein sehr gutes Plugin von moori ist das Foundation Plugin:
https://store.shopware.com/moorl50852475974f/foundation-basis-version.html

Hier wird es genauer erklärt:
https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images

Aber mal im Ernst. Wer hat schon Lust für jeden Banner 3 oder 4 Bild-Dateien anzulegen? Richtig: niemand. Daher kommt hier nochmal ein kleiner Geheimtipp für die faulen Ladezeiten-Profis.
https://www.w3docs.com/snippets/css/how-to-crop-and-center-an-image-automatically-in-css.html

Diese Methode habe ich auf Codepen gefunden, wo einige Leute Bilder von Pexels einbinden. Diese sind in der Regel riesig und werden über den Link zur Bild-Datei (mit zusätzlichen Infos garniert und) beim Einbinden verkleinert. So könnte man also beide Varianten kombinieren und statt unterschiedlichen Bild-Dateien einfach nur unterschiedliche Links mit den jeweiligen Größenangaben einbinden.


5. Der einzige (wirklich) Responsive Erlebniswelten Slider

Beim Slider wird es etwas schwer mit Code. Warum wir das wissen? Weil wir den Super-Mega Slider erfunden haben. Den einzigen Slider für Shopware 5 oder 6, der nie etwas von den Bildern abschneidet und immer (!) sein Format behält. Als ob das nicht schon genug wäre erlaubt es der Slider 3 unterschiedliche Hintergründe zu verwenden. Neben Bildern lassen sich nämlich auch Farben oder sogar Videos als Hintergrund im Slide anzeigen. Das i-Tüpfelchen ist dann noch die YouTube Video Funktion. heißt man kann im selben Slider: Bilder, Videos, Hintergrundfarben und YouTube Videos kombinieren und es sieht auf allen Endgeräten gut aus.

Ein weiterer Pluspunkt: Man kann den Slider auch einfach nur als Banner verwenden in dem man nur einen einzelnen Slide einbindet.

Shopware Responsive Slider

Shopware Responsive Slider


6. Weiterführende Links

Bootstrap
https://getbootstrap.com/

Twig:
https://twig.symfony.com/

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Der Beitrag Shopware Erlebniswelten Responsive Webdesign erschien zuerst auf Shopware Agentur | Great2Gether.

Shopware 6 Testumgebung mit StageWare®

$
0
0

Shopware 6 Testumgebung mit StageWare® – heute geht es mal wieder um das gute alte StageWare®, das aus unserer Sicht beste Plugin um Staging Umgebungen mit Shopware zu erstellen.

Inhaltsübersicht:

  1. Staging Umgebung für Shopware 6
  2. StageWare® Plugin für Shopware 6 mieten oder kaufen
  3. StageWare® installieren
  4. Zusätzliche Datenbanken für Staging Umgebungen
  5. Die erste Test-Umgebung einrichten
  6. Testumgebung über die Shopware CLI Konsole synchronisieren
  7. Sonder-Einstellung für nginx Server bei Timme Hosting.
  8. Shopware 6 Testumgebung aufrufen
  9. Staging Umgebung auf eigener Subdomain
  10. Warum StageWare® für Shopware 6 Testumgebungen?
  11. Mögliche Fehler und Lösungen
  12. Weiterführende Links

Seit einiger Zeit steht es auch für Shopware 6 zur Verfügung und wir waren tatsächlich die allerersten die das Plugin Minuten nach Veröffentlichung im Store heruntergeladen haben.

Es dauerte anschließend auch nicht lange bis wir mit dem netten Support von zweipunkt, die das Plugin entwickeln und vertreiben, reden und uns Tipps aus erster Hand geben lassen konnten. Beispielsweise waren einige Besonderheiten bei der Verwendung auf Nginx Servern von unseren Partnern bei Timme Hosting zu beachten.

Falls du noch Shopware 5 verwendest und dich verirrt hast, findest du hier den passenden Blog-Beitrag: Staging Umgebungen für Shopware 5

1. Staging Umgebung für Shopware 6

Staging Umgebung haben viele Vorteile: Sie sparen Zeit, Geld und vor allem Nerven sowie die damit einhergehenden grauen Haare. Ich habe sie relativ spät zu schätzen gelernt, weshalb ich auch verhältnismäßig viele graue Haare habe. In einem Satz ist die Staging Umgebung einfach eine Kopie deines Live Shopware 6 Shops in einem Unterordner. Diese dient dazu, Dinge auszuprobieren, die du nicht auf deiner Live-Umgebung ausprobieren solltest.

Hierzu gehören:

• Shopware Updates
• Plugin Updates
• Installation neuer Plugins
• Theme Anpassungen

Seit Shopware 5 bin ich schon begeistert von StageWare® und habe mir damit bis heute schon unzählige Male Ärger erspart. Bis auf letztens: Es war die Nacht vom 29. auf den 30.07.2022 als ich dem Shop eines Kunden werkelte. Es waren einige Punkte in trello offen und ich versuchte zügig so viel abzuhaken wie es ging. Dann kam ich zur Aufgabe Shopware Update.

Bevor ich jedoch das System updaten konnte, waren zunächst einmal die Plugins an der Reihe, denn die müssen ja auch kompatibel mit der neusten Version sein. Ich lud ein Plugin hoch und bums! Der größte Admin Albtraum wurde wahr: Das Plugin zerschoss den Shop. Nichts ging mehr! Frontend weg, Backend weg. Alles weg. Und das Schlimmste daran? Es war das live System. Der Shop machte täglich über 10k Umsatz bzw. grob 500 € / Stunde. Genau genommen waren es sogar 3 Shops, die jetzt offline waren.

Es ist schon eine Weile her, dass mir so etwas das letzte Mal passiert ist. Aufmerksame Leser unseres Blogs werden sich vielleicht an diesen Beitrag erinnern.

Damals war mir ein ähnliches Malheur passiert. Mit dem Unterschied, dass ich an dem Tag schon längst reif für eine riesige Mütze Schlaf war und mich wirklich extrem durch das Debugging gequält hatte. Dieses Mal war ich also entsprechend „entspannter“, wenn man diesen Begriff überhaupt in dem Kontext verwenden kann. Zumindest war ich ausgeschlafen, aber der Zeiger auf der Uhr zeigte mir an, dass es schwer sein würde jemanden zu finden, der mit ein paar zusätzlichen Augen beim Finden des Fehlers helfen könnte.

Ein Profi in der Not

Aber auf einen kann man sich immer verlassen: Unsere Hosting Partner von Profihost. Dort gibt es eine Notfall-Hotline, wo man rund um die Uhr kompetentesten Support bekommt. Es hat seinen Preis, aber dann auch nur knapp 5 Minuten gedauert, bis der adleräugige Support das Problem erspäht und eliminiert hat. Ich war überglücklich und dachte mir zur gleichen Zeit – „Warum habe ich das nicht erst auf der Staging Umgebung getestet?!“.

Mit dieser Vorgeschichte möchte ich den Leser und vor allem mich selber noch einmal ermahnen. Egal wie klein das Plugin ist, egal wie eilig du es gerade hast, egal wie ungefährlich diese niedliche Zip-Datei aussieht – teste alles immer zuerst auf der Staging Umgebung! Lasse dich auch nicht davon täuschen, dass auf der Staging Umgebung die letzten 20x nie etwas passiert ist. Wann und ob etwas schiefgeht merkst du immer erst danach.

2. StageWare® Plugin für Shopware 6 mieten oder kaufen

StageWare® kann wie die meisten anderen Plugins aus dem Shopware Store entweder gemietet oder gekauft werden. Entscheidet man sich für die Mietversion, ist ein kostenloser Probemonat inkludiert und die Abmeldung des Abos ist jederzeit möglich. Was auch geht, ist das Plugin im ersten Monat als Mietversion kostenlos zu testen um dann gegen Ende des Monats auf die Kaufversion umzusteigen.

Das ist, was wir unseren Kunden grundsätzlich auch immer empfehlen, einfach um auch zu testen, ob das Plugin auch problemlos in dem Shop oder auf dem Server, wo es zum Einsatz kommt, auch fehlerfrei funktioniert.

Stage Ware - Shopware 6 Staging Plugin mieten

Je nachdem für wie lange man nach dem ersten Jahr seine Subscription verlängert, sinken damit die monatlichen Kosten weit unter die der monatlichen Mietkosten.

Subscription Kosten

Schauen wir uns einmal genauer an, wie viel wir sparen können, wenn wir uns für die Kaufversion entscheiden und das erste Jahr abgelaufen ist.

  • 6 Monate StageWare® Subscription: 24,95 € / Monat
  • 12 Monate StageWare® Subscription: 19,96 € / Monat
  • 24 Monate StageWare® Subscription: 16,63 € / Monat

Egal wie wir uns entscheiden – wir sparen auf diesem Weg langfristig mindestens 50 % der Kosten im Vergleich zur Mietvariante. Mich würde jetzt zum Beispiel am ehesten die goldene Mitte reizen. Aber da hat jeder seine eigenen Vorlieben.

3. StageWare® installieren

Die Installation von StageWare® ist je nachdem wie man es sieht spektakulär oder unspektakulär einfach. Man lädt das Plugin in seinem Shopware Account runter und kann es dann im Plugin Bereich seines Shops hochladen. Worauf man aber achten sollte ist, dass man die richtige Version nimmt, bzw. darauf acht gibt, dass die ZIP Datei mit der von dir verwendeten Shopware Version kompatibel ist. Sonst kann es sein, dass du dir mit der Installation den Shop kaputt machst – und genau das wollen wir ja hier vermeiden.

Sobald es hochgeladen ist, erscheint es in der Liste und wartet darauf, installiert zu werden. Hier sehen wir das Plugin in guter Gesellschaft mit einem unserer eigenen Plugins, wie es darauf wartet installiert zu werden.

Plugin installieren

Mit einem Klick auf App installieren ist die Sache so weit geritzt und das Plugin ist bereit eine oder auch mehrere Kopien des Live-Systems abzubilden. Obwohl, ein Schritt fehlt noch. Das Plugin muss zusätzlich auch noch aktiviert werden, indem man den Schieberegler links neben dem ZweiPunkt Logo klickt. Also: hochladen > installieren > aktivieren > fertig.

Nach der Aktivierung können wir auf die Grundkonfiguration des Plugins zugreifen. Hierfür bedarf es eines Klicks auf die 3 Punkte und dann auf Konfiguration.

Plugin Bearbeiten

Da kann man die Nutzung bei Bedarf noch auf einen Verkaufskanal eingrenzen, was aber in den meisten Fällen nicht notwendig sein wird. Die zweite und letzte Einstellungen, die man vornehmen kann, ist die Dauer der maximalen Scriptlaufzeit zu erhöhen. Das kann sinnvoll sein, wenn das Erstellen der Testumgebung nach langer Zeit abbricht.

StageWare® Experten-Einstellungen

4. Zusätzliche Datenbanken für Staging Umgebungen

Jede Shopware 6 Staging Umgebung benötigt ihre eigene leere Datenbank, um den Live-Shop als Kopie abbilden zu können. Neue Datenbanken legen wir in der Regel über unseren phpmyadmin Bereich oder Admin Bereich unseres Shopware Hosting Anbieters an. Ich würde für den Start 3 zusätzliche Datenbanken empfehlen. So kann man 3 unterschiedliche Staging Umgebungen für unterschiedliche Tester und / oder Testzwecke anlegen. Das ist besonders praktisch, wenn man in einem größeren Team arbeitet.

Natürlich muss man nicht gleich alle 3 Staging Umgebungen auf einmal anlegen, sondern kann erst einmal eine aufsetzen und die anderen Datenbanken schonmal bereithalten für den Moment wo die nächste(n) benötigt wird.

Am besten sollten die Datenbanken dann auch einen Namen haben, der uns schon auf den ersten Blick verrät, für welche Staging Umgebung sie verwendet werden soll. Am besten:

  • stageware1
  • stageware2
  • stageware3
  • stageware4
  • stageware5

Anschließend notieren wir uns die Zugangsdaten in unserem Projekt-Merkzettel, damit wir es später während der Einrichtung unserer Shopware 6 Staging Umgebung verwenden können.

5. Die erste Test-Umgebung einrichten

Das Plugin ist installiert, wir haben uns Datenbanken und die Zugangsdaten vorbereitet – dann kann’s losgehen. Wenn wir in der Sidebar auf Einstellungen klicken, erscheint an unterster Stelle ein neuer Link, wo StageWare® Manager steht. Zu Beginn finden wir dort eine leere Liste und den einladend klingenden Neue Testumgebung erstellen Button.

Testumgebung Liste

Also lasset uns alle gemeinsam draufklicken – bei drei. Drei! Was sehen wir da? Richtig: Ein Formular mit insgesamt 4 Boxen, die sehnsüchtig darauf warten, mit den passenden Inhalten bestückt zu werden.

a) Profil

Shopware 6 - Staging - Einstellung  - Profil

Name der Testumgebung: Trage einen Namen ein
Kommentare und Notizen: Kann man, muss man aber nicht eintragen.

b) Dateien

Ordner ausschließen

Ziel Ordner: Trage hier den Namen des Ordners ein, in dem die Dateien der Shopware 6 Testumgebung angelegt werden. Timme Hosting Kunden benutzen bitte nur die folgenden Namen, da es andernfalls nicht klappt: stageware1, stageware2, stageware3, stageware4 und stageware5 – mehr als 5 Testumgebungen auf Timme Hosting Servern sind aktuell noch nicht möglich.
Ausgeschlossene Ordner: Neben ganzen Ordnern können auch Dateien, wie zum Beispiel größere ZIP-Archive, einzeln ausgeschlossen werden. Folgende Ordner kann man in den meisten Fällen mit gutem Gewissen ausschließen:

Kopieren und Einfügen:

stageware1
stageware2
stageware3
stageware4
stageware5
var/cache
public/media
public/thumbnail
files/backup
files/export
files/media

Erläuterung:

stageware1 – Ordner für Stageware. bei Bedarf auch stageware2 usw.
var/cache – Ordner für den Cache
public/media – Produkt-Bilder und gegebenenfalls Videos
public/thumbnail – Vorschaubilder in unterschiedlichen Größen
files/backup – Hier könnten sich Backups verstecken
files/export – Wie der Name schon sagt
files/media – PDF Dateien wie Rechnungen, Lieferscheine etc.

Achtung: Hier wird es tricky, wenn wir mehrere Testumgebungen anlegen. Hier darf dann nicht vergessen werden, alle Ordner der Testumgebungen in der Liste der auszuschließenden Verzeichnisse zu ergänzen. Also nicht nur stageware1 sondern auch stageware2, stageware3, stageware4 und stageware5.

c) Datenbank

Datenbank

Server: ist meistens localhost, notfalls beim Hoster nachsehen. Timme Hosting Kunden geben hier die 127.0.0.1 ein – so wird auch die Synchronisierung per Shopware Console möglich, was sehr praktisch ist, da es um einiges schneller geht.
Datenbank: Hier gehört der Name der Datenbank rein
Benutzer: Trage den Namen des Datenbankbenutzers hier ein
Kennwort: Dann das dazugehörige Passwort
Port: ist meistens 3306, notfalls beim Hoster nachsehen
Ausgeschlossene Tabellen: Hier kannst du z.B. verhindern, dass Kunden- oder Produkt-Daten importiert werden. Welche Tabellen das sind, wird weiter unten erklärt.

d) Stage Konfiguration

Wartungsmodus

Wartungsmodus aktivieren: Sollte unbedingt aktiviert werden. Falls nicht, sollte auf den Ordner ein Passwortschutz gesetzt werden. Andernfalls kann es sein, dass die Testumgebung von Google gecrawlt wird. Das führt zu Duplicate Content und einer Abwertung auf Google.
E-Mail-Adressen der Kunden abändern: Sollte man auch aktivieren, falls die Kunden-Daten kopiert werden (müssen). Andernfalls sollte man die Kundendaten schon von Anfang an ausschließen.
Setze APP_ENV auf DEV: Ist auch gut. Damit wird der Shop von Produktiv- auf Entwicklungsumgebung gestellt und man kann besser testen.

Jetzt kann unsere Shopware 6 Testumgebung in dem angegebenen Ordner in Kombination mit der eingetragenen Datenbank final erstellt werden.

Zu diesem Zweck bemühen wir einmal den Testumgebung synchronisieren Button und warten bis wir das kleine grüne Popup mit der Erfolgsmeldung angezeigt bekommen.

Hat’s geklappt? Super – herzlichen Glückwunsch!

Gab es einen 403 Fehler? Schau mal bei Punkt 7 rein!

Ganz unten in den Einstellungen der jeweiligen Testumgebungen haben wir übrigens noch einmal zwei Buttons in denen wir einmal die Datenbank leeren können und mit dem anderen Button die Dateien löschen können. Das bietet sich an, wenn wir eine bestimmte Sache fertig getestet haben und ein frisches System benötigen. Sinn ergibt das aber nur Sinn, wenn wir es im Live-Shop machen. Denn: Auch in der Shopware 6 Testumgebung wird uns der gleiche Inhalt beim Profil angezeigt.

6. Testumgebung über die Shopware CLI Konsole synchronisieren

Dein Shop hat sehr viele Daten und braucht sehr lange zum synchronisieren? Du bist ein Nerd? In beiden Fällen kannst du die Synchronisierung auch über die Konsole anstoßen. Weiter unten findest du die benötigte Zeile Code, um den schnellen Weg zu wählen.

Bei mir sieht die Zeile so aus:
bin/console stageware:sync --profile af5b82d762244d5abe2674845be03078

Wer so etwas noch nie gemacht hat, dem soll an dieser Stelle erklärt werden, wie der ganze Spaß funktioniert.

a) Du benötigst den SSH Zugang zu Deinem Server. Schau in Deinem gut sortierten Merkzettel nach. Hast Du noch keinen, ist jetzt ein guter Zeitpunkt diesen anzulegen und Deine Zugangsdaten darin einzutragen. Logge Dich dafür bei Deinem Hosting Anbieter ein und schau, ob es bereits einen User gibt. Wenn nein, muss einer angelegt werden und das Passwort + der Nutzername sowie der Server notiert werden.

Am Ende sollten wir dann eine Zeile wie die folgenden zur Hand haben, uns damit über die Konsole auf dem Server anzumelden:

ssh www.deinshop.de -l deinsshusername

Die Zeichen zwischen der Domain und dem Usernamen sind ein Bindestrich und eine kleines L wie Ludwig.

Shopware 6 Testumgebung über CLI Console

Anschließend werden wir nach dem Passwort abgefragt. Sobald wir es eingegeben und auf Return gedrückt haben, sollten wir auf dem Server eingeloggt sein. Beim ersten Mal werden wir jedoch wahrscheinlich vorher noch folgende Aufforderung angezeigt bekommen:

The authenticity of host 'www.deinshop.de (138.115.115.126)' can't be established.
ED25519 key fingerprint is SHA256:oRMsHvJMaalcZDYqsgfdgC0Merae2P/s8JHDEFVOg.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

Was ist zu tun? Wir geben das Wort yes ein und drücken auf Return.

Jetzt heißt es:

Warning: Permanently added 'www.deinshop.de ' (ED11519) to the list of known hosts.Connection closed by 138.115.115.126 port 22

Jetzt können wir von vorn anfangen und noch einmal diese Zeile eingeben:
ssh www.deinshop.de -l deinsshusername

Jetzt wird das Passwort abgefragt. Dieses geben wir per Copy-and-paste ein und drücken, ohne das Passwort irgendwo sehen zu können, Return.

Als Nächstes müssen wir in unseren Shopware Ordner navigieren. Dieser liegt meist in einem Unterordner namens web oder www oder deinshop. Um den Ordner zu finden, können wir uns mit diesem Befehl den Inhalt des aktuellen Ordners anzeigen lassen:

ls -a

und dann mit dem Befehl:

cd ordnername

hineingehen

mit cd .. hingegen bewegen wir uns eine Ebene weiter nach oben.

Bei uns, bzw. bei Timme Hosting, ist es in der Regel so, dass man 2x cd .. eingeben muss um auf der obersten Ebene zu sein. Das erkennen wir auch daran, dass am Anfang der Zeile keine zusätzlichen Verzeichnisse mehr angezeigt werden.

Geben wir nun wieder ls-a ein sehen wir in der Liste auch den Ordner web und geben als nächstes also das hier ein:

cd web

und dann noch einmal ls-a um sicher zu gehen, dass wir in dem Ordner auch unsere Shopware 6 Dateien angezeigt bekommen.

Jetzt können wir auch schon den die Zeile Code für unsere Testumgebung eingeben. In meinem Fall also:

bin/console stageware:sync --profile af5b82d762244d5a845be03078

Klappt nicht? Hab ich mir gedacht ;) Wenn wir beim Mac über das Terminal arbeiten muss die Zeile noch um 3 Buchstaben und ein Leerzeichen erweitert werden:

php bin/console stageware:sync --profile af5b82d762244d5a4845be03078

Also – das php am Anfang der Zeile bitte nicht vergessen!

Wenn alles klappt wie es soll bekommen wir folgende Zeilen zur Belohnung:

Synchronize profile: 2206a40d0644451e9962eea0606db0ef
Start file syncronization
File syncronization successfull
Start database syncronization
Database syncronization successfull
Update synchronization timestamp
Syncronization finished

Es können aber auch Fehler kommen. Im Terminal steht dann entweder:

01:12:18 ERROR [app] ZweiPunkt GmbH StageWare: Database connection failed: An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'c1w222db1'@'bla.timmeserver.de' (using password: YES)

oder:

01:07:03 ERROR [app] ZweiPunkt GmbH StageWare: Database connection failed: An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory

Was tun? Im Profil muss der Host der Datenbank geändert. So zumindest bei Timme Hosting. Dort wird empfohlen: „Bitte nutzen Sie Host 127.0.0.1 und Port 3306 für lokale Verbindungen.“

Wir hatten bei den ersten Tests noch localhost eingetragen. Das funktioniert über den Admin Bereich auch wunderbar. Über die Console jedoch nicht mehr – mit 127.0.0.1 geht es mit beiden Methoden einwandfrei.

7. Sonder-Einstellung für nginx Server bei Timme Hosting

Hast du beim Speichern des Profils einen 403 Fehler angezeigt bekommen? StageWare® ist im Standard auf allen Apache Servern ohne diese Anpassung sofort einsetzbar, auf den Servern von Timme Hosting bedarf es einer kleinen Anpassung.

Hier gehen wir in die Liste unserer Webseiten und klicken auf die Domain, wo wir den Shop installiert haben, auf dem StageWare® eingerichtet werden soll. Wenn wir da ein wenig herunter scrollen, sehen wir Erweiterte Einstellungen. Klappen wir sie auf sehen wir das hier:

Shopware 6 - Staging - Einstellung  - Timme Ordner

Hier muss jetzt der Unterordner eingetragen werden, in dem die Shopware 6 Testumgebung(en) angelegt werden sollen. Und dann muss unbedingt eben auch noch zu jedem Unterordner auch noch einmal die gewünschte Konfiguration in dem Dropdown Menü ausgewählt werden. In Zukunft wird dies evtl. nicht mehr nötig sein, dann muss nur einmal für die Haupt-Seite eine Konfiguration für Shopware 6 inkl. StageWare® ausgewählt werden. Damit entfallen dann die aktuell noch notwendigen Einstellungen der Unterordner.

Jetzt solltest du auch ein Profil anlegen können, ohne dass der 403 Fehler angezeigt wird. Falls die Seite länger lädt, ist ein Fehler passiert. Probiere es noch einmal. Wenn das Profil erfolgreich angelegt wurde, kann die Testumgebung synchronisiert, bzw. erst einmal eingerichtet werden.

8. Shopware 6 Testumgebung aufrufen

Gleich neben dem Testumgebung synchronisieren Button finden wir den Administration-Button, der uns ohne Umwege zum Admin Bereich der Testumgebung führt. Die Zugangsdaten sind natürlich derselben wie im Live-Shop.

Was bei den StageWare®-Testumgebungen immer sehr hilfreich ist und vermeidet, dass man das die Test- mit der Live-Umgebung verwechselt, ist die Markierung mit dem roten Widget, das sich durch Front und Backend zeiht. Möchte man das Frontend aufrufen, löscht man alles hinter dem stageware1 Verzeichnis.

Ist der Admin-Bereich unter:
https://testshop.de/stageware1/admin#/login

ist das Frontend also unter:
https://testshop.de/stageware1/

Ab jetzt können wir alles testen, was wir möchten. Wenn die Anpassung, die Erweiterung oder das Update problemlos funktioniert haben, können wir es bedenkenlos auch auf der Live-Umgebung umsetzen. Aber: Ein Backup sollten wir für den seltenen Fall der Fälle auch noch einmal anlegen. Man weiß ja nie.

9. Staging Umgebung auf eigener Subdomain

In den Einstellungen des Verkaufskanals erhält man ein zusätzliches Feld in dem die URL für eine Sub-Domain eingegeben werden kann. Gebe hier zum Beispiel stage.deinshop.de ein um deine Testumgebung auf der angegeben Sub-Domain aufrufen zu können.

Das Feld für die Subdomain der Testumgebung findest gleich im Allgemein Reiter des Verkaufskanals ganz unten in der Box mit der Überschrift Zusatzfelder.

Shopware 6 - Testumgebung - Einstellung  - Sub-Domain

Ist die gewünschte Sub-Domain deiner Shopware 6 Testumgebung eingetragen musst du noch den blauen Speichern Button klicken um die Anpassung zu besiegeln.

Die Subdomain musst du auch bei deinem Hosting Anbieter anlegen. Dabei ist zu beachten, dass die Subdomains auf das public Verzeichnis der Testumgebung (!) verweisen muss.

In den FAQs zum Plugin heißt es hierzu: „Wenn Sie in Ihrem StageWare Profil z.B. den Ordnernamen stage verwenden, dann muss die Stage-Domain auf das Verzeichnis /shopware-root/stage/public gelegt werden.“

In unserem Fall sieht es jedoch ein wenig anders aus, da wir bei Timme Hosting sind. Wenn wir dort eine Subdomain für unsere Staging Umgebung anlegen wollen, dann gehen wir so vor, hier einmal am Beispiel einer Test-Domain unter sharelando.com

Shopware 6 - Testumgebung - Einstellung - Subdomain Ordner

Beim ersten Mal musste ich es schon einige Mal testen, bis es funktioniert hat.

Host (ohne Domain): stage
Domain: deinshop.de
Weiterleitungstyp: Kein Flag (Umleitung ohne Änderung der URL)
Weiterleitungspfad: /stageware1/

Jetzt gehen wir wieder in die Liste unserer Profile und synchronisieren das stageware1 Profil. Bestenfalls sehen wir den Shop jetzt unter der angegebenen Subdomain. Schlimmstenfalls sehen wir aber zumindest, dass sich die URL des Verkaufskanals geändert hat und dort nun die Subdomain drinsteht. Der Shop ist also eigentlich schon bereit, die Inhalte unter der Subdomain anzuzeigen, irgendetwas stimmt aber anscheinend mit den Einstellungen beim Hosting Anbieter noch nicht.

So funktioniert das ganze natürlich nur, wenn man mit einer einzigen Staging Umgebung arbeitet. Es funktioniert aber auch anders. Erstelle dafür einfach eine Shopware 6 Testumgebung so wie immer. Jetzt logge dich im Admin Bereich der Staging Umgebung ein und lege dort einfach die zusätzliche Subdomain im Verkaufskanal des Frontends an.

Shopware 6 - Testumgebung - Verkaufskanal

Achtung: in einzelnen Fällen kann die Nutzung der Subdomain Funktion zu Problemen führen, daher empfehlen wir vor dem Anlegen ein Backup des Live-Shops zu erstellen und bei Interesse die FAQS des Plugins eingehend zu studieren.

10. Warum StageWare® für Shopware 6 Testumgebungen?

Zum einen weil die zweipunkt GmbH perfekt da angeknüpft hat, wo TC-Innovations (die das Plugin mit Veröffentlichung für Shopware 6 an zweipunkt verkauft haben) mit dem 5-Sterne Support aufgehört haben. Man wird bei der Integration freundlich und fachkundig begleitet, kann sich telefonisch melden oder bekommt sein Ticket sehr schnell beantwortet.

Zum anderen wird hier auch technisch wieder alles an Möglichkeiten ausgeschöpft, die bei der Shopware 5 Version schon für höher schlagende Herzen bei Shopware Admins gesorgt hat.

Hier noch einmal die wichtigsten Features:

• Man kann eine unlimitierte Anzahl an Testumgebungen anlegen.
• Man kann aus dem Admin Bereich des Live Shops auf alle Stages zugreifen
• Kunden E-Mail Adressen können maskiert werden
• Man kann bestimmte Datenbank-Tabellen vom Import ausschließen
• Man kann bestimmte Shop-Ordner vom Import ausschließen
• Sensible persönliche Daten können vom Import ausgeschlossen werden
• Kompatibel mit Plugins die Datenbank Views einsetzen, z.B. Pickware
• Ständige Weiterentwicklung
• Konfigurations-Service mit Festpreis
• Datenbank „Kindersicherung“
• Staging Umgebung auf eigener Subdomain

Und dazu ein paar Worte:

Man kann eine unlimitierte Anzahl an Testumgebungen anlegen:
Heißt: gerade in heißen Phasen können unterschiedliche Teams unterschiedliche Dinge auf unterschiedlichen Shopware 6 Staging Umgebungen testen und kommen sich dabei nicht in die Quere. Hierfür muss dann natürlich auch ein entsprechend großer Server mit genug Leistung im Einsatz sein. Gerade wenn die unterschiedlichen Teams gleichzeitig ressourcenhungrige Arbeiten ausführen.

Man kann aus dem Admin Bereich des Live Shops auf alle Stages zugreifen:
Kein technisches Weltwunder, aber einfach praktisch. Man kann ja im Standard noch nicht einmal aus dem Backend auf das Frontend zugreifen. Gut, bei mehreren Verkaufskanälen mit eigenem Frontend und eigenen Domains wird es da eh schwierig – im Normalfall hat man aber nur ein Frontend.

Kunden E-Mail Adressen können maskiert werden:
Wenn das nicht passiert, kann es passieren, dass die Kunden bei Tests ungewollt E-Mails mit falschen Informationen erhalten. Wie zum Beispiel, dass die Zahlung für den Diamantring eingegangen ist und die Ware versendet wurde. In der Praxis sieht es dann so aus, dass die eigentliche E-Mail-Adresse dann von test@example.com in test-example.com@stageware.zwei.gmbh geändert wird. Eine Adresse, die es so nicht gibt und somit auch bei keinem für Verwirrung sorgen kann.

Man kann bestimmte Datenbank-Tabellen vom Import ausschließen:
Einige Tabellen können schnell sehr riesig werden und werden auf der Kopie auch nicht wirklich benötigt. So ist es sinnvoll, einige Tabellen gleich von Beginn an vom Import auszuschließen, um so schneller ans Ergebnis zu kommen und keinen Ballast mitzuschleppen.

Folgende Tabellen lassen wir beim Import immer gerne weg um Kundendaten auszuschließen:

customer
customer_address
customer_group
customer_recovery
customer_tag
customer_wishlist
customer_wishlist_product

Auch die Produkte / Kategorien werden nicht gebraucht? Dann können wir folgende Tabellen auslassen:

product
product_category
product_category_tree
product_configurator_setting
product_cross_selling
product_cross_selling_assigned_products
product_cross_selling_translation
product_custom_field_set
product_media
product_option
product_price
product_property
product_review
product_search_keyword
product_tag
product_translation
product_visibility

Die Logs kann man auch sehr gerne weglassen:

Tabelle webhook_event_log 1,2GB
Tabelle log_entry 1,1 GB

Man kann bestimmte Shop-Ordner vom Import ausschließen:
Wenn wir etwas Technisches, wie die Integration eines neuen Zahlung-Plugins testen wollen, brauchen wir in den meisten Fällen nicht alle Produkt-Bilder des Shops. Der Media Ordner ist gerade bei großen Shops ein Gigabyte-schweres Monstrum, was sich nur mühsam und langwierig kopieren lässt. Zu den Must-haves in der Liste der auszuschließenden Shop-Ordner ist übrigens auch der Cache Ordner. Den sollten wir grundsätzlich immer vom Import in unsere Staging Umgebung ausschließen.

Sensible persönliche Daten können vom Import ausgeschlossen werden:
So, wer hat beim DSGVO Unterricht in der Schule aufgepasst? Was könnte hier bezüglich der Verarbeitung personenbezogener Daten schiefgehen? Ein oft gesehenes Szenario ist, dass wir als Shop-Betreiber mal jemanden über den Shop sehen lassen. Einfachstes Beispiel: Wir haben ein Plugin im Store gekauft, es funktioniert nicht, wo wirklich und schwups schicken wir im Shopware Account über ein Ticket die Zugangsdaten zu einer Staging Umgebung raus. Und das, ohne vorher einen AV-Vertrag mit der Agentur des Plugins abzuschließen.

Diese Agentur hat in dem Moment die Möglichkeit, auf personenbezogene Daten der Kunden des Shop-Betreibers zuzugreifen und diese zu verarbeiten. Das ist schon Grund genug, einen Vertrag zur Auftragsdatenverarbeitung abschließen zu müssen. Das kann nervig sein, auf Dauer die Wahrscheinlichkeiten potenzieller Abmahnungen erhöhen, und dauert einfach länger als wenn die Agentur sofort an den Braten kann.

Schließen wir aber nun die entsprechenden Tabellen mit den Kundendaten vom Import aus (s. Man kann bestimmte Datenbank-Tabellen vom Import ausschließen) können wir sichergehen, dass wir – egal wem wir den Link zur Staging Umgebung schicken, dass wir im Hinblick auf Einhaltung DSGVO alles richtig gemacht haben.

Vollständigkeitshalber soll am Rande erwähnt werden, dass das unsere Meinung aus unserer Erfahrung ist. Andere mögen andere Lösungen aus anderen Gründen ebenfalls genauso sehr mögen wie wir StageWare® mögen. Beispielsweise bieten einige Hosting-Anbieter unterschiedliche Optionen an, um eine Testumgebung zu erstellen, bisher ist mir aber noch keine wirklich brauchbare in die Finger gekommen.

Kompatibel mit Plugins die Datenbank Views einsetzen, z.B. Pickware: Pickware ist ein bei Shopware oft genutztes ERP System. Einige andere Staging Plugins sind aufgrund der von Pickware genutzten Datenbank-Views nicht kompatibel. StageWare® funktioniert auch hier mit der gewohnten Zuverlässigkeit eines Schweizer Uhrwerks.

Ständige Weiterentwicklung: Neben den aktuellen Funktionen besteht auch eine Roadmap für weitere Funktionen, die in Kürze folgen sollen. Hierbei wird insbesondere auch auf die Wünsche der Nutzer eingegangen. Selbstverständlich werden auch immer die aktuellen Updates für die neusten Shopware Versionen angeboten, sodass Shopware Updates nichts im Wege steht. Natürlich immer erst auf der Staging Umgebung!

Konfigurations-Service zum Festpreis: StageWare® kann man sich wahlweise von zweipunkt oder aber auch von uns zum Festpreis von 99.- einmalig konfigurieren lassen. So entfällt der Aufwand für das Einlesen und ausprobieren und man bekommt ein schlüsselfertiges Plugin und kann sofort eine Staging Umgebung mit einem Klick anlegen.

Datenbank Kindersicherung: Wer bei der Konfiguration der Datenbank für die Testumgebung aus Versehen die Daten des live Shops eingibt, kann nichts kaputt machen. Das System erkennt das Versehen und macht nichts.

Zum Abschluss noch eine der ausschließlich mit 5 Sternen versehenen Bewertungen aus dem Shopware Store: „Wir hatten heute einen Servercrash und ich habe einfach mal angerufen. Keine langen Fragen, sondern sofort verständnisvolle Hilfe! Das Plugin ist eh unverzichtbar und Top, den Support hab ich jetzt wirklich ins Herz geschlossen! Danke!

11. Mögliche Fehler und Lösungen

Das Profil läßt sich nicht speichern:
Du bist bei Timme Hosting und hast vergessen die Sondereinstellung zu machen. Siehe oben beim Punkt Sonder-Einstellung für nginx Server bei Timme Hosting.

Die Synchronisierung über per Shopware Console will nicht so wirklich:
Du bist per SSH auf deinem Server eingeloggt und gibst die Zeile zur Synchronisation in deinem Terminal ein.

Du bekommst diesen Fehler:

Fehler: „Warning: Failed to load plugins. Message: An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory“

Lösung: Wir konnten diesen Fehler beheben, indem wir in der .env Datei beim Host statt localhost 127.0.0.1 eingetragen haben. Den Tipp dazu konnten wir im Forum finden.

Du bekommst diesen Fehler:

01:12:18 ERROR [app] ZweiPunkt GmbH StageWare: Database connection failed: An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'c1w12edb1‘@‚bla.timmeserver.de' (using password: YES)

oder:

01:07:03 ERROR [app] ZweiPunkt GmbH StageWare: Database connection failed: An exception occurred in driver: SQLSTATE[HY000] [2002] No such file or directory

Lösung: Bei uns hat es geholfen, beim Host der Datenbank 127.0.0.1 statt localhost einzutragen.

Die Synchronisierung bricht ab: Beim Abbruch der Synchronisation kannst du diesen Fehler bekommen, dann kann es sein, dass der StageWare Prozess vom Server unterbrochen wurde, weil er zu lange läuft.

Max execution time of X seconds exceeded

Lösung: In diesem Fall kann es helfen, die max_execution_time in der PHP Konfiguration zu erhöhen. Abhängig von deinem Webhoster kann StageWare versuchen, diesen Wert anzupassen. Du kannst jedoch auch manuell einen höheren Wert in der Plugin Konfiguration im Feld Maximale Laufzeit eintragen (Standard: 30).

Wenn du StageWare über die CLI benutzt, kannst du den Aufruf um einen Parameter erweitern, um PHP mitzuteilen, wie viele Sekunden der Prozess maximal laufen darf. Beachte aber, dass dein Webhoster diesen Wert überschreiben kann. Hier ist ein Beispiel Aufruf:

php -d max_execution_time=600 bin/console stageware:sync --profile XXXXXXXXXXXXXXXXX

ein weiterer Fehler der kommen kann, ist wenn den Shop an Arbeitsspeicher-Knappheit leidet. Wenn der StageWare Prozess zu viel Arbeitsspeicher verbraucht, kann der Server ihn unterbrechen. Das ist der Fehler:

Fatal Error Allowed Memory Size Exhausted

Lösung: In diesem Fall kannst du den Aufruf um einen Parameter erweitern, um PHP mitzuteilen, wie viel RAM der Prozess maximal verwenden darf. Hier ist ein Beispiel Aufruf:

php -d memory_limit=8G bin/console stageware:sync --profile XXXXXXXXXXXXXXXXX

Ein letzter bekannter Grund, warum die Synchronisierung abbrechen kann, ist wenn das Terminal Fenster geschlossen wurde. Um diesen Fehler zu vermeiden verwenden wir hinter der üblichen Zeile noch das hier: &

bin/console stageware:sync --profile XXXXXXXXXXXXXXXXX &

12. Weiterführende Links

zweipunkt GmbH:
https://zwei.gmbh/

zweipunkt FAQs – StageWare® für Shopware 6:
https://zwei.gmbh/faq/shopware-6/stageware-testumgebung-auf-knopfdruck/

zweipunkt Service Portal – Erste Schritte mit StageWare®:
https://zwei.gmbh/service/ZweiPunktStageWare/sw6/erste-schritte/

zweipunkt Wissensdatenbank – StageWare® Staging | Testumgebungen auf Shopware 6
https://zwei.gmbh/service/ZweiPunktStageWare/sw6/knowledge-base/

zweipunkt Support Formular:
https://zwei.gmbh/ticket/neu/

Shopware Docs – Testumgebung manuell erstellen
https://docs.shopware.com/de/shopware-6-de/tutorials-und-faq/testumgebung-anlegen

Shopware Blog – Testing and staging environments with Shopware 6
https://www.shopware.com/en/news/testing-and-staging-environments-with-shopware-6/

Shopware Forum – 127.0.0.1 statt localhost:
https://forum.shopware.com/t/kein-admin-nach-update-seite-weiss/91970/4

Timme Hosting – Anleitung: Subdomains
https://timmehosting.de/anlegen-verwalten-von-rewrite-rules-fuer-nginx-mit-ispconfig

Der Beitrag Shopware 6 Testumgebung mit StageWare® erschien zuerst auf Shopware Agentur | Great2Gether.

Shopware 6 Plugins über die Datenbank oder per Shopware Konsole deaktivieren

$
0
0

Shopware 6 Plugins über die Datenbank deaktivieren wollen und Shopware 6 Plugins über die Datenbank deaktivieren können, sind 2 paar Schuhe. Nach diesem Beitrag solltest du zur Gruppe der Könner-Schuhe gehören. Also legen wir los.

Übersicht:

1. Was brauche ich, um Shopware 6 Plugins in der Datenbank zu deaktivieren?

Um deine Shopware 6 App, nicht über den Admin Bereich, sondern über den die Datenbank des Shops zu deaktivieren benötigst du 3 Dinge:

– Einen Shopware 6 Shop, lokal oder online
– Eine Datenbank
– Mindestens ein aktiviertes Plugin
– Die Zugangsdaten zur Datenbank des Shops
– den Link zur phpmyadmin Oberfläche

Also rufe jetzt deinen phpmyadmin Bereich auf, um auf deine Datenbank zugreifen zu können und kram schonmal den Usernamen sowie das Passwort zur Shopware-Datenbank heraus.

2. In welcher Tabelle deaktiviere ich die Shopware 6 Plugins?

Hast du den phpmyadmin Bereich aufgerufen, klicke auf die Datenbank der Shopware 6 Installation. Auf der rechten Seite bekommst du nun die Liste aller vorhandenen Tabellen angezeigt.

Shopware 6 Plugin in Datenbank deaktivieren - Tabellen

Shopware 6 Plugin in Datenbank deaktivieren – Tabellen

Dort angekommen suchst du nach:

plugin

Wenn du auf die Tabelle klickst, bekommst du erneut eine Liste angezeigt, diesmal mit allen installierten Plugins.

Shopware 6 Plugin in Datenbank deaktivieren - Plugins

Shopware 6 Plugin in Datenbank deaktivieren – Plugins

Wie wir sehen, ist hier bereits eine bunt gemischte Tüte aus Plugins installiert. Was man im Screenshot aber noch nicht sehen kann ist, wo man die denn jetzt deaktivieren kann. Hierfür muss man erst einmal ein Stückchen nach rechts scrollen. Dann sieht man die Spalte namens active.

Shopware 6 Plugin in Datenbank deaktivieren - Aktives Plugin

Shopware 6 Plugin in Datenbank deaktivieren – Aktives Plugin

Wie wir sehen, ist hier bei den meisten Plugins im Screenshot eine 1 gesetzt. Und die 1 steht für aktiv. Soll es deaktiviert werden, klicken wir auf die 1 und setzen den Wert auf 0 und deaktivieren es somit. Wenn es nur um ein paar Plugins geht, ist es auf diese Weise also schnell erledigt.

Wer faul ist, oder einfach eine viel zu lange Liste von Plugins hat, kann mit dieser Zeile Code alle Plugins auf einmal deaktivieren:

3. Bonus: Shopware 6 Plugins über die Konsole deaktivieren

Ein weiterer Weg Plugins ohne das Backend / den Admin Bereich zu deaktivieren führt über die Konsole. Hierfür kann folgender Befehl verwendet werden:

php bin/console plugin:deactivate PluginName1 PluginName2 PluginName3

Bei den Namen geht es jedoch nicht um den Namen, wie er im Store oder deiner Plugin-Liste steht. Es ist der technische Name des Plugins. Um diesen Befehl verwenden zu können müsst ihr euch über das Terminal auf eurem Server anmelden und dann in den Ordner von Shopware 6 navigieren.

Wo finden wir die technischen Namen der Plugins?

a) Wenn wir schon im Terminal sind, dann am einfachsten mit diesem Befehl hier:

php bin/console plugin:list

Shopware 6 Plugins ohne Backend deaktivieren - Konsole Liste

Shopware 6 Plugins ohne Backend deaktivieren – Konsole Liste

Wir sehen nun alle Plugins, die aktuell in unserem Shopware 6 Shop installiert sind. Links stehen die besagten technischen Namen und in der zweiten Zeile von rechts sehen wir auch noch einmal wunderschön, ob das Plugin von great2gether, installiert, aktiv und aktualisierbar ist. Hier kann man also später noch einmal gucken, ob es funktioniert hat.

So würde unsere Zeile nun aussehen:

php bin/console plugin:deactivate GreatChooseHowManyProducts TcinnThemeWareClean TcinnCustomizing SwagLanguagePack GreatMessageOfTheDay GreatDetailPagePlus GreatOnlyActiveCategory GreatCatIcons GreatUSPBar FroshDevelopmentHelper MndCookie GreatTabChanger GreatOneLineArticleName EsmxKTConnector GreatSuperMegaSliderSW6 GreatCheckoutBooster GreatSidebarBooster

Aussehen Ich habe jetzt wirklich alle Plugin Namen aufgelistet, auch wenn einige Plugins bereits deaktiviert waren. Wenn wir den Befehl so absenden werden wir noch einmal gefragt, was wir genau tun wollen. Hier gibt es drei Optionen:

[0] Alle Plugins deaktivieren
[1] Ein Plugins auswählen und deaktivieren
[2] Nichts tun und zurück

Wir klicken also auf die 0 bestätigen es mit der Return-Taste. Sofern uns genug Arbeitsspeicher zur Verfügung steht, sind jetzt alle plugins deaktiviert und wir dürfen den Cache löschen. Sofern uns nicht genug Arbeitsspeicher zur Verfügung steht und auch eine Änderung der php.ini Datei nichts bringt, können wir die Zeile etwas anpassen und das Terminal dazu zwingen mehr Arbeitsspeicher zu verwenden.

php -d memory_limit=1024M bin/console plugin:deactivate GreatChooseHowManyProducts TcinnThemeWareClean TcinnCustomizing SwagLanguagePack GreatMessageOfTheDay GreatDetailPagePlus GreatOnlyActiveCategory GreatCatIcons GreatUSPBar FroshDevelopmentHelper MndCookie GreatTabChanger GreatOneLineArticleName EsmxKTConnector GreatSuperMegaSliderSW6 GreatCheckoutBooster GreatSidebarBooster

In dem Beispiel gönnen wir uns satte 1024MB, um ressourcenhungrige Aufgaben erledigen zu lassen. Inaktive und nicht deaktivierte Plugins werden hierbei übersprungen.

Wenn wir das ganze wieder rückgängig machen wollen, können wir den Befehl plugin:activate verwenden. Wenn ein Plugin noch einem Sales Channel zugeordnet ist. Lässt es sich ebenfalls nicht deaktivieren und es kommt eine stressrote Fehlermeldung.

4. Weiterführende Links

Shopware Forum – Plugins deaktivieren:
https://forum.shopware.com/t/plugins-deaktivieren/90191

Shopware Docs – Kundendaten löschen
https://docs.shopware.com/de/shopware-6-de/tutorials-und-faq/sql-tipps-tricks

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Der Beitrag Shopware 6 Plugins über die Datenbank oder per Shopware Konsole deaktivieren erschien zuerst auf Shopware Agentur | Great2Gether.

Font Awesome Icons lokal in Shopware 6 einbinden

$
0
0

Was gibt es Schöneres? Das haben wir uns auch gefragt und uns auch gleich mal drangesetzt euch ein schönes Tutorial dazuzuschreiben. Anschnallen, es geht los! Übrigens: Wenn du noch Shopware 5 nutzt, dann findest du hier den passenden Beitrag, um Font Awesome lokal in Shopware 5 einzubinden.

Übersicht:

1. Was brauche ich, um Shopware 6 Plugins in der Datenbank zu deaktivieren?

Weil: DSGVO. Wenn wir die Font Awesome Icons nicht lokal auf unserer Seite einbinden, müssen wir eine permanente Verbindung zum Font Awesome Server haben. Früher, als das noch keinen interessiert hat, war das der Standard. Man nahm ein kleines Javascript Code Schnipsel, integrierte es im Header Code der Seite und schon konnte man die Font Awesome Icons in seinem Shop nutzen.

Technisch ist das zwar immer noch möglich, aber heutzutage absolut nicht empfehlenswert, da man sich mit ein paar Handgriffen ganz einfach vor unnötigen Abmahnungen schützen kann. Außerdem ist es nur fair diese Methode zu verwenden, um einfach korrekter mit den Daten der Besucher in unserem Shopware 6 Shop umzugehen.

2. Was heißt lokal einbinden genau?

Genau heißt das, dass die Dateien, die dafür verwendet, werden die kleinen bunten Icons zu generieren auf denselben Server geladen werden, auf dem sich auch unsere Shopware 6 Installation befindet. Das bewirkt dann, dass wir keine Verbindung zu einem externen Drittanbieter erstellen müssen. Damit handeln wir DSGVO-konform, da andernfalls unter anderem die IP-Adresse unserer Shop-Besucher an den Server von Font Awesome gesendet werden und man sich dort anhand der gesammelten Daten theoretisch ein Bild über den User machen kann.

3. Was ist Font Awesome und was gibt es für Lizenzen

Was es ist: Font Awesome ist eine Schriftart, die aus Icons besteht. Ähnlich wie es ein eigenes Icon-Set von Shopware gibt, gibt es auch Icons von verschiedenen Drittanbietern. Einer von ihnen ist Font Awesome, der eine umfangreiche und professionelle Auswahl an Icons bietet.

Was es für Lizenzen gibt: Die unterschiedlichen Lizenzen können unter folgendem Link eingesehen werden. Wer sich jetzt denkt, dass er mit der Free Version nur 10.000 Aufrufe im Monat haben darf, kann an dieser Stelle beruhigt werden, da es bei der lokalen Einbindung gar nicht von Font Awesome gezählt werden kann und somit auch nicht zutrifft. Sprich man kann auch mit der gratis Version so viele Aufrufe habe wie man möchte.

Wer eine Premium Lizenz erwirbt hat jedoch mehr Icons, mehr Funktionen und mehr Support. In diesem Tutorial werden wir uns jedoch auf die kostenlose Version beziehen. Es werden also weder einmalige noch wiederkehrende Kosten auf uns zukommen.

Es ist verboten, die Pro-Icons in Themes zu integrieren, die zum Verkauf angeboten werden. Wenn man ein Theme anbieten möchte und dieses mit Font Awesome Icons ausstatten will, ist es ausschließlich gestattet, die kostenfreie Version der Icons zu verwenden. Falls jedoch der Wunsch besteht, einen individuellen Shop zu gestalten, kann auch die kostenpflichtige Version genutzt werden. Hierfür muss jedoch der Shop-Betreiber selbst eine Font Awesome Lizenz erwerben und kann nicht die der Person, die das Theme erstellt hat, verwenden.

4. Font Awesome Dateien herunterladen

Bevor wir die Dateien direkt herunterladen, können wir uns hier vorher noch einmal ein wenig schlaumachen:
https://fontawesome.com/docs/web/setup/host-yourself/webfonts

Font Awseome lokal bei Shopware 6 - Anleitung

Font Awseome lokal bei Shopware 6 – Anleitung

Hier wird beschrieben, wie man grundsätzlich seine Font Awesome Icons lokal auf Shopware 6, oder einer x-beliebigen anderen Webseite einbinden kann. Zu Beginn wird man gleich aufgefordert, seine Font Awesome v6 Files bereitzuhalten.

Hier können wir die aktuelle Version (momentan Version 6) laden:
https://fontawesome.com/download

Font Awseome lokal bei Shopware 6 - Downoads

Font Awseome lokal bei Shopware 6 – Downoads

Wie im Screenshot zu sehen ist, können wir eine Version fürs Web und eine Version für den Desktop herunterladen. Wir wählen an dieser Stelle die For The Web Icons und da den linken Button mit Free For Web. So kommen wir an die gewünschten Icons und haben sie zumindest schonmal lokal auf unserem Rechner.

Weiter unten sehen wir auch, dass das Icon Set ständig aktualisiert wird. Heißt: Wer öfter Webseiten baut und Font Awesome Icons einbaut, sollte immer nach der aktuellen Version schauen, statt eine staubige Version aus seinem Archiv zu kramen und jungfräuliche Server zu laden.

5. Ein Blick in den Ordner

Ein Blick in den Ordner hat noch keinem geschadet, daher lasst uns mal reinsehen.

Font Awseome lokal bei Shopware 6 - Ordner

Font Awseome lokal bei Shopware 6 – Ordner

Wie wir sehen, finden wir eine Textdatei mit Infos zur Lizenz und zudem folgende Ordner:

• css
• js
• less
• metadata
• scss
• sprites
• svgs
• webfonts

Vorab: Wir werden definitiv nicht alle diese Dateien aus den ganzen unterschiedlichen Ordner benötigen. Welche wir genau brauchen, und wo wir die am besten hin-laden, das erkläre ich euch beim nächsten Punkt.

6. Font Awesome Dateien ins Shopware 6 Theme laden

Gehen wir mal davon aus, dass wir ein eigenes Theme verwenden. Hier gilt es zunächst einen Ordner mit dem Namen fonts und darin den Ordner fontawesome anzulegen.

Sofern der fonts Ordner in unserem Theme noch nicht angelegt wurde, dann sollten wir diesen unter folgendem Verzeichnis des Themes anlegen:

/src/Resources/app/storefront/src/assets

Das Verzeichnis für unsere Font Awesome Dateien sollte also wie folgt lauten:

/src/Resources/app/storefront/src/assets/fonts/fontawesome

Und hier laden wir nun diese beiden Ordner hoch:

css
webfonts

7. Font Awesome Dateien im head des Shopware 6 Themes verlinken

Als Nächstes, packen wir diesen Code in unseren Header. Auf der Font Awesome Seite wird es so beschrieben:


In unserem Fall sähe es dann aber so aus:

Das einzige, was ihr jetzt noch ändern müsst, ist der Name des Plugin Ordners.

Das ganze gehört dann so in unsere meta.html.twig Datei unseres Shopware 6 Themes;

{% block layout_head_stylesheet %}
{{ parent() }}

 

{% endblock %}

Anschließend gilt es über die Konsole folgenden 3 Befehle auszuführen:

php bin/console theme:compile
php bin/console assets:install
php bin/console cache:clear

wer lokal mit MAMP entwickelt, optiert zu:

./psh.phar storefront:build
php bin/console assets:install
php bin/console cache:clear

Mit dem ersten kompilieren wir das Theme, mit dem zweiten installieren wir die neuen Assets (unsere Font Awesome Dateien) und der letzen leert den Cache.

Sollten wir mit dem Customizing Plugin von ThemeWare arbeiten, sollte das Plugin einmal deaktiviert und anschließend wieder deaktiviert werden.

Im Quellcode können wir dann auch im head Bereich sehen, wie unser Code jetzt aussieht:

Font Awseome lokal bei Shopware 6 - Quellcode

Font Awseome lokal bei Shopware 6 – Quellcode

Ob da alles funktioniert, erkennt ihr daran, ob sich beim Klick auf einen der Links auch wirklich die dazugehörige Datei öffnet. Wenn nicht, dann stimmt irgendetwas noch nicht so wirklich.

8. Dateien per SCSS einbinden

Kommen wir zur Königsdisziplin, dem Einbinden der Font Awesome Icons per mit SCSS statt CSS. Bereit? Gut. Ich noch nicht… Ich mach mir eben einen Kaffee und gönne mir eine Milch-Schnitte. Vielleicht lease ich auch kurz noch eine Riva Athena 115.

Ok.. Ich bin einfach zu müde und mir fallen Sie Finger an. Also gibt es nur schonmal einen Wink mit dem Zaunpfahl statt die servierfertige Lösung. Also: Hier ist das Konzept ähnlich wie mit den LESS Dateien bei Shopware 5, genauer erklären wir das Ganze im dazugehörigen Beitrag, den wir oben bereits verlinkt hatten.

9. Es geht auch einfacher

Ja es geht einfacher, es gibt zum Beispiel Plugins die euch die Arbeit abnehmen können. Ich habe beim ersten Anlauf saftige 4 Stunden verbracht ein Icon zu Gesicht zu bekommen. Es kann einem also schon einiges an Geduld abfordern.

Die Plugins sind weiter unten verlinkt. Mit dem Blick auf die Bewertungen würde ich wahrscheinlich eher zum Foundation Plugin von moori tendieren, aber man kann ja beide kostenlos testen. Ich habe es aus Prinzip nicht gemacht, da jedes unnötige Plugin ein Plugin zu viel ist.

Mein Geheimtipp: Lasst es einfach von uns integrieren, so habt ihr keinen unnötigen Ballast in Form von Plugins und zudem seid ihr im Hinblick auf die DSGVO und den damit möglicherweise einhergehenden Abmahnungen auf der sicheren Seiten. Bist du bereit für deine loakl bei Shopware 6 eingebundenen Font Awesome Icons? Dann scrolle runter zu unserem Kontaktformular oder buche einen Termin über unser Kalender-Tool.

10. Weiterführende Links

Foundation Plugin (von moori)
https://forum.shopware.com/t/font-awesome-lokal-einbinden/86323

Font Awesome Integration Plugin (von almCode)
https://store.shopware.com/alm9999012372531f/font-awesome-fontawesome-fa-integration.html

Shopware Forum: Icon Font in Shopware 6?
https://forum.shopware.com/t/icon-font-in-shopware-6/64570

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Der Beitrag Font Awesome Icons lokal in Shopware 6 einbinden erschien zuerst auf Shopware Agentur | Great2Gether.


Geschützt: Multi-Channel Marketing: Verbinde Shopware 6 einfach mit Amazon, ebay, idealo und anderen Portalen

Shopware 6 Konfiguration | Teil 3/3

$
0
0

Bevor wir mit unserem Shop loslegen können, müssen einige Dinge konfiguriert werden. Nicht jeder Shop hat die gleichen Versandkosten, Zahlungsanbieter oder Verkaufskanäle. In diesem Teil sollen die wichtigsten Einstellungen, die für einen technisch reibungslosen Start mit dem Shop notwendig sind. Darum kümmern wir uns nun um die Shopware 6 Konfiguration.

Übersicht:

22. Blog einrichten

Wollen wir in unserem Store einen Blog einrichten, ist das von Haus aus nicht direkt möglich. Zum Glück gibt es ja genug Erweiterungen von externen Anbietern, die wir kostenlos aus dem Store downloaden können.

Dafür benutzen wir folgendes Plugin:

https://store.shopware.com/sas6294283137222f/blog-fuer-shopware-6.html

Shopware 6 Konfiguration - Blog einrichten - 1

Shopware 6 Konfiguration – Blog einrichten – 1

Laden wir das Plugin nun runter, erhalten wir die passende .zip Datei, welche wir im Admin-Bereich unseres Shops hochladen können.
Haben wir das Plugin hochgeladen, müssen wir es nur noch installieren und aktivieren.

Shopware 6 Konfiguration - Blog einrichten - 2

Shopware 6 Konfiguration – Blog einrichten – 2

Wollen wir nun das Plugin einstellen, klicken wir auf die drei Punkte ganz rechts und wählen konfigurieren. Jetzt öffnet sich die Seite des Plugins, auf der wir alle Einstellungen treffen können.
Im ersten Feld können wir einstellen, welche Seite der Einkaufswelt für den Blog verwendet werden soll. Mit einem Klick auf das Feld werden uns alle möglichen Seiten angezeigt.

Shopware 6 Konfiguration - Blog einrichten - 3

Shopware 6 Konfiguration – Blog einrichten – 3

Danach können wir die SEO-Meta Einstellungen für unseren Blog-Bereich anpassen, indem wir die Länge für Titel und Beschreibung vergeben.

Shopware 6 Konfiguration - Blog einrichten - 4

Shopware 6 Konfiguration – Blog einrichten – 4

Wollen wir nun die Blogseite anpassen, gehen wir in die Einkaufswelten unseres Stores. Dort finden wir nun die Blog Detail und Blog Listing Seite.

Shopware 6 Konfiguration - Blog einrichten - 5

Shopware 6 Konfiguration – Blog einrichten – 5

Zuerst wählen wir die Blog Listing Einkaufswelt aus.

Shopware 6 Konfiguration - Blog einrichten - 6

Shopware 6 Konfiguration – Blog einrichten – 6

Hier können wir optional noch einige Kleinigkeiten anpassen.
Ebenso geht das in der Blog-Detailseite.

Shopware 6 Konfiguration - Blog einrichten - 7

Shopware 6 Konfiguration – Blog einrichten – 7

Damit die Blogseiten richtig angezeigt werden, müssen wir diese aktivieren und einer Seite zuweisen. Dafür müssen wir auf Kataloge -> Kategorien in der Sidebar navigieren.
Hier sehen wir nun alle Kategorien und die Main-Navigation unseres Shops.

Shopware 6 Konfiguration - Blog einrichten - 8

Shopware 6 Konfiguration – Blog einrichten – 8

Bei unserem Demo-Shop heißt die Main-Navigation Katalog #1.
Jetzt klicken wir einfach rechts auf die 3 Punkte der Kategorie, welcher wir den Blog-Bereich zuordnen wollen. Wollen wir die Blogseite in die Navigation einbauen, ist es wichtig, dass wir keine Unterkategorie erstellen.

Shopware 6 Konfiguration - Blog einrichten - 9

Shopware 6 Konfiguration – Blog einrichten – 9

Haben wir die Kategorie nun erstellt, öffnet sich auf der rechten Seite das Optionsfenster für diese Kategorie.

Shopware 6 Konfiguration - Blog einrichten - 10

Shopware 6 Konfiguration – Blog einrichten – 10

Hier können wir nun noch einmal den Titel der Seite bearbeiten. Des Weiteren lassen wir die Einstellung für den Kategorie-Typ auf Kategorie. Danach tragen wir noch passende Tags für unseren Blog Bereich ein, welcher dann besser über die Shopinteren Suchleiste gefunden werden kann.
Achtung: Achte darauf, dass die Kategorie aktiviert ist.

Shopware 6 Konfiguration - Blog einrichten - 11

Shopware 6 Konfiguration – Blog einrichten – 11

Ansonsten wird diese nicht angezeigt.
Nun kommt der wirklich wichtige Teil. Wir müssen der Kategorie noch das richtige Layout zuweisen. Dafür klicken wir auf den Button, jetzt öffnet sich ein Fenster, in dem wir alle Layouts sehen können.

Shopware 6 Konfiguration - Blog einrichten - 12

Shopware 6 Konfiguration – Blog einrichten – 12

Dort wählen wir das Blog Listing Layout aus und klicken auf speichern.
Scrollen wir weiter runter, sehen wir die SEO Einstellungen für die Blog-Kategorie, welche wir auch dringend ausfüllen sollten.

Shopware 6 Konfiguration - Blog einrichten - 13

Shopware 6 Konfiguration – Blog einrichten – 13

Haben wir die Kategorie eingestellt, klicken wir oben rechts auf Speichern.
Navigieren wir nun in das Frontend unseres Shops, sehen wir oben in der Menüleiste jetzt den Eintrag Blog.

Shopware 6 Konfiguration - Blog einrichten - 14

Shopware 6 Konfiguration – Blog einrichten – 14

Mit einem Klick auf diesen, gelangen wir zu der Blog Listing Seite, genau wie wir es eingestellt haben. Diese sieht dann so aus:

Shopware 6 Konfiguration - Blog einrichten - 15

Shopware 6 Konfiguration – Blog einrichten – 15

Hier finden wir nun alle von uns erstellten Beiträge. Die Beiträge können oben links durch die Dropdown Kategorien und Autor gefiltert werden.
Um einen Blogartikel zu erstellen, navigieren wir auf Inhalte -> Blog.

Shopware 6 Konfiguration - Blog einrichten - 16

Shopware 6 Konfiguration – Blog einrichten – 16

Zuerst müssen wir einen Autor anlegen. Dafür klicken wir links unter Blog auf Autor.

Shopware 6 Konfiguration - Blog einrichten - 17

Shopware 6 Konfiguration – Blog einrichten – 17

Standardmäßig wird hier ein Test-Autor angelegt. Diesen müssen wir zuerst durch klick auf die 3 Punkte ganz rechts löschen. Haben wir dies getan, können wir nun oben auf Autor erstellen klicken.

Shopware 6 Konfiguration - Blog einrichten - 18

Shopware 6 Konfiguration – Blog einrichten – 18

Hier können wir nun zuerst die Anrede, den Autoren, auswählen. Dann den Vor und Nachnamen. Der Anzeigename wird später als Username im Blog-Bereich angezeigt. In das Feld E-Mail tragen wir die E-Mail des Autors ein, nicht die des Shops.
In dem Feld Beschreibung können wir nun einige Worte über den Autoren verlieren, damit Kunden wissen, von wem der Beitrag stammt, den sie gerade lesen.

Zu guter Letzt, können wir unseren Autoren noch ein Gesicht geben, indem wir einen Avatar für ihn einstellen.
Haben wir alles eingetragen, klicken wir auf speichern.
Navigieren wir jetzt zurück in die Autorenübersicht, sehen wir unseren neu erstellten Autor.

Shopware 6 Konfiguration - Blog einrichten - 19

Shopware 6 Konfiguration – Blog einrichten – 19

Jetzt können wir mit dem ersten Beitrag loslegen. Dafür klicken wir links wieder auf Blog.

Shopware 6 Konfiguration - Blog einrichten - 20

Shopware 6 Konfiguration – Blog einrichten – 20

Hier sehen wir erstmal nichts, da wir das Plugin gerade erst neu erstellt haben. Wollen wir bestimmte Kategorien für unsere Beiträge anlegen, müssen wir dazu in der Spalte Blog Kategorien auf die 3 Punkte neben der Kategorie allgemeines klicken.

Shopware 6 Konfiguration - Blog einrichten - 21

Shopware 6 Konfiguration – Blog einrichten – 21

Hier können wir nun per Klick auf neue Kategorie davor oder danach eine neue Oberkategorie anlegen. Zu Testzwecken legen wir die Kategorien Gewürze und Fleisch an.

Shopware 6 Konfiguration - Blog einrichten - 22

Shopware 6 Konfiguration – Blog einrichten – 22

Um eine Unterkategorie zu erstellen, klicken wir auf die 3 Punkte neben der Kategorie, welcher wir eine neue Unterkategorie zuordnen wollen und wählen dort neue Unterkategorie.

Shopware 6 Konfiguration - Blog einrichten - 23

Shopware 6 Konfiguration – Blog einrichten – 23

Nun vergeben wir einen Namen und klicken auf das Häkchen.

Shopware 6 Konfiguration - Blog einrichten - 24

Shopware 6 Konfiguration – Blog einrichten – 24

Jetzt haben wir die Kategorien eingestellt. Um nun einen neuen Beitrag zu erstellen, klicken wir oben rechts auf den Button Blog-Beitrag erstellen.

Darauf öffnet sich eine neue Seite mit vielen Einstellungsmöglichkeiten.
Zuerst müssen wir einen Titel für unseren Beitrag vergeben. Wichtig zu beachten ist, dass der Titel SEO-relevant ist, daher sollten wir auf entsprechende Keywords achten.

Shopware 6 Konfiguration - Blog einrichten - 25

Shopware 6 Konfiguration – Blog einrichten – 25

Haben wir einen Titel vergeben, müssen wir nun einen Teaser Text eintragen, welcher als kurzer Klappentext auf der Listing-Seite des Blogs angezeigt wird und unseren Beitrag kurz und knapp beschreibt. Genau wie bei dem Titel ist diese Beschreibung ebenfalls SEO-relevant.

Shopware 6 Konfiguration - Blog einrichten - 26

Shopware 6 Konfiguration – Blog einrichten – 26

Anschließend können wir jetzt ein passendes Bild zu unserem Beitrag auswählen. Achte hier dabei darauf, dass das Bild über eine passende Auflösung verfügt, damit es in allen Größen gut aussieht.

Shopware 6 Konfiguration - Blog einrichten - 27

Shopware 6 Konfiguration – Blog einrichten – 27

Jetzt geht es an die Substanz unseres Beitrages. Der Inhalt!
Hier kann und sollte sich ausgetobt werden, da die Länge und die Keyword-Dichte des Textes ebenfalls SEO-relevant ist.
In dem Texteditor des Beitrags Inhaltes bekommen wir oben wie aus anderen Schreibprogrammen bekannt einige Formatierungsmöglichkeiten an die Hand.

Shopware 6 Konfiguration - Blog einrichten - 28

Shopware 6 Konfiguration – Blog einrichten – 28

Mit einem Klick auf das Code-Symbol rechts können wir auch zu einem HTML-Editor wechseln.
Auf der rechten Seite sehen wir nun den Slug, also den Beitragsnamen, welcher im Link enthalten ist.

Shopware 6 Konfiguration - Blog einrichten - 29

Shopware 6 Konfiguration – Blog einrichten – 29

Danach können wir einstellen, ob der Blogbeitrag aktiv sein soll und ob unser Blog Beitragsbild im Listing angezeigt werden soll.

Shopware 6 Konfiguration - Blog einrichten - 30

Shopware 6 Konfiguration – Blog einrichten – 30

Darauf können wir noch das Erstellungsdatum eintragen.

Shopware 6 Konfiguration - Blog einrichten - 31

Shopware 6 Konfiguration – Blog einrichten – 31

Haben wir das Datum eingetragen, machen wir darunter mit dem Autor des Beitrages weiter. Aus einem Dropdown Menü können wir diesen aus den vorher angelegten auswählen.

Shopware 6 Konfiguration - Blog einrichten - 32

Shopware 6 Konfiguration – Blog einrichten – 32

Nun folgt ein weiterer wichtiger Teil. Wir müssen den Blogbeitrag jetzt der richtigen Kategorie zu ordnen. Dafür klicken wir auf das Feld Kategorien.
Hier öffnet sich dann das Menü, aus dem wir die Ober und Unterkategorie auswählen müssen.

Shopware 6 Konfiguration - Blog einrichten - 33

Shopware 6 Konfiguration – Blog einrichten – 33

Falls nötig, können wir auch mehrere Kategorien dem Beitrag zuordnen. Dafür wählen wir einfach alle aus, die wir nutzen wollen.

Shopware 6 Konfiguration - Blog einrichten - 34

Shopware 6 Konfiguration – Blog einrichten – 34

Darauf folgen dann die SERP Optionen. Hier können wir einstellen, was in der Google Suche der Seiten angezeigt werden soll. Achtet hier auf eine angemessene Keyworddichte und Textlänge.

Shopware 6 Konfiguration - Blog einrichten - 35

Shopware 6 Konfiguration – Blog einrichten – 35

Wir erhalten, nachdem wir etwas eingetippt haben, über den Boxen eine Vorschau.

Shopware 6 Konfiguration - Blog einrichten - 36

Shopware 6 Konfiguration – Blog einrichten – 36

Wie man auf dem Screenshot gut sieht, ist der Titel auf 60 Zeichen und die Beschreibung auf 160 Zeichen begrenzt.

Haben wir nun alles erfolgreich eingetragen, klicken wir oben rechts auf Speichern.
Sollte alles geklappt haben, erhalten wir eine Meldung.

Shopware 6 Konfiguration - Blog einrichten - 37

Shopware 6 Konfiguration – Blog einrichten – 37

Navigieren wir jetzt zurück zu der Beitragsübersicht, finden wir unseren erstellten Blogbeitrag.

Shopware 6 Konfiguration - Blog einrichten - 38

Shopware 6 Konfiguration – Blog einrichten – 38

Wollen wir uns diesen ansehen, gehen wir auf die Einkaufswelt Seite, der wir den Blog zugeordnet haben.

23. Warenkorb Optionen

Ein funktionierender Warenkorb ist wohl das Wichtigste in einem gewinnorientierten Shop. Daher ist es besonders wichtig, diesen richtig zu konfigurieren.
Wenn wir unseren Warenkorb konfigurieren wollen, klicken wir auf die Sidebar Einstellungen -> Warenkorb.
Danach befinden wir uns auf folgender Seite:

Shopware 6 Konfiguration - Warenkorb Optionen - 1

Shopware 6 Konfiguration – Warenkorb Optionen – 1

Maximale Auswahlmenge: Hier können wir bestimmen, wie viele Produkte wir als Maximum unsere Kunden in einen Warenkorb legen lassen wollen.
Lieferzeit im Warenkorb anzeigen: Wollen wir, dass die Lieferzeit der Produkte vor dem Kauf im Warenkorb noch einmal angezeigt wird, sollten wir diese Funktion aktivieren.
Stornierungen erlauben: Mit dieser Option können wir die Stornierungsfunktion im Bestellformular aktivieren oder deaktivieren.
Kommentarfeld: Das Kommentarfeld gibt unseren Kunden die Möglichkeit uns als Betreiber eine wichtige Nachricht zu seiner Bestellungen zukommen zu lassen.

Haben wir alle Einstellungen erfolgreich gesetzt, klicken wir oben rechts auf Speichern.

24. Registrierung im Shop

Wollen wir bestimmte Informationen von unseren Kunden bei der Registrierung bekommen, können wir dies in den Einstellungen unseres Shops erledigen.
Dafür müssen wir in die Einstellungen -> Registrierung und Anmeldung

Shopware 6 Konfiguration - Registrierung im Shop - 1

Shopware 6 Konfiguration – Registrierung im Shop – 1

Hier können wir verschiedene Optionen aktivieren und deaktivieren.
Passwort-Mindestlänge: Diese sollten wir auf 8 Zeichen belassen. Alles darunter ist eine potenzielle Sicherheitslücke für unseren Shop. Wer auf Nummer sicher gehen will, kann diese Mindestlänge beliebig erhöhen. Beachte aber dabei, dass deine Kunden sich dies Passwort auch merken müssen.
Kunden-IP-Adressen nicht anonym speichern: Diese Option sollten wir für einen deutschen Shop unbedingt deaktivieren! Dadurch entgehen wir einer möglichen Abmahnung wegen Datenschutzverstößen.
Titel anzeigen: Hier können wir bestimmen, ob Titel wie Doktor o.ä bei der Registrierung abgefragt werden.
E-Mail-Adresse muss zweimal eingeben werden: Mit dieser Option bestimmen wir, ob die E-Mail-Adresse des Kunden von ihm zweimal eingeben werden muss. Das 2-malige eingeben vermeidet häufig Tippfehler.
Passwort muss zweimal eingeben werden: Diese Option empfiehlt sich aktiviert zu werden, so können Kunden sichergehen, dass das eingegebene Passwort keine Tippfehler enthält.
Telefonnummer anzeigen: Bestimme mit diesem Feld, ob die Telefonnummer abgefragt werden soll.
Telefonnummer als Pflichtfeld behandeln: Hier bestimmen wir, ob das Telefonnummer-Feld ein Pflichtfeld ist.
Geburtstag anzeigen: Hier bestimmen wir, ob das Geburtsdatum abgefragt wird.
Geburtsdatum als Pflichtfeld behandeln: Aktivere dies, wenn du das Geburtsdatum deiner Kunden unbedingt wissen musst.
Auswahl zwischen Firmen und Privatkonto: Diese Option ist besonders wichtig, wenn wir Produkte anbieten, die auch geschäftlich erworben werden können.
Sitzungsdaten bei Abmeldung löschen: Hier können wir entscheiden, ob Kunden nach dem der Seite ausgeloggt werden sollen.
Haben wir alle Einstellungen für unseren Shop getroffen, klicken wir oben rechts auf Speichern.

25. Steuersätze bearbeiten

Wollen wir die Steuersätze unseres Shops bearbeiten, müssen wir dazu erst einmal in die Einstellung des Steuer Bereiches.

Shopware 6 Konfiguration - Steuersätze bearbeiten - 1

Shopware 6 Konfiguration – Steuersätze bearbeiten – 1

Hier finden wir jetzt alle bisherigen Standard Steuersätze, die direkt von Shopware vorinstalliert werden. Haben wir aber einen Shop, der in mehrere Länder verkauft, müssen wir für jedes Land auch den gegebenen Steuersatz anlegen.
In meinem Beispiel legen wir einen MwST für Polen an.
Wir klicken also oben rechts auf den Button “Steuer anlegen” und gelangen dadurch in den Bereich, wo wir den neuen Steuersatz anlegen können.

Shopware 6 Konfiguration - Steuersätze bearbeiten - 2

Shopware 6 Konfiguration – Steuersätze bearbeiten – 2

Unter Name tragen wir den Namen unseres Steuersatzes ein.

Shopware 6 Konfiguration - Steuersätze bearbeiten - 3

Shopware 6 Konfiguration – Steuersätze bearbeiten – 3

Im Feld Standard-Steuersatz tragen wir den Prozentwert unseres Steuersatzes ein. In Polen liegt der Standard MwST bei 23 %.

Shopware 6 Konfiguration - Steuersätze bearbeiten - 4

Shopware 6 Konfiguration – Steuersätze bearbeiten – 4

Jetzt klicken wir oben rechts auf Speichern und machen dann mit den Ländereinstellungen weiter.
Scrollen wir nun weiter runter, finden wir den Länderbereich. Dort können wir dem Steuersatz ein Land zuweisen. Um dies Zutun klicken wir auf Land hinzufügen.

Shopware 6 Konfiguration - Steuersätze bearbeiten - 5

Shopware 6 Konfiguration – Steuersätze bearbeiten – 5

Jetzt öffnet sich folgendes Fenster:

Shopware 6 Konfiguration - Steuersätze bearbeiten - 6

Shopware 6 Konfiguration – Steuersätze bearbeiten – 6

Hier klicken wir zuerst auf den Dropdown Schalter Land und wählen in meinem Fall Polen aus.

Shopware 6 Konfiguration - Steuersätze bearbeiten - 7

Shopware 6 Konfiguration – Steuersätze bearbeiten – 7

Nachdem wir das Land ausgewählt haben, widmen wir uns dem nächsten Feld.
Das Feld mit der Aufschrift gilt für lässt uns bestimmen, in welchem Bereich des Landes unser angegebener MwST Satz gilt.

Shopware 6 Konfiguration - Steuersätze bearbeiten - 8

Shopware 6 Konfiguration – Steuersätze bearbeiten – 8

Wir wollen für das ganze Land Polen die MwST vergeben. Daher wähle ich gesamte Land aus.
Im nächsten Feld Steuersatz tragen wir wieder den Standard Steuersatz ein.
Haben wir alles erfolgreich eingetragen, klicken wir nur noch auf Speichern.

Shopware 6 Konfiguration - Steuersätze bearbeiten - 9

Shopware 6 Konfiguration – Steuersätze bearbeiten – 9

Jetzt taucht unser angelegter Steuersatz im Bereich Land auf und ist ab sofort gültig.

Shopware 6 Konfiguration - Steuersätze bearbeiten - 10

Shopware 6 Konfiguration – Steuersätze bearbeiten – 10

26. Rabatte und Aktionen

Rabatte und Aktion sind aus Marketing-Sicht eine super Chance den ganz großen Umsatz zu machen. In diesem Kapitel zeige ich euch, wie ihr solche Aktionen für eure Kunden anlegen könnt.
Zuerst müssen wir in der linken Sidebar auf den Punkt Marketing -> Rabatte und Aktionen

Shopware 6 Konfiguration - Rabatte und Aktionen - 1

Shopware 6 Konfiguration – Rabatte und Aktionen – 1

Wollen wir nun eine neue Aktion anlegen, klicken wir auf den blauen Button Aktion anlegen. Links neben dem blauen Button können wir die Sprachkategorie auswählen, in der wir die Aktion anlegen wollen.
Jetzt befinden wir uns in den Einstellungen unserer neuen Aktion.

Shopware 6 Konfiguration - Rabatte und Aktionen - 2

Shopware 6 Konfiguration – Rabatte und Aktionen – 2

In dieses Feld geben wir den Namen unserer Aktion ein, beispielsweise Summersale.

Shopware 6 Konfiguration - Rabatte und Aktionen - 3

Shopware 6 Konfiguration – Rabatte und Aktionen – 3

Mit dieser Checkbox können wir unsere Aktion aktiv schalten. Ist diese Option deaktiviert, ist unsere Aktion nicht gültig.

Shopware 6 Konfiguration - Rabatte und Aktionen - 4

Shopware 6 Konfiguration – Rabatte und Aktionen – 4

Hier wählen wir den Verkaufskanal aus, in dem unsere Aktion gültig sein soll.

Shopware 6 Konfiguration - Rabatte und Aktionen - 5

Shopware 6 Konfiguration – Rabatte und Aktionen – 5

Jetzt wählen wir den Zeitraum aus, in der unsere Aktion laufen soll.

Shopware 6 Konfiguration - Rabatte und Aktionen - 6

Shopware 6 Konfiguration – Rabatte und Aktionen – 6

Anzahl insgesamt: Hier können wir unsere Aktion auf eine bestimmte Menge an Teilnehmern begrenzen.
Anzahl pro Kunde: In diesem Feld können wir einstellen, wie oft ein Kunde unsere Aktion nutzen kann.

Shopware 6 Konfiguration - Rabatte und Aktionen - 7

Shopware 6 Konfiguration – Rabatte und Aktionen – 7

Hier können wir auswählen, ob unsere Kunden bestimmte Aktionen miteinander kombinieren können oder nicht.

Aktionscodes:
Jetzt können wir uns überlegen, ob wir unsere Aktion mit einem Code verbinden wollen. Wenn ja, müssen wir einfach nur die Checkbox aktivieren.

Shopware 6 Konfiguration - Rabatte und Aktionen - 8

Shopware 6 Konfiguration – Rabatte und Aktionen – 8

Hier können wir einen Code eingeben, welchen unsere Kunden beim Abschließen ihres Kaufes angeben können.
Haben wir alle Einstellungen getroffen, klicken wir oben rechts auf Speichern.

27. Shopware 6 Updates

Gerade im schnelllebigen E-Commerce Business sind Updates und Schnelligkeit essenziell. In diesem Kapitel zeige ich euch, wie ihr euren Shop updaten könnt und auf was ihr dabei achten müsst.
Sollte ein neues Update für unseren Store verfügbar sein, sehen wir dies normalerweise beim neuen Login in unseren Adminbereich:

Shopware 6 Konfiguration - Shopware 6 Updates - 1

Shopware 6 Konfiguration – Shopware 6 Updates – 1

Wir klicken also erstmal auf Update öffnen.
Jetzt kommen wir auf die Detailseite des Updates, dort finden wir alle wichtigen Informationen zu diesem Update.

Shopware 6 Konfiguration - Shopware 6 Updates - 2

Shopware 6 Konfiguration – Shopware 6 Updates – 2

Hier sehen wir also erst einmal die genauen Details zum Update:
Version: 6.2.3
Art des Updates: Sicherheitsupdate
Gerade Sicherheitsupdates sollten unbedingt gemacht werden. Shopware schließt in diesen Updates gefährliche Sicherheitslücken, die sich andere zu nutzen machen könnten. Ein Shopsystem auf dem neuesten Stand ist also schwieriger zu knacken als ein Shopsystem, das noch in der Alpha-Version installiert ist.
Im Changelog Fenster sehen wir die Kennungen der einzelnen Meldungen, die User im Bugtracker (Sammelort für alle Fehler in Shopware) gemeldet haben. Die Codes wie z. B. NEXT-9176 / CVE-2020-13971 sind die Kennzeichnungen der einzelnen Fehler. Unter der orangen Box finden wir die normalen neuen Funktionen. Diese sind ebenfalls mit einem Code verbunden: NEXT-9493. Dies sind die ebenfalls Codes des Bugtrackers, die Hinweise auf fehlende Funktionen gegeben haben.
Unter der Bugtracker Box finden wir die Systemvoraussetzungen, die wir für dieses Update erfüllen müssen. Solltest du nichts an deiner Installation geändert haben, werden im Normalfall hierbei keine Probleme anfallen.

Shopware 6 Konfiguration - Shopware 6 Updates - 3

Shopware 6 Konfiguration – Shopware 6 Updates – 3

Voraussetzung: Hier sehen wir die genaue Voraussetzung für das Update
Status: Hier sehen wir den Status der Voraussetzung

Des Weiteren sollten wir beachten, dass alle unsere installierten Plugins bereits mit der Version kompatibel sind. Shopware bietet im Update-Kontext am Ende der Seite ein Feld, welches uns zeigt, welche Plugins bereits upgedatet wurden.

Shopware 6 Konfiguration - Shopware 6 Updates - 4

Shopware 6 Konfiguration – Shopware 6 Updates – 4

Wichtig hierbei noch zu wissen ist, dass, auch wenn ein Plugin mal nicht direkt am ersten Tag kompatibel ist, die Plugin Hersteller meistens sehr schnell reagieren und ihr Plugin auf die neueste Version updaten. Wird also ein Plugin als nicht kompatibel angezeigt, klicken wir auf die 3 Punkte und öffnen den Plugin Manager.

Shopware 6 Konfiguration - Shopware 6 Updates - 5

Shopware 6 Konfiguration – Shopware 6 Updates – 5

Im Plugin Manager deaktivieren wir die Plugins, die nicht kompatibel sind.

Sollten alle Plugins jetzt mit Bereits kompatibel angezeigt werden, scrollen wir wieder zum Start der Seite. Oben rechts finden wir den Button mit der Aufschrift Update starten, diesen klicken wir jetzt an.
Jetzt erscheint ein kleines Pop-up, welches darauf hinweist, dass wir ein Backup unseres Stores anlegen sollten. Wie wir ein Backup erstellen, habe ich bereits im vorherigen Kapitel erklärt. Daher haken wir die Checkbox einfach an und klicken auf Installieren.

Shopware 6 Konfiguration - Shopware 6 Updates - 6

Shopware 6 Konfiguration – Shopware 6 Updates – 6

Jetzt wird unser Update ausgeführt.

Shopware 6 Konfiguration - Shopware 6 Updates - 7

Shopware 6 Konfiguration – Shopware 6 Updates – 7

Danach gelangen wir auf die Aufräumen-Seite des Updates. Dort werden alle Dateien angezeigt, welche in der neuen Version nicht mehr benötigt werden.

Shopware 6 Konfiguration - Shopware 6 Updates - 8

Shopware 6 Konfiguration – Shopware 6 Updates – 8

Wir scrollen einfach wieder bis zum Ende der Seite und klicken auf Weiter.
Super! Wir haben unseren Shop erfolgreich upgedatet. Um das Update abzuschließen, klicken wir auf Update abschließen. Danach werden wir wieder in unser Backend zurückgeleitet.

Shopware 6 Konfiguration - Shopware 6 Updates - 9

Shopware 6 Konfiguration – Shopware 6 Updates – 9

28. Eine Währung hinzufügen

Haben wir einen Shop, der über mehrere Sprachen verfügt, ist es wichtig, dass wir für jeden Kunden auch die richtige Währung anbieten können.
Wollen wir eine Währung hinzufügen, müssen wir zuerst wieder in das Backend unserer Shops. Dort finden wir unter Einstellungen -> Shop -> Währungen.

Shopware 6 Konfiguration - Eine Währung hinzufügen - 1

Shopware 6 Konfiguration – Eine Währung hinzufügen – 1

Klicken wir nun oben rechts auf Währung anlegen:

Shopware 6 Konfiguration - Eine Währung hinzufügen - 2

Shopware 6 Konfiguration – Eine Währung hinzufügen – 2

Hier füllen wir nun alle wichtigen Felder aus.

Name: Hier geben wir den Namen der Währung an.
Kurzname: Hier geben wir den kurz Kenn Namen an bspw. USD
Faktor: Hier tragen wir den Faktor der Währung ein
ISO-Code: In dieses Feld tragen wir den gültigen ISO-Code der Währung ein. Diese findet ihr hier: https://de.iban.com/currency-codes
Symbol: Hier tragen wir das Symbol der Währung ein, bspw. € oder $
Nachkommastellen: Hier tragen wir ein, wie viele Nachkommastellen wir auf Rechnungen in der jeweiligen Währung haben wollen.
So sieht der Bereich korrekt gefüllt für z. B. Dollar aus:

Shopware 6 Konfiguration - Eine Währung hinzufügen - 3

Shopware 6 Konfiguration – Eine Währung hinzufügen – 3

29. Textbausteine

Shopware gibt Shopbetreibern eine einfache Lösung, bestehende Textelemente im Shop mit wenig Aufwand um zu schreiben. Diese heißen Textbausteine. Textbausteine werden im Backend editiert und im Frontend ausgegeben.

Um die Einstellungen zu den Textbausteinen zu finden, navigieren wir im Backend unseres Shops zu Einstellungen → Textbausteinen.

Shopware 6 Konfiguration - Textbausteine - 1

Shopware 6 Konfiguration – Textbausteine – 1

Klicken wir auf Textbausteine, öffnet sich folgendes Fenster:

Shopware 6 Konfiguration - Textbausteine - 2

Shopware 6 Konfiguration – Textbausteine – 2

Hier haben wir nun für jede verwendete Sprache in unserem Shop ein eigenes Set. Wollen wir das Frontend für die Deutsche Sprache ändern, klicken wir neben dem deutschen Set rechts auf die 3 Punkte.

Shopware 6 Konfiguration - Textbausteine - 3

Shopware 6 Konfiguration – Textbausteine – 3

Hier wählen wir dann bearbeiten.

Shopware 6 Konfiguration - Textbausteine - 4

Shopware 6 Konfiguration – Textbausteine – 4

Hier sehen wir nun alle Texte, die im Frontend ausgegeben werden.
Im Normalfall haben wir unten 25 Seiten mit je 25 möglichen Textbausteinen, die wir anpassen können.

Oben befindet sich die Suche, mit der wir nach dem Text suchen können, welchen wir ändern wollen.

Shopware 6 Konfiguration - Textbausteine - 5

Shopware 6 Konfiguration – Textbausteine – 5

Nehmen wir mal an, wir wollen den Placeholder im Suchfeld ändern.

Shopware 6 Konfiguration - Textbausteine - 6

Shopware 6 Konfiguration – Textbausteine – 6

Folgender Text soll geändert werden: “Suchbegriff …”.
Jetzt gehen wir also in die Suche bei den Textbausteinen, dort geben wir einfach den Text ein, welcher von Haus aus im Frontend ausgeben wird, also “Suchbegriff …”.

Shopware 6 Konfiguration - Textbausteine - 7

Shopware 6 Konfiguration – Textbausteine – 7

Jetzt bekommen wir den richtigen Textbaustein angezeigt.
Wollen wir diesen nun ändern, klicken wir rechts auf die 3 Punkte und klicken auf bearbeiten.

Shopware 6 Konfiguration - Textbausteine - 8

Shopware 6 Konfiguration – Textbausteine – 8

Folgende Seite öffnet sich nun:

Shopware 6 Konfiguration - Textbausteine - 9

Shopware 6 Konfiguration – Textbausteine – 9

Oben sehen wir den technischen Namen des Textbausteins, darunter befindet sich dann das, was wir wirklich brauchen. Unter Übersetzungen befindet sich der Text, den wir ändern wollen. Dort tragen wir dann einfach unseren Text ein.

Shopware 6 Konfiguration - Textbausteine - 10

Shopware 6 Konfiguration – Textbausteine – 10

Haben wir den gewünschten Text eingetragen, klicken wir oben rechts einfach auf Speichern. Nach erfolgreichem Speichern, laden wir das Frontend unseres Shops einfach neu und siehe da, unser Text wird angezeigt.

Shopware 6 Konfiguration - Textbausteine - 11

Shopware 6 Konfiguration – Textbausteine – 11

30. Entwickler Modus aktivieren

Wollen wir testen, wie schnell unser Shop lädt und ob das Frontend richtig funktioniert, können wir ein kostenloses Plugin aus dem Store nutzen.
Dafür empfiehlt sich am besten:
https://store.shopware.com/ultra21756184677f/entwickler-modus-sw6.html

Shopware 6 Konfiguration - Entwickler Modus aktivieren - 1

Shopware 6 Konfiguration – Entwickler Modus aktivieren – 1

Haben wir das Plugin heruntergeladen, müssen wir es im Shop Backend hochladen und installieren.
Haben wir dies erfolgreich gemacht, sieht das ganze so aus:

Shopware 6 Konfiguration - Entwickler Modus aktivieren - 2

Shopware 6 Konfiguration – Entwickler Modus aktivieren – 2

Um das Plugin zu konfigurieren, klicken wir auf die 3 Punkte und dann auf konfigurieren.

Shopware 6 Konfiguration - Entwickler Modus aktivieren - 3

Shopware 6 Konfiguration – Entwickler Modus aktivieren – 3

Dann öffnet sich folgendes Fenster:

Shopware 6 Konfiguration - Entwickler Modus aktivieren - 4

Shopware 6 Konfiguration – Entwickler Modus aktivieren – 4

Hier finden wir nun alle Einstellungen, die für uns wichtig sind.

Mit dem ersten Schalter können wir entscheiden, ob das Plugin im Frontend angezeigt werden soll.
Mit Dump einschalten, aktivieren wir die Dump-Funktion.
Wollen wir die Ladezeiten unseres Shops sehen, müssen wir die Symfony Menüleiste aktivieren.

Wenn wir alles eingestellt haben, öffnen wir das Frontend.
Dort bekommen wir ganz oben folgendes angezeigt:

Shopware 6 Konfiguration - Entwickler Modus aktivieren - 5

Shopware 6 Konfiguration – Entwickler Modus aktivieren – 5

Shopware 6 Konfiguration - Entwickler Modus aktivieren - 6

Shopware 6 Konfiguration – Entwickler Modus aktivieren – 6

In diesem Bereich bekommen wir alle wichtigen Informationen über unseren Store. Hier können wir ebenfalls ablesen, ob alle Scripts, die wir benutzen erfolgreich geladen wurden.
Die Symfony Leiste finden wir nun am unteren Bildschirmrand.

Shopware 6 Konfiguration - Entwickler Modus aktivieren - 7

Shopware 6 Konfiguration – Entwickler Modus aktivieren – 7

Hier sehen wir alle wichtigen Meldungen über unseren Shop.

Ein digitales Produkt verkaufen
Wollen wir ein digitales Produkt in unserem Shopware 6 Store wie beispielsweise ein E-Book, welches Kunden direkt nach dem Kauf aus dem Account downloaden können, müssen wir ein externes Plugin aus dem Community-Store downloaden, weil Shopware diese Funktion leider noch nicht eingebunden hat.

Um digitale Produkte zu Vertreiber, empfehlen wir das Plugin von shapeandshift. Dieses hat bereits einige Downloads im Community Store und bietet reichlich Funktionen, die wir nutzen können.

Hier geht es zum Plugin:
https://store.shopware.com/sas9155591716916/esd/downloads-fuer-shopware-6.html#

Pickware
Pickware ist mit die bekannteste Warenwirtschaft für Shopware 5 und 6, mit über 620 Downloads ist es auch das beliebteste Warenwirtschafts-Plugin im Store. Pickware eignet sich auch perfekt für Anfänger, die gerade erst angefangen haben, mit Shopware zu arbeiten, da es direkt in Shopware integriert ist und wir nur noch wenige Klicks machen müssen bis es richtig läuft. Des Weiteren wird das Plugin durch ständige Updates und Feature-Erweiterungen weiterentwickelt.
Hier ein Auszug aus den Funktionen, welche im Januar 2021 verfügbar sind:

-Mehrlagerfähigkeit mit definierbarem Standardlager
-Chaotische Lagerhaltung (Mehrere Lagerplätze je Produkt und Lager)
-Standardlagerplätze je Produkt und Lager
-Pickliste zur Kommissionierung
-Automatische Bestandsausbuchung beim Versenden einer Bestellung
-Automatische Bestandseinbuchung beim Retournieren einer Bestellung
-Filterbare und exportierbare Bestandsübersicht aller Produkte
-Definierbarer Meldebestand je Produkt
-Tägliche Benachrichtigung über alle Produkte, die den Meldebestand erreicht haben
-Verwaltung von Lieferanten inklusive Produkt-Lieferanten-Zuordnung
-Protokoll aller Warenbewegungen

Wollen wir also ein einfach zu installierbares Warenwirtschafts-Plugin haben, sollten wir definitiv Pickware berücksichtigen.

Debugging und Fehler beheben

Wenn wir unseren Shop nur im Produktivmodus, also den Verkauf aktiviert haben, betreiben, sehen wir, falls Fehler auftreten, eine meistens nichts sagende Information über den Fehler. Wollen wir diesem Fehler aber genauer auf die Spur kommen, müssen wir unseren Shop mithilfe von Debugging untersuchen.

Dafür müssen wir zuerst den Entwicklermodus in unserem Shop aktivieren. Dies tun wir, indem wir per FTP in unser Shopware Installations-Verzeichnis navigieren und die Datei mit der Endung .env suchen. In dieser ändern wir dann folgende Zeile:
ACHTUNG: Sollte die Datei nicht angezeigt werden, müssen wir in unserem FTP-Programm die Einstellung “versteckte Dateien anzeigen” Aktivieren.

APP_ENV=prod

Zu

APP_ENV=dev

Nachdem wir diese Zeilen Code angepasst haben, müssen wir den Cache unseres Shops leeren. Dies tun wir am einfachsten über die Konsole mit folgendem Befehl:

php bin/console cache:clear

Danach befindet sich unser Shop im Entwicklermodus.

Logdateien finden

Wollen wir die Logdateien unseres Shops finden, müssen wir uns zuerst per FTP Verbindung in den Installationspfad unseres Shops begeben. Dort finden wir einen Ordner /var/ in diesem liegt ein weiterer Ordner, /log also befinden wir uns nun in folgendem Verzeichnis:
/var/log/

Wollen wir ausführliche Ausgaben in der Logdatei bekommen, müssen wir wie oben beschreiben den Entwicklermodus aktivieren. Danach finden wir die aktuellen Logs unseres Shops in der dev.log Datei.

Sollte all dies nicht helfen, können wir noch weitere Log Dateien einsehen wie z. B. die PHP-Logdateien. Da diese Dateien von Hoster zu Hoster unterschiedlich abgelegt werden, melden wir uns am besten bei unserem Hoster und fragen nach der Datei. Dieser wird uns diese dann zu schicken.

Haben wir nun die Logdateien gesichtet, kriegen wir dort genaue Informationen wo welcher Fehler liegt. Meistens bekommen wir Shopware typische Fehlercodes, welche wir einfach in die Suchmaschine unserer Wahl tippen können. So bekommen wir allerhand Lösungsvorschläge. Haben wir selber keine Zeit und Lust dafür, können wir auch ganz einfach eine Agentur beauftragen. Möchte man dies trotzdem selber machen und man kommt einfach nicht weiter, kann man im Shopware Forum einen neuen Beitrag erstellen, in dem man den Fehlercode angibt und sein Problem beschreibt. Dort gibt es etliche Nutzer, die viel Erfahrung mit Shopware und seinen kleinen Problemchen haben.

31. Search Engine Optimization

URL-Struktur für Produktdetailseiten in Shopware 6

Die Standardvorlage für Produktdetailseiten ist
{{ product.translated.name }}/{{ product.productNumber }}.

Produktnummern sind für Kunden und Suchmaschinen oft mysteriös und bedeutungslos. Daher wird empfohlen, andere Variablen in die URL aufzunehmen.
Eine Liste der gängigsten Variablen finden Sie in der Shopware 6 Dokumentation. Shopware SEO kann beispielsweise folgende Vorlagen anstelle der voreingestellten Vorlagen auswählen:
{{ product.manufacturer.name|lower }}/{{ product.name|lower }}

Dies entspricht folgender URL-Struktur: onlineshop.de/hersteller/produktname Diese Vorlage ist nur sinnvoll, wenn die Hersteller- und Produktnamen kurz und aussagekräftig genug sind. Klare, aussagekräftige Produktnamen sind oft sehr nützlich für gutes SEO. Diese Vorlage kann nicht verwendet werden, wenn Variationen mit demselben Produktnamen verwendet werden:
Deutschland Trikot (Größe M): onlineshop.de/adidas/deutschland-trikot
Deutschland Trikot (Größe L): onlineshop.de/adidas/deutschland-trikot

In diesem Fall muss eine weitere Variable aufgenommen werden, die über alle Varianten hinweg variiert. Denn jede URL muss eindeutig sein.
Z. B.:
{{ product.manufacturer.name|lower }}/{{ product.name|lower }}-{{ product.keywords|lower }} Deutschland-Trikot (Größe M): onlineshop.de/adidas/deutschland-trikot-groesse-m Deutschland-Trikot (Größe L): onlineshop.de/adidas/deutschland-trikot-groesse-l

URL-Struktur für Kategorieseiten in Shopware 6

Für Kategorieseiten ist die Standard-URL-Vorlage in Shopware 6

{% for part in category.seoBreadcrumb %}{{ part }}/{% endfor %}.

Auch hier ist es wichtig zu überlegen, ob diese Vorlage für jede Kategorie aussagekräftig genug ist. Oder in Shopware 6
kann beispielsweise {{ category.metaTitle }} ausgewählt werden.
Unabhängig davon spielen Metatitel eine wichtige Rolle im SEO und sollten entsprechend optimiert werden.
Neben verschiedenen Variablen sollten für Shopware 6 SEO auch Filter für URL-Templates verwendet werden.
Dadurch wird beispielsweise sichergestellt, dass alle Textelemente eines Datensatzes in Kleinbuchstaben geschrieben werden.
Der Filter wird einfach mit dem Sonderzeichen Pipe („|“) hinter die entsprechende Variable gesetzt.

Produkt- und Kategorie-URLs manuell anpassen

In Einzelfällen ist es sinnvoll, für bestimmte Produkte oder Kategorien separate URLs zu haben. Für diese Maßnahme kann der SEO-Pfad manuell in Shopware 6 direkt in den entsprechenden Kategorie- oder Produkteinstellungen eingetragen werden. Die Weglänge kann frei bestimmt werden.

Zu beachten ist, dass Produkte und Kategorien weiterhin über die alte URL aufgerufen werden können. Um Duplicate Content zu vermeiden, werden neue Shopware-URLs automatisch als kanonische URLs auf Produktebene definiert. So können Suchmaschinen erkennen, dass derselbe Inhalt zwar über unterschiedliche URLs erreichbar ist, aber nur der eingestellte SEO-Pfad in den Suchergebnissen enthalten sein soll.

Metatitel und Metabeschreibung im Produkt-Backend

Die Anzeige eines Online-Shops auf den Suchergebnisseiten von Suchmaschinen wird durch den vom Backend definierten Meta-Titel und die Meta-Beschreibung bestimmt. Daher sind Meta-Tags ein wichtiger Bestandteil von SEO.

Shopware 6 Konfiguration - SEO - 1

Shopware 6 Konfiguration – SEO – 1

Shopware 6 ermöglicht die Bearbeitung direkt am entsprechenden Produkt oder der Kategorie. Sie müssen ein Produkt oder eine Kategorie im Katalogmenüpunkt auswählen und nach unten zu den SEO-Einstellungen scrollen. Für jedes Produkt und jede Kategorie kann ein separater Metatitel und eine entsprechende Metabeschreibung hinterlegt werden. Es ist wichtig zu beachten, dass Startseite und Einkaufswelt auch als Kategorien angezeigt werden.
Die Suchmaschinenoptimierung ist für diese Seiten besonders relevant, da hier oft viele einzigartige Inhalte präsentiert werden. Wenn die Metadaten nicht manuell erstellt wurden, verwendet Shopware 6 die folgende Vorlage für den Metatitel:

{Produktname} für Produkte
{Kategoriename} für Kategorien

In Shopware 6 gibt es keine Vorlagen für Meta-Beschreibungen. Hier werden Produktbeschreibungen verwendet. Für optimierte Meta-Beschreibungen mit bis zu 160 Zeichen ist dies jedoch oft zu lang. Wir empfehlen daher dringend, die wichtigsten Kategorien und Produkte einzeln zu bearbeiten. Die individuelle Abwicklung aller Produkte ist bereits für mittelständische Onlineshops eine Herausforderung. Eine Bearbeitung von Keywords in Shopware ist nicht notwendig, da Meta-Keywords für die Bewertung von Websites durch Google nicht mehr relevant sind.

Canonical-Tags in Shopware 6

Mit dem Canonical Tag kann verhindert werden, dass Google bestimmte Seiten eines Online-Shops als Duplicate Content einstuft. Dadurch wird der Suchmaschine mitgeteilt, welche URL das Original darstellt und somit auch in den Ergebnissen auftauchen soll. Doppelte Inhalte können leicht entstehen, wenn ein Produkt viele Variationen hat, wenn das Produkt in mehreren Kategorien ist oder wenn die Kategorien unterschiedlich angeordnet sind. In diesen Fällen ändert sich die URL, aber ein Großteil des Seiteninhalts bleibt gleich. Daher sind Canonical Tags für SEO in Shopware relevant.

Shopware 6 setzt den Canonical Tag automatisch auf den für die jeweilige Seite definierten SEO-Pfad. Die URL kann unter
Kategorie > Kategorie oder Produkt > Kanonische URL > SEO-Pfad geändert werden.
Wenn Sie in einem Geschäft mit mehreren Varianten eines Produkts arbeiten, ist ein entsprechendes Plugin erforderlich, um allen Varianten das gleiche Standard-Tag zu geben.

301- und 302-Weiterleitungen

Manchmal ändert sich die URL einiger Inhalte. In diesen Fällen sollte eine 301 (Moved Permanently) oder 302 (Moved Temporarily) Weiterleitung eingerichtet werden, damit Suchmaschinen und Nutzer die Inhalte finden können. Übrigens sollten für SEO lange Übergangsketten vermieden werden, da sie die Antwortzeit erhöhen und das Crawl-Budget verbrauchen.
Shopware 6 ist noch nicht für die Umleitung über das Backend konfiguriert. Sie müssen
noch per .htaccess importiert werden. Die Datei befindet sich auf dem Server des Online-Shops und muss sorgfältig bearbeitet werden, um die Erreichbarkeit des Shops nicht zu beeinträchtigen.

Seiten für Suchmaschinen ausschließen

Einige Seiten müssen vor Suchmaschinen ausgeblendet werden. Der Ausschluss dieser Seiten vom Crawling ist ebenfalls ein wichtiger Bestandteil der Suchmaschinenoptimierung. Das sind vor allem Shopseiten, die im Check-out oder im Kundenbereich zu finden sind, sowie mit der Suchfunktion erstellte Seiten oder gefilterte Kategorieseiten. Dafür eignet sich die sogenannte robots.txt. Es ist ein reines Textdokument, in dem bestimmte Regeln und Befehle definiert sind.

Außerdem muss die Sitemap in der robots.txt-Datei enthalten sein. Das Lesen dieser Datei ist ein wesentlicher Bestandteil der Erkennung. Dadurch erhalten Suchmaschinen Informationen darüber, welche Seiten sie nicht besuchen sollten und wo sie die Sitemap finden, mit der sie sich einen Überblick über die Seitenstruktur verschaffen.

Um die robots.txt-Datei zu finden, muss sie immer diesen Namen haben und sich direkt im Root-Verzeichnis befinden.

Über das Robots-Meta-Tag können auch einzelne Seiten von der Suchmaschinenindexierung ausgeschlossen werden. In Shopware 6 muss der Robots-Meta-Tag per .htaccess implementiert werden. Mit Plugins wie SEO Professional können aber auch noindex- und nofollow-Direktiven im Backend konfiguriert werden.

Während die robots.txt-Datei dazu dient, das Crawlen bestimmter Seiten zu kontrollieren und zu verhindern, gibt das Robots-Meta-Tag Hinweise dazu, ob eine Seite indexiert werden soll. Daher gilt es, abzuwägen, welcher Weg der richtige und am wenigsten fehleranfällig ist.

404-Seite für klare Signale

Wenn bestimmte URLs nicht verfügbar sind, muss dies dem Benutzer explizit mitgeteilt werden. Eine
404-Fehlerseite ist oft einer automatischen Weiterleitung der Benutzer auf die Startseite vorzuziehen. Außerdem erhalten Suchmaschinen-Crawler den richtigen Fehlercode, was sich positiv auf SEO auswirkt. Mit gutem Design kann eine
404-Seite tiefer in den Verkaufstrichter führen, indem beispielsweise eine Suchfunktion oder relevante Links präsentiert werden.

Dazu kann in Shopware 6 eine Erlebniswelt geschaffen werden. Diese kann nach Belieben gestaltet werden, aber für Nutzer und Suchmaschinen muss klar sein, dass die Seite, auf der sie suchen, nicht existiert. Sobald eine neue Shop-Seite erstellt wurde, kann sie in den Einstellungen als
404-Seite gespeichert werden, die Shopware immer anzeigt, wenn keine URL vorhanden ist. Im Backend der Shopping-Software kann unter Einstellungen > Eckdaten > Store Pages > Store Page Layout für
404-Seiten die entsprechende Erlebniswelt festgelegt werden.

SEO-Index neu aufbauen

Da sich viele SEO-Einstellungen auf URLs oder die Seitenstruktur auswirken, ist es notwendig, den Index zu aktualisieren, damit die neuen Regeln wirksam werden. Shopware bietet hierfür viele verschiedene Möglichkeiten.
Auf der Konsole kann der Befehl php bin /console dal:refresh:index verwendet werden.
Wenn Sie kein Steuerungsfeld haben, können Sie im Backend der Shopping-Software unter Einstellungen > System auf den Bereich Cache und Vorschläge zugreifen.
Neben der Option „Cache leeren“ können auch Index-Updates mit einem Klick durchgeführt werden, um Änderungen an der Anzeigekonfiguration in der Shopware 6-Oberfläche vorzunehmen.

Shopware 6 Konfiguration - SEO - 2

Shopware 6 Konfiguration – SEO – 2

Image SEO für Produktbilder

Ein weiterer grundlegender Aspekt von SEO Shopware 6 ist die präzise Bildverwaltung. Online-Shops enthalten oft viele Bilder, die einzelne Produkte oder Illustrationen für Kategorien zeigen.
Bei Bildern kann die Dateigröße ein Problem sein. Große Dateien verlangsamen die Ladegeschwindigkeit der jeweiligen Seite. Schnelle Seiten und kurze Ladezeiten sind extrem wichtig für die Benutzerfreundlichkeit von Online-Shops. Deshalb hat Google angekündigt, ab 2021 verstärkt auf die Ladegeschwindigkeit zu achten. Für SEO Shopware heißt das: Verwende möglichst komprimierte Bilder.
Auch Suchmaschinen-Crawler können den Inhalt des Bildes nicht direkt einsehen. Daher verwenden sie die Attribute title und alt, um zu interpretieren, was angezeigt wird.
Während Bilder auf Kategorie- und Produktebene hinzugefügt werden können, können sie dort nicht bearbeitet werden. Gehen Sie dazu in Shopware 6 auf Inhalte und dann auf Medien. Alle im Online-Shop verwendeten Mittel finden Sie hier. Wenn Sie auf ein einzelnes Bild klicken, erscheinen Details wie Dateigröße und Bildformat. Name, Titel und Alt-Text können hier ebenfalls bearbeitet werden. Diese Felder sollten unbedingt ausgefüllt und für SEO Shopware optimiert werden.

Shopware 6 Konfiguration - SEO - 3

Shopware 6 Konfiguration – SEO – 3

Schnelle Shopware Shops sind SEO-Booster

Die Ladegeschwindigkeit von Store-Seiten ist für SEO von großer Bedeutung, insbesondere wenn es um Core Web Vitals geht, das voraussichtlich 2021 zu einem offiziellen Ranking-Faktor werden wird. Allerdings gibt es einige Punkte, die Ladenbetreiber beachten müssen. Die drei wichtigsten Aspekte, um die Seitenladezeit zu minimieren und sich positiv auf die Suchmaschinenoptimierung auszuwirken, sind:

Schnell verbundener Speicher auf leistungsstarker Hardware
Bilder werden für weniger Datenpakete komprimiert
JavaScript wird selten verwendet und mit Bedacht eingesetzt

Content ist auch bei Shopware King

Der Vollständigkeit halber sei an dieser Stelle erwähnt, dass der Seiteninhalt nach wie vor einer der grundlegendsten Rankingfaktoren ist. Darauf sollten sich die SEO-Metriken in Shopware 6 konzentrieren. Dafür ist eindeutiger Text mit relevanten Schlüsselwörtern wichtig. Das gilt für Kategorie- und Produktbeschreibungen ebenso wie für Blogbeiträge oder „Über uns“-Seiten. Verwirrende Texte und ungenaue Informationen werden in diesem Zusammenhang von Google zunehmend negativ bewertet. Außerdem sollte der Text nicht mehr als einmal verwendet werden, da er sonst als Duplicate Content eingestuft wird. In den meisten Fällen indexieren Suchmaschinen diese Inhalte nicht.

Duplicate Content über Canonical Tags verhindern

Damit Suchmaschinen bestimmte Seiten nicht als Duplicate Content einstufen, wird den Suchmaschinen über sogenannte Canonical Tags mitgeteilt, welche Seiten bzw. URLs den eigentlichen „Original Content“ enthalten und somit auch in den Suchergebnissen angezeigt werden. Duplicate Content kann beispielsweise entstehen, wenn ein Produkt mehrere Varianten hat, das Produkt mehreren Kategorien zugeordnet ist oder die Kategorien unterschiedlich sortiert sind, d.h. die URL ändert sich, der Inhalt aber meist noch gleich ist.
In Shopware 6 wird das Canonical Tag automatisch auf den SEO-Pfad gesetzt, der für die jeweilige Seite eingestellt wurde. Sowohl für Produkte als auch für Kategorien kann im Reiter „SEO“ im Bereich „SEO Url“ im Feld „SEO-Pfad“ ein SEO-Pfad angegeben werden.
Wenn ein Produkt Variationen hat und alle Varianten dieselbe kanonische URL verwenden müssen, kann dies im entsprechenden Produkt im Reiter „SEO“ des Bereichs „SEO“ durch Aktivieren des Schalters „Verwenden Sie die gleiche kanonische URL für alle Varianten“ erfolgen. Aktiviert werden. Dann müssen Sie nur noch die passende Variante im Feld „Variation für kanonische URL“ auswählen.

31. Tracking Pixel einbinden

Ein wichtiger Punkt bei der Konfiguration ist für viele Shopware User das Einbinden von Tracking Pixeln. Die gängigsten sind hierbei der Google Analytics Pixel und der Facebook / Instagram Pixel.

Google Analytics Tracking

Um bei Shopware das Google Analytics Tracking einzubinden, bedarf es keinerlei Code und man muss auch kein zusätzliches Plugin installieren. Denn indem man auf den Verkaufskanal klickt, sieht man bereits den einladende Reiter Analyse. Hier gibt es nur ein Formularfeld und 3 Reiter Schalter.
In das Formularfeld geben wir die Tracking-ID von Google Analytics ein und sind auch schon fast durch mit den Einstellungen. Mit dem ersten Button aktivieren wir die Funktion, mit dem zweiten tracken wir zusätzlich die Bestellungen. Der letzte Button ermöglicht eine IP-Anonymisierung, die wir zur Einhaltung der DSGVO ebenfalls aktivieren sollten.

Shopware 6 Konfiguration - Tracking Pixel einbinden - 1

Shopware 6 Konfiguration – Tracking Pixel einbinden – 1

Facebook Tracking

Zur Einbindung des Facebook Pixels sind im Shopware Plugin Store zahlreiche Erweiterung zu diesem Zweck vorzufinden. Hier kann man sich grundsätzlich an den Downloadzahlen und Bewertungen orientieren um das beste Plugin ausfindig zu machen. Auch das Durchlesen der Beschreibung hat noch niemandem geschadet.
2 Plugins die wir jedoch explizit erwähnen möchten sind diese hier: Das erste ist Tracking ohne Cookies für Google Ads, Facebook & Co.

Shopware 6 Konfiguration - Tracking Pixel einbinden - 2

Shopware 6 Konfiguration – Tracking Pixel einbinden – 2

Falls ein Tracking mit Cookies ausgeschlossen ist, kann man dieses Plugin nutzen. Wir hatte es jedoch bisher noch nicht aktiv im Einsatz und können sonst nicht viel zu dem Plugin sagen.
https://store.shopware.com/nimbi88183615355/tracking-ohne-cookies-fuer-google-ads-facebook-co..html?c=3
Das zweite ist: Pixel Your Shop

Shopware 6 Konfiguration - Tracking Pixel einbinden - 3

Shopware 6 Konfiguration – Tracking Pixel einbinden – 3

Es ermöglicht, so wie das andere Plugin, das Tracking multipler Pixel. Heißt man kann es für Google Ads, Google Analytics, Facebook, instagram, Pinterest und sogar Hotjar verwenden.

Der Vorteil: Es können alle für die jeweiligen Portale zur Verfügung stehenden Events getrackt werden – ohne dass man mehr machen müsste als die jeweiligen Funktionen des Plugins zu aktivieren.

https://store.shopware.com/shops88897352858/pixel-your-shop.html?c=3
Aktuell würden wir noch zu zur 2 Option raten. Das Plugin ist ein gutes Stück günstiger, bietet eine einfachere Konfiguration, eine sehr gute Anleitung und Top-Bewertungen bei amtlichen Download-Zahlen. Das andere Plugin ist auch definitiv vielsprechend aber könnte es dem User im Hinblick auf das Event-Tracking sicherlich noch etwas einfacher machen.

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Der Beitrag Shopware 6 Konfiguration | Teil 3/3 erschien zuerst auf Shopware Agentur | Great2Gether.

Neue Sortier-Option nach Artikelnummern in Shopware 6 einrichten

$
0
0

Hey! Los geht’s mit einer neuen Sortier-Option in Shopware 6!

Moin Moin! Du betreibst einen Online-Shop mit Shopware 6 und möchtest das Einkaufserlebnis deiner Kunden noch weiter verbessern? Dann haben wir genau das Richtige für dich! In dieser umfassenden Anleitung zeigen wir dir Schritt für Schritt, wie du eine neue Sortier-Option für Artikelnummern einrichtest und deine Kunden glücklich machst. Keine Sorge, es ist kinderleicht!

Inhaltsüberischt:

  1. Warum eine neue Sortier-Option?
  2. Schritt 1: Neue Sortier-Option hinzufügen
  3. Die Vorteile der neuen Sortier-Option
  4. Schritt 2: Check die Sichtbarkeit
  5. Schritt 3: Artikelnummer als Standard-Sortierung festlegen (optional)

1. Warum eine neue Sortier-Option?

Die Funktion zur Sortierung von Produkten ist für jeden Online-Shop von entscheidender Bedeutung. Sie ermöglicht es den Besuchern, Produkte nach ihren individuellen Präferenzen zu filtern und die gewünschten Artikel schnell zu finden. Oftmals bieten Shops standardmäßig nur grundlegende Sortierungen wie nach Name, Preis oder Beliebtheit an. Doch wenn es um die Artikelnummer geht, ist eine spezifische Sortierung meistens nicht verfügbar.

Und genau hier kommt unsere neue Sortier-Option ins Spiel! Indem du deinen Kunden die Möglichkeit gibst, nach Artikelnummern zu sortieren, revolutionierst du das Einkaufserlebnis in deinem Shop. Kunden, die genau wissen, wonach sie suchen, können dank dieser Funktion ihre Lieblingsprodukte schneller finden, ohne sich durch unzählige Seiten zu klicken. Das spart Zeit und macht den Einkauf bei dir angenehmer und bequemer.

2. Schritt 1: Neue Sortier-Option hinzufügen

Bevor wir zu den Vorteilen kommen, lass uns die neue Sortier-Option einrichten. Hier ist, was du tun musst:

  1. Klicke dich in dein Shopware 6 Backend und navigiere zu „Einstellungen“ > „Produkte“ > „Sortier-Optionen“.
  2. Gib die folgenden Infos ein:
    • Name: Zum Beispiel Artikelnummer
    • Aktiv: An
    • Sortier-Kriterien: Produktnummer
  3. Speichern nicht vergessen! Jetzt hast du die neue Sortier-Option erstellt.

Hurra! Du hast es geschafft! Das war’s schon mit Schritt 1. So einfach geht’s, eine neue Sortier-Option in Shopware 6 einzurichten. Jetzt können deine Kunden nach Herzenslust nach Artikelnummern sortieren und ihre Shopping-Erfahrung auf ein neues Level heben.

3. Die Vorteile der neuen Sortier-Option

Jetzt fragst du dich vielleicht, welche Vorteile die neue Sortier-Option eigentlich mit sich bringt. Wir haben hier die wichtigsten für dich zusammengestellt:

1. Schnellere Produktsuche

Mit der Artikelnummer-Sortierung können Kunden gezielt nach spezifischen Produkten suchen. Wenn ein Kunde die Artikelnummer bereits kennt, muss er nicht mehr durch verschiedene Kategorien und Filter navigieren. Das spart Zeit und erhöht die Wahrscheinlichkeit, dass der Kunde das gewünschte Produkt findet.

2. Verbesserte Benutzererfahrung

Die Verbesserung der Benutzererfahrung ist ein zentraler Faktor für den Erfolg eines Online-Shops. Mit der neuen Sortier-Option kannst du das Einkaufserlebnis deiner Kunden maßgeblich verbessern. Ein einfacher und schneller Zugriff auf gewünschte Produkte steigert die Zufriedenheit und die Wahrscheinlichkeit, dass Kunden wiederkommen.

3. Kundenbindung und Kundenzufriedenheit

Ein zufriedener Kunde ist ein treuer Kunde. Indem du das Einkaufen in deinem Shop angenehmer gestaltest, erhöhst du die Kundenbindung und stärkst die Beziehung zu deiner Zielgruppe. Zufriedene Kunden sind auch eher bereit, positive Bewertungen zu hinterlassen und deinen Shop weiterzuempfehlen.

4. Bessere Conversion-Rate

Die Conversion-Rate ist ein wichtiger Indikator für den Erfolg eines Online-Shops. Wenn deine Kunden Produkte leicht finden können und sich insgesamt wohlfühlen, steigt die Wahrscheinlichkeit, dass sie auch tatsächlich kaufen. Eine benutzerfreundliche Sortier-Option kann sich somit positiv auf deine Conversion-Rate auswirken.

5. Suchmaschinenoptimierung (SEO)

Nicht zu vergessen ist der SEO-Aspekt. Suchmaschinen wie Google belohnen eine gute Benutzererfahrung und eine durchdachte Navigation mit höheren Rankings. Die neue Sortier-Option kann sich daher auch positiv auf dein SEO-Ranking auswirken und dir mehr organischen Traffic bringen.

4. Schritt 2: Check die Sichtbarkeit

Nachdem du die neue Sortier-Option gespeichert hast, ist sie sofort auf deiner Shop-Seite sichtbar. Deine Kunden können jetzt bequem nach Artikelnummer sortieren, um blitzschnell ihre Lieblingsprodukte zu entdecken.

5. Schritt 3: Artikelnummer als Standard-Sortierung festlegen (optional)

Mit dieser zusätzlichen Option kannst du die Artikelnummer als Standard-Sortierung für deine Produkte festlegen. So werden Produkte automatisch nach Artikelnummer sortiert, wenn Kunden die Shop-Seite besuchen. Folge einfach diesen Schritten:

  1. Gehe erneut zu „Einstellungen“ > „Produkte“ > „Sortier-Optionen“.
  2. Suche den Abschnitt „Standard-Sortierung“.
  3. Wähle „Artikelnummer“ aus dem Dropdown-Menü.
  4. Nicht vergessen – speichern, speichern, speichern!

Fazit: Herzlichen Glückwunsch! Du hast erfolgreich eine neue Sortier-Option für Artikelnummern in deinem Shopware 6 Shop eingerichtet. Deine Kunden werden es lieben, wie einfach sie jetzt bei dir shoppen können. Die verbesserte Benutzererfahrung kann sich positiv auf deine Kundenbindung, Conversion-Rate und dein SEO-Ranking auswirken. Also, mach weiter so und viel Erfolg mit deinem bombastischen, optimierten Shopware 6 Shop!

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Der Beitrag Neue Sortier-Option nach Artikelnummern in Shopware 6 einrichten erschien zuerst auf Shopware Agentur | Great2Gether.

Shopware 6 Pagespeed Optimierung

$
0
0

Die Pagespeed Optimierung für deinen Shopware 6 Onlineshop spielt eine entscheidende Rolle für den Erfolg deines E-Commerce-Geschäfts. Schnelle Ladezeiten sind ein entscheidender Faktor für die Benutzererfahrung und wirken sich positiv auf die Conversion-Rate aus. Suchmaschinen wie Google berücksichtigen ebenfalls die Seitenladegeschwindigkeit als Ranking-Signal. Durch eine gezielte Pagespeed Optimierung kannst du also nicht nur die Kundenzufriedenheit steigern, sondern auch dein SEO-Ranking verbessern.

In diesem Beitrag fassen wir alle unseren gesammelten Blog-Beiträge zum Thema zusammen und verlinken euch zusätzlich die jeweiligen Artikel, in denen ihr noch weiterführende Informationen finden werdet. Wenn euch die Beiträge weiterhelfen könnt ihr um auf dem Laufenden zu bleiben unseren Newsletter abonnieren oder euch mit uns auf Social Media vernetzen.

Übersicht:

1. Impact der Pagespeed-Optimierung auf Umsatz und Gewinn

Die Pagespeed Optimierung macht sich in der Regel durch 2 Verbesserungen bezahlt. Erstens optimiert man durch verbesserte Ladezeiten in seinem Shopware 6 Shop für höhere Conversion-Rates – also mehr Käufe bei gleicher Besucherzahl – und zweitens erreichst du in Google bessere Rankings und damit oben drauf auch noch einmal mehr Besucher / potentielle Kunden als vorher.

Angenommen, der Shop hat 10.000 Besucher pro Monat, und die Conversion-Rate steigt nach der Optimierung auf 3,5%. Die Produkte kosten im Durchschnitt 100 € und bringen einen Gewinn von 15 € pro Verkauf ein.

Aktuelle Situation:

  • Ladezeit: 2 Sekunden
  • Conversion-Rate: 2%
  • Anzahl der monatlichen Besucher: 10.000
  • Käufe = 10.000 Besucher * 0,02 Conversion-Rate = 200 Käufe
  • Umsatz = 200 Käufe * 100 € (durchschnittlicher Produktwert) = 20.000 €
  • Gewinn = 200 Käufe * 15 € (Gewinn pro Verkauf) = 3.000 €

Nach Optimierung der Ladezeiten und bessere Conversion-Werte:

  • Ladezeit: 1 Sekunde
  • Conversion-Rate: 3,5%
  • Anzahl der monatlichen Besucher: 10.000
  • Käufe = 10.000 Besucher * 0,035 Conversion-Rate = 350 Käufe
  • Umsatz = 350 Käufe * 100 € (durchschnittlicher Produktwert) = 35.000 €
  • Gewinn = 350 Käufe * 15 € (Gewinn pro Verkauf) = 5.250 €

Nach verbessertem Ranking durch optimierte Ladezeiten:

  • Ladezeit: 1 Sekunde
  • Conversion-Rate: 3,5%
  • Anzahl der monatlichen Besucher: 11.000 (10.000 + 10% zusätzliche Besucher)
  • Käufe = 11.000 Besucher * 0,035 Conversion-Rate = 385 Käufe
  • Umsatz = 385 Käufe * 100 € (durchschnittlicher Produktwert) = 38.500 €
  • Gewinn = 385 Käufe * 15 € (Gewinn pro Verkauf) = 5.775 €

Die Optimierung der Ladezeiten und die Verbesserung der Conversion-Rate führen zu einem erhöhten Umsatz von 35.000 € pro Monat und einem Gewinn von 5.250 € pro Monat. Durch das verbesserte Ranking kommen zusätzlich 10% mehr Besucher auf die Seite, was den Umsatz auf 38.500 € pro Monat und den Gewinn auf 5.775 € pro Monat steigert.

Diese Zahlen verdeutlichen, wie sich die Kombination aus Ladezeiten-Optimierung, besseren Conversion-Werten und verbessertem Ranking positiv auf den Umsatz und Gewinn eines Online-Shops auswirken kann. (Ja kann, nicht MUSS – grundsätzlich wird der Unterschied bei Seiten die sehr lahm sind – wie z.B. 2, 3 oder noch mehr Sekunden wesentlich deutlicher zu spüren sein). Die fortlaufende Pflege und Optimierung der Web Core Vitals und anderer Performance-Aspekte können langfristige Vorteile für den Erfolg des Shops bieten.

2. Wann werden die Anpassungen spürbar sein?

Ausgehend von unserer obigen Rechnung könnte man sagen: Nach der Optimierung der Ladezeiten und der besseren Conversion-Rate werden die positiven Auswirkungen auf den Umsatz und Gewinn sofort spürbar sein. Die verbesserte Conversion-Rate führt zu mehr Verkäufen und somit zu einem unmittelbaren Anstieg des Umsatzes auf 35.000 € pro Monat und des Gewinns auf 5.250 € pro Monat.

Hingegen wird das verbesserte Ranking durch die optimierten Ladezeiten grundsätzlich zeitversetzt wirken und nicht von heute auf morgen spürbar sein. Die Verbesserung des Rankings hängt von verschiedenen Faktoren ab, darunter die Wettbewerbssituation, die Beliebtheit der Keywords und die allgemeine Suchnachfrage. Es kann einige Zeit dauern, bis die Suchmaschinen die Veränderungen registrieren und die Seite im Ranking ansteigen lassen.

Zudem ist es wichtig zu beachten, dass nicht alle Verbesserungen im Ranking signifikante Auswirkungen haben. Eine geringfügige Verschiebung von einer weniger gefragten Position auf eine leicht bessere Platzierung kann möglicherweise nicht zu drastischen Änderungen im Besucherverkehr führen. Ein bedeutender Anstieg im Ranking, z.B. von Seite 10 auf Seite 1 der Suchergebnisse, kann hingegen zu einem erheblichen Anstieg der organischen Besucherzahlen führen.

Die langfristigen Auswirkungen der verbesserten Ladezeiten und des besseren Rankings können jedoch zusammenwirken und den Umsatz und Gewinn des Online-Shops nachhaltig steigern. Die fortlaufende Pflege und Optimierung der Web Core Vitals sowie die Beobachtung und Anpassung der SEO-Strategie sind daher von großer Bedeutung, um den Erfolg des Shops langfristig zu fördern.

Trage hier deine eigenen Werte ein und prüfe wie sich die Conversion-Rate-Optimierung auf deine Zahlen auswirkt.

Du willst das Script für den Rechner auf deiner eigenen Seite verwenden? Kein Problem, hier ist der Code: https://codepen.io/great2gether/pen/jOQXOjP

Gewinnoptimierungsrechner






Ergebnisse:

Neue Conversion Rate und Userzahlen




Neue Ergebnisse:

Vorteile:

const kaufendeUser = monatlicheUser * conversionRate; const monatlicherUmsatz = kaufendeUser * umsatzProKauf; const monatlicherGewinn = kaufendeUser * gewinnProKauf;

document.getElementById("ergebnis_monatliche_umsatz").innerText = `Monatlicher Umsatz: ${monatlicherUmsatz.toFixed(2)} €`; document.getElementById("ergebnis_monatlicher_gewinn").innerText = `Monatlicher Gewinn: ${monatlicherGewinn.toFixed(2)} €`; }

function berechneNeueWerte() { const monatlicheUser = parseFloat(document.getElementById("monatliche_user").value); const conversionRate = parseFloat(document.getElementById("neue_conversion_rate").value) / 100; const prozentualerAnstieg = parseFloat(document.getElementById("prozentualer_anstieg").value) / 100;

const neueUser = monatlicheUser * (1 + prozentualerAnstieg); const kaufendeUser = neueUser * conversionRate; const neueMonatlicherUmsatz = kaufendeUser * parseFloat(document.getElementById("umsatz_pro_kauf").value); const neueMonatlicherGewinn = kaufendeUser * parseFloat(document.getElementById("gewinn_pro_kauf").value);

document.getElementById("ergebnis_neue_monatliche_user").innerText = `Neue Monatliche User: ${neueUser.toFixed(0)} (${neueUser - monatlicheUser >= 0 ? '+' : ''}${(neueUser - monatlicheUser).toFixed(0)})`; document.getElementById("ergebnis_neuer_monatlicher_umsatz").innerText = `Neuer Monatlicher Umsatz: ${neueMonatlicherUmsatz.toFixed(2)} €`; document.getElementById("ergebnis_neuer_monatlicher_gewinn").innerText = `Neuer Monatlicher Gewinn: ${neueMonatlicherGewinn.toFixed(2)} €`;

const ursprMonatlicheUser = parseFloat(document.getElementById("monatliche_user").value); const neueUserDifferenz = neueUser - ursprMonatlicheUser; document.getElementById("ergebnis_neue_user_differenz").innerText = `Neue User Differenz: ${neueUserDifferenz.toFixed(0)}`;

// Berechne den zusätzlichen Umsatz und Gewinn const ursprUmsatz = parseFloat(document.getElementById("ergebnis_monatliche_umsatz").innerText.replace('Monatlicher Umsatz: ', '').replace(' €', '')); const ursprGewinn = parseFloat(document.getElementById("ergebnis_monatlicher_gewinn").innerText.replace('Monatlicher Gewinn: ', '').replace(' €', ''));

const zusatzUmsatz = neueMonatlicherUmsatz - ursprUmsatz; const zusatzGewinn = neueMonatlicherGewinn - ursprGewinn;

document.getElementById("ergebnis_umsatz_vorteil").innerText = `Zusätzlicher Umsatz: ${zusatzUmsatz.toFixed(2)} €`; document.getElementById("ergebnis_gewinn_vorteil").innerText = `Zusätzlicher Gewinn: ${zusatzGewinn.toFixed(2)} €`; }

3. Bessere Anzeigen-Preise bei Google durch bessere Ladezeiten

Die Anzeigenpreise bei Google Ads können bei schnelleren Ladezeiten eines Shopware 6 Shops sinken, weil Google die Nutzererfahrung als einen wichtigen Faktor für das Anzeigenerlebnis betrachtet. Wenn eine Webseite schnell geladen wird, führt dies zu einer positiven Nutzererfahrung, da die Besucher weniger Zeit darauf warten müssen, bis die Seite vollständig angezeigt wird.

Eine bessere Nutzererfahrung hat mehrere Vorteile:

  1. Niedrigere Absprungrate: Wenn eine Webseite schnell geladen wird, ist die Wahrscheinlichkeit geringer, dass Besucher die Seite vorzeitig verlassen, weil sie nicht lange warten wollen. Eine niedrigere Absprungrate signalisiert Google, dass die Webseite relevant und ansprechend ist, was sich positiv auf das Qualitätsranking auswirken kann.
  2. Höhere Interaktionsrate: Mit schnelleren Ladezeiten können Nutzer schneller auf die Inhalte zugreifen und mit der Webseite interagieren. Sie sind eher bereit, auf Anzeigen zu klicken und mit den angebotenen Produkten oder Dienstleistungen zu interagieren, was zu einer höheren Interaktionsrate führen kann.
  3. Bessere Conversion-Raten: Wenn Besucher aufgrund der schnellen Ladezeiten länger auf der Webseite bleiben und eine angenehme Nutzererfahrung haben, steigt die Wahrscheinlichkeit, dass sie eine Conversion durchführen, z. B. einen Kauf tätigen oder ein Formular ausfüllen. Höhere Conversion-Raten bedeuten, dass die Anzeigen effektiver sind, was wiederum zu einem besseren Qualitätsfaktor führen kann.

Google belohnt Websites mit einer guten Nutzererfahrung, indem es deren Anzeigen relevanter und effektiver macht. Ein höherer Qualitätsfaktor bedeutet, dass Werbetreibende weniger für ihre Anzeigen zahlen müssen, um eine gute Positionierung und Sichtbarkeit in den Google-Suchergebnissen zu erreichen. Daher können die Anzeigenpreise bei Google Ads sinken, wenn die Ladezeiten eines Shopware 6 Shops optimiert sind und die Webseite eine bessere Nutzererfahrung bietet.

4. Was bremst meinen Shopware 6 Shop

Mit der Umstellung auf Shopware 6 wurden viele Performance-Einstellungen, die zuvor zur Verbesserung der Ladezeiten genutzt wurden, obsolet. Die neue Version von Shopware 6 bietet von Haus aus eine optimierte Umgebung für gute Performance und schnelle Ladezeiten. Dennoch ist es entscheidend, zusätzliche Inhalte, Plugins und Features, insbesondere Bilder, effizient zu implementieren, um die Ladezeiten minimal zu halten. Auch ein gutes Webhosting oder ein schneller Server ist insbesondere bei hohen Besucherzahlen essentiell!

In der gleichen Reihenfolge konnten wir die folgenden Dinge grundsätzlich als größte Spaßbremsen in Shopware 6 Shops identifizieren:

  • a) zu große Bilder,
  • b) zu viele Plugins,
  • c) nicht optimierter JavaScript/CSS-Code,
  • d) zu viele oder falsch geladene Tracking Codes,
  • e) nicht konfigurierte Caching-Einstellungen,
  • f) unzureichendes Hosting.

Es ist ratsam, den Quellcode der Seite regelmäßig auf ungenutzten JavaScript- oder CSS-Code zu überprüfen, um unnötige Belastungen zu vermeiden, die sich im Laufe der Zeit ansammeln können. Ebenso sollte die Anzahl der installierten Plugins überwacht werden und nicht benötigte sollten deaktiviert oder entfernt werden, um eine maximale Performance zu gewährleisten.

Insgesamt ist zu beachten, dass schlechte Ladezeiten und Performance-Werte oft auf eine nachlässige Verwaltung von installierten Plugins und unnötigem Code zurückzuführen sind. Eine sorgfältige Optimierung und Überwachung des Shops können dazu beitragen, eine reibungslose Benutzererfahrung und eine höhere Kundenzufriedenheit zu gewährleisten.

5. Analyse und Tools

Bevor es mit der Optimierung losgehen kann benötigen wir eine Liste für unsere vorher- und nachher Werte. Hierbei können wir auf kostenlose und kostenpflichtige Tools zurückgreifen. Wir stellen euch hier in aller Knäppe einmal unserer Vorhensweise so wie die Tools unserer Wahl vor.

Google Chrome Lighthouse Audit

Google Lighthouse ist ein kleines Browser Addon das wir nach Installierung in unseren Developer Tools verwenden können um mehr über unsere Seite zu erfahren.

Such einfach mal im Chrome webstore nach Lighthouse oder klickt auf den Link hier:
https://chrome.google.com/webstore/search/Lighthouse?hl=de

Bevor wir Lighthouse verwenden, öffnen wir Google Chrome im Inkognito-Modus, um eine optimale Umgebung für das Audit zu gewährleisten. Der Inkognito-Modus stellt sicher, dass etwa installierte Browser-Plugins keinen Einfluss auf die gemessene Performance haben und das Ergebnis nicht verfälscht wird.

1 - Shopware 6 Pagespeed Optimierung - Inkognito Tab

1 – Shopware 6 Pagespeed Optimierung – Inkognito Tab

Nachdem der Inkognito-Modus aktiviert ist, öffnen wir die Developer Tools, indem wir mit einem Rechtsklick auf die Seite das Dropdown-Menü öffnen und den Punkt „Untersuchen“ auswählen. Alternativ können wir auch das entsprechende Tastenkürzel verwenden:

2 - Shopware 6 Pagespeed Optimierung - unterscuhen

2 – Shopware 6 Pagespeed Optimierung – unterscuhen

Tastenkürzel für Windows: F12 oder Strg + Shift + I

Tastenkürzel für Mac: Command + Alt + I

Durch die Verwendung von Google Lighthouse und die Kombination mit dem Inkognito-Modus und den Developer Tools können wir eine umfassende Pagespeed-Analyse durchführen und wertvolle Erkenntnisse gewinnen. So können wir gezielt an der Optimierung der Ladezeiten arbeiten und eine bessere Performance für den Shopware 6 Onlineshop erreichen.

Für unsere Zwecke reicht es wenn wir auf der rechte Seite der Einstellungen das Häkchen ausschließlich bei Performance setzen.

3 - Shopware 6 Pagespeed Optimierung - Lighthouse Audit - Perforance

3 – Shopware 6 Pagespeed Optimierung – Lighthouse Audit – Perforance

Um aussagekräftige Werte zu haben empfiehlt es sich für beide Devices einen Audit zu erstellen, also Mobile und Desktop.

So sieht z.B. der Bericht einer leeren Shopware 5 Installation mit der Standard Startseite aus:

5 -Lighthouse Audit - Performance auf mobile

5 -Lighthouse Audit – Performance auf mobile

Für unseren vorher und nachher Vergleich sollten wir uns also diese 5 Werte notieren:

  • First Contentful Paint
  • Largest Contentful Paint
  • Total Blocking Time
  • Cumulative Layout Shift
  • Speed Index

Wer sind diese Core Web Vitals?

Die Core Web Vitals sind eine Reihe von Metriken, die von Google entwickelt wurden, um die Benutzererfahrung von Webseiten zu bewerten. Diese Metriken sind entscheidend für die Leistung und Benutzerfreundlichkeit einer Webseite und haben Auswirkungen auf das Ranking in den Suchergebnissen.

First Contentful Paint (FCP): Dies ist die Zeit, die es dauert, bis das erste sichtbare Element auf einer Webseite geladen wird. Es kann Text, ein Bild, ein Video oder ein anderes Element sein. Ein schneller FCP ist wichtig, da er den Nutzern zeigt, dass die Seite aktiv geladen wird und sie bald Inhalte sehen können.

Largest Contentful Paint (LCP): Diese Metrik misst die Zeit, die es dauert, bis der Hauptinhalt einer Webseite vollständig geladen und sichtbar ist. Der Hauptinhalt kann beispielsweise ein großer Textblock oder ein Hauptbild sein. Ein schneller LCP ist entscheidend, da es den Nutzern ermöglicht, schnell auf die relevanten Informationen zuzugreifen.

Total Blocking Time (TBT): Diese Metrik zeigt die Zeit an, die der Browser benötigt, um auf Benutzereingaben zu reagieren, nachdem das erste sichtbare Element geladen wurde. Wenn eine Webseite viele Skripte ausführt, kann dies zu einer längeren TBT führen, was die Interaktivität der Seite beeinträchtigen kann. Eine kurze TBT ist daher wichtig, um eine reibungslose Benutzererfahrung zu gewährleisten.

Cumulative Layout Shift (CLS): Diese Metrik bewertet, wie stabil die Layouts einer Webseite sind, während sie geladen wird. Wenn sich Elemente plötzlich verschieben, während der Benutzer mit der Seite interagiert, kann dies zu einer schlechten Benutzererfahrung führen, da es zu unerwarteten Klicks oder Fehlern kommen kann. Ein niedriger CLS-Wert ist daher wünschenswert.

Speed Index: Der Speed Index misst den Geschwindigkeitsverlauf des Seitenaufbaus. Es zeigt an, wie schnell die Inhalte auf einer Webseite sichtbar werden. Ein niedriger Speed Index bedeutet, dass die Inhalte schnell geladen werden, was für die Nutzererfahrung von großer Bedeutung ist.

Google Lighthouse Audits verwenden diese Core Web Vitals, um die Leistung einer Webseite zu bewerten und Webentwicklern hilfreiche Informationen zu geben, wie sie die Benutzererfahrung ihrer Seiten verbessern können. Es ist wichtig, diese Metriken zu optimieren, um eine schnellere und angenehmere Nutzererfahrung zu bieten und auch positiv von Google in den Suchergebnissen bewertet zu werden.

Bei Shopware 6 Shops, bei denen es erkennbar etwas spezifisches zu verbessern gibt, wird in dem Ergebnis ein zusätzlicher Bereich Opportunities / Empfehlungen angezeigt. Hier bekommt man jede Menge heiße Spuren bei der Pagespeed Optimierung deines langsamen Shopware 6 Shops.

Hier einmal am Beispiel der google.de Startseite auf Desktop. Es wird empfohlen ungenutztes JavaScript zu reduzieren.

6 -Lighthouse Audit - Empfehlungen

6 -Lighthouse Audit – Empfehlungen

Google PageSpeed Insights

Google PageSpeed Insights ist ein weiteres wertvolles Tool, das bei der Analyse des Ist-Zustands und der Pagespeed-Optimierung von Shopware 6 Shops eine wichtige Rolle spielen kann. Durch die Verwendung von PageSpeed Insights können Shopbetreiber und Entwickler wertvolle Einblicke in die Performance ihrer Webseite gewinnen und potenzielle Verbesserungsbereiche identifizieren.

Mit PageSpeed Insights kann die Ladezeit einer Webseite bewertet werden, sowohl für Desktop als auch für mobile Geräte. Das Tool analysiert die Webseite und gibt eine Punktzahl auf einer Skala von 0 bis 100 aus, wobei höhere Punktzahlen auf eine bessere Performance hinweisen. Zudem liefert es detaillierte Informationen und Empfehlungen zu verschiedenen Aspekten, die die Pagespeed beeinflussen, wie zum Beispiel:

  • Optimierung von Bildern: PageSpeed Insights zeigt an, ob Bilder auf der Webseite optimiert werden können, um die Dateigröße zu reduzieren und die Ladezeit zu verkürzen.
  • Caching-Einstellungen: Das Tool gibt Empfehlungen zur korrekten Konfiguration von Caching, um wiederkehrende Besucher schneller bedienen zu können.
  • Eliminierung von Render-Blocking-Resourcen: PageSpeed Insights identifiziert ressourcenintensive Elemente, die das Rendering der Seite blockieren und schlägt Möglichkeiten vor, wie diese optimiert oder verschoben werden können.
  • Komprimierung von CSS, JavaScript und HTML: Das Tool erkennt nicht komprimierte oder unnötig große CSS-, JavaScript- oder HTML-Dateien und empfiehlt entsprechende Komprimierungen.

Also alles in allem eine Runde Sache, trotzdem bevorzuge ich das Lighthouse Audit Tool, was im Endeffekt genau die selben Informationen liefert, aber eben näher am Shop dran ist.

Ahrefs

Ahrefs ist ein leistungssvolles SEO-Tool, das Website-Besitzern eine umfassende Analyse der SEO-Gesundheit ihrer Webseite bietet. Obwohl Ahrefs nicht speziell für die Pagespeed-Optimierung entwickelt wurde, kann es dennoch wertvolle Einblicke in die Performance liefern, die für die Geschwindigkeit und Benutzererfahrung relevant sein können. Mit Ahrefs können Website-Betreiber Backlinks, Keywords, Rankings und mehr analysieren, um mögliche SEO-Probleme aufzudecken, die sich auch auf die Ladezeiten auswirken könnten. Eine saubere SEO-Strategie trägt dazu bei, die technische Leistung der Webseite zu unterstützen und somit die Ladezeiten zu optimieren.

GTmetrix

GTmetrix ist ein spezialisiertes Tool zur Messung der Ladezeit und Performance von Webseiten. Es bietet umfassende Berichte über die Seitenladezeiten und identifiziert verschiedene Faktoren, die die Performance beeinflussen können. Zu den analysierten Aspekten gehören beispielsweise Serverantwortzeiten, Caching, Bilderoptimierung, Komprimierung und vieles mehr. GTmetrix liefert konkrete Daten und Empfehlungen zur Optimierung der Ladezeiten. Durch die Verwendung von GTmetrix können Shopbetreiber gezielt Ladezeitprobleme identifizieren und beheben, um eine schnellere und effizientere Webseite zu erreichen.

Sonstige Tools zur Shopware 6 Pagespeed Optimierung

Weitere interessante Tools auf die wir während unseren Recherchen gestoßen sind sind:

  • https://www.webpagetest.org/
  • https://tools.pingdom.com/
  • https://www.screamingfrog.co.uk/seo-spider/

Bei der Kombination von Ahrefs und GTmetrix erhalten Shopbetreiber und Entwickler ein umfassendes Bild der aktuellen Performance ihres Shopware 6 Shops. Ahrefs hilft dabei, mögliche SEO-Aspekte zu überprüfen, die sich auf die Ladezeiten auswirken könnten, während GTmetrix spezifische Ladezeitprobleme aufdeckt. Durch die umfassende Analyse können gezielte Optimierungsmaßnahmen durchgeführt werden, um die Ladezeiten zu verkürzen und die Benutzererfahrung zu verbessern.

6. Pagespeed Optimierung für Shopware 6: Dein Leitfaden

In diesem Leitfaden erwartest du umfangreiche Informationen und praktische Tipps, wie du die Pagespeed-Performance deines Shopware 6 Onlineshops maximieren kannst. Die hier aufgeführten Schritte werden dir dabei helfen, die Ladezeiten zu verkürzen, die Conversion-Raten zu steigern und die Zufriedenheit deiner Kunden zu erhöhen. Entdecke die neuesten Best Practices und bewährten Methoden zur Pagespeed-Optimierung, um einen schnellen, effizienten und erfolgreichen Onlineshop zu gewährleisten.

Schritt 1 – Buche einen Server der für Shopware 6 optimiert ist

Das richtige Hosting für Shopware 6 ist von entscheidender Bedeutung, da es einen erheblichen Einfluss auf den Pagespeed und die Leistung der Webseite hat. Hier sind die wichtigsten Aspekte, die sich auf den Pagespeed von Shopware 6 auswirken:

  • Serverleistung: Die Leistung des Servers, auf dem die Shopware 6 Webseite gehostet wird, ist ein entscheidender Faktor für die Ladezeit. Ein leistungsstarker Server mit ausreichend CPU- und RAM-Ressourcen kann die Anfragen schneller verarbeiten und die Webseite reibungsloser laden.
  • SSD und NVMe SSD Platten: Die Verwendung von SSD (Solid State Drive) und NVMe SSD Platten anstelle herkömmlicher Festplatten kann die Ladezeit erheblich verbessern. SSDs sind schneller und zuverlässiger als herkömmliche Festplatten und ermöglichen eine schnellere Datenübertragung.
  • Standort des Servers: Die geografische Entfernung zwischen dem Serverstandort und den Besuchern der Webseite kann die Ladezeit beeinflussen. Ein Server, der sich geografisch nahe an den Zielgruppen befindet, kann die Latenz reduzieren und die Seiten schneller laden.
  • CDN (Content Delivery Network): Die Verwendung eines Content Delivery Networks kann die Ladezeiten weiter verbessern. Ein CDN verteilt statische Inhalte wie Bilder, CSS und JavaScript auf Servern in verschiedenen Regionen, wodurch die Dateien schneller geladen werden können.

Insgesamt ist das richtige Hosting mit SSD und NVMe SSD Platten sowie eine sorgfältige Optimierung dieser Aspekte von großer Bedeutung, um die Ladezeit von Shopware 6 zu optimieren und eine schnelle, reibungslose Benutzererfahrung zu gewährleisten. Ein schneller Pagespeed kann nicht nur die Kundenzufriedenheit erhöhen, sondern auch das SEO-Ranking verbessern und die Conversion-Raten steigern. Daher ist die Investition in ein leistungsstarkes Hosting und eine gründliche Pagespeed-Optimierung für den Erfolg eines Shopware 6 Shops unerlässlich.

Unsere Empfehlung für optimales Shopware 6 Hosting – Timme Hosting (vServer / Managed Server)

Schritt 2 – Komprimiere Bilder für mehr Pagespeed

Reduziere die Dateigröße von Bildern, ohne dabei die Qualität zu beeinträchtigen, um die Ladezeit deiner Seiten zu verkürzen.

Um die Bilder in Shopware 6 effektiv zu komprimieren und die Ladezeiten deines Onlineshops zu verbessern, kannst du folgende Schritte befolgen:

  • Bildgrößen optimieren: Zunächst solltest du sicherstellen, dass die Bildgrößen deinen tatsächlichen Anforderungen entsprechen. Oft werden hochauflösende Bilder hochgeladen, die für das Web nicht benötigt werden. Verwende Bildbearbeitungssoftware, um die Bilder auf die benötigte Größe zu skalieren, bevor du sie hochlädst. Dadurch wird die Dateigröße reduziert und die Ladezeit verkürzt.
  • Bildkomprimierungstools verwenden: Es gibt verschiedene Online-Tools und Software, die speziell für die Bildkomprimierung entwickelt wurden. Diese Tools reduzieren die Dateigröße der Bilder, ohne dabei die sichtbare Qualität signifikant zu beeinträchtigen. Beliebte Optionen sind z.B. TinyPNG, ImageOptim, oder Squoosh von Google.
  • Verlustfreie vs. verlustbehaftete Komprimierung: Du kannst zwischen verlustfreier und verlustbehafteter Komprimierung wählen. Verlustfreie Komprimierung reduziert die Dateigröße, ohne sichtbare Qualitätseinbußen zu verursachen, während verlustbehaftete Komprimierung eine stärkere Reduzierung der Dateigröße mit einer minimalen sichtbaren Qualitätseinbuße ermöglicht. In den meisten Fällen ist eine verlustbehaftete Komprimierung ausreichend und führt zu deutlich kleineren Dateigrößen.
  • Bildformate optimieren: Die Wahl des richtigen Bildformats ist entscheidend. Für Bilder mit vielen Farben eignet sich das JPEG-Format, während PNG für Bilder mit transparenten Hintergründen oder einfacheren Grafiken besser geeignet ist. Das WebP-Format bietet eine weitere Möglichkeit, da es sowohl verlustfreie als auch verlustbehaftete Komprimierung bietet, jedoch nicht von allen Browsern unterstützt wird.

Das Prinzip der Bildkomprimierung lässt sich mit dem Packen eines Koffers vergleichen. Wenn du auf eine Reise gehst, möchtest du möglichst viele nützliche Dinge in deinen Koffer packen, aber gleichzeitig möchtest du auch nicht, dass er zu schwer und unhandlich wird. Also wählst du sorgfältig aus, was du einpackst, und rollst vielleicht deine Kleidung zusammen, um Platz zu sparen. Ähnlich verhält es sich mit der Bildkomprimierung – du reduzierst die Dateigröße, ohne dabei die Qualität zu beeinträchtigen, damit die Bilder schneller geladen werden können.

Die Optimierung der Bildgrößen ist vergleichbar mit dem Zuschneiden von Fotos für einen Rahmen. Du möchtest sicherstellen, dass das Bild perfekt in den Rahmen passt, ohne dass dabei Teile davon abgeschnitten werden oder der Rahmen zu groß ist. Genauso passt du die Bildgrößen an die tatsächlichen Anforderungen deiner Webseite an, um die optimale Darstellung und Ladezeit zu erreichen.

Der Unterschied zwischen verlustfreier und verlustbehafteter Komprimierung kann mit dem Komprimieren von Dateien in einem Zip-Ordner erklärt werden. Verlustfreie Komprimierung ist vergleichbar mit dem Einpacken von Dateien, ohne dass dabei Daten verloren gehen. Verlustbehaftete Komprimierung hingegen ist wie das Komprimieren von Dateien mit etwas Qualitätseinbußen, aber dafür erzielst du eine stärkere Reduzierung der Dateigröße.

Die Auswahl des richtigen Bildformats kann mit der Wahl der richtigen Werkzeuge für verschiedene Aufgaben verglichen werden. Du würdest keine Schraube mit einem Hammer eindrehen, genauso solltest du das richtige Bildformat für den Inhalt wählen. Wähle das JPEG-Format für hochauflösende Bilder und PNG für Grafiken mit transparenten Hintergründen oder einfacheren Designs, um die bestmögliche Qualität und Dateigröße zu erhalten.

Durch die regelmäßige Überprüfung der Bildkomprimierung, besonders bei neuen Produkten oder Bildern, kannst du sicherstellen, dass deine Webseite immer optimal performt, ähnlich wie bei der regelmäßigen Pflege von Dingen in deinem Haushalt, um sie in einem einwandfreien Zustand zu halten. Indem du diese Prinzipien der Bildkomprimierung im Shopware 6 Onlineshop anwendest, kannst du die Leistung steigern und Besuchern eine schnellere und angenehmere Nutzererfahrung bieten.

Das kannst du entweder in deinem Prozess der Bild-Datei Erstellung für deinen Shop integrieren oder verwendest ein Plugin wie TinyPNG | Bildkomprimierung ohne Aufwand.

Noch mehr Pagespeed in Sachen Bilder in Shopware 6 erreichen wir durch die Verwendung von webp Dateien statt jpg & png Dateien bestenfalls in Kombination mit der Nutzung eines CDN. Mehr sazu weiter unten.

Schritt 3 – Nutze Caching in Shopware 6 für mehr Pagespeed

Caching nutzen: Setze Caching-Mechanismen ein, um häufig verwendete Seiten und Ressourcen zwischenspeichern zu können und so die Ladezeiten zu verkürzen.

Shopware 6 bietet verschiedene Caching-Mechanismen, die dazu dienen, häufig verwendete Seiten und Ressourcen zu zwischenspeichern. Das Ziel ist es, die Ladezeiten zu verkürzen und eine schnellere Auslieferung der Inhalte an die Besucher des Onlineshops zu ermöglichen. Hier sind die wichtigsten Aspekte des Cachings in Shopware 6:

  • Seiten-Caching: Shopware 6 ermöglicht das Cachen von Seiten, sodass bereits generierte Seiteninhalte zwischengespeichert werden. Dadurch müssen die Seiten nicht bei jedem Aufruf erneut generiert werden, was die Ladezeit deutlich verkürzt. Das Standardseitencaching kann aktiviert werden, und es besteht auch die Möglichkeit, individuelles Caching für bestimmte Seiten einzurichten. Das ist besonders nützlich für statische Seiten oder Seiten, die sich nur selten ändern.
  • HTTP-Caching: Durch die Verwendung von HTTP-Caching-Headern können bestimmte Ressourcen wie Bilder, Stylesheets und JavaScript-Dateien im Browser des Benutzers gespeichert werden. Diese Ressourcen werden dann beim nächsten Aufruf der Seite nicht erneut vom Server heruntergeladen, sondern direkt aus dem Cache des Browsers geladen. Dadurch werden wiederholte Seitenaufrufe deutlich schneller.
  • Cache-Invalidierung: Um sicherzustellen, dass die zwischengespeicherten Inhalte immer aktuell sind, verfügt Shopware 6 über eine Cache-Invalidierungsfunktion. Wenn Änderungen an Produkten, Kategorien oder anderen Inhalten vorgenommen werden, wird der entsprechende Cache automatisch invalidiert, und die neuen Inhalte werden beim nächsten Seitenaufruf erneut generiert und in den Cache geschrieben.
  • Varnish-Integration: Varnish ist ein Reverse-Proxy-Cache, der vor dem eigentlichen Webserver geschaltet wird und häufig verwendete Seiten und Ressourcen speichert. Shopware 6 kann nahtlos mit Varnish integriert werden, um die Ladezeiten weiter zu verbessern und die Serverlast zu reduzieren.

Caching ist eine wichtige Technik, um die Leistung und Geschwindigkeit eines Onlineshops zu optimieren. Indem häufig verwendete Seiten und Ressourcen zwischengespeichert werden, kann Shopware 6 eine schnellere Auslieferung der Inhalte ermöglichen und eine reibungslose Benutzererfahrung bieten. Es ist jedoch wichtig, den Cache regelmäßig zu überprüfen und bei Bedarf zu leeren oder zu invalidieren, um sicherzustellen, dass die Besucher stets aktuelle Inhalte erhalten.

Beim Caching empfehlen empfehlen wir unbedingt die Verwendung von Cronjobs die dafür sorgen, dass der Cache täglich geleert und und kurz darauf wieder aufgewärmt wird. Bei der Verwendung von Plugins, bei denen beispielsweise Preise nur dann angezeigt werden sollen, wenn ein User angemeldet ist kann es durch das Caching jedoch zu Problemen kommen.

Schritt 4 – Minimiere CSS- und JavaScript-Dateien

In Shopware 6 ist es wichtig, CSS- und JavaScript-Dateien zu minimieren, um die Ladezeiten deines Onlineshops zu optimieren. Das bedeutet, dass unnötige Leerzeichen, Zeilenumbrüche und Kommentare aus den Dateien entfernt werden, um ihre Größe zu reduzieren. Durch die Minimierung werden die Dateigrößen kleiner, was zu einer schnelleren Übertragung und einer beschleunigten Darstellung der Webseite führt.

Aspekte zur Minimierung von CSS- und JavaScript-Dateien in Shopware 6:

Shopware Theme Compiler: Shopware 6 verfügt über einen Theme Compiler, der die CSS- und JavaScript-Dateien automatisch minimiert und kombiniert. Wenn du Anpassungen an den Styles oder Skripten in deinem Shopware-Theme vornimmst, wird der Compiler diese Dateien bei der Erstellung des finalen Themes minimieren und optimieren.

Trennung von Entwicklungs- und Produktionsumgebungen: Es ist ratsam, eine klare Trennung zwischen der Entwicklungs- und Produktionsumgebung zu haben. Während der Entwicklung ist es hilfreich, unminimierte CSS- und JavaScript-Dateien zu verwenden, um die Fehlersuche und das Debugging zu erleichtern. In der Produktionsumgebung sollten jedoch die minimierten Dateien verwendet werden, um die bestmögliche Leistung zu erzielen.

Verwendung von Build-Tools: Wenn du Shopware 6 mit benutzerdefinierten Anpassungen und Erweiterungen erweiterst, kannst du Build-Tools wie Webpack, Gulp oder Grunt verwenden, um CSS- und JavaScript-Dateien zu minimieren. Diese Tools ermöglichen eine automatisierte Minimierung und Optimierung deiner Dateien während des Entwicklungsprozesses.

CSS-Sprites und Icon Fonts: Die Verwendung von CSS-Sprites oder Icon Fonts anstelle einzelner Bilddateien kann die Anzahl der HTTP-Anfragen reduzieren und somit die Ladezeiten verbessern. Indem mehrere Bilder in einem einzigen Spritesheet oder einer Schriftart kombiniert werden, verringert sich die Anzahl der Serveranfragen und damit auch die Ladezeit der Webseite.

Lazy Loading von JavaScript: Wenn möglich, solltest du das Lazy Loading von JavaScript-Dateien in Betracht ziehen. Das bedeutet, dass bestimmte JavaScript-Dateien nur geladen werden, wenn sie tatsächlich benötigt werden, z. B. wenn der Benutzer eine bestimmte Aktion ausführt. Dies reduziert die initiale Ladezeit der Seite.

Durch die Minimierung von CSS- und JavaScript-Dateien kannst du die Performance deines Shopware 6 Onlineshops verbessern und eine schnellere Ladezeit für deine Besucher erreichen. Achte darauf, dass du immer die neuesten Best Practices zur Optimierung von CSS und JavaScript befolgst, um eine optimale Leistung zu gewährleisten.

Plugin Tipp:  Frosh HTML Minify plugin – kostenlos 

„Dieses Plugin bietet Besuchern minimiertes HTML und minimiertes und kombiniertes Inline-JavaScript. In Tests führt dies zu bis zu 50% kleineren Inhalten und bei einer gzip-Komprimierung von bis zu 30%. Das komprimierte Ergebnis wird fertig im HTTP-Cache abgelegt. Sie können die Komprimierung in den Devtools verfolgen, indem Sie den Header „X-Html-Compressor“ prüfen.“

https://store.shopware.com/frosh35770116184f/html-minify-plugin.html

Schritt 5 – Schnellere Ladezeit durch weniger Cookies

Eine effiziente Verwaltung der Cookies im Shopware 6 Shop ist von großer Bedeutung für die Seitenladezeit und die Performance der Webseite. Viele Cookies werden durch zusätzliche Plugins gesetzt, die verschiedene Funktionen erfüllen, wie beispielsweise die Erfassung von Nutzerdaten oder die Implementierung spezifischer Features. Oftmals werden auch Cookies von Drittanbietern eingebunden, die für Tracking oder Werbezwecke genutzt werden.

Um die Ladezeit zu optimieren, ist es ratsam, die Cookies, die durch diese Plugins gesetzt werden, genau zu überprüfen. Es ist wichtig, nur die wirklich notwendigen Cookies für die Funktionalität und den Datenschutz des Shops zu verwenden. Unnötige Plugins und Cookies sollten deaktiviert oder entfernt werden, um die Datengröße der Webseite zu reduzieren und die Ladezeit zu verbessern.

Durch eine gezielte Einbindung von Plugins und die Verringerung der verwendeten Cookies kann die Seitenladezeit verkürzt werden, was zu einer schnelleren und flüssigeren Benutzererfahrung führt. Eine effiziente Cookie-Verwaltung trägt dazu bei, die Performance des Shopware 6 Shops zu steigern und die Zufriedenheit der Besucher zu erhöhen. Indem man die Anzahl und Größe der Cookies reduziert und nur die essentiellen Cookies einbindet, kann man die Performance der Webseite optimieren und dafür sorgen, dass die Seiten schneller geladen werden. Dies ist ein wichtiger Faktor, um die Konversionsrate zu verbessern und den Erfolg des Online-Shops langfristig zu steigern.

Schritt 6 – Lazy Loading in Shopware 6 verwenden

In Shopware 6 kann Lazy Loading („faules Laden“) verwendet werden, um die Ladezeit der Webseite zu verbessern. Diese Technik sorgt dafür, dass nur die Inhalte geladen werden, die für den Nutzer sichtbar sind. Wenn ein Nutzer beispielsweise durch eine Produktkategorieseite scrollt, werden nur die Produkte geladen, die sich gerade im sichtbaren Bereich befinden. Dadurch muss nicht der gesamte Inhalt der Seite sofort geladen werden, was die Ladezeit erheblich reduziert.

Der positive Effekt von Lazy Loading

Früher wurde Lazy Loading hauptsächlich mit JavaScript implementiert. Heute besteht jedoch auch die Möglichkeit des nativen Einbindens, was zusätzliche Ressourcen spart, die normalerweise für JavaScript-Code verwendet würden. Dadurch wird der positive Effekt auf die Ladezeit noch verstärkt.

Plugins für Lazy Loading in Shopware 6

In Shopware 6 gibt es verschiedene Plugins, die Lazy Loading unterstützen und das Einbinden erleichtern. Auch hier gibt es „normales“ Lazy Loading mit JavaScript oder Natives Lazy Loading ohne JavaScript. Wir haben euch beide verlinkt.

Geschwindigkeitsverbesserungen für Kategorieseiten mit vielen Bildern

Mit Lazy Loading in Shopware 6 können erhebliche Geschwindigkeitsverbesserungen für Kategorieseiten mit vielen Bildern erzielt werden. Angenommen, eine Kategorieseite zeigt insgesamt 48 Bilder an, von denen jedoch nur 8 Bilder „above the fold“ (oberhalb des sichtbaren Bereichs) sind. Dank Lazy Loading werden bei der Initialisierung der Seite nur diese 8 Bilder sofort geladen, während die restlichen 40 Bilder, die sich unterhalb befinden, erst nach und nach geladen werden, wenn der Nutzer durch die Seite scrollt und sie in den sichtbaren Bereich kommt.

Dies führt dazu, dass die Ladezeit der Kategorieseite drastisch verkürzt wird, da nur ein Bruchteil der Bilder beim ersten Seitenaufruf geladen werden muss. Für den Nutzer bedeutet dies eine schnellere und flüssigere Benutzererfahrung, da er nicht lange auf das vollständige Laden der Seite warten muss.

Positiver Einfluss auf die Nutzererfahrung und Conversion-Rate

Der Effekt der Lazy Loading-Technik kann besonders bei Seiten mit vielen Bildern, wie Produktkategorieseiten, spürbar sein. Die schnelle Anzeige der wichtigen Inhalte „above the fold“ steigert die Wahrscheinlichkeit, dass der Nutzer länger auf der Seite bleibt und mehr Produkte ansieht, was sich wiederum positiv auf die Conversion-Rate auswirken kann. Was wir nicht oft genug wiederholen können.

Schritt 7 – Deaktiviere den Admin Worker und nutze Cronjobs

Um die negativen Auswirkungen des Admin Workers zu vermeiden, empfehlen wir, diesen zu deaktivieren und stattdessen zwei Cronjobs einzurichten, die die Aktualisierungsaufgaben übernehmen. Dadurch wird die Last besser verteilt, und die Seitengeschwindigkeit bleibt auch bei gleichzeitigem Zugriff mehrerer Benutzer hoch.

Stellen wir uns vor, die Aktualisierungsfunktionen in Shopware 6 sind wie Pakete, die in einem Postzentrum bearbeitet werden. Der Verwaltungsarbeiter ist der fleißige Mitarbeiter, der diese Pakete sortiert und weiterleitet, während die „Nachrichtenwarteschlange“ die Warteschlange von Paketen darstellt, die darauf warten, bearbeitet zu werden.

Der eifrige Sortierer (Admin Worker)

Angenommen, du betrittst ein Postzentrum (die Shopware 6-Verwaltung) mit einem Paket (deiner Anmeldung). Sobald du eintreten, beginnt der eifrige Sortierer (der Verwaltungsarbeiter) sofort damit, dein Paket zu verarbeiten. Er schaut auf das Adressetikett (deine Anmeldungsinformationen), sortiert das Paket (führt die Aktualisierungsfunktionen aus) und leitet es an den richtigen Ort weiter (die Administrationsoberfläche). Solange der Sortierer dein Paket bearbeitet, kann er andere Pakete (andere Benutzeranmeldungen) vorübergehend blockieren, wenn es viele Pakete gibt, die gleichzeitig bearbeitet werden müssen.

Die Warteschlange der Pakete (Message Queue)

Stell dir die Warteschlange im Postzentrum vor, in der alle Pakete in einer Reihe warten, um vom Sortierer (dem Verwaltungsarbeiter) abgearbeitet zu werden. Jedes Paket enthält eine bestimmte Aufgabe, die erledigt werden muss. Wenn du dich längere Zeit nicht in der Verwaltung angemeldet hast, können sich mehrere Pakete in der Warteschlange ansammeln. Diese Pakete bleiben in der Warteschlange, bis der Sortierer zurückkommt und sie nacheinander bearbeitet. Je mehr Pakete in der Warteschlange sind, desto länger dauert es, bis alle abgearbeitet sind, wenn der Sortierer zurückkommt.

Deaktivierung des Verwaltungsarbeiters und Cronjobs

Selbst wenn nur ein Admin eingeloggt ist, aber mehrere Tabs offen hat, kann das oben beschriebene Problem mit der Warteschlange auftreten. Um die Herausforderungen zu umgehen, kannst du den Verwaltungsarbeiter deaktivieren. In diesem Fall stellt sich der Sortierer nicht mehr jedem ankommenden Paket entgegen, und du kannst die Aufgaben anders erledigen. Ähnlich kannst du zwei Cronjobs einrichten, die als zusätzliche Mitarbeiter fungieren und die Pakete aus der Warteschlange übernehmen, wenn der Sortierer nicht da ist. Auf diese Weise kannst du die Arbeit effizienter verteilen und sicherstellen, dass die Pakete schneller abgearbeitet werden, auch wenn du eine Weile nicht im Postzentrum warst.

Insgesamt ermöglichen diese Maßnahmen eine bessere Handhabung von gleichzeitigen Prozessen und reduzieren die Auswirkungen von langen Wartezeiten, sodass dein Onlineshop reibungslos läuft und die Leistung optimiert wird.

Schritt 8 – Verwende Browser Caching

Konfiguriere den Server so, dass Ressourcen im Browser des Benutzers zwischengespeichert werden, um wiederholte Seitenaufrufe zu beschleunigen.

Mit Browser Caching kann die Ladezeit deiner Webseite in Shopware 6 verbessert werden. Browser Caching ist eine Technik, bei der statische Ressourcen wie CSS-Dateien, JavaScript-Dateien, Bilder und andere Dateien im Browser des Besuchers zwischengespeichert werden. Dadurch werden diese Ressourcen beim erneuten Aufruf der Webseite nicht erneut vom Server heruntergeladen, sondern direkt aus dem lokalen Cache des Browsers geladen. Dies führt zu einer schnelleren Ladezeit der Seite, da weniger Daten über das Internet übertragen werden müssen.

Um Browser Caching zu nutzen, können entsprechende Einstellungen auf dem Webserver oder in Shopware 6 vorgenommen werden. Hier ist ein Beispiel, wie du Browser Caching mit den Cache-Control- und Expires-Headern auf einem Apache-Webserver aktivieren kannst:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
</IfModule>

Alternativ kannst du Browser Caching auch auf einem NGINX-Webserver konfigurieren. Hier ist ein Beispiel, wie du die Expires-Header in der NGINX-Konfiguration setzen kannst:

location ~* \.(css|js|jpg|jpeg|png|gif)$ {
expires 1M;
}

Beide Methoden setzen Expires-Header auf eine bestimmte Zeitspanne, um dem Browser anzuweisen, wie lange die Ressourcen im Cache gespeichert werden sollen, bevor sie erneut vom Server angefordert werden.

Wichtig: Beachte, dass Browser Caching für statische Ressourcen geeignet ist, die sich selten ändern. Falls du Änderungen an einer Ressource vornimmst, sollte auch der Cache-Header aktualisiert werden, um sicherzustellen, dass die Besucher die neueste Version der Datei erhalten.

Durch die Implementierung von Browser Caching kannst du die Ladezeiten deiner Webseite deutlich verbessern und die Serverlast reduzieren, da weniger Anfragen an den Server gestellt werden. Dies trägt zu einer besseren Benutzererfahrung und einer effizienteren Nutzung der Ressourcen bei.

Diese Spezial-Einstellungen solltest du aber grundsätzlich am besten mit deinem Hosting Anbieter und / oder deiner Agentur absprechen. Auf einem Shared Hosting Webspace werden diese Einstellungen beispielsweise auch in der Regel nicht möglich sein.

Schritt 9 – Nutze aktuelle PHP und Datenbank Versionen

Die Wahl der richtigen Version von PHP und der Datenbank (mySQL oder InnoDB) kann einen signifikanten Einfluss auf die Pagespeed-Optimierung von Shopware 6 haben. PHP ist die Skriptsprache, die die Backend- und Frontend-Logik des Shops ausführt, während die Datenbank für die Speicherung und den Abruf von Informationen verantwortlich ist.

Aktuelle Versionen von PHP und der Datenbank bieten in der Regel Leistungsverbesserungen, Fehlerbehebungen und Sicherheitsupdates, die sich positiv auf die Ladezeiten auswirken können. Zum Beispiel bieten PHP 8.2, PHP 8.1 und PHP 8.0 kontinuierlich Optimierungen in der Leistung und der Syntax, die die Ausführungsgeschwindigkeit erhöhen können.

In Kombination mit einer optimierten Datenbank kann dies zu schnelleren Seitenladezeiten führen. Es ist daher empfehlenswert, regelmäßig die neuesten Versionen von PHP und der Datenbank zu verwenden, um von den neuesten Leistungsverbesserungen und Sicherheitsaktualisierungen zu profitieren.

Hier kann es jedoch bei Plugins und auch Shopware selbst sein, dass noch nicht alles mit den neusten PHP oder Datenbank Versionen kompatibel sind. Bevor hier etwas umgestellt wird sollte man es unbedingt vorher auf einer Staging Umgebung testen.

Schritt 10 – Vermeide 404 Fehlermeldungen

404 Fehler können die Ladezeit einer Webseite erheblich verzögern. Wenn die angeforderten Ressourcen beim Laden der Website nicht gefunden werden, kann sich die Ladezeit erheblich verzögern. Dies betrifft beispielsweise Bilder, Javascript-Dateien oder CSS-Dateien, die zwar im Quelltext der Seite definiert sind, aber beim Laden nicht gefunden werden. In solchen Fällen versucht der Server vergeblich, die vom Browser angeforderten Ressourcen zu finden, was zu unnötigen Verzögerungen führt.

Um die 404-Fehler erzeugenden Ressourcen zu identifizieren, stehen mehrere Möglichkeiten zur Verfügung:

  1. Prüfen Sie die Meldungen bezüglich Crawl Errors in der Google Search Console.
  2. Führen Sie regelmäßige Crawls der Domain mit SEO-Tools durch.
  3. Überprüfen Sie einzelne Seiten im Browser mithilfe der Entwicklertools, insbesondere dem „Network“-Tab. Bei einem 404-Fehler wird der Statuscode als 404 angezeigt.

Um 404-Fehler zu beheben, sollten Sie zunächst überprüfen, ob die nicht gefundenen Ressourcen tatsächlich benötigt werden. Falls nicht, können diese aus dem Quelltext entfernt werden. Manchmal verursachen auch externe Ressourcen, die nicht mehr verfügbar sind, einen 404-Fehler. In solchen Fällen ist es wichtig zu prüfen, ob diese Ressourcen noch benötigt werden oder ob die URLs angepasst werden müssen, damit sie auf die richtigen Ressourcen verweisen. Durch die Behebung von 404-Fehlern können Sie die Ladezeit Ihrer Webseite optimieren und eine bessere Nutzererfahrung bieten.

Schritt 11 – Erhöhe das Memory Limit deines Shopware 6 Shops

Das PHP Memory Limit definiert, wie viel Arbeitsspeicher ein einzelnes PHP-Skript während seiner Ausführung nutzen darf. Eine spürbare Leistungssteigerung kann erreicht werden, indem man das PHP Memory Limit auf einen Wert zwischen 512 MB und 1024 MB erhöht. Dadurch lassen sich auch „Out of Memory“-Fehler vermeiden, die auftreten können, wenn das Skript nicht genügend Speicherplatz für die Ausführung zur Verfügung hat.

Die Leistungssteigerung wirkt sich nicht nur auf das Frontend der Shopware-Seite aus, sondern auch auf das Backend, insbesondere beim Kompilieren der Themes. Ein höheres Memory Limit ermöglicht eine reibungslosere Ausführung von komplexen Prozessen, was die Geschwindigkeit der Website insgesamt verbessert.

Natürlich hängt der festzulegende Wert des PHP Memory Limits auch von den Ressourcen des Hosters ab. Wenn der Server über ausreichend RAM verfügt, zum Beispiel 8 GB, kann man ohne Bedenken ein PHP Memory Limit von 1024 MB festlegen. Es ist jedoch ratsam, die Einstellung des Memory Limits mit dem Hoster abzustimmen, um sicherzustellen, dass genügend Ressourcen vorhanden sind und die Website optimal läuft.

Insgesamt kann die Erhöhung des PHP Memory Limits eine effektive Maßnahme sein, um die Performance der Shopware 6-Seite zu verbessern und sowohl den Nutzern als auch den Administratoren eine schnellere und reibungslosere Erfahrung zu bieten.

Schritt 12 – Lade Bilder über ein Content Delivery Network

Der Einsatz eines Content Delivery Networks (CDN) kann die Ladezeit Ihrer Webseite oft erheblich verbessern. Ein Content Delivery Network stellt Inhalte wie große Bilder über ein übernationales, global verteiltes Netzwerk von Servern bereit. Angenommen, Ihr Shop ist in einer Stadt gehostet und ein Besucher aus einer anderen Stadt besucht Ihre Seite, dann werden die Inhalte von einem Server in der jeweiligen Stadt ausgeliefert. Solche Geschwindigkeitsvorteile ergeben sich auch, wenn Sie übernational tätig sind und Nutzer aus dem Ausland auf Ihren Shop zugreifen. Für einen Besucher aus einem anderen Land würden die Inhalte dann von einem Server im entsprechenden Land ausgeliefert.

Als CDN können wir Ihnen Cloudflare empfehlen. Cloudflare bietet nicht nur die Inhaltsbereitstellung, sondern schützt Ihre Webseite auch vor DDoS-Angriffen (Distributed Denial of Service). DDoS-Angriffe durch Botnets und Hacker können nicht nur die Leistung und Verfügbarkeit Ihrer Webseite beeinträchtigen, sondern sie teilweise auch komplett lahmlegen.

Darüber hinaus unterstützt Cloudflare die Funktion „Bring Your Own IP“ (BYOIP), die es ermöglicht, Ihre eigenen IP-Adressen im CDN zu nutzen. Dies kann für bestimmte Anwendungsfälle von Vorteil sein.

Zusätzlich bietet Cloudflare auch Unterstützung für das HTTP/3-Protokoll, das die Performance weiter optimiert und zu einer schnelleren Ladezeit führt.

Für die Einbindung empfehlen wir das Shopware Plugin ThumbnailProcessor mit Webp-Unterstützung von Friends of Shopware, das es zusätzlich ermöglicht, dass keine Thumbnails mehr im Shop gespeichert, sondern in Echtzeit erstellt werden.

Hier geht es zum kostenlosen Plugin:

Shopware Plugin ThumbnailProcessor

Und hier zu Cloudflare:

Cloudflare Website

Cloudflare CDN Informationen

Schritt 13 – Vermeide die Nutzung des HTTP/1.1 Protokolls

Du solltest in Bezug auf die Pagespeed-Optimierung darauf achten, dass du nicht mehr das veraltete HTTP/1.1 Protokoll nutzt. Stattdessen empfehle ich dir, auf das moderne und effizientere HTTP/2 Protokoll umzusteigen. HTTP/2 bietet deutliche Verbesserungen in Effizienz, Geschwindigkeit und Sicherheit im Vergleich zu HTTP/1.1. Mit der komprimierten Übertragung der Daten im Binärcode sparst du Bandbreite und ermöglicht deinen Besuchern schnellere Ladezeiten der Shopware 6 Webseite, was zu einem besseren Nutzererlebnis führt.

HTTP/2 nutzt das User Datagram Protocol (UDP), was eine schnellere Übertragung von Daten ohne Verbindungsaufbauzeiten ermöglicht, besonders bei hohen Latenzzeiten oder schlechter Netzwerkqualität. Zusätzlich unterstützt HTTP/2 Multiplexing und Stream-Priorisierung, was die effiziente Nutzung der Netzwerkressourcen fördert und die Ladezeit von Webseiten weiter verkürzt.

Da HTTP/2 bereits von den meisten modernen Webbrowsern unterstützt wird, solltest du die Aktivierung für deine Webseite in Betracht ziehen. Überprüfe deine Server-Konfiguration und gegebenenfalls mit deinem Hosting-Anbieter, um HTTP/2 einzurichten und die Performance deiner Shopware 6 Webseite zu verbessern. Eine schnellere Ladezeit trägt zu einem insgesamt besseren Nutzererlebnis bei und kann dazu beitragen, dass deine Besucher länger auf deiner Webseite verweilen.

Bonus-Tipps:

a) Saubere Datenbanken
Sorge für die Automatische Bereinigung deiner Datenbank-Tabellen, sonst blähen sie sich auf wie nach einem Teller Bohnen. Nicht Cracks dürfen dieses Plugin verwenden:
Automatische Bereinigung der Warenkörbe, Log-Einträge und Version Commit Daten

Echte Nerds programmieren selber irgendetwas, was mit Cronjobs läuft.

b) Zu viele Weiterleitungen vermeiden
Wer mit URL Weiterleitungen arbeitet sollte nicht übertreiben. Jede Weiterleitung mehr sind ein paar Millisekunden längere Ladezeit!

Fazit

Die Pagespeed Optimierung ist ein entscheidender Faktor für den Erfolg deines Shopware 6 Onlineshops. Durch die Umsetzung der oben beschriebenen Maßnahmen zur Optimierung der Ladezeiten kannst du die Benutzererfahrung verbessern, die Conversion-Rate steigern und dein Shopware 6 SEO-Ranking positiv beeinflussen. Sorge dafür, dass deine Seiten schnell geladen werden und begeistere deine Kunden mit einer reibungslosen Einkaufserfahrung!

7. Weiterführende Links

Shopware Plugin – Lazy Loading (49.- € )
https://store.shopware.com/en/ies5925329598866/lazy-loading.html

Shopware Plugin – Natives Lazy Loading ohne JS | nicht sichtbare Bilder aufschieben | Bilder nachladen | Pagespeed | P
https://store.shopware.com/nimbi73480481303/natives-lazy-loading-ohne-js-nicht-sichtbare-bilder-aufschieben-bilder-nachladen-pagespeed-p.html

TinyPNG | Bildkomprimierung ohne Aufwand
https://store.shopware.com/wyn2370785237572m/tinypng-bildkomprimierung-ohne-aufwand.html

Timme Hosting – Shopware 6 Admin Worker deaktivieren
https://timmehosting.de/blog/shopware-6-admin-worker-deaktivieren

Splendid Internet Blog – Lazy Loading: Pagespeed-Pflichtprogramm für Onlineshops?
https://www.splendid-internet.de/blog/lazy-loading-pagespeed-pflichtprogramm-fuer-onlineshops/

zweipunkt Blog – Shopware PageSpeed & Core Web Vitals Optimierung
https://zwei.gmbh/blog/151/die-bedeutung-von-google-pagespeed-core-web-vitals/

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Der Beitrag Shopware 6 Pagespeed Optimierung erschien zuerst auf Shopware Agentur | Great2Gether.

Multi-Channel Marketing: Verbinde Shopware 6 einfach mit Amazon, ebay, idealo und anderen Portalen

$
0
0

Es folgt der Gastbeitrag Multi-Channel Marketing: Verbinde Shopware 6 einfach mit Amazon, ebay, idealo und anderen Portalen von Peter Mähner (RedGecko GmbH) und Florian Müller (Content Guys). Lese dein Beitrag bis zum Ende und erhalte einen Gutschein für magnalister.

Inhaltsüberischt:

  1. Online-Marktplätze als Umsatzmultiplikatoren nutzen
  2. Welche Shopping-Plattformen eignen sich für den Einstieg in den Mehrkanalvertrieb?
  3. Bei Marktplätzen gut gerankt werden
  4. Der einfache Weg in den Mehrkanalvertrieb
  5. Produkte für den Upload an Marktplätze vorbereiten
  6. Produkte an Marktplätze hochladen
  7. Lagerbestände abgleichen
  8. Preise synchronisieren
  9. Bestellungen importieren
  10. Rechnungen zur Verfügung stellen

Wie man es sich bereits vorstellen kann, ist der Aufbau von Reichweite für den eigenen Shopware-Shop mit viel Know How, Zeit und Kosten verbunden. Wäre es nicht schön, wenn es eine Abkürzung zu mehr Umsatz gäbe, die die mühsame Bekanntmachung des Shops einfach überspringt?

1. Online-Marktplätze als Umsatzmultiplikatoren nutzen

Auch wenn es nie den einfachen Weg zum Erfolg gibt, das Stichwort lautet: “Mehrkanalvertrieb”.

Beim Mehrkanalvertrieb, auch Multichannel E-Commerce genannt, verkaufst du deine Produkte als Online-Händler über mehrere – idealerweise reichweitenstarke – Online-Plattformen. Dazu zählen beispielsweise Online-Marktplätze wie Amazon oder eBay, aber auch Preisvergleichsportale wie idealo. Du baust also neben dem Direktvertrieb über deinen Shopware-Shop weitere Verkaufskanäle auf und nutzt diese als Multiplikatoren.

Das bedeutet konkret: Nicht du musst über eigene, kostenintensive Marketing-Maßnahmen potenzielle Käufer für deine Produkte im World Wide Web finden, sondern Käufer nutzen den Online-Marktplatz oder das Preisvergleichsportal, um aktiv nach (deinen) Produkten zu suchen. Du sorgst dafür, dass deine Waren zum idealen Preis-Leistungs-Verhältnis angeboten und bestmöglich präsentiert werden und steigerst so die Chance auf eine gute Sichtbarkeit auf dem jeweiligen Portal. Sichtbarkeit bedeutet in diesem Fall, dass du unter den Top-Suchergebnissen angezeigt wirst. Im Idealfall erhältst du sogar, wie z. B. bei Amazon, die sog. „Buy Box“, also die prominenteste Platzierung und den Zusatz „Unsere Empfehlung“. Wahrscheinlich kannst du dir gut vorstellen, was das mit deinem Umsatz macht.

Nehmen wir einmal den Amazon-Marktplatz als einen möglichen Vertriebskanal. Wie das Institut für Handelsforschung (IFH) in einer 2021 durchgeführten Studie mitteilte, kaufen 94 % der deutschen Online-Shopper bei Amazon. Darüber hinaus liegt der Anteil von Amazon am Umsatz des gesamten deutschen Online-Handels 2021 erstmals über 50 Prozent (53 %). Der E-Commerce-Riese hat alleine in Deutschland mittlerweile mehr als 46 Millionen Kunden.

Im Umkehrschluss bedeutet das, dass sich nahezu jeder Online-Händler, der Produkte verkauft, die vom Amazon-Marktplatz zugelassen werden, eine riesige Reichweite auf dem deutschen E-Commerce Markt aufbauen kann. Und das relativ unkompliziert und mit äußerst geringem finanziellen Aufwand.

Vielleicht fragst du dich jetzt: Warum brauche ich dann überhaupt noch einen Onlineshop, wenn ich meine Produkte doch direkt über ein Shopping-Portal wie Amazon verkaufen kann? Die einfache Antwort lautet: Unabhängigkeit.

Auch wenn der ausschließliche Verkauf über Marktplätze im ersten Moment reizvoll klingt – immerhin sparst du Kosten für den Aufbau eines eigenen Shops – ist es keine kluge Idee, sich komplett in die Abhängigkeit eines Unternehmens wie Amazon zu begeben. Zum einen kann es jederzeit passieren, dass der Marktplatz dein Verkäuferkonto einfriert oder dich als Händler sperrt. Bei Amazon sind dazu keine schwerwiegenden Vergehen nötig, manchmal reicht auch schon ein unzufriedener Kunde, der sich beim Marktplatz über dein Geschäft beschwert. Verlässt du dich zu sehr auf eine der dominanten Verkaufsplattformen, besteht also jederzeit ein gewisses Risiko, dass dein gesamter Umsatz von heute auf morgen wegbricht.

Nehmen wir an, du sorgst vor und verkaufst deine Produkte auf 2-3 bekannten Online-Marktplätzen, z. B. Amazon, eBay und Kaufland.de. Du wirst schnell merken: Mit jedem Marktplatz nimmt die Verwaltungskomplexität zu. Beispielsweise musst du dich darum kümmern, dass deine Lagerbestände marktplatzübergreifend korrekt sind. Gleichzeitig wird die Verwaltung und der Versand der Bestellungen von unterschiedlichen Quellen schnell zu einer echten Herausforderung, denn du musst dich jedes Mal beim jeweiligen Marktplatz anmelden und deine Verkäufe über dessen Benutzeroberfläche managen.

Genau hier kann der eigene Shopware-Shop ebenfalls helfen. In Kombination mit einem Multichannel-Plugin wie magnalister lässt sich der Shop mit den Marktplätzen verbinden und wird dadurch zur Steuerzentrale für deinen gesamten Mehrkanalvertrieb. Preise und Lagerbestände können über alle Marktplätze hinweg synchronisiert werden und Bestellungen werden zentral in den Shopware-Shop importiert. Du musst dich dadurch nicht mehr parallel mit mehreren Marktplatz-Oberflächen auseinandersetzen, sondern behältst stets in deinem eigenen, gewohnten Shopsystem den Überblick. Weiter unten stellen wir dir magnalister, eines der etabliertesten Tools für die Anbindung von Online-Marktplätzen an deinen Shopware-Shop, vor.

2. Welche Shopping-Plattformen eignen sich für den Einstieg in den Mehrkanalvertrieb?

Du hast die Vorteile des Mehrkanalvertriebs für dich erkannt und möchtest nun deine ersten Schritte gehen. Herzlichen Glückwunsch. Dann solltest du bei der Auswahl der geeigneten Marktplätze bzw. Preisvergleichsportale beginnen. Nachfolgend geben wir dir einen kurzen Überblick über die größten und beliebtesten Portale in Deutschland.

 

Portalname Potentielle Kunden in Deutschland Geeignet für… An Shopware anbindbar?
Amazon 46 Millionen Händler jeder Größe, die sowohl Massenprodukte,
als auch Nischenprodukte verkaufen
Ja, per Multichannel-Plugin, z. B. magnalister
ebay 16,5 Millionen Händler jeder Größe, die neue und
gebrauchte Waren verkaufen
Ja, per Multichannel-Plugin, z. B. magnalister
OTTO 11,5 Millionen Mittelständische bis große Händler, die die
Aufnahmebedingungen des Marktplatzes erfüllen
Ja, per Multichannel-Plugin, z. B. magnalister
Kaufland.de 32 Millionen Händler jeder Größe, die ihre Produkte zu sehr
konkurrenzfähigen Preisen anbieten können
Ja, per Multichannel-Plugin, z. B. magnalister
Etsy 6,5 Millionen Kleine bis mittelgroße Händler, die geringere Stückzahlen und
handgefertigte Waren verkaufen möchten
Ja, per Multichannel-Plugin, z. B. magnalister
METRO 27 Millionen (ganz Europa) Händler, die sich auf Waren für Hotellerie, Gastronomie und Büroausstattung
spezialisiert haben und primär im B2B-Bereich verkaufen
Ja, per Multichannel-Plugin, z. B. magnalister
idealo 30 Millionen Händler jeder Größe, die ihre Produkte und Preise vergleichbar machen möchten Ja, per Multichannel-Plugin, z. B. magnalister
guenstiger.de & Preissuchmaschine.de 2,6 Millionen Händler jeder Größe, die ihre Produkte und Preise vergleichbar machen möchten Ja, per Multichannel-Plugin, z. B. magnalister
hood.de 9 Millionen Kleine bis mittelständische Händler, die ihre Produkte
zu fairen Konditionen anbieten möchten
Ja, per Multichannel-Plugin, z. B. magnalister
Billiger.de 20 Millionen Händler jeder Größe, die ihre Produkte und Preise vergleichbar machen möchten Ja, per Multichannel-Plugin, z. B. magnalister

 

Du siehst, es gibt eine ganze Menge Portale, die für dich möglicherweise in Frage kommen können. Wir raten dazu, dass du dich vorab ausführlich mit den Plattformen auseinandersetzt. Zum Beispiel solltest du wissen, welche Aufnahmevoraussetzungen pro Marktplatz gelten. Ebenfalls wichtig sind die Verkaufsgebühren und Provisionen, die für dich als Verkäufer anfallen.

3. Bei Marktplätzen gut gerankt werden

Ein Selbstläufer ist der Mehrkanalvertrieb nicht – diesen Eindruck möchten wir hier gar nicht erst erwecken. Dass du durch die Anbindung von Marktplätzen und Preisvergleichsportalen sofortigen Zugriff auf Millionen potenzielle Käufer hast, ist richtig. Aber du bist mit großer Wahrscheinlichkeit nicht der einzige Händler, der auf den Portalen das gleiche Produkt anbietet.

Selbstverständlich spielt der Preis, zu dem du deine Ware anbietest, eine große Rolle. Kannst du günstiger als die Konkurrenz verkaufen, steigert das deine Chancen, in den Suchergebnissen weit vorne gerankt zu werden. Doch der Preis ist – vor allem bei den großen Marktplätzen wie Amazon oder eBay – nicht alles. Stattdessen kommt es auch darauf an, wie gut dein Kundenservice ist, wie schnell du lieferst und ob deine Produkte gut bewertet sind. Außerdem spielt die Art und Weise, wie du deine Angebote aufbereitest und darstellst, eine nicht zu unterschätzende Rolle. Der Amazon Ranking-Algorithmus bezieht über 40 Faktoren ein, um die Positionierung deines Produkts zu bestimmen.

Grundsätzlich gehören zu den wichtigsten Ranking-Kriterien:

  • Ansprechende Texte, die richtigen Keywords und Merkmale

Ansprechende Produktbeschreibungen sind für die meisten Marktplätze ein absolutes Plus. Je detaillierter die Texte und prägnanter die Produkttitel, umso attraktiver die Präsentation. Ebenso wichtig ist es, Artikel mit passenden Merkmalen anzureichern. Z. B. mit “Farbe”, “Maße”, “Material” etc. Produkte sollten natürlich auch unter den richtigen Suchbegriffen gefunden werden. Dazu lohnt es sich, diese in den Produkttitel und die Beschreibung mit einzubauen. Das können Sie mit Tools wie magnalister übrigens direkt in Ihrem Shopware-Backend.

  • Die Reaktionszeit

Kundenzentriertheit steht bei Marktplätzen hoch im Kurs. Daher erwarten sie von Händlern schnelle Reaktionszeiten auf Kundenanfragen vor, während und nach dem Bestellprozess.

  • Niedrige Retourenquote

Eine niedrige Retourenquote sagt etwas über die Qualität Ihrer Produkte aus. Außerdem hat der Marktplatz weniger Trouble mit Händlern, deren Rücksendungen niedrig sind.

  • Schneller und zuverlässiger Versand

Einige Marktplätze bieten ihren Käufern die Option, Waren innerhalb von 24 oder 48 Stunden zu liefern. Bei Amazon heißt das “Prime”, bei eBay “Plus”. Damit Ihre Artikel mit den entsprechenden Labels angezeigt werden, müssen Sie eine äußerst zuverlässige und schnelle Logistik gewährleisten. Oder Sie lassen die Lagerhaltung und den Versand direkt vom Marktplatz managen, wie bei „Fulfillment by Amazon (FBA)”.

  • Anzahl der verkauften Produkte

Etablierte Händler profitieren im Ranking davon, dass sie bei einem Marktplatz länger an Bord sind als andere. Das bedeutet in der Regel auch: Sie haben schon eine ganze Menge Produkte verkauft und der Marktplatz-Algorithmus kann sie besser einschätzen.

  • Verkäuferbewertungen

Was Kunden über Ihre Produkte und Ihren Service sagen, interessiert die Marktplätze besonders. Je besser die Rezensionen und Sternebewertungen, umso größer ist die Chance, dass Sie vom Marktplatz besser gerankt oder sogar als “Empfehlung” platziert werden.

4. Der einfache Weg in den Mehrkanalvertrieb

Wie heißt es so schön: Es gibt (fast) nichts, was ein Shopbetreiber nicht mit einem Plugin lösen kann. Darin steckt viel Wahres, wie bereits im Kapitel “V. Shopware Plugins” erläutert. Und auch für den Einstieg in den Verkauf auf mehreren Marktplätzen gibt es Drittanbieterlösungen, die das Leben eines jeden Händlers leichter machen. Am Beispiel des magnalister Plugins (verfügbar für Shopware 5 und 6) möchten wir aufzeigen, wie du deinen Mehrkanalvertrieb schnell aufsetzen und weitgehend automatisieren kannst.

5. Produkte für den Upload an Marktplätze vorbereiten

Nachdem du magnalister aus dem Shopware Store heruntergeladen, installiert und aktiviert hast, die gewünschten Marktplätze ausgewählt sowie einige Grundeinstellungen konfiguriert hast, kannst du mit der Artikelvorbereitung beginnen. Dabei wählst du die Produkte aus deinem Shopware-Shop aus, die du auf dem jeweiligen Marktplatz verkaufen möchtest. Du kannst nun jedes einzelne Produkt so vorbereiten, dass es den Anforderungen des Marktplatzes entspricht. Zum Beispiel ordnest du das Produkt der passenden Marktplatz-Kategorie zu und individualisierst auf Wunsch Titel, Beschreibungstexte und Bilder.

Multi-Channel Marketing: Verbinde Shopware 6 einfach mit Amazon, ebay, idealo und anderen Portalen

6. Produkte an Marktplätze hochladen

Nachdem du deine Produkte vorbereitet hast, kannst du diese mit wenigen Klicks direkt auf den jeweiligen Marktplatz hochladen. Du musst deinen Shopware-Shop dazu nicht verlassen, da sich Plugins wie magnalister vollständig in dein Shop-Backend integrieren. Falls ein Produkt-Upload fehlschlägt, zum Beispiel weil Produktangaben fehlen oder nicht korrekt hinterlegt wurden, erhältst du eine Meldung und kannst das betroffene Produkt nachbearbeiten und erneut hochladen.

Multi-Channel Marketing: Verbinde Shopware 6 einfach mit Amazon, ebay, idealo und anderen Portalen

7. Lagerbestände abgleichen

Nehmen wir an, du hast nun deine Produkte aus Shopware heraus auf mehreren Marktplätzen gelistet. Kommt eine Bestellung bei einem der Marktplätze (oder direkt über deinen Webshop) rein, müssen die Lagerbestände auf allen anderen Portalen angepasst werden. Genau das übernimmt magnalister vollautomatisiert für dich.

8. Preise synchronisieren

Du hast dich dazu entschieden, ein Produkt günstiger als zuvor anzubieten – vielleicht weil du bessere Einkaufskonditionen mit deinem Produzenten verhandelt hast. Diese Preisreduktion möchtest du nun auch an alle Marktplätze pushen. Ändere dazu einfach den Preis am Produkt in Shopware und magnalister synchronisiert diesen automatisch mit allen oder ausgewählten Shoppingportalen, auf denen du deine Produkte listest.

9. Bestellungen importieren

Dein Geschäft läuft gut und du erhältst mehrere Bestellungen am Tag über unterschiedliche Marktplätze. Ohne eine zentrale Bestellverwaltung verlierst du schon nach kurzer Zeit den Überblick. Lieferzeiten werden länger, Kunden unzufriedener. Dank Tools wie magnalister kannst du dich zurücklehnen und deine Marktplatz-Bestellungen ganz einfach in deinen Shopware-Shop importieren lassen. Dort werden sie übersichtlich aufgelistet und du siehst auf den ersten Blick, über welchen Marktplatz welche Bestellung reingekommen ist. Darüber hinaus werden auch die Bestelldetails mitimportiert, sodass du die Weiterverarbeitung des Auftrags direkt aus deinem Shopware-Shop heraus angehen kannst.

Multi-Channel Marketing: Verbinde Shopware 6 einfach mit Amazon, ebay, idealo und anderen Portalen

10. Rechnungen zur Verfügung stellen

Marktplatzkäufern Rechnungen zur Verfügung zu stellen, gewinnt zunehmend an Bedeutung. Du kennst das vielleicht selbst: Es gibt nichts Nervigeres, als einem Händler wegen einer Rechnung hinterherzulaufen. Portale wie Amazon oder der METRO Marktplatz, auf denen unter anderem auch B2B-Käufer unterwegs sind, sehen es gerne, wenn Händler Rechnungen unkompliziert bereitstellen. Auch diesen Teil des Mehrkanalvertriebs deckt magnalister ab. Du kannst mit dem Tool entweder in Shopware erzeugte Rechnungen oder per magnalister Rechnungsassistent erstellte Rechnungen an Marktplätze hochladen.

Du siehst, mit den richtigen Tools lassen sich schnell Online-Marktplätze und Preissuchmaschinen an deinen Shopware-Shop anbinden, ohne dass dies mit nennenswertem Mehraufwand verbunden sein muss. Die Verkaufspotenziale, die auf Amazon, eBay und Co. schlummern, solltest du als Händler auf jeden Fall nicht liegen lassen.

Weitere Informationen zum magnalister Plugin erhalten Sie unter
www.magnalister.com. Darüber hinaus steht Ihnen der magnalister Support in jeder Phase der Einrichtung Ihres Mehrkanalvertriebs zur Verfügung.

Der Beitrag ist eine geringfügig angepasste Version des Kapitels Online-Marktplätze als Umsatzmultiplikatoren nutzen aus unserem kommenden Buch: „Online Shops mit Shopware 6 für Einsteiger“ das voraussichtlich im Sommer 2023 über den Buchhandel erhältlich sein wird.

Den Lesern dieses Blogs wird zudem ein Gutschein für insgesamt 2 Monate kostenlose Nutzung der kostenpflichtigen Angebote auf www.magnalister.com zur Verfügung gestellt. Verwende bei der Registrierung hierfür den Code: shopware2gether – und jetzt viel Erfolg bei deinem Multichannel Marketing!

Der Beitrag Multi-Channel Marketing: Verbinde Shopware 6 einfach mit Amazon, ebay, idealo und anderen Portalen erschien zuerst auf Shopware Agentur | Great2Gether.

Shopware 6 – E-Mail Templates

$
0
0

Nicht jeder möchte die Standard E-Mail Templates von Shopware 6 verwenden. Hier erfährst du, wie du sowohl Standard E-Mail Templates als auch individuelle Layouts anpassen kannst. Du lernst, den Inhalt und das Design deiner E-Mails zu modifizieren, um eine einheitliche Markenidentität zu schaffen und die Kommunikation mit deinen Kunden zu optimieren.

Übersicht:

X. Der Aufbau von Shopware 6 E-Mail Templates

1. Was sind E-Mail Templates

E-Mail Templates sind vordefinierte oder individuell erstellte Vorlagen, die verwendet werden, um E-Mails an Kunden oder Administratoren in Shopware 6 zu versenden. Diese Vorlagen enthalten das Layout und den Inhalt der E-Mails, die in verschiedenen Szenarien generiert werden, wie Bestellbestätigungen, Versandbenachrichtigungen, Passwortwiederherstellungen und mehr. E-Mail Templates sind eine wichtige Möglichkeit, die Kommunikation zwischen deinem Shop und Ihren Kunden zu gestalten.

Die Standard E-Mail Templates von Shopware 6 sind praktisch, doch nicht immer passen sie perfekt zu deinen geschäftlichen Anforderungen und deiner Markenidentität. Finde heraus, warum die Anpassung und Individualisierung von E-Mail Templates essentiell ist, um dein Unternehmen hervorzuheben und die Bindung deiner Kunden zu stärken.

2. Warum du auf individuelle E-Mail Templates setzen solltest

Wenn der Shop ein professionelles Layout hat, dann sollte man seine Kunden im Abgang nicht mit einer E-Mail im 0815 Layout abspeisen. Das Gesamtbild muss passen, wenn wir den bestmöglichen Eindruck hinterlassen wollen.

Und im Standard sieht dieser Teil des Gesamteindrucks eben nur so aus, beispielsweise wenn wir unsere erste Mail zur Registrierung im Shop erhalten:

Shopware 6 - E-Mail Templates - Registrierungsmail

Shopware 6 – E-Mail Templates – Registrierungsmail

Hierzu muss noch gesagt werden, dass in diesem Fall auch noch keine Informationen in den Stammdaten eingegeben wurden. Wäre dem so, hätte man noch ein paar Informationen über den Shop, wie die Adresse des Shop Betreibers etc. darin. Mehr dazu s. unten beim Punkt Die Fußzeile deiner Mails.

Gehen wir noch einmal schnell durch was wir hier alles sehen (oder nicht sehen) und wo wir die einzelnen Bereiche anpassen können.

a) Absender-Name: Hier wird der Inhalt aus dem Feld Name bei den Grundeinstellungen des jeweiligen Verkaufskanals genutzt. Die Versandadresse entspricht, sofern der lokale Versand genutzt wird, der Email-Adresse aus den Stammdaten (des jeweiligen Sub-Shops). Falls jedoch der Versand über SMTP genutzt wird, so bestimmen wir in den Einstellungen die gewünschte E-Mail Adresse, von der aus die Mails aus dem Shop versendet werden. Die letze Möglichkeit wäre noch die Umgebungskonfiguration zu benutzen, in diesem Fall wird die Adresse in der .env Datei festgelegt.

b) Betreff: Diese Zeile passen wir in den Templates an.

c) Inhalt: In diesem Beispiel wird oben keine Kopfzeile verwendet und es erscheint sofort der eigentliche Textinhalt inkl. Variablen für den Namen und die E-Mail Adresse. Wo die Kopfzeile angepasst wird, erklären wir unten. Der Inhalt Mail entspricht dem Template zur Registrierung, was wir auf der 2. Seite in der Liste finden.

d) E-Mail Signatur: Wie man sieht, sieht man hier noch nichts davon. In der Regel wird hier über eine Variable der Inhalt aus dem Feld Shopbetreiber-Adresse und dem Feld Bank-Daten aus dem Stammdaten des Shops ausgegeben. Mehr dazu s. unten beim Punkt: Die Fußzeile deiner E-Mails.

Kleiner Tipp vorab: Wenn dir die

3. Einstellung von E-Mail-Templates in Shopware 6

In Shopware 6 kannst du E-Mail-Templates über das Admin-Panel verwalten und anpassen. Um auf die E-Mail-Templates zuzugreifen, navigierst du zu den Einstellungen deines Shops. In der zweiten oder dritten Reihe siehst du den Punkt E-Mail-Templates. Von dort aus lassen sich die Einstellungen anpassen.

Shopware 6 - E-Mail Templates - Admin Einstellungen

Shopware 6 – E-Mail Templates – Admin Einstellungen

In der Übersicht erhältst du zunächst eine zweiseitige Liste mit allen E-Mail Templates.

Shopware 6 - E-Mail Templates - Liste

Shopware 6 – E-Mail Templates – Liste

Darunter sehen wir noch einen zusätzlichen Bereich Kopf- und Fußzeilen in dem es im Standard lediglich einen einzogen Eintrag gibt, nämlich: Standard-E-Mail-Fußzeile.

Shopware 6 - E-Mail Templates - Kopfzeile

Shopware 6 – E-Mail Templates – Kopfzeile

4. Der Aufbau von Shopware 6 E-Mail Templates

Zum besseren Verständnis der Bereiche unserer Shopware 6 E-Mail Templates soll an dieser Stelle einmal der Aufbau genauer erläutert werden. Die Templates bestehen aus drei Hauptteilen: dem Header (Kopfzeile), dem Body (die lange Liste mit den Templates) und dem Footer (Fußzeile). Jede dieser Komponenten spielt eine entscheidende Rolle bei der Gestaltung und Effektivität deiner E-Mail-Kommunikation.

Header / Kopfbereich: Der Header ist das Erste, was deine Empfänger sehen, wenn sie deine E-Mail öffnen. Im Grunde is es einfach die erste Zeile im Inhaltsbereich der E-Mail.

Body: Der Body ist der Hauptteil deiner E-Mail. Hier steckt der eigentliche Inhalt, den du deinen Kunden oder Administratoren vermitteln möchtest. Es ist entscheidend, den Body so zu gestalten, dass deine Nachricht klar und ansprechend rüberkommt. Dazu gehören die geschickte Nutzung von Text, Bildern und Links, um Informationen effizient zu vermitteln.

Footer / Fußbereich: Der Footer bildet den Abschluss deiner E-Mail und enthält normalerweise Kontaktdaten, rechtliche Hinweise, Abmeldeoptionen und Links zu Datenschutzrichtlinien. Ein klarer und informativer Footer ist nicht nur rechtlich wichtig, sondern trägt auch zur Professionalität deiner E-Mails bei.

5. Die Kopfzeile deiner E-Mails

Im Standard ist wie gesagt nur eine Vorlage für den Kopf- und Fußzeilen Bereich vorhanden. In den meisten Fällen reicht die auch grundsätzlich aus.

Schauen wir uns einmal die Einstellungsmöglichkeiten an, hier gibt es 3 Boxen:

– Informationen
– Mail-Kopfzeile und
– Mail-Fußzeile

Zu Informationen: Hier gibt es nicht viel zu erklären, außer, dass man für jeden Verkaufskanal eigene Kopf- und Fußzeilen anlegen kann. Je nachdem, welchen man anpassen möchte, kann man dann seine Wahl im Drop-Down Menü treffen. Betreiben wir einen Shop mit nur einem Frontend, gibt es hier also nichts zu tun, als evtl. den Namen und die Beschreibung anzupassen.

Shopware 6 - E-Mail Templates - Info

Shopware 6 – E-Mail Templates – Info

Zu Mail-Kopfzeile:

Wie wir sehen, ist der Inhalt des Bereichs erst einmal leer wie ein zuvor volles Glas.

Shopware 6 - E-Mail Templates - Kopfzeile

Shopware 6 – E-Mail Templates – Kopfzeile

Was man hier machen könnte, wäre in der HTML Version das Logo einzubinden. Hierfür würde man z.B. dieses Stück Code verwenden:

Logo

In der Textversion geht es nicht, da man sort eben kein HTML einbinden kann. Hier könnte man höchstens einen Standard Satz einbinden, den man grundsätzlich vor jeder Mail angezeigt bekommen möchte.

6. Die Fußzeile deiner E-Mails

So sehen die Standard-Inhalte unserer Shopware 6 Fußzeilen aus:

Shopware 6 - E-Mail Templates - Fußzeile

Shopware 6 – E-Mail Templates – Fußzeile

Wie eingangs erwähnt werden die Inhalte aus den Stammdaten ausgelesen. Oben wird die Adresse ausgespuckt und unten drunter noch einmal die Bankdaten. Beides nur sofern es eingetragen wurde, andernfalls bleibt der Footer leer und die Mail hat keine Signatur.

Womit wir auch beim ersten rechtlichen Punkt an dieser Stelle wären. Denn hier gibt es Regeln zu beachten! Je nach Geschäftsform gibt es unterschiedliche rechtliche Anforderungen an die Inhalte die hier zwingend anzugeben sind. In den meisten Fällen müssen hier weit mehr Angaben gemacht werden, als nur die Adresse und Bankverbindung auszugeben.

Wer zu welchen Angaben verpflichtet ist, wird unter anderem in diesem Beitrag der IT-Recht Kanzlei München erklärt: https://www.it-recht-kanzlei.de/e-mail-pflichtangaben-signatur.html

Wer individuelle Signaturen verwenden möchte löscht hier die Inhalte und schreibt die Inhalte des Footers unten in Templates ein, die im Shop genutzt werden sollen.

7. E-Mail Template Plugins

Ich darf euch nicht verheimlichen, dass es einen einfachen Weg gibt um seine Shopware 6 Templates zu gestalten. Es ist wie sie oft die Lösung über hilfreiche Plugins. Hier gibt es ein vergleichsweise günstiges Plugin aus dem Hause 8mylez und ein etwas teureres Plugin von neno.

Shopware 6 - E-Mail Templates - Template Plugin

Shopware 6 – E-Mail Templates – Template Plugin

Das Plugin mit dem nach Spaghetti schmeckenden Namen Minimal Responsive Email Template Bianco bringt ein fertiges Template mit, das vom Shop-Admin auch ein Stück weit konfiguriert werden kann. Das Layout sieht grundsätzlich schonmal um einiges professioneller aus, als das was Shopware mitbringt. Es ist beliebt und gut bewertet, somit kann man nicht viel verkehrt machen.

Minimal Responsive Email Template Bianco (69.-)
https://store.shopware.com/emz4974834812219/minimal-responsive-email-template-bianco.html

Das zweite Plugin ist etwas umfangreicher und kommt auch gleich mit 25 statt nur einem fertigen Template um die Ecke. Der Visual Mail Editor ermöglicht die einfache Gestaltung von responsive E-Mail-Templates für Transaktions-E-Mails. Er bietet ein benutzerfreundliches Drag & Drop-Interface und enthält 25 Standard-Templates in Deutsch und Englisch.

Zudem erlaubt er eine Live-Vorschau der Entwürfe. Nutzer haben die Möglichkeit, jedes Element individuell anzupassen, Bilder und Variablen einzufügen und komplexe E-Mail-Funktionen mit vorgefertigten Einstellungen umzusetzen. Der Editor erlaubt die Kombination von Code und visuellen Elementen für fortgeschrittene Anforderungen.

Der ganze Luxus hat dann aber auch seinen Preis von aktuell 390 Peseten. Auch dieses Plugin erfreut sich guter Bewertungen und zahlreicher Downloads.

Shopware 6 - E-Mail Templates - Visual Editor

Shopware 6 – E-Mail Templates – Visual Editor

Plugin: Visual Mail Editor (390.-)
https://store.shopware.com/neno100259496702m/visual-mail-editor.html?c=1301

8. Vorschau-Ansicht

Das Testen der Shopware 6 E-Mail Templates kann teilweise nervenaufreibend sein, daher möchte ich hier noch ein paar Tipps und Erfahrungen aus der Praxis mit dir teilen.

Als erstes soll darauf hingewiesen, dass es bei den Shopware 6 E-Mail Templates, genau wie bei den Erlebnis-Welten, keine Revisionen oder Versionierung gibt. Heißt: Wenn du einen Fehler machst, kannst du nicht wieder auf die letzte funktionierende Version gehen ohne notfalls ein Backup des Shop wiederherstellen zu müssen.

Daher mein erster Tipp: Speichere dir die unterschiedlichen Versionen immer als Text- oder besser als HTML-Datei ab. Noch besser: Lagere die E-Mail Templates in dein Theme um (s. unten).

Die Vorschau-Ansicht: In den Einstellungen der einzelnen Mail-Templates hast du rechts auf der Seite einen schmalen Balken mit 4 Icons. Klicke für die Vorschau Ansicht auf das Auge.

Was du wissen musst ist, dass du in dieser Ansicht nicht wirklich alles angezeigt bekommst. Dinge die du nicht sehen wirst sind:

  • Exakte Abstände, wie sie in der Mail stehen.
  • Anzeige der Rechnungsadresse
  • Anzeige von Produkten in der Tabelle
  • Betreff und Versand-Email-Adresse

Was du jedoch sehr schnell prüfen kannst ist die Vorschau normaler Texte sowie eventuell verwendeter Bild-Dateien.

9. Test-Mail senden

Eine weitere Methode die Ansicht der Mails zu prüfen ist die Test-Mail senden Funktion. Hierfür finden wir in der selben Leiste, wo das Auge-Icon ist, ein Papierflieger Icon, welches uns zum Ziel führt.

Trage in das Feld Empfänger-Adresse deine Mail ein und wähle im Feld darunter den Verkaufskanal, für den die Mail versendet werden soll.

Leider ist auch diese Methode die Mail Templates zu testen noch nicht z u100% perfekt, denn wieder gibt es Dinge die uns nicht angezeigt werden:

– Gekaufte Produkte werden nicht ausgegeben
– Die Versandart wir nicht ausgegeben

Das heißt: Die einzige Methode um restlos alle Elemente aus den Mails anzeigen zu lassen ist einen echten Kauf zu tätigen. Das gute daran: Man kann das ganze sowie auf einer Staging als auch auf einem völlig unabhängigen Testumgebung machen.

Problematisch wird es einzig, wenn man If-Klauseln verwendet, in denen beispielsweise die Id einer bestimmten Zahlungsart genutzt wird. In diesem Fall müsste man zum testen die Id anpassen und darf dann beim Einsatz auf der Live-Umgebung nicht vergessen diese wieder zu ändern.

10. E-Mail Templates versionieren

Bei der Arbeit an den E-Mail-Templates im Admin Bereich gibt es ein Problem: Man kann seine Anpassungen weder versionieren noch kann man irgendwie anders auf ältere Versionen zugreifen. Man müsste auf diese Weise also immer seine Versionen als Textdatei abspeichern, was nur zu Chaos führen kann. Oft genug schleichen sich in HTML, oder Text-Versionen die einen oder anderen Fehler ein und man muss spontan auf die vorherige Version zurückrudern.

Die Lösung: Wir können die Gestaltung der Templates ins Theme „verschieben“. Hört sich schwer an, ist aber sicher leichter als eine Waschmaschine. Wenn du kompliziertere Templates umsetzt und einfach wirklich den Überblick über die unterschiedlichen Versionen behalten willst, ist die beste Option wahrscheinlich dieses Plugin hier zu verwenden:

Mail Templates aus dem Theme verwenden
https://store.shopware.com/frosh73312125739f/mail-templates-aus-dem-theme-verwenden.html

Es kann kostenlos aus dem Shopware Store geladen werden und erfreut sich mit ca. 500 Downloads bereits einer großen Fan-Gemeinschaft, bedarf jedoch einiger Grundkenntnisse der . Auch in den Bewertungen sieht es sehr gut aus. Das Plugin erlaubt es die Konfiguration der Templates ins Theme auszulagern. Obendrein wird noch ein Loader zur Verfügung gestellt, der es anderen Plugins erlaubt weitere Dateitypen hinzufügen zu können.

11. Code Schnipsel

Das ist der Code für die Ansprache: sehr geehter / Sehr geehrte …
{{ order.orderCustomer.salutation.translated.letterName }}

So können die Tracking Links der unterschiedlichen Versanddienstleister eingebunden werden:

See the Pen
Paketversand-Tracking Codes für Shopware 6 E-Mail Templates
by Atilla Boz (@great2gether)
on CodePen.

12. Bonus-Tipps

SMTP statt lokaler Mail-Versand
Insbesondere wenn für die E-Mails ein Drittanbieter wie Googlemail, oder Office365 verwendet wird ist von der Nutzung des lokalen Versands dringend abzuraten. Nur mit de Versand per SMTP kann gewährleistet werden, dass alle E-Mails – sprich die aus dem Shop und die, die du mit deinem Mail Programm schreibst – von der selben IP-Adresse aus versendet werden. Andernfalls kann es schnell passieren, dass die Mails unter Spam-Verdacht geraten und die Mails öfter mal im Nirvana landen.

13. Weiterführende Links

Shopware Docs – E-Mail-Templates
https://docs.shopware.com/de/shopware-6-de/einstellungen/e-mail-vorlagen

Shopware Docs – Mailer Einstellungen:
https://docs.shopware.com/de/shopware-6-de/einstellungen/mailer

Plugin: Visual Mail Editor (390.-)
https://store.shopware.com/neno100259496702m/visual-mail-editor.html?c=1301

Plugin: Mail Templates aus dem Theme verwenden (kostenlos)
https://store.shopware.com/frosh73312125739f/mail-templates-aus-dem-theme-verwenden.html

Plugin: Minimal Responsive Email Template Bianco (69.-)
https://store.shopware.com/emz4974834812219/minimal-responsive-email-template-bianco.html

Kostenloser E-Mail Vorlagengenerator
https://stripo.email/de/

Firebear Blog
https://firebearstudio.com/blog/shopware-erforschen-e-mail-vorlagen-in-shopware-6.html

Econsor Blog:
https://www.econsor.de/shopware/shopware-tutorials/e-mail-templates-gestalterisch-anpassen/

Emails testen mit Email on Acid:
https://www.emailonacid.com/

Codepen mit Vorlage für Shopware 6 Email-Template (Bestellbestätigung)
https://codepen.io/great2gether/pen/gOZJwaq

Stripo Vorlage
https://viewstripo.email/template/9254d060-f1af-496d-9682-40a53f948449
https://viewstripo.email/template/c4e515dd-89b7-41c2-9ee6-269e3763dabc

Shopware Docs – E-Mail-Templates:
https://docs.shopware.com/de/shopware-6-de/einstellungen/e-mail-vorlagen#variablen-im-mail-text

Shopware Forum – Paketverfolgung E-Mail Versand
https://forum.shopware.com/t/paketverfolgung-e-mail-versand/70095/32

Shopware Forum – Wo werden die Texte der Mailtemplates in der Datenbank gespeichert?
https://forum.shopware.com/t/wo-werden-die-texte-der-mailtemplates-in-der-datenbank-gespeichert/93972/1

Shopware Forum –  Gastbesteller über paypal und mit Amazon Login
https://forum.shopware.com/t/mail-template-salutation-probleme/100617/4

Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.

Der Beitrag Shopware 6 – E-Mail Templates erschien zuerst auf Shopware Agentur | Great2Gether.

Shopware 6 Logo anpassen mit SCSS

$
0
0

Wie man ein Logo in Shopware 6 anpasst, mit SCSS geht ganz einfach in 5 Schritten.

Übersicht:

1. Theme anlegen

Zuerst legen wir ein Theme an oder bearbeiten ein vorhandenes Theme.
Wenn wir nun ein Theme angelegt/ausgewählt und ein Logo hochgeladen haben, gehen wir in unseren Code-Editor und suchen nach unserem Theme.
Dies sollte sich normalerweise im Verzeichnis ‚custom/Plugins‘ befinden.

Falls Sie unsicher sind, wie Sie Ihr Shopware 6 Logo ändern können, finden Sie eine hilfreiche Anleitung hier.

Shopware 6 Logo anpassen mit SCSS

2. Erstellen/Importieren der SCSS-Datei

Falls Sie bereits eine vorhandene SCSS-Datei für das Styling des Logos haben, öffnen Sie diese.
Falls nicht, erstellen Sie eine SCSS-Datei, beispielsweise mit dem Namen „Test.scss“.
Wichtig dabei ist, dass Sie beim Erstellen darauf achten, die neu erstellte SCSS-Datei (in unserem Fall die „Test.scss“) in der „base.scss“-Datei zu importieren.

Shopware 6 Logo anpassen mit SCSS

3. Logo Selektor

Suchen Sie jetzt nach dem Selektor, der Ihr Logo definiert. Öffnen Sie dazu Ihre Webseite, auf der sich das Logo befindet und klicken Sie mit der rechten Maustaste auf das Logo, um das Kontextmenü zu öffnen, um auf Untersuchen zu klicken. Der HTML-Code mit dem Link zum Bild des Logos sollte nun angezeigt werden. In der Regel steht eine Zeile über dem Link der Selektor für Ihr Logo (in unserem Fall „header-logo-picture“).

Shopware 6 Logo anpassen mit SCSS

Es gibt auch andere Möglichkeiten, den Selektor für das Logo herauszufinden, falls diese Methode nicht funktioniert, und der Selektor muss nicht unbedingt „header-logo-picture“ sein.

4. Anpassen des Logos

Nachdem Sie den Selektor gefunden haben, wechseln Sie zu Ihrer SCSS-Datei, die für das Stylen des Logos erforderlich ist (In unseren Fall die Test.scss Datei). Nun können Sie Ihr Logo nach Belieben anpassen.

Code Beispiele:

Shopware 6 Logo anpassen mit SCSS

5. Kompilieren und Cache leeren

Um Ihr Theme zu kompilieren, geben Sie einfach den Befehl „bin/console theme:compile“ in Ihrer Konsole ein.
Um den Cache zu leeren, verwenden Sie den Befehl „bin/console cache:clear“.
Alternativ können Sie den Cache über die Shopware-Administrationsoberfläche leeren, indem Sie zu „Einstellungen“ → „System“ → „Caches & Indizes“ navigieren und auf „Cache leeren“ klicken.

Shopware 6 Logo anpassen mit SCSS

Zum Schluss laden Sie Ihre Seite neu und schon haben Sie Ihr individuell angepasstes Logo fertig :D.

Der Beitrag Shopware 6 Logo anpassen mit SCSS erschien zuerst auf Shopware Agentur | Great2Gether.


CSV-Importe von Shopware 6 zu Shopware 6

$
0
0

Wie gehe ich am schlausten vor, wenn ich möglichst viele Inhalte aus einem Shopware 6.5 Shop in einen anderen Shopware 6.5 Shop importieren möchte? Die meisten dieser Tipps werden höchstwahrscheinlich auch für Shopware 6.6 und 6.7 noch gültig sein. Natürlich gestaltet sich der ganze Prozess je nach Größe bzw. Anzahl der Artikel des Shops und Komplexität im Hinblick auf Eigenschaften und Kategorie-Struktur mehr oder weniger umständlich. Dieser Beitrag kratzt zugegebenermaßen nur die Oberfläche des Themas (Shopware zu Shopware Import) an.

Übersicht:

Anmerkung: Wer sich gerade durchs Netz wühlt und sich zu dem Thema informieren möchte kann den ein oder anderen Tipp mitnehmen. Der Beitrag wurde nicht komplett fertig geschrieben, enthält aber zu viel Informationen um auf der Festplatte zu verstauben. In diesem Sinne: Viel Spaß und Erfolg bei eurem Import von Shopware 6 zu Shopware 6.

1. Backup erstellen

Bevor du mit dem Import beginnst, erstelle Backups von beiden Shopware-Installationen, um sicherzustellen, dass du im Falle von Problemen zu einem vorherigen Zustand zurückkehren kannst. Und das von beiden Shopware 6 Shops.

Zusätzliche Backups nach erfolgreichem Import bestimmter Daten können auch nicht schaden.

2. Grundregeln beachten

Erste Regel: Korrekte Dateinamen verwenden
Schon vor dem Import sollte man sich an die Regel halten, Bild-Dateinamen ohne Leer-, Sonderzeichen und Umlaute zu verwenden, da dies grundsätzlich zu Problemen führen kann.

Wer in seinen CSV Dateien URLs mit Dateinamen die Leerzeichen beinhalten hat, kann die Leerzeichen durch %20 ersetzen. Das gleiche machen Browser, wenn Sie URLs mit Leerzeichen aufrufen. Das kann man z.B. mit einem Programm wie Libre Office erledigen.

Hier markiert man am besten die Spalte url um nur in diesem Bereich zu suchen und zu ersetzen.

Zweite Regel: Test-Funktion nutzen
Man sollte bevor ein Import durchgeführt wird unbedingt vorher die Text-Funktion nutzen. Erst wenn hier kein Fehler mehr angezeigt wird sollte der eigentliche Import erst durchgeführt werden.

3. Bilder importieren

Es kann durchaus sinnvoll sein, mit den Medien-Dateien zu beginnen, besonders wenn diese einen beträchtlichen Teil deiner Daten ausmachen. Das Importieren von Medien-Dateien kann in der Regel komplex sein, und es ist oft ratsam, dies zuerst zu tun, bevor du andere Daten importierst.

Medien-Dateien, wie Produktbilder, können direkt mit Produkten und Kategorien verknüpft sein. Wenn du Medien-Dateien zuerst importierst, hast du bereits die notwendigen IDs oder Referenzen, um diese Verknüpfungen während des Imports von Produkten und Kategorien herzustellen.

Im Standard Profil für Medien werden folgende Felder importiert:

CSV-Name DB-Eintrag
id id
folder_id mediaFolderId
url url
private private
type mediaType
title alt

Um die Bilder zu importieren sind hierfür zwingend notwendig:

id &
url

Dinge die beim Import Probleme bereiten können sind das folder_id Feld, da diese in den Quell- und Zielsystemen nicht identisch sein werden.

Um die Bilder gleich beim Import schon sauber einzusortieren kann man die folder_id Felder in den Import Datei anpassen.

Hierfür fertigen wir als erstes eine Liste aller genutzter Ordner des Quellsystems an, sorgen dafür das gleichnamige Ordner auch im Zielsystem vorhanden sind. Heißt wenn es im Quellsystem einen Ordner gibt, der Slider heißt und muss der auch im Ziel-System angelegt um entsprechen einsortiert werden zu können. Neben die Ordner Namen schrieben wir dann die entsprechenden folder_id. Diese finden wir am einfachsten über die Datenbank in der Tabelle media folder. Hier ist es das erste Feld id. Was wir weglassen können ist das 0x am Anfang jeder id.

Bildimport SW6 Geheimtrick

Bildimport SW6 Geheimtrick

So könnte nun unsere Liste aussehen;

Ordnername:

Ordnername id
Category Media f31c4b43d2784e9da27fa9d117fb6be5
CMS Media 4efa6a6e53c749c7a667d9f6cdb3157d
Imported Media 2743a2e112334f539acf4bf36bbccf72
Mail Template Media afac3adad8074905bcf232374aabd158
Payment Method Media 650081d7193d47f8ba3e60560afbbb00
Product Manufacturer Media 76c7ff1e9dd748f1b9c3e5595f65c54b
Product Media 02a2785d2e724a3f907395fbc51f7632
Shopseiten 76c3606faca74c1582c882d4dc00bc8a
Theme Media 8fc582708dea4bafb8ef9fa904e6f7f7
User Media 3aec6c5a169e4b6b8e34e31181b0ae85

Jetzt machen wir das gleiche mit den ids und Ordner-Namen für den Ziel-Shop:

Ordnername id
Category Media 018c16567b9970c3b03e8495884239d7
CMS Media 018c16567b9970c3b03e84958946f763
Document Media 018c16567b9a733fb1447cc1d9561002
Imported Media 018c1656ae2b7375bf74225c2ad8dc9b
Mail Template Media 018c16567b9a733fb1447cc1dadcad6d
Payment Method Media 018c1656efe37090aa0dad03fff48d60
Product Manufacturer Media 018c16567b9b7338b0528f3fc4db1790
Product Media 018c16567b9a733fb1447cc1db74c75c
Shopseiten 018c1ba7bcc87d349dce2ff707223e85
Theme Media 018c16567cb172abb34341e1d12ef306
User Media 018c16567b9b7338b0528f3fc60d4932
Shipping Method Media 018c165744177050bb7bdb9f303cfffc

Jetzt können wir in unserer CSV Datei die ids austauschen, so dass sie korrekt einsortiert werden. Falls der Import zuvor schon durchgeführt wurde können wir uns eine frische CSV Datei aus dem „alten“ Shop runterladen. Dann löschen wir alle Inhalte außer die der Spalten id und folder_id, ersetzen die alten folder_ids mit den neuen und führen einen zweiten import, eben nur mit den Spalten id und folder_id durch.

Am besten legen wir hierfür ein neuen Profil an, was wir Medien – Ordner Update nennen. Dafür kopieren wir das Standard Medien Profil und löschen bei Zuordnung alle übrigen Felder außer id und folder_id raus.

Wie immer: Zuerst einen Testlauf starten, wenn keine Fehler kommen den Import starten. Anschließend aktualisieren wir die iIndizes.

A propos löschen.

Die Spalten deren folder_id sagt, dass es sich um Bilder handelt, die im Ordner Payment Method Media liegen können wir grundsätzlich löschen, sofern im Quell-System keine zusätzlichen Zahlarten installiert wurden.

In der Regel wird Shopware immer etwas finden was falsch ist und meckert herum, in dem Fall müssen wir uns nach den Testläufen die Fehlerberichte herunterladen und uns durch die Fehlermeldungen beißen wie Biber beim Dammbau.

4. Kategorien importieren

Für den Kategorie Im- und Export steht uns zunächst das Profil Standardprofil Kategorie zur Verfügung. Die Zuweisungsliste ist hier schon ein Stückchen länger und es rät sich gegebenenfalls ein abgespeckteres Profil zu erstellen. Wer zum Beispiel keinerlei Bilder in seinen Kategorien hat kann alle Felder mit media löschen.

Wer jedoch auch Bildverknüpfungen mit importiert sollte darauf achten, dass die folder_ids wieder angepasst werden.

Wer Kategorien neu anlegt muss außerdem den Inhalt der ersten Spalte id leeren, da die ids vom System angelegt werden. Zudem kann kontrolliert werden ob die Bilder mit den ids im neuen System vorhanden sind oder nicht.

Außerdem könnt ihr darüber nachdenken, die Spalte cms:page_id zu leeren, da es diese in eurem Zielshop nicht gibt und somit auch nicht gefunden werden können.

Auch mit dem Inhalt der Spalte parent_id wird der Ziel-Shop nicht viel anfangen können, da die ids erst nach dem Import vergeben werden. Daher wird es Sinn machen zuerst alle Zeilen zu importiren, die keine parent_id haben. dann muss man gucken welche id diese bekommen haben und entsprechen die Werte in den parent_id Feldern angleichen.

Das macht man im Grunde Ebene für Ebene.

a) Zuerst importiert man die die keine parent_id haben
b) Dann importiert man deren direkte children, hier darf wie gesagt, nicht vergessen werden die parent_id Werte auszutauschen.

In einem zweiten Import zieht man die Kategorien nach, die eine parent_id haben.

5. Erlebniswelten importieren

# nicht bei Shopware 6
Gab es bei Shopware 5 im Standard und wurde lange vermisst. Ein plugin wird es in Zukunft endlich möglich machen:
https://store.shopware.com/cogi930866936249/erlebniswelten-export-und-uebertragung-in-live-shop.html

6. Weiterführende Links

Shopware Docs – Import / Export

Der Beitrag CSV-Importe von Shopware 6 zu Shopware 6 erschien zuerst auf Shopware Agentur | Great2Gether.

sql_mode=only_full_group_by Fehler bei Shopware 6

$
0
0

SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'c1stageware1.product.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Den bekommen nur diejenigen, die MySQL Datenbanken verwenden. Der Fehler kommt unter anderem wenn man etwas in der Suche eingibt oder auf das Warenkorb Icon im Header klickt.

  1. Anpassung über phpmyadmin
  2. Anpassung über SSH / Konsole
  3. Anpassung bei Managed Servern
  4. Anmerkung zu MySQL Versionen
  5. Weiterführende Links und Quellen

1. Anpassung über phpmyadmin?

Nach etwas Recherche konnte ich herausfinden wie man diesen Modus bei einer bestimmten Datenbank anpassen kann. Das wollte ich über phpmyadmin probiert, nachdem ich aber das hier gelesen hatte, sah ich davon wieder ab:

Beachte, dass diese Änderung nur für die aktuelle Sitzung gilt. Wenn du möchtest, dass die Änderung dauerhaft ist, müsstest du sie serverweit oder auf Datenbankebene vornehmen. Also: Bringt nix mit phpmyadmin.

Was wir aber schonmal machen können ist, die Einstellungen der Staging Datenbank mit denen der Live-Datenbank zu vergleichen.

Kicke auf den Namen der Datenbank, z.B. c1stageware1 und anschließend auf den SQL Reiter und gib diesen Befehl ein:

SHOW VARIABLES LIKE ’sql_mode‘;

Um den gesamten Inhalt angezeigt zu bekommen musst du noch auf den „Zusätzliche Optionen“ Button klicken. Wenn du das nicht machst, kann es sein, dass am Ende der Inhalt gekürzt mit drei Punkten angezeigt wird.

SQL_MODE Fehler - phpmyadmin

phpmyadmin

So sah bei mir das Ergebnis auf der Datenbank der Staging Umgebung aus:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Und so auf der Live Umgebung:

STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Heißt… wir haben schonmal eine Spur!

Für die aktuelle Session könnten wir es nun so anpassen:

SET SESSION sql_mode = ‚STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION‘;

Aber: Es bringt nix ;)

2. Anpassung über SSH / Konsole

Hat bei mirnicht wifklich geklappt aber das wäre der ungefähre Weg dahin was aber in der Regel nur funktioniert wenn das Hosting / der Server nicht managed ist.

a) Auf dem Server anmelden, z.B. so:
ssh k51s11.meinserver.io -l c1234567_w5_ssh1

Dann wird das SSH / Shell-Benutzer Passwort abgefragt.

b) Bei mysql anmelden
Nachdem du dich erfolgreich über SSH auf deinem Server eingeloggt hast, melde dich bei MySQL an, indem du den folgenden Befehl eingibst und Enter drückst:

mysql -u dein_mysql_benutzername -p

Ersetze dein_mysql_benutzername durch deinen MySQL-Benutzernamen. Du wirst dann nach deinem Passwort für MySQL gefragt.

c) Aktuelle sql_mode-Einstellungen anzeigen (wenn nicht schon über phpmyadmin geschehen):
Nachdem du dich erfolgreich in MySQL angemeldet hast, gib den folgenden Befehl ein und drücke Enter, um die aktuellen sql_mode-Einstellungen anzuzeigen:

SELECT @@sql_mode;

Dadurch werden die aktuellen sql_mode-Einstellungen zurückgegeben, damit du sie überprüfen kannst.

Sagen wir mal es wäre so wie bei mir das hier:

STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Am Anfang müsste also noch ONLY_FULL_GROUP_BY ergänzt werden.

d) only_full_group_by-Modus aktivieren:
Gib den folgenden Befehl ein und drücke Enter, um den only_full_group_by-Modus hinzuzufügen:

SET GLOBAL sql_mode = ‚ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION‘;

Hier haben wir also das Ergebnis aus c) genommen und um den fehlenden Eintrag ONLY_FULL_GROUP_BY ergänzt. Beachte, dass dies den Modus global für den MySQL-Server ändert, was sicher Sinn macht wenn dort ausschließlich Shopware 6 Instanzen laufen. Wenn du ihn nur für eine bestimmte Datenbank ändern möchtest, kannst du GLOBAL durch SESSION ersetzen.

3. Anpassung bei Managed Servern

Wer unseren Blog regelmäßig besucht weiß, dass wir auf die Server von Timme Hosting setzen. Wer dort eine SQL-Datenbank benutzt muss die Anpassung in seinem ISP-Config Bereich vornehmen. Klicke hierfür links in der Sidebar auf Datenbanken. Klicke auf die Einstellungen der Datenbank die du ändern möchtest. Scrolle etwas nach unten und öffne den Bereich Erweiterte Einstellungen.

SQL_MODE Fehler - DB Einstellung

SQL_MODE Fehler – DB Einstellung

In der Box Datenbank-Einstellungen (optional) musst du nun folgende Zeile eingeben und speichern:

–sql-mode=“STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION“

Die Einstellung kann nicht global eingerichtet werden, sondern muss bei jeder Datenbank einzeln vorgenommen werden. Die Einstellung greift bereits nach einer Minute und daraus resultierende Fehler gehören der Vergangenheit an wie das rote Bändchen zum öffnen der Verpackung von Milchschnitte.

4. Anmerkung zu MySQL Versionen und Nutzung

Shopware empfiehlt grundsätzlich die Nutzung von MySQL Datenbanken statt MariaDB oder InnoDB Datenbanken. Es ist aber definitiv ein wenig komplizierter und nerviger, weil man einfach mehr beachten muss, als wenn man einfach eine MariaDB nutzen würde.

In den SW-Docs heißt es:

MySQL 8.0 oder höher
Die MySQL Versionen 8.0.20 und 8.0.21 sind aufgrund von technischen Problemen in diesen Versionen nicht kompatibel.

oder

MariaDB 10.11 oder höher
Die MariaDB Versionen 10.11.5 und 11.0.3 sind aufgrund von technischen Problemen in diesen Versionen nicht kompatibel.

Dabei steht auch noch:

Für eine optimale MySQL Performance werden mindestens 32 MB empfohlen.

hierzu findet man mehr in den Developer Docs:

• Make sure that group_concat_max_len is by default higher or equal to 320000
• Make sure that sql_mode doesn’t contain ONLY_FULL_GROUP_BY
• After this change, you can set also SQL_SET_DEFAULT_SESSION_VARIABLES=0 in the .env file so Shopware does not check for those variables at runtime.

In den Dev Docs erfahren wir auch weiter noch das hier:

• Recommended version: 8.0
• Minimum version: 8.0.17
• Problematic versions: 8.0.20, 8.0.21

Und hier noch einmal abschließend die Empfehlung von Shopware:

Recommended stack
We recommend the following stack:

• Webserver: Caddy
• PHP: 8.2
• SQL: MySQL 8 or Percona MySQL 8
• Node: 20
• Search: OpenSearch 2.8.0
• Queue: RabbitMQ
• Redis: 7.2

P.S.: Der Support von MySQL 5.7 endete am 31. Oktober 2023 Shopware 6.4 lief damit jedoch noch. Bei Shopware 6.5 ist 8.0 die Mindestandforderung.

5. Weiterführende Links und Quellen:

Shopware Docs – Shopware 6 Systemvoraussetzungen
https://docs.shopware.com/de/shopware-6-de/erste-schritte/systemvoraussetzungen

Shopware Developer:
https://developer.shopware.com/docs/guides/installation/requirements.html
https://developer.shopware.com/docs/guides/hosting/infrastructure/database-cluster.html

Umstieg von SQL 5 auf SQL 8:
https://forum.shopware.com/t/sql-8-db-eintragen/100971
https://forum.shopware.com/t/shopware-6-4-zu-6-5-mysql-8-0-erforderlich-oder-nicht/100851/6

Der Beitrag sql_mode=only_full_group_by Fehler bei Shopware 6 erschien zuerst auf Shopware Agentur | Great2Gether.

Shopware 6 Fehler-Sammlung

$
0
0

Hallo Freunde und Fans! Hier sammeln wir die heiß begehrten Shopware 6 Fehler für euch. Die Liste wird ständig erweitert wie Briefmarkensammlungen.

  • 1 Fehler in Shopware 6.4 Bei Verwendung des B2B Plugins + Sicherheitsplugin

1. Fehler in Shopware 6.4 Bei Verwendung des B2B Plugins + Sicherheitsplugin
Shopware\B2B\StoreFrontAuthentication\BridgePlatform\LogoutRouteDecorator::__construct(): Argument #2 ($logoutRoute) must be of type Shopware\Core\Checkout\Customer\SalesChannel\LogoutRoute, Swag\Security\Fixes\NEXT34608\FixLogoutRoute given, called in /var/www/clients/client1/web5/web/stageware1/var/cache/dev_he302df4e5c0d726cf688a52dd45afc1d/Container6xaMUA7/Shopware_Core_KernelDevDebugContainer.php on line 5769

Lösung: Bisher keine bekannte Lösung, außer das Plugin zu deaktivieren und ein Update durchzuführen auf 6.4 – Shopware dazu: „Uns ist bekannt, dass das Security Plugin in älteren Shop Versionen (6.4) in der Kombination mit dem Einsatz der B2B Suite zu Komplikationen führt. Diese wurden aber mit durch Updates des Shop selbst behoben. Das in der Fehlermeldung aufgeführte Fix NEXT-34608 bezieht sich auf Versionen 6.5 und 6.6.“

Der Beitrag Shopware 6 Fehler-Sammlung erschien zuerst auf Shopware Agentur | Great2Gether.

Lokale Shopware 6 Entwicklung mit Dockware

$
0
0

Übersicht:

Kleine Voranmerkung: Dieser Beitrag ist zwar halbwegs lang, trotzdem schneidet er das Thema Dockware nur an. Daher empfehlen wir einen Blick auf die weiterführenden Links zu den Beiträgen und Videos zum Them Dockware.

1. Warum ich mich für Dockware entschieden habe

Die Entscheidung ist bei mir am 06. Juli 2024 kurz vor Mitternacht gefallen. Zuvor hatte ich Devenv ausprobiert und meine Probleme damit gehabt. Es lief ein paar Mal gut, aber dann kamen immer wieder Fehler, die mich frustrierten. Auch alle anderen Entwickler in unserem Team mussten es wieder und wieder neu konfigurieren, um es zum Laufen zu bringen. Wenn es aber mal läuft, dann sehr schnell. Es ist kein Vergleich zu lokalen Installationen mit MAMP.

Am Ende habe ich mir gedacht: Wenn es einer der erfahrensten und ambitioniertesten Shopware-Entwickler nutzt, dann muss ich es auch einfach nutzen. Ich spreche hier nicht nur von „irgendeinem“ Dockware-Nutzer, sondern von dessen Erfinder: Christian Dangl von der Shopware-Agentur dasistweb.

Ich hatte die Freude, ihn persönlich kennenzulernen und kann nur sagen, dass er mindestens genauso herzlich ist, wie Dockware beliebt ist.

1-Shopware-6-Dockware-Tutorial-Dockware-page.png

1-Shopware-6-Dockware-Tutorial-Dockware-page.png

Was genau ist Dockware eigentlich?

Dockware ist zunächst einmal nicht mehr als ein Docker-Image. Wobei man das Image quasi als Blaupause oder Template betrachten kann. Hiervon abgeleitet kann man wiederum zahlreiche (oder auch nur einen) Container anlegen, die also erst einmal eine exakte Kopie des eigentlichen Images sind. In diesen Containern können wir dann unsere Shopware-Instanzen laufen lassen.

Um eine solche Instanz dann lokal aufrufen zu können, muss dieser zunächst auch ein Port zugeordnet werden. In der Regel ist dies Port 80, welcher den HTTP-Port darstellt. Anschließend kann die Applikation dann über den Localhost mit dem entsprechenden Port als Suffix aufgerufen werden. Um es greifbarer zu machen, so wäre die Adresse in unserem Browser.

http://localhost:8088/

2. Was sind die Vorteile von Dockware?

Dockware ist eine spezialisierte, Docker-basierte Entwicklungsumgebung, die für Shopware-Entwickler konzipiert wurde. Hier sind einige besondere Merkmale und Vorteile von Dockware:

Containerbasierte Umgebung:

Dockware verwendet Docker-Container, um eine isolierte und reproduzierbare Entwicklungsumgebung für Shopware bereitzustellen. Jedes Element der Shopware-Infrastruktur (wie Webserver, Datenbank, PHP-Versionen) wird in separaten Containern ausgeführt, was eine saubere Trennung und Skalierbarkeit ermöglicht.

Einfache Einrichtung:

Dockware bietet einfache Skripte und Befehle, um die Entwicklungsumgebung schnell einzurichten. Dies macht es besonders für Entwickler attraktiv, die sich nicht mit komplexen Konfigurationsschritten herumschlagen möchten.

Versionskontrolle und Wiederverwendbarkeit:

Docker-Container sind ideal für die Versionskontrolle geeignet. Entwickler können die gesamte Entwicklungsumgebung (einschließlich der Shopware-Instanz und aller Abhängigkeiten) in ihrem Versionskontrollsystem speichern und wiederverwenden, was die Zusammenarbeit und die Einrichtung neuer Entwicklerumgebungen erleichtert.

Flexibilität und Portabilität:

Dockware ermöglicht es Entwicklern, ihre Shopware-Umgebung problemlos zwischen verschiedenen Systemen und Cloud-Diensten zu verschieben. Docker-Container sind plattformübergreifend und gewährleisten Konsistenz zwischen Entwicklung, Test und Produktion.

Community-Unterstützung:

Dockware wird von der Shopware-Community unterstützt und weiterentwickelt. Dies bedeutet, dass es regelmäßig aktualisiert wird und von anderen Entwicklern weltweit genutzt und verbessert wird.

3. Voraussetzungen: Ohne Docker kein Dockware

Um Dockware zu installieren und zu verwenden, müssen einige Voraussetzungen erfüllt sein. Eine Grundvoraussetzung ist Docker, da Dockware Docker-Container verwendet, um die Shopware-Entwicklungsumgebung bereitzustellen. Besuche folgenden Link, um dir die passende Version auf deinem Rechner zu installieren: https://www.docker.com/products/docker-desktop/

 

2-Shopware-6-Dockware-Tutorial-Docker-Installation.png

Wenn wir das Programm das erste Mal öffnen, werden wir aufgefordert, die AGB und Datenschutzrichtlinien zu akzeptieren.

3-Shopware-6-Dockware-Tutorial-Docker-AGB.png

Achtung: Falls du ein sehr großes Unternehmen mit mehr als 250 Mitarbeitern betreibst oder mehr als 10 Mio. USD im Jahr umsetzt, wird die Nutzung von Docker kostenpflichtig. Andernfalls kann es kostenlos genutzt werden.

Im nächsten Schritt können wir auswählen, ob wir die vorgeschlagenen Einstellungen beibehalten wollen oder erweiterte Einstellungen vornehmen möchten. Docker-Normalverbraucher können die Einstellungen so beibehalten.

4-Shopware-6-Dockware-Tutorial-Docker-Einstellungen.png

Als nächstes kommt ein Fenster, in dem man einen Docker-Account anlegen kann. Hier können wir einfach auf „Continue without signing in“ klicken, um Docker zu starten.

Lokale Shopware 6 Entwicklung mit Dockware

Und dann begrüßt uns dieses Fenster, das uns einlädt, die Grundlagen zu Containern zu lernen. Einsteiger sollten die 11 Minuten investieren, um sich schlau zu machen.

6-Shopware-6-Dockware-Tutorial-Docker-Lektionen.png

Während der Lektionen wird man unter anderem aufgefordert, ein Git-Repository zu klonen. Hierfür bedarf es auf dem Mac einer weiteren Software, nämlich der Command Line Developer Tools. Diese werden benötigt, um den Git-Befehl, den wir für das Klonen von Containern benötigen, ausführen zu können.

Die angezeigten Befehle werden in der Kommandozeile ausgeführt. Auf dem Mac ist hierfür das Terminal-Tool zuständig, das man bei den Programmen im Ordner „Dienstprogramme“ findet.

Bei der Arbeit mit Dockware führt kein Weg an der Arbeit mit der Kommandozeile vorbei. Es ist das Tool, mit dem wir Repositories klonen/kopieren, Images erstellen und viele weitere wichtige Befehle ausführen. Hier unterscheidet sich die lokale Shopware-Installation auch nicht von anderen Möglichkeiten wie MAMP oder Devenv, da auch hier beispielsweise die Shopware-CLI-Konsole nicht ohne dieses einfache, aber wichtige Tool genutzt werden kann.

Um uns die Arbeit zu erleichtern, können wir das Terminal-Fenster in unserer IDE (Empfehlung: PhpStorm) verwenden, sodass wir für die Befehle nicht jedes Mal ein neues Fenster öffnen müssen. Hierfür befindet sich in PhpStorm der Reiter „Terminal“.

Um die optimale Performance aus Docker herauszuholen, können wir noch folgende Einstellungen vornehmen, indem wir auf das Zahnrad oben rechts klicken.

  • Im Bereich Resources > Advanced geben wir ca. 50% unserer verfügbaren Prozessor-Kerne für Docker frei (der erste Regler oben macht das). Das Merry Limit sollte zudem nicht unter 8GB liegen.
  • Im Bereich Resources > File Sharing sollte nur der Ordner mit unseren Projekten ausgewählt werden, z.B.: /Users/deinname/PhpStormProjects

Mehr Performance Tweaks findet ihr unter:
https://docs.dockware.io/setup/performance-tweaks

4. Voraussetzungen: Was brauchen wir noch

Die folgenden Dinge sollten wir auch noch zur Hand haben um möglichst geschmeidig mit Dockware an lokalen Shopware 6 Installationen zu arbeiten.

a) phpstorm

phpstorm ist DAS Tool, das jeder ambitionierte Shopware Entwickler in ihrem Werkzeugkasten bereit haben sollte. Der erste Monat ist kostenlos, für die kommerzielle Nutzung kostet es dann ab dem zweiten Monat etwas mehr als 20 €, wird bei längerer Nutzung jedoch immer etwas günstiger.

Hier phpstorm kostenlos runterladen:
https://www.jetbrains.com/phpstorm/

b) Shopware 6 Toolbox für phpstorm

Und das Plugin was dazu nicht fehlen darf ist die Shopware 6 Toolbox:
https://plugins.jetbrains.com/plugin/17632-shopware-6-toolbox/versions/stable

Ohne es runter zu laden kann es auch über die Einstellungen von phpstorm gefunden und installiert werden.

 7-Shopware-6-Dockware-Tutorial-phpstorm-SW6-Toolbox.png

Und wo wir schonmal da in der Ecke sind können wir auch gleich noch das angezeigte Symfony Plugin mitnehmen.

c) git

Git wird verwendet, um Dockware und andere notwendige Ressourcen von Repositories wie GitHub herunterzuladen. Es ist hilfreich, Git installiert zu haben, um einfache Updates und Anpassungen an Dockware vorzunehmen. Prüfe mit diesem Konsolen-Befehl und und wenn ja welche git Version auf deinem Rechner installiert ist:

git --version

Wenn Git installiert ist, wird die Version von Git angezeigt (z. B. git version 2.34.1). Wenn nicht, erhält man eine Meldung, die besagt, dass der Befehl git nicht gefunden wurde.

5. Dockware dev Edition Installation

Bevor wir uns die eigentlichen Dateien runterladen und unser Shopware installieren sind vorher noch 2 Dinge zu erledigen.

a) Projekt in PhpStorm anlegen.
Gehe ein leeres php Projekt an und nenne es. Z.B. Dockware-6-6-4 wenn du Shopware 6.6.4 mit dockware dort installierst. Lege dort als nächstes die Datei docker-compose.yml auf der obersten Ebene an und kopiere folgenden Inhalt:

See the Pen
docker-compose.yaml
by Atilla Boz (@great2gether)
on CodePen.

Mit der Zeile: image: geben wir an, dass die neuste Shopware Version installiert werden soll, sobald der nächste Befehl (siehe b)) eingegeben wird.

Weitere infos dazu findest du hier:
https://docs.dockware.io/development/start-developing
https://developer.shopware.com/docs/guides/installation/community/dockware.html
https://docs.moori.net/blog/2024/setup-for-dockware/

Möchtest du nicht die neuste Shopware Version (latest) verwenden sondern eine ältere Version, dann kannst du anstelle von latest die gewünschte Version ausgeben. Möchtest du zum Beispiel die Version 6.4.6.0 installieren, dann muss die 4. Zeile bei dir so aussehen:

image: dockware/dev:6.4.6.0

Hier kannst du sehen, welche Shopware 6 Versionen dir zur Verfügung stehen:
https://www.shopware.com/de/changelog/

Bei der Eingabe der Version in der docker-compose.yml Datei werden dir (zumindest in phpstorm inkl. Shopware Plugin) auch die entsprechenden Versionen angezeigt aus denen du die passende Version auswählen kannst. Spannend wird es da ab Shopware 6.5, da hier nun individuelle Versionen für Intel und Mac Prozessoren zur Verfügung stehen.

Shopware Versionen für Intel oder Mac

Shopware Versionen für Intel oder Mac

AMD64 (x86-64) Architektur:

Was ist das: Dies ist die gängigste Architektur für Desktop- und Serverprozessoren.
Sie wurde ursprünglich von AMD entwickelt und ist vollständig kompatibel mit Intel-Prozessoren.
Man bezeichnet sie oft als x86-64 oder einfach 64-bit.

Wann verwenden: Du solltest die amd64 Version verwenden, wenn du Docker auf einem Standard-PC, Laptop oder Server betreibst, der höchstwahrscheinlich einen Intel- oder AMD-Prozessor hat. Das gilt für alle modernen Intel-Prozessoren mit 64-Bit-Unterstützung. Ältere Intel-Prozessoren, die nur 32-Bit (x86) unterstützen, können keine AMD64-Images ausführen.

ARM64 (AArch64) Architektur:

Was ist das: Diese Architektur wird in ARM-basierten Prozessoren verwendet, die häufig in mobilen Geräten (wie Smartphones und Tablets) zu finden sind und zunehmend in Servern und Desktops (insbesondere bei ARM-basierten Macs mit Apple’s M1- und M2-Chips) eingesetzt werden.

Wann verwenden: Die arm64 Version solltest du verwenden, wenn du Docker auf einem ARM-basierten System betreibst, wie z.B. einem Apple Silicon Mac (M1/M2), Raspberry Pi oder einem ARM-basierten Server.

Docker-Images werden speziell für unterschiedliche CPU-Architekturen erstellt. Wenn du versuchst, ein amd64-Image auf einem ARM-basierten System auszuführen, wird es nicht funktionieren, da die zugrunde liegenden Prozessoranweisungen unterschiedlich sind. Ebenso wird ein arm64-Image nicht auf einem AMD64-Rechner laufen.

Beispiel in der docker-compose.yml:

So könntest du die Shopware-Version in deiner docker-compose.yml Datei angeben:


version: '3.7'

services:
  shopware:
    image: dockware/dev:6.6.0-amd64
    ...

Oder für ein ARM-basiertes System:


version: '3.7'

services:
  shopware:
    image: dockware/dev:6.6.0-arm64
    ...

Allgemeiner Tipp:

Falls du unsicher bist, kannst du die Architektur deines Systems im Terminal mit uname -m überprüfen:

  • x86_64 bedeutet AMD64.
  • aarch64 bedeutet ARM64.

Das sollte dir helfen, die richtige Docker-Image-Version für dein System auszuwählen.

Andere PHP Version gefällig?

Kein Problem! Du kannst die PHP Version entweder in deiner docker-compose.yaml bestimmen oder einen Befehl im Terminal nutzen.

Folge diesem Link und den Anweisungen auf der Seite:
https://docs.dockware.io/features/switch-php-version

Kompatibilität von Shopware 6 mit PHP-Versionen

Die Kompatibilität von Shopware 6 mit verschiedenen PHP-Versionen variiert je nach Version von Shopware. Hier ist eine Übersicht der PHP-Versionen, die mit verschiedenen Shopware 6-Versionen kompatibel sind:

  • Shopware 6.4.x
    • PHP 7.4: Bis zum Ende der Lebensdauer von Shopware 6.4 ist PHP 7.4 die empfohlene und unterstützte Version.
    • PHP 8.0: Ab Shopware 6.4.3 kann PHP 8.0 verwendet werden.
  • Shopware 6.5.x
    • PHP 8.0: Wird standardmäßig unterstützt.
    • PHP 8.1: Ab Shopware 6.5.0 ist PHP 8.1 vollständig kompatibel und empfohlen.
    • PHP 8.2: Ab Shopware 6.5.2 wird PHP 8.2 unterstützt.
  • Shopware 6.6.x
    • PHP 8.1: Wird standardmäßig unterstützt.
    • PHP 8.2: Ab Shopware 6.6.0 wird PHP 8.2 unterstützt.
    • PHP 8.3: Ab Shopware 6.6.1 wird PHP 8.3 unterstützt.

Diese Angaben sind allgemein und können je nach weiteren Updates oder Änderungen von Shopware leicht variieren. Es ist immer ratsam, die offizielle Shopware-Dokumentation oder die Release Notes für die neuesten Informationen und Empfehlungen zur PHP-Kompatibilität zu konsultieren.

b) Shopware Container installieren

Gehe vorher sicher, dass Docker gestartet ist, dann bewege dich im Terminal in das Verzeichnis, in dem die Datei liegt, und führe folgenden Befehl aus:

docker-compose up -d

Mit diesem Befehl installieren wir den Container mit der aktuellen Shopware-Version.

Zusätzlich sehen wir den Docker Container jetzt auch in der Übersicht in Docker, also hier:

Docker Container Übersicht

Docker Container Übersicht

Auf der rechten Seite von PhpStorm öffnet sich nun der Remote Host, und ab jetzt können wir Shopware aufrufen.

Gehe hierfür im Browser auf http://localhost. Den Admin-Bereich findest du unter: http://localhost/admin#/login/.

Die Zugangsdaten sind admin für den Benutzer und shopware für das Passwort.

Als nächstes kopieren wir die Ordner auf unseren Host, also dorthin, wo wir sonst auch immer die Dateien sehen, wenn wir beispielsweise mit MAMP arbeiten, sprich auf unsere Festplatte.

mkdir -p ./src
docker cp shopware:/var/www/html/. ./src

Anschließend werden wir auf der Ebene der .yml-Datei einen `src`-Ordner sehen, der alle Shopware-Dateien enthält.

8-Shopware-6-Dockware-Tutorial-lokale-Installation.png

Wer genau hinschaut, wird bemerken, dass ich den Containernamen von „Shopware“ in „Shopware 2“ geändert habe, da „Shopware“ von einer vorherigen Installation bereits vergeben war.

Kurz darauf sehe ich die Shopware-Dateien links im Datei-Explorer von PhpStorm und ebenfalls auf der Festplatte. Das ist jetzt eine Kopie des Containers und nicht die Originaldateien des Shops, den wir auf localhost sehen.

Wenn wir uns auch den Remote Host anzeigen lassen wollen, geht das so:

9-Shopware-6-Dockware-Tutorial-Remote-Host.png

Wir klicken oben im Menü auf Tools > Deployment und wählen den untersten Punkt, nämlich Browse Remote Host, aus.

Hier müssen wir nun eine neue SFTP-Verbindung anlegen. Das geht, indem man auf den kleinen Button mit den drei Punkten (rechts neben dem Feld) klickt. Es öffnet sich ein kleines Fenster, in dem wir „dockware“ als Namen und „SFTP“ als Typ auswählen.

11-Shopware-6-Dockware-Tutorial-Remote-Host-SFTP.png

Nach einem Klick auf „OK“ geht es dann hier weiter:

12-Shopware-6-Dockware-Tutorial-Remote-Host-SSH-.png

Hier müssen wir zunächst eine SSH-Konfiguration erstellen, indem wir wieder neben dem entsprechenden Feld auf das Icon mit den drei Punkten klicken.

13-Shopware-6-Dockware-Tutorial-Remote-Host-SSH-anlegen.png

Hier legen wir nun die SSH-Verbindung an. Klicke hierfür auf das Plus-Symbol. Trage dann die erforderlichen Werte ein:

Host: localhost
Port: 22
User name: dockware
Ath type: Password
Password: dockware

Nach dem Speichern kommst du wieder hierhin zurück:

14-Shopware-6-Dockware-Tutorial-Remote-Host-Connection.png

Klicke einmal auf „Autodetect“, um den Root-Pfad automatisch zu ermitteln, und ergänze am Ende „/html“. Trage im Feld darunter den Host wie im Screenshot ein, also so: http://localhost.

Im Reiter „Mapping“ geben wir zudem – laut Dockware-Dokumentation – im Feld „Deployment Path“ noch ein einzelnes „/“ (Slash) ein.

Lokale Shopware 6 Entwicklung mit Dockware

Da bei diesen Einstellungen meine Dateien beim Upload jedoch immer in anderen Ordnern landeten, war das für mich passende Mapping so:

– In der ersten Zeile habe ich am Ende noch „/src“ ergänzt.
– In der zweiten Zeile habe ich nicht nur „/“ sondern „/html“ eingetragen.

16-Shopware-6-Dockware-Tutorial-Deployemnt-Path-better.png

Klicke hier auf „OK“, und du landest wieder im Reiter „Connection“.

Wenn der „Test Connection“-Button grünes Licht gibt und alles passt, können wir auf „OK“ klicken. Jetzt sehen wir rechts in unserer IDE (PhpStorm) das Image des Shopware-Containers. Das sind die Dateien unseres Shopware-Shops, den wir im Browser aufrufen. Auf der linken Seite sehen wir die Kopien davon auf unserem lokalen Rechner.

15-Shopware-6-Dockware-Tutorial-Imag-eund-lokal.png

So weit, so gut.

6. Automatische Uploads aktivieren

Nun geht es darum, die Dateien, die wir auf der linken Seite bearbeiten, automatisiert in unser Docker-Image hochzuladen, um den Shop bzw. die darin befindlichen Plugins anzupassen.

Markiere den Ordner „src“ und gehe dann auf: Tools > Deployment > Automatic Upload. Wenn die Funktion aktiv ist, siehst du ein Häkchen vor dem Menüpunkt.

18-Shopware-6-Dockware-Tutorial-Auto-Updates.png

Teste die Funktion, indem du eine Datei anpasst. Wenn es funktioniert, siehst du unten einen neuen Reiter: „File Transfer“. Hier kannst du live beobachten, wie nach jedem Speichern einer Datei diese automatisch zum Image des Shopware-Shops hochgeladen wird.

7. Watcher aktivieren: Auto-Compile und Browser Refresh

Jetzt kommt DIE Einstellung, die dir auf Dauer einfach sehr viel Zeit sparen wird und das Entwickeln angenehmer gestaltet. Öffne das Terminal von Dockware in PhpStorm.

Klicke hierfür auf das Ausklapp-Menü neben dem kleinen + Icon an der Oberkante deines Terminals in phpstorm.

Sofern du dich schon im Shopware Ordner befindest kannst du „make“ eingeben und bekommst dann das angezeigt:

19-Shopware-6-Dockware-Tutorial-makefile.png

Und jetzt gibst du folgendes ein, um den Watcher für das Frontend zu starten:

make watch-storefront

20-Shopware-6-Dockware-Tutorial-makefile-ok.png

Am Ende des Prozesses wird dir angezeigt auf welcher URL du den Shop aufrufen kannst, der Shop läuft mit Watcher mit den vor mir verwendeten Einstellungen unter:

http://localhost:9998/

Das war’s.

Vorher: Datei speichern, Datei hochladen, Theme kompilieren, Browser aktualisieren.

Ab jetzt: Datei speichern – der Rest erledigt sich von selbst!

Der Browser aktualisiert sich von selbst und du musst nie wieder was machen im Leben. Nicht einmal die stinkenden Socken hinter dem Sofa raus kramen und waschen, denn sogar das erledig ab jetzt der Storefront Watcher.

8. Demo-Daten und Shopware Developer Tools

Die Dockware / Shopware 6-Entwicklungsumgebung dev bietet von Haus aus bereits viele Funktionen. Wenn jedoch Layouts erstellt werden wünscht man sich mehr als nur 6 Produkte und 2 Kategorienim Shop. Diese können mit einem Befehl hinzugefügt werden.

Zuvor müssen jedoch noch die Shopware Developer Tools installiert werden.

Hierfür öffnen wir ein Terminal Reiter zu dockware. Klickt auf das Ausklapp-Menü neben dem + Icon und wählt dockware aus. Dann navigieren in den Shop Ordner html und führen dort folgenden Befehl aus:

composer require --dev shopware/dev-tools

Anschließend nutzen wir den nächsten Befehl um zusätzliche Demo-Daten zu installieren.

bin/console framework:demodata

Ist der Shop im dev Modus geht das jedoch nicht, daher muss in diesem Fall der Befehl etwas erweitert werden:

APP_ENV=prod bin/console framework:demodata

So sollte es in jedem Fall klappen. Sollten im Frontend zu Beginn nur die Kategorien, nicht aber die Produkte angezeigt werden, dann müsst ihr den Cache löschen und 2 Buttons weiter unten die Indexes aktualisieren.

Welche Demo-Daten werde installiert?

  • 50 Tags
  • 25 Regeln
  • 300 Medien
  • 60 Kunden
  • 10 Eigenschaftsgruppen
  • 10 Kategorien
  • 60 Produkt-Hersteller
  • 1000 Produkte
  • 10 Produktstreams
  • 50 Werbeaktionen
  • 60 Bestellungen
  • 20 Produktbewertungen
  • 4 benutzerdefinierte Feldsets
  • 10 E-Mail-Vorlagen
  • 3 E-Mail-Kopf- und Fußzeilen

So kann man sich von unterschiedlichsten Bereichen im Shop ein gutes Bild machen, Massenbearbeitungen, Importe und sonstige Dinge testen.

9. Neues Plugin in Dockware laden

Wer die automatischen Uploads aktiviert hat wird feststellen, dass das nur funktioniert, wenn man eine Datei im Editor geöffnet hat und dann speichert. Wenn man aber ein neues Plugin in den plugins oder apps Order legt, der muss einen anderen Weg gehen. In dem Fall markieren wir den Ordner des Plugins. Mit einem Rechtsklick öffnen wir das Menü und gehen auf den Punkt Deployment > Upload to Dockware. Die Dateien werden nun in unser Dockware Image geladen und das Plugin erscheint in der Übersicht der Erweiterung und kann fortan installiert, aktiviert und frisiert werden.

Lokale Shopware 6 Entwicklung mit Dockware

Ihr könnt aber auch umgekehrt vorgehen. Hierbei installiert ihr das Plugin über den Admin Bereich und habt die Dateien zuerst auf dem Remote Host. Geht in den sustom Ordner markiert dann den Ordner eures Plugin, macht einen Rechtsklick und wählt aus dem Menü Download from here.

10. Dockware Logins

Shopware backend login:

User: admin
Passwort: shopware

MySQL Adminer Login:

User: root
Passwort: root
Host: 127.0.0.1
Login-URL: http://localhost/adminer.php

SSH / SFTP:
User: dockware
Password: dockware
Port: 22

Mailcatcher:

Host: localhost
Port: 1025

11. Mögliche Fehler

Cannot connect to the Docker daemon
`version` is obsolete
Cannot connect to the Docker daemon at unix:///Users/atillaboz/.docker/run/docker.sock. Is the docker daemon running?

Lösung: Docker muss gestartet werden. Kam bei mir beim Versuch Shopware mit dem docker-compose up -d auszuführen bevor Docker gestartet war.

Fehler, wenn „make watch-storefront“ ausgeführt werden sollte:
www-data@7284fb75bbb6:~$ make watch-storefront
cd /var/www/html && ./bin/build-storefront.sh

Warning: require(/var/www/html/vendor/composer/../symfony/var-dumper/Resources/functions/dump.php): Failed to open stream: No such file or directory in /var/www/html/vendor/composer/autoload_real.php on line 78

Fatal error: Uncaught Error: Failed opening required '/var/www/html/vendor/composer/../symfony/var-dumper/Resources/functions/dump.php' (include_path='.:/usr/share/php') in /var/www/html/vendor/composer/autoload_real.php:78
Stack trace:
#0 /var/www/html/vendor/composer/autoload_real.php(61): composerRequire7008aa6c1333ff5b307af11be82efe34()
#1 /var/www/html/vendor/autoload.php(7): ComposerAutoloaderInit7008aa6c1333ff5b307af11be82efe34::getLoader()
#2 /var/www/html/vendor/autoload_runtime.php(5): require_once('...')
#3 /var/www/html/bin/console(17): require_once('...')
#4 {main}
thrown in /var/www/html/vendor/composer/autoload_real.php on line 78
make: *** [makefile:74: watch-storefront] Error 255

Kam bei mir durch Frosh Tools Plugin
Lösung

In den Ordner navigieren:
/var/www/html
Dann Composer installieren
composer install

Falls es schon installiert war evtl. die Abhängigkeiten aktualsiieren mit:
composer update

Letze Möglcihkeit:: Composer-Autoload neu generieren:
composer dump-autoload

12. Weiterführende Links:

Dockware Docs:
https://docs.dockware.io/#start-developing

Dockware Docs – Logins:
https://docs.dockware.io/use-dockware/default-credentials

Dockware Docs – Create a new project:
https://docs.dockware.io/tips-and-tricks/create-a-new-project

Shopware Developer Docs:
https://developer.shopware.com/docs/guides/installation/community/dockware.html

Dockware @ docker.com:
https://hub.docker.com/u/dockware

Dockware @ GitHub:
https://github.com/dockware/dockware

Slack Link for Support:
https://shopwarecommunity.slack.com/?redir=%2Farchives%2FC014X8HE8U8%3Fname%3DC014X8HE8U8

Christian Dangl and Martin Weinmayr about Dockware:
https://www.weloveshopwarecommunity.com/interview/christian-dangl/dockware-making-shopware-instances-running-locally-in-minutes-part-1

GETTING STARTED | Shopware Boostday (1/2), Christian Dangl
https://www.youtube.com/watch?v=BVCM03M6FLc&t=240s

Don’t fear the docker (video), Christian Dangl
https://www.youtube.com/watch?v=gy4m6VtjREI

Setup Shopware 6 using Dockware for Developer (Blog, webeFace)
https://webeface.de/setup-shopware-6-using-dockware-for-developer/

Setup Shopware 6 using Dockware for Developer (Video, webeFace)
https://www.youtube.com/watch?v=P8jIkxmivaE

Setup shopware 6 development environment on windows with dockware.io
https://www.youtube.com/watch?v=rSx0_DUC0Vs

Shopware 6 Plugin für phpStorm:
https://github.com/shopwareLabs/shopware6-phpstorm-plugin
https://plugins.jetbrains.com/plugin/17632-shopware-6-toolbox

Alles super spannend aber irgendwie will es bei dir nicht funktionieren? Dann buche dir jetzt einen Termin und wir helfen dir beim Setup:

Der Beitrag Lokale Shopware 6 Entwicklung mit Dockware erschien zuerst auf Shopware Agentur | Great2Gether.

Shopware 6 Indizes per CLI Konsole aktualisieren

$
0
0

Shopware 6 Indizes per CLI Konsole aktualisieren ist im Grunde ein einfache Sache. In diesem Beitrag wollen wir zeigen wie einfach es genau ist und welche Dinge man beachten kann und sollte, wenn es doch einmal komplizierter wird.

Übersicht:

  1. Shopware 6 Indizes aktualisieren
  2. Welche Indizes werden aktualisiert
  3. Erläuterung der einzelnen Indizes und Variablen
  4. Wie lautet der Befehl
  5. Vorteile der Shopware CLI Konsole
  6. Aktualisierung der Indizes über den Shopware Admin Bereich
  7. Aktualisierung und Ausschluss einzelner Indizes (mit skip & only)
  8. Wann ist ein vollständiger Neuaufbau des Index nötig?
  9. Synchrone vs asynchrone Indexierung
  10. Hilfe ausgeben lassen
  11. Geheimwissen & mögliche Fehler
  12. Weiterführende Links und Quellen

1. Shopware 6 Indizes aktualisieren

In einem Shopware 6 System ist die Indizierung ein entscheidender Prozess, der die Datenbankstruktur optimiert und beschleunigt. Ein Index ist ein spezieller Speicherort innerhalb der Datenbank, der wichtige Informationen wie Produktnamen, Kategorien oder Preise in einer komprimierten Form bereithält. Wenn Daten im Shop hinzugefügt, verändert oder gelöscht werden – beispielsweise durch das Einpflegen neuer Produkte oder das Ändern von Preisen – müssen die Indizes aktualisiert werden, um sicherzustellen, dass diese Änderungen für den Nutzer sichtbar sind und schnell abgerufen werden können.

Die regelmäßige Aktualisierung der Indizes verbessert nicht nur die Performance, sondern stellt auch sicher, dass alle Informationen, die für die Navigation und Suche im Shop wichtig sind, stets auf dem neuesten Stand sind. So profitieren sowohl die Kunden von schnellen Ladezeiten und präzisen Suchergebnissen als auch das System von einer optimierten Datenstruktur.

2. Welche Indizes werden aktualisiert

Beim Aktualisieren der Indizes in Shopware 6 werden mehrere wichtige Datenbereiche und Funktionen des Shops auf den neuesten Stand gebracht. Hier sind die zentralen Bereiche, die durch die Indizierung abgedeckt werden:

  • Produktdaten – Alle Änderungen an Produkten, wie Preise, Bestände, Beschreibungen oder Verfügbarkeiten, werden bei der Indizierung aktualisiert. Dies stellt sicher, dass Kunden immer die korrekten Produktinformationen sehen, sei es bei der Suche, in Kategorien oder auf Produktdetailseiten.
  • Kategorien und Kategoriebäume – Änderungen an Kategorien, etwa neue Kategorien oder umstrukturierte Kategoriebäume, werden in die Indizes aufgenommen. Dadurch sind die Kategorien für Kunden immer schnell und korrekt verfügbar, was eine reibungslose Navigation im Shop ermöglicht.
  • SEO-URLs – Wenn sich die URL-Struktur aufgrund von Änderungen an Produkt- oder Kategoriedaten verändert, werden die SEO-optimierten URLs automatisch neu generiert. So bleibt der Shop auch bei größeren Änderungen suchmaschinenfreundlich und vermeidet veraltete Links, die die User Experience oder das Ranking negativ beeinflussen könnten.
  • Such- und Filterfunktionen – Die Indizes werden auch verwendet, um die Such- und Filterfunktionen zu optimieren. Neue oder geänderte Produkte und Kategorien erscheinen so direkt in den Suchergebnissen und lassen sich über Filter schneller finden.
  • Preise und Preisstaffelungen – Falls der Shop verschiedene Preisgruppen oder Staffelpreise verwendet, stellt die Indizierung sicher, dass diese Preise für alle Kunden korrekt angezeigt werden. So profitieren sowohl Endkunden als auch Händlerkunden von aktuellen Preisen, die automatisch an die Zielgruppe angepasst sind.
  • Media und Thumbnail-Verknüpfungen – Änderungen an Medieninhalten, wie Produktbildern oder Thumbnails, werden durch die Indizierung ebenfalls berücksichtigt. Das sorgt dafür, dass auf Produkt- und Kategorieseiten immer die passenden Bilder angezeigt werden und keine veralteten Medien im Cache bleiben.

Durch die Indizierung dieser verschiedenen Bereiche stellt Shopware 6 sicher, dass die Daten im gesamten Shop konsistent und aktuell bleiben. Das verbessert nicht nur die Performance des Shops, sondern auch die Benutzerfreundlichkeit und die Suchmaschinenoptimierung.

3. Erläuterung der einzelnen Indizes und Variablen

Wenn man den oben genannten Befehl durchlaufen läßt, dann werde alle diese Indizes hier aktualisiert, so dass ihr im Terminal eine längere Liste mit mehr oder weniger Fehlern angezeigt bekommt:

Indexer Erklärung
category.indexer Indiziert die Kategorien im Shop, einschließlich der SEO-URLs, sodass Änderungen in der Kategorie-Struktur schnell sichtbar werden.
– category.child-count Erstellt eine Übersicht der Anzahl an Unterkategorien.
– category.tree Erstellt ein Verzeichnis des Kategoriebereichs (Kategorien und ihre Unterkategorien).
– category.breadcrumb Erstellt einen Index für die Verwendung in der Breadcrumb-Navigation.
– category.seo-url Erstellt einen Index der SEO-URLs für die Kategorien.
customer.indexer Erstellt einen Suchindex für die Kunden.
– customer.many-to-many-id-field Unterstützungsaufgabe zur Verknüpfung von Tabellen.
flow.indexer Aktualisiert die Flows, die für die Automatisierung von Prozessen im Shop verwendet werden.
landing_page.indexer Aktualisiert die Landing-Pages, um sicherzustellen, dass alle Inhalte und Designs auf dem neuesten Stand sind.
– landing_page.many-to-many-id-field Unterstützungsaufgabe zur Verknüpfung von Tabellen.
– landing_page.seo-url Erstellt einen Index der SEO-URLs für die Landing Pages.
media.indexer Aktualisiert alle Medieninhalte, wie Bilder und Videos, um sicherzustellen, dass sie korrekt im Shop angezeigt werden.
media_folder.indexer Indiziert die Medienordner, die für eine organisierte Speicherung von Medieninhalten sorgen.
– media_folder.child-count Zählt die Unterordner innerhalb eines Medienordners.
media_folder_configuration.indexer Aktualisiert die Konfiguration der Medienordner, um sicherzustellen, dass alle Medieneinstellungen aktuell sind.
newsletter_recipient.indexer Aktualisiert die Empfängerliste für Newsletter, um sicherzustellen, dass nur aktuelle Adressen verwendet werden.
payment_method.indexer Indiziert die Zahlungsmethoden, um sicherzustellen, dass alle Zahlungsoptionen korrekt und aktuell sind.
product.indexer Indiziert alle Produktdaten, einschließlich Preis, Beschreibung, Verfügbarkeit und SEO-URLs, um eine schnelle Suche und Anzeige im Shop zu gewährleisten.
– product.inheritance Aktualisiert die Verknüpfungen zwischen Produkten und ihren Varianten.
– product.stock Indiziert den Lagerbestand der Produkte.
– product.variant-listing Erstellt einen Index aller Varianten innerhalb eines Produkts.
– product.child-count Zählt die Varianten innerhalb eines Produkts.
– product.many-to-many-id-field Unterstützungsaufgabe zur Verknüpfung von Tabellen.
– product.category-denormalizer Überprüft auf verwaiste Produkte in Kategorien (nicht funktionierende Links) und entfernt diese.
– product.cheapest-price Bestimmt den günstigsten Preis innerhalb eines Produkts.
– product.rating-averaget Ermittelt den Durchschnitt der Bewertungswerte aus den Produktrezensionen.
– product.stream Erstellt die Produktlisten für die dynamischen Produktgruppen.
– product.search-keyword Definiert eine Liste aller Suchbegriffe der Produkte.
– product.seo-url Erstellt eine Liste der SEO-URLs der Produkte.
product_manufacturer.indexer Indiziert die Daten der Produktanbieter, um sicherzustellen, dass Herstellerinformationen immer aktuell sind.
product_stream.indexer Erstellt einen Index der dynamischen Produktgruppen.
product_stream_mapping.indexer Erstellt eine Zuordnung zwischen Kategorien und dynamischen Produktgruppen.
promotion.indexer Aktualisiert die Promotions und Rabatte, um sicherzustellen, dass diese korrekt angezeigt und angewendet werden.
– promotion.exclusion Erstellt eine Liste von Ausschlüssen innerhalb der Promotions (nicht kombinierbar mit …).
– promotion.redemption Aktualisiert die Liste der von Kunden genutzten Promotions.
rule.indexer Indiziert alle Regeln, die im Shop für verschiedene Geschäftslogik verwendet werden, um deren Gültigkeit zu gewährleisten.
– rule.payload Erstellt einen Index der Bedingungen innerhalb der Regeln.
sales_channel.indexer Aktualisiert die Verkaufsstellen und deren Zuordnungen, um sicherzustellen, dass alle Verkaufskanäle korrekt funktionieren.
– sales_channel.many-to-many Unterstützungsaufgabe zur Verknüpfung von Tabellen.
theme.indexer Indiziert die Theme-Daten, um sicherzustellen, dass die Designanpassungen immer korrekt dargestellt werden.
netzp.blogpost.indexer Aktualisiert die Blogbeiträge und deren Einstellungen, um sicherzustellen, dass alle Inhalte aktuell sind.

Die letze Variable hat man natürlich nur in seinem Shop, wenn man das Netzperfekt Blog Plugin verwendet.
Die INdizes mit einem Bindestrich sind quasi Unter-Indizes. Das besondere: Es ist etwas komplizierter nur eine Gruppe aus der 2. Ebene anzusprechen. Mehr dazu weiter unten.

4. Wie lautet der Befehl

Kurze Rede, kurzer Sinn, der Befehl lautet schlicht und ergreifend:

php bin/console dal:refresh:index

Um diesen Befehl verwenden zu können müsst ihr euch über euer Terminal in den Shopware Ordner bewegen.

Bei mir geht das in der Regel so: Ich melde mich mit dieser Zeile Code erst. einmal auf dem Server an:

ssh k47s65.meinserver.io -l c836503_w7_ssh1

Dann werde ich aufgefordert das Passwort einzugeben und folge dem Befehl wie ein Roboter. Anschließend bin ich schonmal auf dem Server. Dann navigiere ich in den Shop Ordner und dann je nachdem auch noch einmal mit cd stageware1 in den Ordner einer Staging Umgebung.

Dort kann ich jetzt ohne weitere Umwege den Befehl eingeben und alle Indizes des Shops über die CLI Konsole aktualisieren.

5. Vorteile der Shopware CLI Konsole

Warum sollte man die Indizes in Shopware 6 über die Konsole aktualisieren?

Die Indizes in Shopware 6 zu aktualisieren, ist wichtig, um die Performance und Datenkonsistenz im Shop zu gewährleisten. Während es möglich ist, die Indizes über den Admin-Bereich neu zu generieren, bietet die Konsole (CLI) viele Vorteile, vor allem in größeren Shops. Hier sind die wichtigsten Gründe, warum die Aktualisierung der Indizes über die Konsole oft die bessere Wahl ist:

  • Performance – Das Aktualisieren der Indizes kann viel Rechenleistung in Anspruch nehmen, besonders bei umfangreichen Datenbeständen. Wenn die Indizierung über die Konsole durchgeführt wird, passiert dies direkt auf dem Server und ist oft schneller und ressourcenschonender, als die gleichen Vorgänge im Admin-Bereich auszuführen. Dadurch wird die Belastung für das Frontend reduziert und die Nutzererfahrung im Shop bleibt unbeeinträchtigt.
  • Vermeidung von Timeout-Problemen – Bei sehr großen Shops oder wenn viele Produkte, Kategorien oder Medien neu indiziert werden müssen, kann die Indizierung über den Admin-Bereich zu Timeout-Problemen führen. Über die CLI gibt es dieses Problem nicht, da die Befehle direkt auf dem Server ausgeführt werden und die Ausführungszeit hier keine Einschränkungen durch Browser- oder PHP-Limits hat.
  • Automatisierung und Flexibilität – Mit der CLI lassen sich Indizierungsprozesse leicht in automatisierte Abläufe, wie Cronjobs oder Deployment-Skripte, integrieren. So kannst du festlegen, dass die Indizes z.B. täglich oder wöchentlich automatisch aktualisiert werden, ohne manuell in den Admin-Bereich eingreifen zu müssen.
  • Fehlermeldungen und Debugging – Bei der Ausführung über die Konsole erhältst du oft detaillierte Fehlermeldungen und Statusinformationen, die bei Problemen mit der Indizierung hilfreich sind. Dies ist nützlich, um spezifische Fehler bei der Indizierung zu erkennen und zu beheben, bevor sie die Benutzererfahrung im Shop beeinträchtigen.
  • Ressourcenkontrolle bei großen Datenbeständen – Die Indizierung über den Admin-Bereich kann die Shop-Performance beeinträchtigen, da sie auf der gleichen Umgebung läuft wie die Benutzeranfragen. Über die Konsole kann man diese Vorgänge gezielt außerhalb der Hauptnutzungszeiten steuern oder bei hohem Datenvolumen an die Serverressourcen anpassen.
  • Schnellere Bearbeitung großer Datenmengen – Bei sehr vielen Produkten, Kategorien oder Kundendaten bietet die CLI eine deutlich schnellere Möglichkeit, die Indizes zu aktualisieren, da die Serverressourcen hier oft effizienter genutzt werden können. Das ist besonders hilfreich in Shops mit saisonalen Sortimentswechseln oder umfangreichen Datenimporten.

Die Verwendung der Konsole bietet also mehr Flexibilität, Stabilität und Kontrolle über den Indizierungsprozess, vor allem in großen oder häufig aktualisierten Shopware-Installationen.

6. Aktualisierung der Indizes über den Shopware Admin Bereich

Um die Indizes im Shopware Admin-Bereich zu aktualisieren, melde dich zuerst im Admin-Bereich an. Navigiere dann zu Einstellungen > Systemeinstellungen > Caches & Indizes. Dort findest du den Bereich für Indizes, in dem alle Indizes in einem Drop-Down-Menü aufgelistet sind.

Shopware 6 Admin - Cache und Indizes

Shopware 6 Admin – Cache und Indizes

Hier kannst du die Indizes auswählen, die du aktualisieren möchtest. Du hast die Möglichkeit, entweder alle Indizes auf einmal oder spezifische Indizes auszuwählen. Klicke anschließend auf die Schaltfläche Indizes aktualisieren, um den Aktualisierungsprozess zu starten. Warte, bis der Prozess abgeschlossen ist, und du wirst eine Benachrichtigung erhalten, wenn die Aktualisierung erfolgreich war.

Shopware 6 Indizes aktualisieren - 41 - Shopware Admin - Indizes Liste

Shopware 6 Indizes aktualisieren – 41 – Shopware Admin – Indizes Liste

Die Aktualisierung der Indizes über den Admin-Bereich ist eine benutzerfreundliche Möglichkeit, die Daten im Shop auf dem neuesten Stand zu halten, insbesondere nach Änderungen an Produkten, Kategorien oder anderen Inhalten.

7. Aktualisierung und Ausschluss einzelner Indizes (mit skip & only)

So jetzt wird es ein bißchen spannend. Denn es ist seit Shopware 6.4 sind 2 Dinge möglich, von denen alle User bis einschließlich 6.3 nur träumen durften.

  • Erstens: Mit dem --skip Befehl bestimmte Indizes ausschließen:
  • Zweitens: Mit dem --only Befehl nur ausgewählte Indizes zu aktualisieren

Wann macht so etwas Sinn? Ganz einfach wenn man schnell beispielsweise nur die Kategorie SEO-URLs (s. Screenshot oben) neu generieren möchte ohne dabei noch ewig die Aktualisierung der Produkte abzuwarten und den Server unnötig zu belasten.

Beispiele mit only:
Achtung: Der only Befehl kann nur bei den „Ober-Indizes“ verwendet werden. Wenn wir einen Blick oben in die Tabelle werfen, dann sind das diejenigen wo kein Bindestrich davor steht. Der Bindestrich gehört natürlich nicht zu der Variable dazu, sondern soll symbolisieren, dass es sich um eine Ebene unter der Haupt-Indize Gruppe handelt.

Nur Newsletter Empfänger:
php bin/console dal:refresh:index --only=newsletter_recipient.indexer

Nur den günstigsten Produkt-Preis (product.cheapest-price)

php bin/console dal:refresh:index --use-queue --only=product.indexer --skip="product.inheritance,product.stock,product.variant-listing,product.child-count,product.many-to-many-id-field,product.category-denormalizer,product.rating-averaget,product.stream,product.seo-url,product.search-keyword"

Was passiert da genau? Wie eingangs beschrieben kann man den only Befehl nicht auf einen Unter-Indize anwenden. Daher schließen mit --only=product.indexer in erster Instanz alle anderen Ober-Indizes aus. Im nächsten Schritt überspringen / skippen wir dann alle Unter-Indizes vom product.indexer so dass nur noch der übrig bleibt, der nciht in der Liste erwähnt wird.

Nur die Produkt-SEO-URLs (product.seo-url)
php bin/console dal:refresh:index --use-queue --only=product.indexer --skip="product.inheritance,product.stock,product.variant-listing,product.child-count,product.many-to-many-id-field,product.category-denormalizer,product.rating-averaget,product.stream,product.search-keyword, product.cheapest-price"

Beispiele mit skip:

Überspringe Kategorie SEO-URLs:
php bin/console dal:refresh:index --skip=category.seo-url

Mehrere Bereiche überspringen:
php bin/console dal:refresh:index --skip "customer.indexer,landing_page.indexer,media.indexer,media_folder.indexer,media_folder_configuration.indexer,payment_method.indexer,product_stream.indexer,product_stream_mapping.indexer,promotion.indexer,rule.indexer,sales_channel.indexer,product.indexer,category.seo-url"

Und hier ist für jeden einzelnen Bereich der passende Befehl um nur spezifisch diesen einen Bereich anzupassen.

  • category.indexer: php bin/console dal:refresh:index --only=category.indexer
    • category.child-count: php bin/console dal:refresh:index --only=category.indexer --skip="category.tree,category.breadcrumb,category.seo-url"
    • category.tree: php bin/console dal:refresh:index --only=category.indexer --skip="category.child-count,category.breadcrumb,category.seo-url"
    • category.breadcrumb: php bin/console dal:refresh:index --only=category.indexer --skip="category.child-count,category.tree,category.seo-url"
    • category.seo-url: php bin/console dal:refresh:index --only=category.indexer --skip="category.child-count,category.tree,category.breadcrumb"
  • customer.indexer: php bin/console dal:refresh:index --only=customer.indexer
    • customer.many-to-many-id-field: php bin/console dal:refresh:index --only=customer.indexer
  • flow.indexer: php bin/console dal:refresh:index --only=flow.indexer
  • landing_page.indexer: php bin/console dal:refresh:index --only=landing_page.indexer
    • landing_page.many-to-many-id-field: php bin/console dal:refresh:index --only=landing_page.indexer --skip=landing_page.seo-url
    • landing_page.seo-url: php bin/console dal:refresh:index --only=landing_page.indexer --skip=landing_page.many-to-many-id-field
  • media.indexer: php bin/console dal:refresh:index --only=media.indexer
  • media_folder.indexer: php bin/console dal:refresh:index --only=media_folder.indexer
    • media_folder.child-count: php bin/console dal:refresh:index --only=media_folder.indexer
  • media_folder_configuration.indexer: php bin/console dal:refresh:index --only=media_folder_configuration.indexer
  • newsletter_recipient.indexer: php bin/console dal:refresh:index --only=newsletter_recipient.indexer
  • payment_method.indexer: php bin/console dal:refresh:index --only=payment_method.indexer
  • product.indexer: php bin/console dal:refresh:index --only=product.indexer
    • product.inheritance: php bin/console dal:refresh:index --only=product.indexer --skip="product.stock,product.variant-listing,product.child-count,product.many-to-many-id-field,product.category-denormalizer,product.rating-averaget,product.stream,product.search-keyword,product.cheapest-price,product.seo-url"
    • product.stock: php bin/console dal:refresh:index --only=product.indexer --skip="product.inheritance,product.variant-listing,product.child-count,product.many-to-many-id-field,product.category-denormalizer,product.rating-averaget,product.stream,product.search-keyword,product.cheapest-price,product.seo-url"
    • product.variant-listing: php bin/console dal:refresh:index --only=product.indexer --skip="product.inheritance,product.stock,product.child-count,product.many-to-many-id-field,product.category-denormalizer,product.rating-averaget,product.stream,product.search-keyword,product.cheapest-price,product.seo-url"
    • product.child-count: php bin/console dal:refresh:index --only=product.indexer --skip="product.inheritance,product.stock,product.variant-listing,product.many-to-many-id-field,product.category-denormalizer,product.rating-averaget,product.stream,product.search-keyword,product.cheapest-price,product.seo-url"
    • product.many-to-many-id-field: php bin/console dal:refresh:index --only=product.indexer --skip="product.inheritance,product.stock,product.variant-listing,product.child-count,product.category-denormalizer,product.rating-averaget,product.stream,product.search-keyword,product.cheapest-price,product.seo-url"
    • product.category-denormalizer: php bin/console dal:refresh:index --only=product.indexer --skip="product.inheritance,product.stock,product.variant-listing,product.child-count,product.many-to-many-id-field,product.rating-averaget,product.stream,product.search-keyword,product.cheapest-price,product.seo-url"
    • product.rating-averaget: php bin/console dal:refresh:index --only=product.indexer --skip="product.inheritance,product.stock,product.variant-listing,product.child-count,product.many-to-many-id-field,product.category-denormalizer,product.stream,product.search-keyword,product.cheapest-price,product.seo-url"
    • product.stream: php bin/console dal:refresh:index --only=product.indexer --skip="product.inheritance,product.stock,product.variant-listing,product.child-count,product.many-to-many-id-field,product.category-denormalizer,product.rating-averaget,product.search-keyword,product.cheapest-price,product.seo-url"
    • product.search-keyword: php bin/console dal:refresh:index --only=product.indexer --skip="product.inheritance,product.stock,product.variant-listing,product.child-count,product.many-to-many-id-field,product.category-denormalizer,product.rating-averaget,product.stream,product.cheapest-price,product.seo-url"
    • product.cheapest-price: php bin/console dal:refresh:index --only=product.indexer --skip="product.inheritance,product.stock,product.variant-listing,product.child-count,product.many-to-many-id-field,product.category-denormalizer,product.rating-averaget,product.stream,product.search-keyword,product.seo-url"
    • product.seo-url: php bin/console dal:refresh:index --only=product.indexer --skip="product.inheritance,product.stock,product.variant-listing,product.child-count,product.many-to-many-id-field,product.category-denormalizer,product.rating-averaget,product.stream,product.search-keyword,product.cheapest-price"
  • product_manufacturer.indexer: php bin/console dal:refresh:index --only=product_manufacturer.indexer
  • promotion.indexer: php bin/console dal:refresh:index --only=promotion.indexer
    • promotion.exclusion: php bin/console dal:refresh:index --only=promotion.indexer --skip="promotion.redemption"
    • promotion.redemption: php bin/console dal:refresh:index --only=promotion.indexer --skip="promotion.exclusion"
  • rule.indexer: php bin/console dal:refresh:index --only=rule.indexer
    • rule.payload: php bin/console dal:refresh:index --only=rule.indexer
  • sales_channel.indexer: php bin/console dal:refresh:index --only=sales_channel.indexer
  • theme.indexer: php bin/console dal:refresh:index --only=theme.indexer
  • netzp.blogpost.indexer: php bin/console dal:refresh:index --only=netzp.blogpost.indexer

9. Synchrone vs asynchrone Indexierung

Synchron:
Bei der synchronen Verarbeitung wird der Befehl sofort ausgeführt, und der gesamte Prozess muss abgeschlossen sein, bevor das System mit anderen Aufgaben fortfahren kann. Im Fall von Shopware bedeutet dies, dass der Index direkt aufgebaut wird. Das kann je nach Datenmenge variieren und zusätzliche Ressourcen wie CPU und RAM beanspruchen. Der Vorteil dieser Methode ist, dass du sofort die Ergebnisse siehst, was bei kritischen Aktualisierungen wichtig sein kann. Der Nachteil ist, dass es zu Wartezeiten kommen kann, wenn die Datenmenge groß ist oder die Serverressourcen begrenzt sind.

Asynchron:
Im Gegensatz dazu ermöglicht die asynchrone Verarbeitung dem System, den Befehl in eine Warteschlange zu stellen und andere Aufgaben parallel zu bearbeiten. Wenn du den Parameter –use-queue verwendest, wird der Indexaufbau nicht sofort durchgeführt, sondern in die Message Queue verschoben. Diese Methode entlastet das System und sorgt dafür, dass die Anwendung reaktionsschnell bleibt, während die Indizes im Hintergrund aktualisiert werden. Asynchrone Prozesse sind besonders nützlich, wenn große Datenmengen verarbeitet werden müssen, da sie die Belastung des Systems reduzieren und gleichzeitig die Benutzerfreundlichkeit aufrechterhalten.

Einfachstes Beispiel:

php bin/console dal:refresh:index --use-queue

Cronjobs:
Zusätzlich zu diesen Methoden können Cronjobs verwendet werden, um regelmäßige Aufgaben automatisiert auszuführen, wie beispielsweise die regelmäßige Aktualisierung der Indizes in Shopware. Diese Jobs können so konfiguriert werden, dass sie zu festgelegten Zeiten oder in bestimmten Intervallen laufen, was bedeutet, dass die Indizes ohne manuelles Eingreifen regelmäßig auf dem neuesten Stand gehalten werden. Dies trägt zur Stabilität und Effizienz des Systems bei und ermöglicht es den Betreibern, sich auf andere wichtige Aspekte des Geschäfts zu konzentrieren.

10. Hilfe ausgeben lassen

Manchmal steht man auf dem Schlauch und braucht etwas Hilfe. Die bekommt man mit diesem Befehl hier:

php bin/console dal:refresh:index --help

Hier ist die HTML-Tabelle mit den verfügbaren Optionen:

Shopware 6 Indizes aktualisieren - 60 - Hilfe

Shopware 6 Indizes aktualisieren – 60 – Hilfe

Und das hier sind die übersetzen Erläuterungen:

Option Beschreibung
--use-queue Ignoriert den Cache und erzwingt die Generierung.
--skip=SKIP Kommagetrennte Liste der Indexer-Namen, die übersprungen werden sollen.
--only=ONLY Kommagetrennte Liste der Indexer-Namen, die generiert werden sollen.
-h, --help Zeigt Hilfe für den angegebenen Befehl an. Wenn kein Befehl angegeben ist, wird die Hilfe für die Befehlsliste angezeigt.
-q, --quiet Gibt keine Nachrichten aus.
-V, --version Zeigt die Version dieser Anwendung an.
--ansi|--no-ansi Erzwingt (oder deaktiviert mit --no-ansi) die ANSI-Ausgabe.
-n, --no-interaction Stellt keine interaktiven Fragen.
-e, --env=ENV Der Name der Umgebung. [Standard: „dev“].
--no-debug Schaltet den Debug-Modus aus.
--profile Aktiviert das Profiling (erfordert Debug).
-v|vv|vvv, --verbose Erhöht die Ausführlichkeit der Nachrichten: 1 für normale Ausgabe, 2 für detailliertere Ausgabe und 3 für Debug.

11. Geheimwissen & mögliche Fehler

a) passe die Shopware.yaml an und setze die batch size auf 10

shopware:
auto_update:
enabled: false
admin_worker:
enable_admin_worker: false
dal:
batch_size: 10

b) memory_limit Fehler
Error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 1503232 bytes)
Lösung: Memory Limit z.B. so erhöhen
php -d memory_limit=512M bin/console dal:refresh:index

Bzw. auf einem anderen Weg das memory_limit erhähen (lassen)

12. Weiterführende Links und Quellen

Shopware Plugin – Blog Premium für SW6
https://store.shopware.com/de/netzp55675230632/blog-premium-fuer-sw-6.html
https://plugins.netzperfekt.de/plugin/NetzpBlog6

Shopware Docs – Message Queues
https://docs.shopware.com/de/shopware-6-de/tutorials-und-faq/message-queue-und-scheduled-tasks#admin-worker-deaktivieren-und-cli-worker-einrichten

Shopware Docs – SEO Einstellungen
https://docs.shopware.com/de/shopware-6-de/einstellungen/seo

Shopware Docs – Caches and Indexes:
https://docs.shopware.com/en/shopware-6-en/configuration/caches-indexes

github – NEXT-15739 – Added skip option to dal refresh index command
https://github.com/shopware/shopware/commit/bf3b5f5368d68f4fe67b2fb85d7ff3e71562721d

Blog Beitrag [winkelwagen] – Shopware 6: How to index
https://winkelwagen.de/2023/12/19/shopware-6-how-to-index/

Shopware Forum – Performance Optimierung Indexierung
https://forum.shopware.com/t/performance-optimierung-indexierung/72250/22

Blog Beitrag [The Cake Shop] – Shopware 6 | +10.000 Produkte, nicht mit Shopware < 6.4 https://the-cake-shop.de/shopware-6-10-000-produkte-nicht-mit-shopware-6-4/

Der Beitrag Shopware 6 Indizes per CLI Konsole aktualisieren erschien zuerst auf Shopware Agentur | Great2Gether.

Viewing all 157 articles
Browse latest View live