301 Redirect Benutzerdefinierte URL-Hierarchie zu WordPress Posts

Ich konvertiere eine benutzerdefinierte Website in eine WordPress-Website. Leider hat die benutzerdefinierte Site eine komplett andere URL-Struktur, für die wir 301 Redirects einrichten möchten. Die Website erhält mehr als 300.000 Besucher pro Monat, daher möchten wir den Verlust von Traffic minimieren – insbesondere die Artikel, die von den wichtigsten Nachrichtenseiten der Welt verlinkt sind.

Also, ein Beispiel für eine URL ist wie folgt:

.com/front/news/view.asp?cate=A06&subcate=D006&cNewsArti=201403402 

Es gibt insgesamt etwa 30 Kategorien (einschließlich Eltern und Kind), aber fast 11.000 Artikel.

Ich dachte, wir könnten die cNewsArti-Werte als “post_slug” verwenden, die einfach in WP importiert werden könnten. Dies würde jedoch im Rest der Zeichenfolge immer noch schwierig bleiben, da wir wahrscheinlich den folgenden WP-Permalink verwenden werden:

 /%category%/%postname%/ 

Meine Gedanken sind das würde produzieren: –

 .com/categoryname/subcatname/201403402 

Also, wie könnte ich den Rest der Weiterleitung machen? Wie Sie feststellen können, ist das Erstellen von benutzerdefinierten 301 für 11.000 Artikel wahrscheinlich nicht in der Gleichung enthalten.

Irgendwelche Ideen?

Danke im Voraus!

Edit: – Die Daten wurden bereits in die WordPress-database importiert, was alles gut funktioniert – wir haben alle Posts einer Reihe zufälliger Kategorien zugeordnet, um sicherzustellen, dass alles wie erwartet in WordPress funktioniert, keine Probleme gefunden.

Solutions Collecting From Web of "301 Redirect Benutzerdefinierte URL-Hierarchie zu WordPress Posts"

Eine Option besteht darin, URL-Rewrite-Regeln hinzuzufügen .

Erstellen Sie einen API-Endpunkt in WordPress ist ein gutes Tutorial sowie die Rewrite-API: Die Grundlagen .

Monkeyman Rewrite Analyzer ist eine großartige Möglichkeit, um zu testen, was Sie erstellt haben. Achten Sie darauf, Ihre Permalinks nach jeder Änderung zu löschen.

Dies ist auch ein gutes Beispiel, das den Endpunkt zum anderweitigen Umleiten verwendet.

Der größte Trick besteht darin, Ihre ID für jeden Post auf der alten Site in ein Formular zu bringen, das auf der neuen Site verwendet werden kann.

Anstatt die alten Daten in der neuen URL-Struktur zu verwenden, würde ich stattdessen den alten cNewsArti Wert in Post-Meta für jeden Post speichern, sodass Sie diese Posts um diesen Wert ansehen können.

Sie können dann init haken, prüfen, ob cNewsArti wird, und nach einem Post mit diesem übereinstimmenden Wert in Post-Metadaten cNewsArti . Wenn der Beitrag gefunden wurde, führe 301 zu seinem neuen Permalink um.

 function wpd209890_old_url_redirect(){ if( isset( $_GET['cNewsArti'] ) ){ $query = new WP_Query( array( 'meta_query' => array( array( 'key' => 'cNewsArti', 'value' => $_GET['cNewsArti'] ) ) ) ); if( isset( $query->post ) ){ wp_redirect( get_permalink( $query->post->ID ), 301 ); exit; } } } add_action( 'init', 'wpd209890_old_url_redirect' ); 

Ich mag die Vorschläge. Ich dachte jedoch über ein anderes Problem nach, was bedeutet, dass wir wahrscheinlich die cNewsArti-Werte als post_name-Wert verwenden müssen – die Site ist in koreanischer Sprache. Posten Sie Titel, Auszüge und Inhalte – alles Koreanisch. Daher glaube ich nicht, dass wir die koreanischen Artikeltitel für den Postnamen verwenden können – .com / 범주 / 하위 카테고리 / 포포트 – 름름 würde wahrscheinlich Probleme verursachen, richtig?