Eine SEO-Audit eines Onlineshops unterscheidet sich grundlegend von der eines Blogs. Der Katalog bringt Variablen ins Spiel, die eine redaktionelle Website nicht kennt: Produktvarianten, facettierte Filter, wechselnder Lagerbestand und Sortierparameter, die Tausende von URLs erzeugen. Wenn mich jemand fragt, wo er anfangen soll, ist meine Antwort deshalb immer dieselbe: Öffne nicht die Search Console, um dir Diagramme anzusehen. Richte zuerst eine reproduzierbare Umgebung ein, die es dir erlaubt, ohne Störgeräusche zu messen. Dieser Artikel beschreibt genau diese Reihenfolge, in der man sie am besten abarbeitet.
Schritt 0: Bereite die Umgebung vor, bevor du den Shop anfasst
Bevor du irgendetwas auditierst, brauchst du drei Dinge. Wenn du sie überspringst, triffst du am Ende Entscheidungen auf Basis verunreinigter Daten.
1. Ein Referenz-Crawl mit Googlebot-User-Agent
Konfiguriere Screaming Frog (oder das Tool, das du verwendest) mit dem User-Agent von Googlebot Smartphone und aktiviere das JavaScript-Rendering. In einem E-Commerce-Shop mit Lazy Loading von Bildern und per AJAX geladenen Preisen liefert dir ein Crawl ohne Rendering leere Templates und falsche Duplikate. Das ist der häufigste Fehler, den ich sehe: Man auditiert mit dem Standard-Desktop-Crawl und kommt zu dem Schluss, es gebe doppelten Content, wo in Wahrheit nur unvollständig gerendert wurde.
2. Getrennte Properties in der Search Console
Halte eine Domain-Property und eine URL-Präfix-Property mit der kanonischen Version. Vergleiche beide. Wenn die Daten stark voneinander abweichen, hast du ein Problem mit Weiterleitungen oder mit Parametern, die du nicht unter Kontrolle hast.
3. Export der Server-Logs
Bitte das Infrastruktur-Team um mindestens 15 Tage Logs mit IP, User-Agent, angeforderter URL und Statuscode. Ohne diese kannst du nicht wissen, was Google tatsächlich crawlt – nur, was dein Tool zu crawlen glaubt.
Schritt 1: Friere die Indexierbarkeit ein und dokumentiere den Ausgangszustand
Bevor du Canonicals änderst oder noindex hinzufügst, speichere eine Momentaufnahme des aktuellen Zustands: Anzahl der indexierten URLs, eingereichte Sitemap, robots.txt und Meta-Direktiven der wichtigsten Templates (Kategorie, Produkt, Filter).
Ein Detail, das man nur durch Praxis lernt: In PrestaShop und in einigen WooCommerce-Konfigurationen mit Filter-Plugins blockiert die robots.txt /*?orderby=, aber die internen Links zeigen weiterhin auf diese URLs. Das Ergebnis: Google kann die Seite nicht crawlen, entdeckt aber den Link und sammelt Signale auf einer blockierten URL. Prüfe immer die Kohärenz zwischen dem, was blockiert, und dem, was verlinkt wird.
Schritt 2: Kartiere die tatsächliche Architektur des Katalogs
Nicht die, die du entworfen hast, sondern die, die existiert. Exportiere alle gecrawlten URLs und klassifiziere sie in vier Kategorien:
- Kanonische Produkte
- Navigierbare Kategorien
- Facetten und Parameter
- System-URLs (Warenkorb, Checkout, Konto, interne Suche)
Zähle, wie viele es von jedem Typ gibt. In mittelgroßen Shops stellt man häufig fest, dass die Facetten zahlenmäßig die Produkte übertreffen. Dort liegt der größte Teil des Crawl-Budgets.
Praktische Entscheidung zu Facetten
Es gibt keine universelle Regel. Facetten mit echtem Suchvolumen (zum Beispiel Kombinationen aus Farbe und Größe in der Mode) verdienen es, als Landingpage indexiert zu werden. Diejenigen, die nur der Navigation dienen, sollten zugänglich, aber nicht indexierbar sein. Was nicht funktioniert: massenhaft noindex auf alle Facetten anzuwenden und dann festzustellen, dass einige davon Long-Tail-Traffic brachten. Prüfe die Search Console, bevor du entscheidest, indem du nach URLs mit Parametern und Suchanfragen mit Impressionen filterst.
Schritt 3: Konfiguriere Canonicals, Paginierung und Varianten
Dies ist der Punkt, an dem die meisten Shops an Stärke verlieren. Drei konkrete Konfigurationen:
Produktvarianten
Wenn jede Größe oder Farbe eine eigene URL mit nahezu identischem Inhalt erzeugt, wähle eine kanonische. In Shopify erzeugen die Standardvarianten keine eigenständige URL, aber viele Themes generieren sie mit Parametern; in Magento ist es durchaus üblich, URLs pro Variante zu haben. Entscheide, ob die Variante eine eigene Seite verdient (weil sie eigene Nachfrage hat) oder ob sie auf das übergeordnete Produkt zeigen sollte.
Paginierung
Seite 2 einer Kategorie sollte indexierbar und selbstkanonisch sein. Kanonisiere sie nicht auf Seite 1: Du verlierst das Crawling der Produkte, die nur dort erscheinen. Und blockiere sie nicht in der robots.txt, denn dann sieht Google die Links auf dieser Seite nicht.
Sortierung und Ansicht
Sortierparameter (?orderby=price, ?view=grid) sollten per Canonical auf die saubere Kategorie-URL zeigen. Verifiziere, dass der interne Link sie nicht weitergibt.
Schritt 4: Strukturierte Produktdaten, mit Nuancen
Die Implementierung von Schema Product und Offer ist Pflicht, wenn du Rich Results willst, aber hier sollte man ehrlich über die Einschränkungen sein. Laut der offiziellen Google-Dokumentation garantieren strukturierte Daten nicht das Erscheinen von Verbesserungen in den Suchergebnissen; sie sind eine notwendige, aber keine hinreichende Bedingung.
Fehler, die immer wieder auftauchen:
- availability nicht mit dem tatsächlichen Lagerbestand synchronisiert. Ein Produkt, das als InStock markiert ist, aber tatsächlich ausverkauft ist, führt zu Abstrafungen bei den Verbesserungen und zu Verwirrung beim Nutzer.
- price ohne Währung oder im lokalen Format (19,99 € statt 19.99 mit priceCurrency: EUR).
- Erfundene oder von einem Lieferanten importierte aggregierte Bewertungen. Google verlangt, dass sie echte Bewertungen der Website widerspiegeln.
Wenn dein Shop Tausende von Artikeln hat und das ERP die Preise stündlich aktualisiert, ist die Synchronisierung des Schemas ein Entwicklungsprojekt, keine Template-Anpassung. Plane es als solches.
Schritt 5: Messe die Performance mit Felddaten, nicht mit Labordaten
Core Web Vitals im E-Commerce haben ein strukturelles Problem: die durch Bilder und Drittanbieter-Skripte schweren Produkt-Templates. Lighthouse liefert dir eine Laboraufnahme; was zählt, sind die Felddaten in der Search Console, Bereich „Nutzererfahrung”.
Prüfe zuerst, welche Templates die Probleme konzentrieren. In vielen Shops besteht die Startseite die Schwellenwerte, und es sind die Produktdetailseiten mit vielen Bildern, die beim LCP versagen. Die Startseite zu optimieren, bewegt nichts. Priorisiere nach Template und nach Traffic.
Wichtige Nuance: Wenn dein Katalog Preis und Verfügbarkeit über JavaScript von Drittanbietern ändert (Recommendation-Engines, Chat, Payment-Gateways), kann das INP beeinträchtigt werden und liegt nicht immer in deiner direkten Kontrolle. Dokumentiere, welche Skripte verzichtbar sind und welche nicht, bevor du irgendetwas entfernst.
Prüfe, wie viele Klicks Googlebot braucht, um von der Startseite zu einem Produkt zu gelangen. In tiefen Katalogen können Produkte auf Seite 5 einer Kategorie vier oder fünf Klicks entfernt sein. Füge Blöcke interner Links hinzu (verwandte Produkte, Schwesterkategorien, Highlights), die diese Distanz verkürzen.
Und prüfe das Menü: Links zu Facetten aus dem Hauptmenü sind ein starkes Indexierungssignal. Wenn du nicht willst, dass eine Facette indexiert wird, setze sie nicht ins Menü.
Schritt 7: Kategorie-Content und Thin Content
Kategorien mit nur einer Produktliste konkurrieren schlecht. Beschreibenden Text hinzuzufügen hilft, aber nicht irgendein Text. Vom Hersteller kopierte generische Beschreibungen erzeugen Duplikate zwischen Shops. Branchenstudien zufolge erzielen E-Commerce-Shops, die eigenen Content in den Hauptkategorien pflegen, eine bessere organische Performance, wobei Korrelation keine Kausalität bedeutet und stark von der Nische abhängt.
Ein konkreter Fall, den ich oft antreffe: Kategorien mit Hunderten von Produkten, bei denen der Text am Ende eingefügt wird und in allen Unterkategorien identisch ist. Google erkennt das als internen doppelten Content. Lösung: differenzierter Content pro Unterkategorie, zumindest in denen mit Suchnachfrage.
Schritt 8: Dashboard und Verifikation
Schließe die Audit mit einem Panel ab, das du monatlich überprüfen kannst:
- Indexierte URLs vs. in der Sitemap eingereichte
- Verteilung der Statuscodes im Crawl
- Suchanfragen mit Impressionen, aber ohne Klicks (Chancen für Titel und Meta)
- Templates mit dem schlechtesten Feld-LCP
- Ausverkaufte Produkte und ihr Umgang (301, 410 oder mit Hinweis beibehalten)
Zu ausverkauften Produkten: Es gibt keine eindeutige Antwort. Wenn das Produkt zurückkehren wird, behalte die URL mit Hinweis und aktualisierter Verfügbarkeit. Wenn es endgültig ausgelistet ist, leite auf die Kategorie oder einen Ersatz weiter. Alles auf die Startseite weiterzuleiten, ist eine Praxis, die Signale verwässert und den Nutzer verwirrt.
Was diese Audit nicht löst
Transparenz ist wichtig. Eine technische Audit behebt keinen Katalog ohne Nachfrage, ersetzt keine Preisstrategie und garantiert keine Positionen. Sie kann auch keine mangelhafte Einkaufserfahrung kompensieren: Wenn der Checkout auf dem Smartphone versagt, konvertiert der organische Traffic nicht. Und es gibt praktische Grenzen: In Shops mit Tausenden von SKUs und einem Legacy-ERP kann die perfekte Synchronisierung strukturierter Daten Monate dauern, und es ist ratsam, die Artikel mit dem meisten Traffic zu priorisieren, statt 100 % Abdeckung anzustreben.
Die Audit ist die Diagnose. Die Umsetzung in Phasen, mit Metriken pro Template, ist das, was Ergebnisse bewegt.