Phase 1 – Technische Bereinigung
Shop-weite Analyse · pferde-gold.de · Stand: 02. April 2026
Überblick – Index-Gesundheit
Die Google Search Console meldet insgesamt 5.226 URLs mit Indexierungsproblemen. Nach Analyse aller 10 Kategorien zeigen sich 3 strukturelle Hauptprobleme, die den gesamten Shop betreffen – nicht nur das Magnesium-Cluster.
| Kategorie | URLs | Hauptdomain | Locale | Bewertung | Begründung |
|---|---|---|---|---|---|
| 404 – Nicht gefunden | 1.706 (841 exportiert) | 201 | 790 (80 %) | Kritisch | Jede 404 mit eingehenden Links vernichtet Ranking-Potenzial. 80 % stammen aus Locale-Varianten – Locale-Strategie ist Voraussetzung. |
| Durch noindex ausgeschlossen | 999 | 245 | 512 (67 %) | Prüfen | ~730 korrekt (Login, Bundles, Locales). Einzelfälle müssen geprüft werden – z. B. ob wichtige Produktseiten versehentlich noindex haben. |
| Gecrawlt, nicht indexiert | 986 | 614 | 372 (38 %) | Kritisch | 65 % sind Parameter-URLs (Awin, adb_cdt, _rdiscovery). Google crawlt sie, indexiert sie nicht – reines Crawl-Budget-Verschwendung. |
| Alternative mit Canonical | 792 | 586 | 206 | OK | 96 % sind Parameter-URLs mit korrekt gesetztem Canonical. Das System funktioniert hier – kein Handlungsbedarf. |
| Seite mit Weiterleitung | 637 | 282 | 336 (54 %) | Normal | Alte URLs leiten korrekt weiter. Viele sind Recommendation-Widget-Varianten. Kein akuter Handlungsbedarf, aber hohe Zahl belastet Crawl-Budget. |
| Duplikat – Google wählt andere Canonical | 609 | 2 | 607 (99 %) | Prüfen | Fast nur Locale-Varianten. Google erkennt die Hauptdomain als Canonical – ein Zeichen, dass hreflang fehlt oder defekt ist. |
| Duplikat – kein Canonical | 136 | 1 | 123 | Prüfen | 91 davon sind .atom-Feeds (RSS) ohne Canonical. Lösung: per robots.txt blockieren. |
| Gefunden, nicht indexiert | 76 | 27 | 44 | Unkritisch | Nur 76 URLs, fast alle Aktions-/Bundle-Seiten. Google hat sie gefunden, aber noch nicht gecrawlt – bei der geringen Zahl kein Problem. |
| Anderer 4xx-Fehler | 10 | 0 | 10 | OK | Nur Shopify-interne Endpoints (/cart/add, /search/suggest). Erwartetes Verhalten, kein Fehler. |
| Durch robots.txt blockiert | 10 | 4 | 6 | OK | Account, Checkout, Policies – korrekt blockiert. Einzig /policies/refund-policy (DE) könnte indexierbar sein. |
404-Fehler (1.706 gemeldet, 841 exportiert)
Verteilung nach URL-Typ (nur Hauptdomain, 201 URLs)
| Typ | Anzahl |
|---|---|
/products/ | ~59 unique Produkte |
/collections/ | 12 unique Collections |
/blogs/ | 5 unique Artikel |
/pages/ | diverse Landing Pages |
Verteilung nach Locale
| Locale | Anzahl |
|---|---|
| Hauptdomain | 201 |
| nl-nl | 239 |
| de-nl | 235 |
| en-nl | 224 |
| en-be | 48 |
| en-lu | 44 |
Muster-Analyse
Locale-Varianten
790 URLs (80 %)
Gelöschte Produkte erzeugen in allen 6 Locales 404s. Lösung abhängig von Locale-Strategie.
Recommendation-Widget
382 URLs
Das Shopify-Recommendations-Widget (_rdiscovery) erzeugt indexierbare Parameter-URLs, die auf gelöschte Produkte zeigen.
Doppelte Pfade
55 URLs
Template-Bug: /products/x/products/x – relative statt absolute Links im Theme.
Blog-404s (Hauptdomain) – relevant für weitere Cluster
/blogs/magazin/mangan-pferd→ braucht 301 auf neuen Artikel/blogs/magazin/selen-pferd→ braucht 301 auf neuen Artikel/blogs/magazin/zink-pferd→ braucht 301 auf neuen Artikel/blogs/magazin/mauke-beim-pferd→ prüfen ob Ersatz existiert
Abgelaufene Aktions-Collections (12 Stück)
aktion-birthdaysale-20-aboburstendeals-in-black-20deals-in-black-30deals-in-black-35deals-in-black-40jahresendspurt-20jahresendspurt-25mineral-launch-15muskeln-launchprobepackungenzusatzfutter-altes-pferd
/collections/all oder die passende aktive Collection. Alternativ: 410 Gone.
Parameter-URLs (~1.500 URLs über alle Kategorien)
3 Parameter-Quellen erzeugen hunderte zusätzliche URLs, die alle auf dieselbe Seite führen – nur mit unterschiedlichen Tracking-Anhängen. Google crawlt jede dieser URLs einzeln und verbraucht dabei Crawl-Budget, das für die eigentlichen Produkt- und Blog-Seiten fehlt. Das Ergebnis: Wichtige Seiten werden seltener gecrawlt, Änderungen an Produktseiten werden langsamer erkannt, und die Indexierung neuer Inhalte verzögert sich.
Awin Affiliate
~455 URLs
Parameter: awc=, aw_affid=. Jeder Affiliate-Klick erzeugt eine unique URL. Top-Betroffene: /products/gelenke (57), /products/stoffwechsel (22), /products/muskeln (21), /products/haut-und-fell (19).
Newsletter-Tracking
~293 URLs
Parameter: adb_cdt=. Session-IDs aus Klaviyo/Adobe Campaign. Top-Betroffene: /blogs/magazin/pferdebremsen (18), /blogs/magazin/muskelaufbau-beim-pferd (15), /blogs/magazin/wie-alt-werden-pferde (14).
Recommendations
~505 URLs
Parameter: _rdiscovery. Shopify-Recommendations-Widget generiert indexierbare URLs mit Widget-IDs. Betrifft fast alle Produktseiten.
Disallow: /*?awc=
Disallow: /*?adb_cdt
Disallow: /*_rdiscovery
Disallow: /*?_pos=
Disallow: /*?ref=
Disallow: /*.atom
Zusätzlich sollten Canonical-Tags auf allen Parameter-URLs die parameterfreie Basis-URL referenzieren. Shopify setzt dies standardmäßig, aber bei 986 URLs im Status »Gecrawlt, nicht indexiert« offenbar nicht zuverlässig.
Noindex-Analyse (999 URLs)
Von 999 URLs mit noindex-Tag sind ~730 korrekt ausgeschlossen (Login, Varianten, Locales, Bundles, Aktionen). Problematisch sind nur wenige Fälle.
Korrekt ausgeschlossene Kategorien
| Kategorie | Anzahl | Bewertung |
|---|---|---|
Login/Auth (services/login_with_shop) | 162 | Korrekt |
| Locale-Varianten | 512 | Korrekt |
| Bundle-/Rabatt-Produkte | ~43 | Korrekt |
| Discount-/Aktionsseiten | diverse | Korrekt |
| Search-/Feed-URLs | 6 | Korrekt |
/products/15-magnesium, /products/2er-magnesium-25) sind korrekt ausgeschlossene Rabatt-/Bundle-Aktionsseiten. Live-Prüfung per Playwright bestätigt.
Weitere Crawl-Probleme
5a: .atom-Feeds (91 URLs)
Shopify generiert für jede Collection automatisch einen .atom-Feed (RSS). Diese Feeds enthalten denselben Content wie die Collection-Seite selbst, aber in einem anderen Format. Google erkennt sie als Duplikate, weiß aber nicht, welche Version die richtige ist – das kann dazu führen, dass Google die falsche Version (den Feed statt der Seite) als Hauptversion wählt.
Disallow: /*.atom in robots.txt
5b: Title-Tag »Fill 1« (alle 271 Produktseiten)
<title>Fill 1</title>. Shopify überschreibt den Title per JavaScript. Wenn Googles Renderer das JS nicht ausführt, sieht Google nur »Fill 1«. Das ist ein Theme-Bug.
Empfehlung: Im Shopify-Theme den Title-Tag serverseitig (via Liquid) setzen, nicht per JavaScript. Der Fix liegt im Theme-Code: In der Datei theme.liquid (oder dem entsprechenden Layout-Template) muss der <title>-Tag den Shopify-Liquid-Tag {{ page_title }} direkt enthalten, statt per JS überschrieben zu werden. Das ist ein einmaliger Fix, der alle 271 Produktseiten gleichzeitig korrigiert.
5c: Locale-Duplikate (607 URLs)
Google wählt bei 607 von 609 Duplikat-URLs eine andere Canonical als vom Nutzer vorgegeben. Fast ausschließlich Locale-Varianten. Google erkennt, dass die Benelux-Versionen Duplikate der Hauptdomain sind.
5d: robots.txt-Lücken
Die Locale-Pfade für /cart/ und /search/suggest sind nicht in der robots.txt blockiert (nur die DE-Version). Ergänzen:
Disallow: /*/search/suggest
Maßnahmenplan
| # | Maßnahme | Priorität | Löst ~URLs | So wird es umgesetzt |
|---|---|---|---|---|
| 1 | Title-Tag »Fill 1« serverseitig fixen | SOFORT | 271 Seiten | Im Shopify-Theme die Datei theme.liquid öffnen und den <title>-Tag so ändern, dass er {{ page_title }} direkt enthält (statt per JavaScript). Ein einmaliger Fix, der alle 271 Produktseiten korrigiert. |
| 2 | Parameter-URLs in robots.txt blockieren | Woche 1 | ~1.500 | Shopify-Admin → Onlineshop → Einstellungen → Datei robots.txt bearbeiten. Die 7 Disallow-Regeln (siehe Abschnitt »Parameter-URLs«) einfügen. Ich liefere den exakten Text. |
| 3 | .atom-Feeds blockieren | Woche 1 | 91 | In derselben robots.txt-Bearbeitung (siehe #2): Disallow: /*.atom ergänzen. |
| 4 | robots.txt für Locale-Pfade ergänzen | Woche 1 | ~20 | In derselben robots.txt-Bearbeitung: Disallow: /*/cart/ und Disallow: /*/search/suggest ergänzen. |
| 5 | Blog-Redirects Zink, Selen, Mangan | Woche 1 | ~40 | Shopify-Admin → Onlineshop → Navigation → URL-Redirects. 3 Weiterleitungen anlegen: alter Pfad → neuer Pfad. Ich liefere die exakten URLs. |
| 6 | Abgelaufene Aktions-Collections redirecten | Woche 2 | ~50 | Gleicher Weg wie #5: Shopify-Admin → URL-Redirects. 12 alte Collection-URLs auf /collections/all oder passende aktive Collection weiterleiten. |
| 7 | Doppelte Pfade fixen (Template-Bug) | Woche 2 | 55 | Im Shopify-Theme nach relativen Links (href="products/...") suchen und durch absolute Links (href="/products/...") ersetzen. Betrifft vermutlich ein Recommendation- oder Related-Products-Snippet. |
| 8 | Locale-Strategie umsetzen | SOFORT | ~2.800 | Größter einzelner Hebel (80 % der 404s, 99 % der Duplikate). Abhängig von Rückmeldung: Falls Locales nicht genutzt werden → in Shopify-Admin → Einstellungen → Märkte die nicht aktiven Locales deaktivieren. Falls genutzt → hreflang-Tags korrekt konfigurieren. |