Wie lösche und regeneriere ich URL-Umschreibungen in Magento 2?


23

Ich habe vor kurzem 2 zusätzliche Store-Ansichten im Magento 2 Store erstellt. Jetzt ist die URL der Kategorie und der Produkte nicht für diese Läden geeignet

ZB: http://example.com/catalog/category/view/s/pouches/id/20/ , vermutlich http://example.com/accessories/pouches.html

Wenn ich nun jedes Produkt und jede Kategorie einzeln speichere, wird die URL für dieses Produkt oder diese Kategorie neu geschrieben.

Aber es gibt viele Produkte und Kategorien.

Gibt es also eine Möglichkeit, das URL-Neuschreiben neu zu generieren?

Wie in Magento 1.x kann dies über die Neuindizierung erfolgen.


In Magento 2 verwendet das URL-Umschreibemodul den Indexer nicht zum Erstellen von Umschreibungen. Rewrite wird beim Speichern / Importieren von Produkt- / Kategorien- / CMS-Seiten generiert. Möglicherweise müssen Sie die Kategorien programmgesteuert laden und speichern
mp196

Kannst du mir einen Verweis vorschlagen, um ein Skript dafür zu erstellen?
Arun Karnawat

Sie müssen erneut indizieren.
Vaibhav Jain

Ich habe bereits versucht zu indizieren. Es gibt keinen URL Rewrite Index in Magento 2. Es hat also nicht funktioniert. Ich habe jetzt wieder neu indiziert, es funktioniert nicht
Arun Karnawat

1
Wählen Sie für Produkte, die Sie versuchen, alle aus dem Raster aus, und wählen Sie Aktualisierungsattribute aus, und wählen Sie auf der Registerkarte Websites die Website aus (obwohl Produkte bereits derselben Website zugewiesen sind). Dadurch wird das Produkt erneut gespeichert und die URL wird möglicherweise neu geschrieben.
mp196

Antworten:


16

Dieses Modul ist veraltet. Sie können stattdessen dieses Modul verwenden

Mit Composer herunterladen;

composer benötigen elgentos / regenerate-catalog-urls

PHP bin / Magento Setup: Upgrade

Regenerieren Sie die URL für alle Produkte und den globalen Shop

PHP bin / Magento regenerieren: Produkt

Regenerieren Sie die URL für Produkte mit der ID (1, 2, 3, 4) für Geschäft 1

PHP bin / Magento regenerieren: Produkt: URL -s1 1 2 3 4


Dieses Modul ist fehlerhaft, kann aber in einigen Fällen trotzdem helfen.
Gediminas

Ja, und es ist hilfreich, diese Methoden zu verwenden, um das Umschreiben der Produkt-URL auszulösen.
Hauptentwickler

1
Funktioniert derzeit nicht in 2.1.9 ...
Spyrule

@Spyrule Ich bin am 2.1.9 und habe Probleme erlebt. Nachdem ich mein Problem gemeldet hatte, verwies mich jemand auf diese noch nicht genehmigte Pull-Anfrage: github.com/Iazel/magento2-regenurl/pull/21/commits/…
David Wilkinson,

@Gerdiminas über welche Bugs weißt du Bescheid?
Harri

19

Sie können die Option "URL-Umschreibungserweiterung neu generieren" verwenden (mit dieser Option können Sie eine URL-Umschreibung von Produkten und Kategorien neu generieren).

So generieren Sie alle URL-Umschreibungen der Kategorien / Produkte in allen Geschäften neu (es werden mehrere Widerstände unterstützt):

$> bin/magento ok:urlrewrites:regenerate

So generieren Sie URL-Änderungen in der jeweiligen Geschäftsansicht neu (z. B .: Geschäftsansichts-ID ist "2"):

$> bin/magento ok:urlrewrites:regenerate 2

1
Diese Erweiterung funktioniert perfekt für mich. Danke für deine Verlängerung.
Mapaladiya

es funktioniert sehr gut! Danke!
LucScu

Löscht dies die alten Umschreibungen?
Matthew McLennan

1
Funktioniert es noch? Für mich nicht.
Kirby

1
@OlegKoval Ich habe Version 1.3.1 installiert, aber es funktioniert bei mir immer noch nicht. Was steckt dahinter?
Chintan Kaneriya

3

Versuchen Sie als Antwort auf die Aktualisierung von @mahendra Jella diesen Zweig derselben Erweiterung: https://github.com/PascalBrouwers/magento2-regenurl/tree/feature/generate_category

Dieser kann auch URLs für Kategorien neu generieren .

Der Befehl lautet wie folgt:

php bin/magento iazel:regenurl
# Regenrate Category URL keys >
php bin/magento iazel:regenerate_urls

Diese Erweiterung hat in 2.1.9 für mich wunderbar funktioniert. Erleichtert das Identifizieren doppelter URL-Produkte anhand der ID (obwohl ein geringfügiges Update zum Auflisten der SKU hilfreich wäre).
Spyrule

Diese Erweiterung funktioniert bei mir nicht. Magento 2.2.9
jruzafa

3

Es gibt tatsächlich eine einfache Möglichkeit, dies ohne großen Aufwand zu beheben. Für die TL: DR-Leute sind die fettgedruckten Teile relevant.

Eine Sache, die Sie zuerst überprüfen sollten; Wenn Sie mehrere Geschäftsansichten haben, rufen Sie das Produkt auf und schalten Sie die Ansicht auf eine bestimmte Ansicht um. Scrollen Sie nach unten und vergewissern Sie sich, dass der URL-Schlüssel auf "Use Default Value" eingestellt ist. Wenn dies nicht aktiviert ist, wird es niemals generiert. Ich denke, das kann passieren, wenn Sie M1-Produkte importieren. Ich hatte mehr als 200 Produkte, die nachgearbeitet werden mussten.

Dieses Update hilft auch, wenn Sie den Trick ausführen, bei dem Sie Ihren Speicher auf einen anderen Stamm und zurück umstellen, wodurch alles bereinigt wird. Einschließlich Ihrer benutzerdefinierten. Und es kann mit nichts als den Kategorie-URLs enden. Ich bin mir nicht sicher, warum die URL-Generierung für Produkte vollständig fehlschlägt, aber ich glaube, Magento versucht, in einem Vorgang zu viele Links zu erstellen, was fehlschlägt.

Also probieren Sie es aus. Öffnen Sie das URL-Umschreibefenster und notieren Sie die Anzahl der Einträge. Dies lässt Sie wissen, ob es funktioniert.

Wechseln Sie in eine Kategorie der ersten Ebene (standardmäßig funktioniert dies nicht, da sie keinen URL-Schlüssel hat). Scrollen Sie nach unten zu Search Engine Optimization / URL-Key. Fügen Sie dem Ende des Schlüssels ein X hinzu. Deaktivieren Sie das Kontrollkästchen "Permanente Umleitung für alte URL erstellen", um den Vorgang zu verlängern. Speichern Sie Ihre Kategorie.

Wiederholen Sie den Vorgang und entfernen Sie das X. Deaktivieren Sie erneut die Option "Permanente Umleitung für alte URL erstellen", da diese alten URLs die Tabelle nicht verstopfen müssen. Speichern Sie erneut.

Aktualisieren Sie die URL-Umschreibeseite und Sie sollten eine neue Nummer und glänzende neue URLs sehen.

Wiederholen Sie diesen Vorgang nach Bedarf.

Zu Ihrer Information, wirklich große Kategorien können eine Zeitüberschreitung haben. Führen Sie in diesen Fällen die kleineren Unterkategorien selbst aus. Auf meinem Server liegt dieser Schwellenwert bei ungefähr 400 Einträgen.

Magento ist intelligent genug, um die Links für die Kategorie über Ihren Unterkategorien zu erstellen. Es ist auch klug genug, dass es, wenn es ein Produkt in einer anderen Kategorie sieht, auch die Links dafür erstellt.

Ich habe eine Weile gebraucht, um herauszufinden, warum immer weniger Links hinzugefügt wurden, als ich die Kategorieliste durchgesehen habe. Das lag daran, dass die meisten Produkte bereits auf dem Tisch waren und nur die Nachzügler, die zuvor noch nicht erschienen waren, übrig blieben.


0

Ich hatte dieses Problem bei Produkten und behebte es, indem ich mithilfe der Massenaktualisierungsfunktion alle Produkte aus dem Geschäft entfernte und sie dann erneut hinzufügte. Ich hatte nicht sehr viele Kategorien, also ging ich einfach hinein und speicherte sie neu.

Insgesamt denke ich, dass es wahrscheinlich am besten ist, die alte Taktik zu vermeiden, die wir in Magento 1 angewendet haben. Wenn Ihre Produktänderungen falsch aussehen, tun Sie einfach das, was ich oben gepostet habe, und das sollte sie korrigieren.



0

Ich hatte auch dieses Problem, ich verwende Magento 1.9.2.4, Magento bietet keine Methode, um benutzerdefinierte URLs neu zu generieren. Also, was ich getan habe, ist wenig vom Tisch, und es hat das Problem gelöst, ich habe nie versucht, Magento-URL-Rewrite-Erweiterung, also kann ich nicht sagen, wie sie funktionieren.

Hinweis: Vielleicht sollten Sie dies nicht in Betracht ziehen, wenn Sie zu viele benutzerdefinierte URLs umschreiben.

Magento generiert seine Standardumleitungen neu. Wenn also ein benutzerdefiniertes Umschreiben ein Problem verursacht, können Sie die Tabelle core_url_rewrite aus Ihrer Magento-Datenbank abschneiden.

Bildbeschreibung hier eingeben

Stellen Sie sicher, dass Sie eine Sicherungskopie der Datenbank erstellen, bevor Sie dies tun.


Das ist der springende Punkt im Gegensatz zu Magento 1, Magento 2 hat keinen Index, um URL neu zu generieren. Frage ist über Magento 2.1
Arun Karnawat

0

Leider hat keine dieser Erweiterungen / Module für mich funktioniert. Ich habe ungefähr 4000 Produkte und wechsele von Magento 1.9.2.4 zu 2.2.2. Ich habe das Datenmigrations-Tool verwendet und es hat wie ein Zauber funktioniert, abgesehen von diesem Problem.

Einige meiner Produkte haben URL-Schlüssel, andere nicht. Ich habe nur einen Laden, der frustrierend ist. Es sieht so aus, als würde Magento den Administrator als Geschäft betrachten.

Das einzige, was für mich funktioniert hat, war das Importieren der Produkte mit der Option "Ersetzen". Und für SEO-Zwecke möchte ich die URL meiner Produkte nicht ändern, auch nicht, wenn ich nur eine Nummer nachher hinzufüge.

Ich werde versuchen, die URL-Änderungen nur für Produkte zu löschen.


0

Ich bin auf ein ähnliches Problem gestoßen. In Magento 1 war es möglich, die URL-Umschreibtabelle abzuschneiden und neu zu indizieren. Magento 2 verfügt nicht über einen Indexer zum Umschreiben von URLs, daher ist dies keine Option.

Viele schlagen die Iazel-Erweiterung vor. Ich ging mit der Erweiterung von Olgeg Koval , und es hat wunderbar funktioniert. Unter Magento 2.2 wurden alle vorhandenen URL-Änderungen gelöscht und für alle Store-Ansichten neu generiert. Null Probleme.


0

Alles, was Sie tun müssen, um Überschreibungen neu zu generieren, ist eine Überschreibung zu initiieren. Gehen Sie zu einer Kategorie oder einem Produkt und ändern Sie deren URL im SEO-Bereich des Produkts / der Kategorie, indem Sie ein "a-" voranstellen. Beispielsweise:

Url = "Produktname" New Url = "a-Produktname"

Dadurch wird das Neuschreiben ausgelöst und alle anderen Neuschreibungen werden wiederholt.


Dies funktioniert nur, wenn Sie einige Änderungen vorgenommen haben. Bei mehr als 100 Produkten, die unter der alten URL gespeichert sind, ist dies keine praktikable Lösung.
Jacques
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.