Magento 2 Experten — Hyvä Theme, Tailwind CSS & SEO aus einer Hand ›

Marketing

Preisregeln, Newsletter und SEO-Einstellungen – die Marketing-Werkzeuge, die in jedem Magento-Backend stecken.

KAPITEL 5 Unterkapitel

Warenkorb-Preisregeln (Cart Price Rules)

<div class="prose prose-hyva max-w-none"><p>Rabattaktionen und Gutscheincodes einrichten, die im Warenkorb greifen – z. B. "10% ab 50€".</p><p>Warenkorb-Preisregeln legen Sie unter <em>Marketing &gt; Cart Price Rules &gt; Add New Rule</em> an. Sie wirken erst im Warenkorb bzw. Checkout, nicht schon in der Produktliste – der Kunde sieht den regulären Preis, bis die Regel durch Erfüllen der Bedingungen (bzw. Eingabe des Codes) greift.</p> <h3>Rule Information</h3> <ul> <li><strong>Websites / Customer Groups:</strong> für wen die Regel überhaupt gilt – lässt sich z. B. auf "NOT LOGGED IN" beschränken für reine Neukunden-Aktionen.</li> <li><strong>Coupon:</strong> "No Coupon" (Regel gilt automatisch für alle, sobald Bedingungen erfüllt sind) oder "Specific Coupon" mit einem konkreten Code, den Kunden im Warenkorb eingeben müssen.</li> <li><strong>From/To:</strong> Start- und optionales Enddatum, ab/bis wann die Regel aktiv ist.</li> <li><strong>Priority:</strong> bei mehreren gleichzeitig gültigen Regeln legt die Priorität die Reihenfolge der Anwendung fest; <strong>Discard subsequent rules</strong> verhindert, dass weitere, niedriger priorisierte Regeln zusätzlich greifen.</li> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/ruleinformations6kategorie.png}}" alt="loading="lazy"" /> </ul> <h3>Conditions</h3> <p>Im Tab <strong>Conditions</strong> bauen Sie per Baukastenprinzip die Bedingung zusammen, unter der die Regel greift – z. B. "Subtotal is greater than 50" oder "Category is 15 AND Qty in cart is greater than 2". Mehrere Bedingungen lassen sich mit UND/ODER-Logik verschachteln.</p> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/conditions6kategorie.png}}" alt="Conditions" /> <h3>Actions</h3> <p>Im Tab <strong>Actions</strong> legen Sie fest, was passiert: <strong>Apply</strong> steuert die Rabattart (Prozentsatz, fester Betrag vom Warenkorb, fester Betrag pro Artikel, oder Versandkosten-Rabatt), <strong>Discount Amount</strong> die Höhe, sowie optional <strong>Buy X Get Y Free</strong> (z. B. "3 für 2"-Aktionen) über die Felder <strong>Buy X quantity</strong>/<strong>Free Y quantity</strong>.</p> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/actions6kategorie.png}}" alt="Actions" /> <h3>Mehrere Coupon-Codes generieren</h3> <p>Unter <strong>Coupon Qty</strong> im Tab "Coupon" lassen sich bei Bedarf automatisch mehrere unterschiedliche Codes für eine Aktion generieren (z. B. für eine Influencer-Kampagne mit individuellen, nachverfolgbaren Codes pro Partner) – als CSV exportierbar.</p> <p><strong>Praxis-Tipp:</strong> Testen Sie neue Regeln immer erst mit einem Testkonto im eigenen Shop und einer Testbestellung, bevor Sie den Coupon-Code öffentlich kommunizieren – ein Tippfehler in den Bedingungen kann sonst zu einem ungewollt zu hohen Rabatt oder einem gar nicht funktionierenden Code führen.</p> <h3>Nutzungslimits pro Coupon und Kunde</h3> <p>Über <strong>Uses per Coupon</strong> (Rule Information) begrenzen Sie, wie oft ein einzelner Code insgesamt eingelöst werden darf – leer gelassen bedeutet unbegrenzt. <strong>Uses per Customer</strong> begrenzt zusätzlich pro einzelnem Kundenkonto, unabhängig davon, wie viele verschiedene Codes derselben Regel existieren. Beide Felder zusammen verhindern, dass ein einmal veröffentlichter Rabattcode (z. B. über ein Gutschein-Portal) unkontrolliert oft genutzt wird.</p> <h3>Rabatt-Label für die Kundenanzeige</h3> <p>Im Tab <strong>Store Labels</strong> hinterlegen Sie einen Text (<strong>Label for All Store Views</strong>, optional pro Store View überschreibbar), der dem Kunden im Warenkorb und an der Kasse als Bezeichnung der Rabattzeile angezeigt wird – z. B. "Sommer-Rabatt" statt eines internen, technischen Regelnamens. Bleibt das Feld leer, verwendet Magento ersatzweise den <strong>Rule Name</strong> aus der Rule Information.</p> <h3>Kostenloser Versand als eigene Aktion</h3> <p>Unabhängig von der eigentlichen Rabattart (<strong>Apply</strong>/<strong>Discount Amount</strong>) legt das Feld <strong>Free Shipping</strong> im Tab Actions fest, ob die Regel zusätzlich Versandkostenfreiheit gewährt: "No", "For matching items only" (nur für die Artikel, die die Bedingungen erfüllen) oder "For shipment with matching items" (die gesamte Lieferung wird versandkostenfrei, sobald mindestens ein passender Artikel im Warenkorb liegt). So lässt sich z. B. "10% Rabatt + kostenloser Versand ab 80€" in einer einzigen Regel abbilden.</p> <h3>Format automatisch generierter Codes</h3> <p>Beim Generieren mehrerer Coupons (siehe <strong>Coupon Qty</strong>) steuern zusätzliche Felder das Aussehen der erzeugten Codes: <strong>Code Length</strong> (Zeichenanzahl), <strong>Code Format</strong> (Alphanumeric, Alphabetical oder Numeric), <strong>Code Prefix</strong>/<strong>Code Suffix</strong> (z. B. ein fester Präfix wie "SOMMER-") sowie <strong>Dash Every X Characters</strong> für eine automatische Bindestrich-Gruppierung (z. B. "AB12-CD34"). Das erleichtert die spätere Zuordnung, welche Codes zu welcher Kampagne gehören.</p> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/managecoupon6kategorie.png}}" alt="CouponQty" /> </div>
Weiterlesen

Katalog-Preisregeln (Catalog Price Rules)

Preisreduzierungen, die direkt im Produktkatalog angezeigt werden, ganz ohne Gutscheincode.

Anders als Cart Price Rules wirken Katalog-Preisregeln (Marketing > Catalog Price Rules > Add New Rule) bereits direkt auf der Produktliste und der Produktdetailseite – der reduzierte Preis (meist mit durchgestrichenem Originalpreis) ist sofort sichtbar, ganz ohne dass der Kunde etwas eingeben oder in den Warenkorb legen muss.

Typische Einsatzzwecke

  • Dauerhafte oder zeitlich begrenzte Rabatte auf ganze Kategorien (z. B. "10% auf alle Sommerartikel").
  • Automatische Sonderpreise für bestimmte Kundengruppen (z. B. Großhandelspreise, ohne dass ein zweites Preisfeld am Produkt gepflegt werden muss).
  • Saisonale Aktionen mit festem Start- und Enddatum, ohne dass Sie jedes Produkt einzeln bearbeiten müssen.

Aufbau der Regel

Der Aufbau ähnelt den Cart Price Rules: Im Tab Conditions legen Sie fest, für welche Produkte die Regel gilt (z. B. Kategorie, Attribut wie "Saison = Sommer", oder Preis-Bereich), im Tab Actions die Rabattart – Apply als "by Percentage", "by Fixed Amount" oder "to Percentage of the Original Price" sowie den Wert unter Discount Amount. Über Websites und Customer Groups in den Rule Information grenzen Sie zusätzlich ein, für wen und wo die Regel gilt.

Wichtig: Reindex nötig

Nach dem Speichern einer Katalog-Preisregel müssen die Preisindizes neu aufgebaut werden (System > Index Management, siehe Kapitel "Indexer verstehen", oder automatisch, je nach Indexer-Einstellung) – erst danach sind die neuen Preise tatsächlich im Shop sichtbar. Das ist der häufigste Grund, warum eine frisch angelegte Aktion scheinbar "nicht funktioniert".

Rule Information: Aktivierungsstatus und Priorität

Wie bei Cart Price Rules steuert Active, ob die Regel überhaupt berücksichtigt wird, und From/To den Gültigkeitszeitraum. Gelten für dasselbe Produkt mehrere Katalog-Preisregeln gleichzeitig, entscheidet Priority über die Reihenfolge der Anwendung – ein kleinerer Zahlenwert wird zuerst angewendet. Das ist wichtig, wenn sich z. B. eine kategorieweite Rabattregel mit einer produktspezifischen Sonderregel überschneidet.

Anwendung per Cron statt sofort

Anders als man erwarten könnte, wirkt eine gespeicherte Katalog-Preisregel nicht sofort im Shop. Magento wendet Katalog-Preisregeln über einen geplanten Cronjob an (Standard: einmal täglich in der Nacht), erst danach sind die reduzierten Preise sichtbar. Wer eine Aktion pünktlich zu einem bestimmten Zeitpunkt starten will, klickt in der Regel-Übersicht (Marketing > Catalog Price Rules) auf den Button Apply Rules, um die Anwendung sofort manuell anzustoßen, statt auf den nächsten Cron-Lauf zu warten.

Zusammenspiel mit Sonderpreisen und Cart Price Rules

Katalog-Preisregeln wirken auf einer anderen Ebene als das produkteigene Feld Special Price (im Produktformular unter "Advanced Pricing") – beide reduzieren zwar den angezeigten Preis, sind aber technisch unabhängig und können sich überschneiden bzw. gegenseitig überschreiben, was in der Praxis zu verwirrenden Preisanzeigen führen kann. Cart Price Rules setzen dagegen immer auf dem bereits durch Katalog-Preisregeln reduzierten Preis auf – beide Regelarten lassen sich also kombinieren (z. B. 10% Katalograbatt auf eine Kategorie plus ein zusätzlicher Gutscheincode im Warenkorb).

Weiterlesen

Newsletter verwalten

<div class="prose prose-hyva max-w-none"><p>Newsletter-Anmeldungen verwalten, Abonnenten exportieren und die Grundeinstellungen für den Versand.</p><p>Newsletter-Abonnenten finden Sie unter <em>Marketing &gt; Newsletter Subscribers</em>. Die Liste zeigt Status (Subscribed/Unsubscribed/Unconfirmed/Not Active) und Anmeldedatum jedes Kontakts – exportierbar als CSV z. B. für ein externes E-Mail-Marketing-Tool. Über die Massenaktion <strong>Delete</strong> lassen sich mehrere Einträge gleichzeitig entfernen, etwa nach einer DSGVO-Löschanfrage.</p> <h3>Grundeinstellungen</h3> <p>Unter <em>Stores &gt; Configuration &gt; Customers &gt; Newsletter</em> stellen Sie u. a. ein:</p> <ul> <li><strong>Allow Guest Subscription:</strong> ob sich auch Gäste ohne Kundenkonto anmelden können.</li> <li><strong>Need to Confirm:</strong> Double-Opt-in aktivieren – rechtlich in der EU praktisch verpflichtend (Bestätigungs-E-Mail mit Bestätigungslink nach Anmeldung, bevor der Kontakt tatsächlich als "Subscribed" zählt).</li> <li><strong>Success Email Sender/Template</strong> und <strong>Unsubscribe Email Sender/Template</strong>: welche E-Mails nach erfolgreicher An- bzw. Abmeldung verschickt werden.</li> </ul> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/subscription6kategorie.png}}" alt="Grundeinstellungen" /> <h3>Grenzen der nativen Funktion</h3> <p>Magento selbst bietet vor allem die Anmeldeverwaltung, keinen vollwertigen Newsletter-Editor oder komfortablen Kampagnenversand. Das native Feature unter <em>Marketing &gt; Newsletter Templates</em> (Vorlagen erstellen) und <em>Newsletter Queue</em> (Versand einplanen) ist funktional vorhanden, aber sehr rudimentär – kein Drag&amp;Drop-Editor, keine A/B-Tests, keine automatisierten Trigger-Kampagnen (z. B. Warenkorbabbruch-Erinnerung).</p> <h3>In der Praxis</h3> <p>Für professionelle Kampagnen wird die Abonnentenliste daher meist in ein spezialisiertes Tool wie Klaviyo, Mailchimp oder Brevo exportiert bzw. per API-Schnittstelle laufend synchronisiert – diese Tools bringen eigene Editoren, Automatisierungen und Auswertungen mit, die weit über die Magento-Bordmittel hinausgehen.</p> <h3>Newsletter-Vorlage erstellen</h3> <p>Unter <em>Marketing &gt; Newsletter Templates &gt; Add New Template</em> legen Sie eine Vorlage an: <strong>Template Name</strong> (interne Bezeichnung), <strong>Template Subject</strong> (Betreffzeile), <strong>Sender Name</strong>/<strong>Sender Email</strong> (Absenderidentität) sowie <strong>Template Content</strong> für den eigentlichen HTML-Inhalt, in dem sich Magento-Variablen wie <code>{{customer.email}}</code> einsetzen lassen. Über <strong>Preview Template</strong> lässt sich das Ergebnis vor dem Versand kontrollieren.</p> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/templates6kategorie.png}}" alt="Newsletter-Vorlage" /> <h3>Versand über die Newsletter Queue planen</h3> <p>Eine fertige Vorlage wird über den Button <strong>Queue Newsletter</strong> in eine Versand-Warteschlange (<em>Marketing &gt; Newsletter Queue</em>) übernommen, dort legen Sie <strong>Start Time</strong> sowie die betroffenen <strong>Stores</strong> fest. Der tatsächliche Versand erfolgt jedoch nicht sofort, sondern über den Cronjob <code>newsletter_send_all</code> – läuft der Cron nicht regelmäßig, bleibt eine geplante Queue trotz erreichtem Startzeitpunkt auf Status "Not Sent" hängen.</p> <h3>Absenderidentität konfigurieren</h3> <p>Die in Newsletter-Vorlagen wählbaren Absender-Identitäten stammen aus <em>Stores &gt; Configuration &gt; General &gt; Store Email Addresses</em> (Felder wie <strong>Sender Name</strong>/<strong>Sender Email</strong> für "General Contact", "Sales Representative" usw.) – dieselbe Konfigurationsstelle, die auch für Bestellbestätigungen und andere System-E-Mails genutzt wird. Eine eigene, glaubwürdige Absenderadresse mit korrekt eingerichtetem SPF/DKIM verringert das Risiko, im Spam-Ordner zu landen.</p> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/general6kategorie.png}}" alt="Absenderidentitätkonfigurieren" /> <h3>Fehlerauswertung: Newsletter Problems Report</h3> <p>Unter <em>Reports &gt; Newsletter &gt; Newsletter Problems Reports</em> listet Magento fehlgeschlagene Zustellungen samt E-Mail-Adresse und Fehlermeldung des jeweiligen Versandversuchs auf. Das hilft, dauerhaft unzustellbare Adressen (Bounces) zu identifizieren und bei Bedarf aus der Abonnentenliste zu entfernen, statt bei jedem Versand erneut denselben Fehler zu produzieren.</p></div>
Weiterlesen

SEO-Einstellungen im Marketing-Bereich

<div class="prose prose-hyva max-w-none"><p>URL-Struktur, Meta-Tags und Sitemap-Einstellungen, die Magento standardmäßig im Backend mitbringt.</p><p>Die grundlegenden SEO-Einstellungen finden Sie unter <em>Stores &gt; Configuration &gt; Catalog &gt; Catalog &gt; Search Engine Optimization</em>:</p> <ul> <li><strong>Use Web Server Rewrites:</strong> sollte auf "Yes" stehen, damit lesbare URLs wie <em>/kategorie/produkt.html</em> statt technischer Parameter-URLs (<em>catalog/product/view/id/123</em>) verwendet werden – essenziell für SEO und Nutzerfreundlichkeit gleichermaßen.</li> <li><strong>Product/Category URL Suffix:</strong> die Dateiendung der URLs (meist ".html").</li> <li><strong>Generate "category/product" URL Rewrite Key based on:</strong> ob URL-Keys manuell oder automatisch aus dem Namen generiert werden.</li> <li><strong>Redirect to CMS Page for URL with slash in the end:</strong> Verhalten bei URLs mit abschließendem Schrägstrich.</li> </ul> <h3>Meta-Tags pro Produkt/Kategorie/CMS-Seite</h3> <p>Meta Title, Meta Description und Meta Keywords pflegen Sie direkt im jeweiligen Produkt-, Kategorie- oder CMS-Seiten-Formular unter dem Tab "Search Engine Optimization" bzw. "Content" – es gibt in Magento Open Source keine zentrale Stelle, an der sich alle Meta-Tags auf einmal bearbeiten lassen (dafür bieten sich SEO-Erweiterungen mit Meta-Templates an, die Muster wie "{{name}} kaufen | Mein Shop" automatisch auf viele Produkte gleichzeitig anwenden, statt jedes einzeln pflegen zu müssen).</p> <h3>301-Weiterleitungen</h3> <p>Ändert sich ein URL-Key (z. B. weil ein Produktname überarbeitet wurde), legt Magento automatisch eine 301-Weiterleitung von der alten auf die neue URL an (steuerbar über die Checkbox <strong>Create Permanent Redirect for old URL</strong> im jeweiligen Formular) – wichtig, um bereits verlinkte oder indexierte URLs nicht als 404 zu verlieren.</p> <h3>Robots-Meta-Tag</h3> <p>Unter <em>Stores &gt; Configuration &gt; Design &gt; Search Engine Robots</em> steuern Sie die globale robots.txt sowie den Standard-Wert für das Robots-Meta-Tag (Index/Noindex, Follow/Nofollow) – auf Produkt-, Kategorie- und CMS-Seiten-Ebene individuell überschreibbar.</p> <h3>XML-Sitemap</h3> <p>Unter <em>Marketing &gt; SEO &amp; Search &gt; Site Map</em> erstellen Sie eine XML-Sitemap, die Suchmaschinen den vollständigen Seitenbaum mitteilt – wichtig, damit neue Produkte und Kategorien zuverlässig gecrawlt werden. Über <strong>Add Sitemap</strong> legen Sie Dateiname und Speicherpfad fest; unter dem Tab <strong>Generation Settings</strong> lässt sich ein automatischer, wiederkehrender Cronjob für die Generierung einrichten, statt die Sitemap manuell neu erzeugen zu müssen. Was davon tatsächlich aufgenommen wird, ist ein eigenes, ausführlicheres Thema – siehe das nächste Kapitel.</p> <h3>Canonical-Tags aktivieren</h3> <p>Im selben Konfigurationsbereich (<em>Stores &gt; Configuration &gt; Catalog &gt; Catalog &gt; Search Engine Optimization</em>) befinden sich zwei oft übersehene Schalter: <strong>Use Canonical Link Meta Tag For Categories</strong> und <strong>Use Canonical Link Meta Tag For Products</strong>. Beide sollten auf "Yes" stehen – sie sorgen dafür, dass Magento bei gefilterten Kategorieansichten (Ebenennavigation) und bei Produkten, die in mehreren Kategorien verlinkt sind, jeweils eine eindeutige "Haupt-URL" als kanonisch an Suchmaschinen meldet und so Duplicate-Content-Probleme vermeidet.</p> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/searchengine6kategorie.png}}" alt="Canonical-Tags" /> <h3>Manuelle URL-Weiterleitungen pflegen</h3> <p>Über <em>Marketing &gt; SEO &amp; Search &gt; URL Rewrites &gt; Add URL Rewrite</em> lassen sich auch Weiterleitungen anlegen, die Magento nicht automatisch erzeugt – etwa für alte URLs aus einem früheren Shopsystem oder für Marketing-Landingpages. Wichtige Felder: <strong>Request Path</strong> (die aufgerufene alte URL), <strong>Target Path</strong> (das Ziel) und <strong>Redirect Type</strong> ("No" = interner Rewrite ohne sichtbare Weiterleitung, "Temporary (302)" oder "Permanent (301)").</p> <h3>Suchbegriffe der Kunden auswerten</h3> <p>Unter <em>Marketing &gt; SEO &amp; Search &gt; Search Terms</em> zeigt Magento, wonach Kunden in der eigenen Shopsuche tatsächlich gesucht haben, inklusive der Spalte <strong>Num Results</strong> (Trefferanzahl). Suchbegriffe mit null Treffern sind ein direkter Hinweis auf fehlende Produkte, falsche Synonyme oder ein sinnvolles Ziel für eine zusätzliche Kategorie- bzw. CMS-Seite.</p></div>
Weiterlesen

Google XML Sitemap: Was wird aufgenommen?

<div class="prose prose-hyva max-w-none"><p>Welche Inhalte automatisch in die generierte Sitemap wandern, welche nicht, und wie eigene Modul-Inhalte wie unser Tutorial-Bereich nachträglich ergänzt werden können.</p><p>Magento bringt von Haus aus genau vier "Anbieter" mit, die zusammen den Inhalt jeder generierten <em>sitemap.xml</em> bestimmen: die Store-Root-URL selbst, Kategorien, Produkte und CMS-Seiten. Jeder Anbieter ist eine eigene PHP-Klasse (ein sogenannter "Item Provider"), die bei jeder Generierung gefragt wird: "welche URLs sollen für diesen Store in die Sitemap?" Alles, was nicht zu diesen vier Typen gehört – etwa ein komplett eigenes Modul wie unser Tutorial-Bereich – ist für Magento unsichtbar, bis jemand einen eigenen Anbieter dafür programmiert.</p> <h3>Kategorien: alles oder nichts</h3> <p>Alle Kategorien mit Status <strong>Enable Category = Yes</strong> landen automatisch in der Sitemap – es gibt in Magento KEINEN Einzel-Schalter "diese eine Kategorie aus der Sitemap ausschließen". Auch <strong>Include in Menu = No</strong> (Kategorie aus der Navigation ausblenden) hat keinerlei Einfluss auf die Sitemap-Aufnahme – beide Einstellungen sind komplett unabhängig voneinander. Wollen Sie eine bestimmte Kategorie wirklich aus der Sitemap fernhalten, bleibt praktisch nur <strong>Enable Category = No</strong> (dann ist sie aber auch im Shop selbst nicht mehr erreichbar) oder eine gezielte Ausnahme in der <code>robots.txt</code>.</p> <h3>Produkte: sichtbar UND aktiviert</h3> <p>Produkte werden nach zwei Kriterien gefiltert: <strong>Enable Product = Yes</strong> (Status) UND <strong>Visibility</strong> ungleich "Not Visible Individually" (also "Catalog", "Search" oder "Catalog, Search"). Ein deaktiviertes Produkt taucht nie auf; ein aktiviertes, aber auf "Not Visible Individually" gesetztes Produkt (z. B. eine einzelne Variante eines konfigurierbaren Produkts) ebenfalls nicht – nur das übergeordnete, sichtbare Hauptprodukt wird gelistet. Auch hier gibt es kein eigenes "In Sitemap aufnehmen"-Häkchen am Produkt selbst.</p> <h3>CMS-Seiten</h3> <p>Aktive CMS-Seiten (<strong>Enable Page = Yes</strong>) werden automatisch aufgenommen – dieselbe Alles-oder-nichts-Logik wie bei Kategorien.</p> <h3>Priorität und Änderungshäufigkeit einstellen</h3> <p>Unter <em>Stores &gt; Configuration &gt; Catalog &gt; XML Sitemap</em> stellen Sie für Kategorien, Produkte und CMS-Seiten JEWEILS getrennt <strong>Frequency</strong> (wie oft sich der Inhalt üblicherweise ändert – reine Empfehlung an Suchmaschinen, keine technische Garantie) und <strong>Priority</strong> (0.0 bis 1.0, relative Wichtigkeit innerhalb Ihrer eigenen Sitemap) ein. Im selben Bereich steuert <strong>Product Images Include Policy</strong>, ob und welche Produktbilder als zusätzliche <code>&lt;image&gt;</code>-Einträge mit in die Sitemap wandern.</p> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/priorit_t6kategorie.png}}" alt="PrioritätundÄnderungshäufigkeit" /> <h3>Was NICHT automatisch aufgenommen wird</h3> <p>Jeder Inhalt, der über ein eigenes Modul läuft und keine Kategorie, kein Produkt und keine CMS-Seite ist, bleibt unsichtbar für die Sitemap – bis ein eigener Item Provider dafür registriert wird. Zwei konkrete Beispiele aus diesem Projekt:</p> <ul> <li><strong>Magefan Blog:</strong> bringt seinen eigenen Item Provider bereits mit (registriert über dessen eigene <code>di.xml</code>) – Blogartikel und die Blog-Übersicht erscheinen deshalb bereits automatisch in der Sitemap, ohne dass wir dafür etwas bauen mussten.</li> <li><strong>Unser Tutorial-Bereich (Mironsoft_Tutorial):</strong> Serien und Kapitel unter <em>/tutorial/...</em> sind eine komplett eigene Datenstruktur (eigene Datenbanktabellen, eigener Router) – bis vor Kurzem fehlten sie deshalb komplett in der Sitemap. Wir haben das nachgerüstet: eine neue Klasse (<code>Mironsoft\Tutorial\Model\Sitemap\TutorialItemProvider</code>) meldet sich über die <code>di.xml</code> zusätzlich bei Magentos Sitemap-Mechanismus an und liefert bei jeder Generierung alle aktiven Serien- und Kapitel-URLs pro Store mit. Für Sie als Redakteur bedeutet das: Jede neue Tutorial-Serie und jedes neue Kapitel erscheint automatisch beim nächsten Sitemap-Lauf in der Sitemap – ganz ohne manuellen Zusatzschritt.</li> </ul> <h3>Sitemap bei Google einreichen</h3> <p>Die generierte Sitemap allein reicht nicht – Google muss sie kennen. In der <strong>Google Search Console</strong> (kostenloses Google-Konto vorausgesetzt, Property für die Domain anlegen und verifizieren) unter <em>Sitemaps</em> die URL Ihrer Sitemap-Datei eintragen (z. B. <code>https://ihredomain.de/sitemap_de.xml</code>). Google crawlt sie danach regelmäßig selbstständig – ein erneutes manuelles Einreichen bei jeder Sitemap-Aktualisierung ist NICHT nötig.</p> <p><strong>Praxis-Tipp:</strong> Prüfen Sie nach größeren Content-Ergänzungen (wie einer neuen Handbuch- oder Tutorial-Serie) in der Search Console unter <em>Sitemaps</em>, ob die "entdeckten URLs"-Zahl sich wie erwartet erhöht hat – ein Ausbleiben deutet meist auf einen noch nicht gelaufenen Generierungs-Cronjob oder einen Fehler im zuständigen Item Provider hin.</p> <h3>Automatischer Eintrag in die robots.txt</h3> <p>Unter <em>Stores &gt; Configuration &gt; Catalog &gt; XML Sitemap &gt; Search Engine Submission Settings</em> schaltet <strong>Enable Submission to Robots.txt</strong> auf "Yes" eine automatische <code>Sitemap:</code>-Zeile in der robots.txt frei, sobald die Sitemap generiert wurde. Das hilft nicht nur Google (dort ohnehin über Search Console angemeldet), sondern auch anderen Suchmaschinen wie Bing, die Sitemaps primär über die robots.txt entdecken.</p> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/searchenginesubmissions6kategorie.png}}" alt="AutomatischerEintrag" /> <h3>Geplante Generierung überwachen</h3> <p>Im Tab <strong>Generation Settings</strong> der jeweiligen Sitemap legen Sie <strong>Enabled</strong>, <strong>Start Time</strong> und <strong>Frequency</strong> (Daily/Weekly/Monthly) für die automatische Neuerzeugung per Cronjob fest. Zusätzlich lassen sich <strong>Error Email Recipient</strong>, <strong>Error Email Sender</strong> und <strong>Error Email Template</strong> hinterlegen – schlägt die Generierung fehl, erhalten Sie eine Benachrichtigung, statt es erst Wochen später an veralteten Sitemap-Inhalten zu bemerken.</p> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/generationsettings6kategorie.png}}" alt="GeplanteGenerierung" /> <h3>Getrennte Sitemaps je Store View/Sprache</h3> <p>Über <strong>Add Sitemap</strong> legen Sie pro Store View eine eigene Datei an (z. B. <code>sitemap_de.xml</code> für die deutsche und <code>sitemap_en.xml</code> für die englische Store View) – jede enthält dann ausschließlich die URLs der jeweiligen Sprachversion. Das ist bei mehrsprachigen Shops wichtig, damit Suchmaschinen die korrekten, sprachspezifischen URLs crawlen und nicht versehentlich URLs eines anderen Store Views in der falschen Sitemap landen.</p> <h3>Größenlimits und automatische Aufteilung</h3> <p>Die Felder <strong>Maximum No of URLs Per File</strong> und <strong>Maximum File Size</strong> (ebenfalls unter der XML-Sitemap-Konfiguration) begrenzen, wie viele URLs bzw. wie viel Datenvolumen eine einzelne Sitemap-Datei enthalten darf – gemäß dem offiziellen Sitemap-Protokoll maximal 50.000 URLs bzw. 50 MB pro Datei. Überschreitet Ihr Shop diese Grenzen, teilt Magento die Sitemap automatisch in mehrere Dateien auf und erzeugt zusätzlich eine übergeordnete Sitemap-Index-Datei, die auf alle Teildateien verweist – ohne dass Sie selbst etwas dafür tun müssen.</p> <img loading="lazy" src="{{media url=wysiwyg/handbuch/1kapitel/sitemapfile6kategorie.png}}" alt="Größenlimits" /> </div>
Weiterlesen