Dies ist ein klassisches Problem beim Umschreiben. Die Hauptursache sind keine eindeutigen URL-Schlüssel. In der Regel dadurch verursacht, dass einfache Produkte mit demselben Namen konfiguriert werden können.
Aus offensichtlichen Gründen muss ein Anforderungspfad (URL) mit einer Aktion in Magento übereinstimmen. Daher müssen alle Anforderungspfade eindeutig sein. Produkt- und Kategorie-URL-Pfade werden aus ihren URL-Schlüsseln erstellt. Wenn Sie über konfigurierbare Produkte verfügen, nehmen sich Ladenbesitzer / Backend-Mitarbeiter normalerweise nicht die Zeit, um sicherzustellen, dass die einfachen Produkte unter einem konfigurierbaren Produkt unterschiedliche URL-Schlüssel haben. Dadurch fügt Magento einen Bindestrich und eine Sequenznummer ein. Bei einem konfigurierbaren Produkt mit 4 Simples bedeutet dies, dass mindestens 4 URLs mit einer Sequenz pro Iteration hinzugefügt werden (da Magento nicht zwischen Läufen unterscheidet, bei denen bereits eine Sequenz erstellt wurde). Dies summiert sich schnell in einem großen Katalog.
Der wiederherzustellende Workflow lautet wie folgt:
- Stellen Sie sicher, dass alle URL-Schlüssel eindeutig sind, um Ihre Eingabe zu korrigieren, und führen Sie eine weitere Neuindizierung der Umschreibungen durch.
- Entfernen Sie alle übereinstimmenden Umschreibungen
WHERE id_path LIKE "%_%" AND options="RP" AND (catalog_id IS NOT NULL OR product_id IS NOT NULL) AND target_path NOT IN (temp_table)
.
WHERE id_path LIKE "%_%" AND options="RP" AND (catalog_id IS NOT NULL OR product_id IS NOT NULL)
Setzen Sie für die verbleibenden Übereinstimmungen beim Umschreiben den Anforderungspfad auf den Zielpfad und den Zielpfad auf den Anforderungspfad, der der Kombination aus Kategorie_ID-Produkt_ID entspricht und bei der die Optionen NULL sind.
- Installieren Sie diese Erweiterung und aktivieren Sie alle Optimierungen
- Reindex schreibt mindestens zweimal neu und überprüft, ob die Zeilenanzahl konsistent ist (sofern keine Änderungen an Produkten oder Kategorien vorgenommen wurden).
- Überwachen Sie die Webmaster-Tools und 404 auf zusätzliche veraltete URLs, die sich noch in Spider befinden und umgeleitet werden sollten. Implementieren Sie den 301 vorzugsweise in Ihrem Webserver, um ihn
core_url_rewrite
sauber zu halten .
Hinweise:
Dieses Skript hilft beim Erstellen eindeutiger URL-Schlüssel, indem Attributwerte iteriert und angehängt werden, bis ein eindeutiger Schlüssel generiert wird. Beachten Sie, dass dieses Skript keine Konflikte zwischen einer Kategorie und einem Produkt überprüft. In der Regel ist dies kein Problem, da Kategorien natürlich im Plural benannt werden. Wenn Sie jedoch beispielsweise Schafe oder Fische verkaufen, kann dies dennoch ein Problem sein. Ein weiterer Eckfall ist ein Konflikt zwischen Katalog-URLs und CMS-Seiten. Dieses Skript überprüft es nicht, wirkt sich jedoch auch nicht auf das Umschreiben aus, da die CMS-Seitenkennungen nicht vorhanden sind. Dies führt einfach dazu, dass entweder die CMS-Seite oder die Kategorie- / Produktseite dort angezeigt wird, wo einer den anderen erwarten würde.
Die erwähnte temp_table sollte mit URLs gefüllt sein, die in allen Sitemaps enthalten sind. Dies verringert einige der SEO-Auswirkungen, indem die aktuelle Variante von Bindestrich und Sequenznummer am Leben erhalten wird. In Schritt 3 wird diese dann auf die richtige URL umgeschrieben. Die Erweiterung in Schritt 4 verhindert, dass eine Reihe von URLs in die Tabelle core_url_rewrite eingegeben werden, insbesondere Produkte, die nicht auf die Sichtbarkeit "Katalog / Suche" eingestellt sind. Wenn Sie einfache Produkte haben, die Teil eines konfigurierbaren Produkts sind und nicht separat aufgeführt sind, sollten diese als "nicht einzeln sichtbar" gekennzeichnet sein. Diese Erweiterung verhindert dann, dass sie neu geschrieben werden. Dies ist eine wertvolle Optimierung für Geschäfte mit konfigurierbaren Produkten, unabhängig davon, ob sie dieses Problem beim Umschreiben von URLs haben. Wenn in Bezug auf Schritt 5 keine Änderungen an den URL-Schlüsseln der Produkte und Kategorien vorgenommen werden, dann muss jede Indexierung die gleiche Anzahl von Umschreibungen erzeugen. Wenn dies nicht der Fall ist, haben Sie immer noch irgendwo einen Konflikt und sollten ihn aufspüren.
Hoffe das klärt die Dinge ein bisschen.