Wie viele URLs umgeleitet werden?

Ich habe einen benutzerdefinierten Post-Typ namens ‘Collections’ mit der folgenden Struktur:

http://example.com/collections/artwork-name/

Jetzt hat dieser Collections CPT 4 Kategorien, die ich wie folgt zum Permalink hinzugefügt habe

http://example.com/collection/paintings/artwork-name/

http://example.com/collection/sculptures/artwork-name/

http://example.com/collection/drawings-watercolours/artwork-name/

http://example.com/collection/past-sales/artwork-name/

Aus SEO-Gründen muss ich die alten URLs auf die neue URL redirect. Das Problem, mit dem ich konfrontiert bin, ist, dass, da die URLs jetzt 4 verschiedene Kombinationen haben, ich eine Möglichkeit finden muss, die alten URLs mit den neuen zu vergleichen, indem ich ihre Basiskategorie erkenne (jede URL hat nur eine Kategorie).

Ich habe versucht, die aktuelle URL zu bekommen und zu sehen, ob der String-Teil / Sammlung / und welche Kategorie es gehört, aber ohne Glück enthält.

Ein anderer Weg, der meiner Meinung nach funktionieren könnte, ist, den letzten Teil der URLs nach / collections / (alt) und / collections / (neu) abzugleichen und dann zu prüfen, welche Kategorie er hat.

Ich würde es mit htaccess manuell machen, aber ich habe mehr als 500 URLs.

Wie würdest du dieses Problem lösen?

Solutions Collecting From Web of "Wie viele URLs umgeleitet werden?"

Am Ende des Tages werden Sie Dinge in Ihre .htaccess Datei .htaccess . Aber, könnte die Dinge über die folgende Methode beschleunigen …

Sie möchten mit zwei Listen aus der Tabelle wp_posts . Beide Listen haben die gleichen Felder / Spalten: Post ID; und URL veröffentlichen

Liste 1 – erstellt, ohne dass die Beiträge in Kategorien eingeteilt werden

Liste 2 – erstellt, nachdem Sie alle in Kategorien eingeordnet haben.

Da beide Listen die gleiche Post-ID-Spalte haben, können Sie sie zusammenführen:

 `Old URL | New URL` -------------|-------------- post1 old url| post 1 new url 

Dann können Sie eine Liste von .htaccess file in Ihre .htaccess file einfügen können. Sie könnten ein einfaches Skript schreiben, um jede Zeile in der obigen Liste in Folgendes umzuwandeln:

 Redirect 301 post1/old/url post1/new/url 

Es gibt eine unendliche Anzahl von Möglichkeiten, um jeden der obigen Schritte auszuführen, aber ich bin sicher, dass Sie in der Lage sein werden, einen herauszufinden. Wird grundlegende PHP- und MySQL-Abfragen sein. Vielleicht ist es möglich, die ersten beiden Listen direkt von phpmyadmin zu generieren und als CSV zu exportieren.