Regex-Weiterleitungen (New Domain Regular Expression) in WordPress

Regex - Reguläre Ausdrücke

In den letzten Wochen haben wir einem Kunden geholfen, eine komplexe Migration mit WordPress durchzuführen. Der Kunde hatte zwei Produkte, die beide so populär geworden sind, dass sie das Geschäft, das Branding und den Inhalt auf separate Domains aufteilen mussten. Es ist ein ziemliches Unterfangen!

Die vorhandene Domain bleibt erhalten, aber die neue Domain enthält alle Inhalte in Bezug auf dieses Produkt… aus Bildern, Posts, Fallstudien, Downloads, Formularen, Wissensdatenbanken usw. Wir haben eine Prüfung durchgeführt und die Site gecrawlt, um sicherzustellen, dass dies nicht der Fall ist Verpassen Sie keinen einzigen Vermögenswert.

Sobald wir den neuen Standort eingerichtet und betriebsbereit hatten, war es an der Zeit, den Schalter zu betätigen und in Betrieb zu nehmen. Das bedeutete, dass alle URLs von der primären Site, die zu diesem Produkt gehörten, auf die neue Domain umgeleitet werden mussten. Wir haben die meisten Pfade zwischen den Sites konsistent gehalten, daher war es wichtig, die Weiterleitungen entsprechend einzurichten.

Plugins in WordPress umleiten

Es gibt zwei beliebte Plugins, mit denen Sie Weiterleitungen mit WordPress hervorragend verwalten können:

  • Redirection - Vielleicht das beste Plugin auf dem Markt, mit Funktionen für reguläre Ausdrücke und sogar Kategorien für die Verwaltung Ihrer Weiterleitungen.
  • Rankmath-SEO - Dieses leichte SEO-Plugin ist ein Hauch frischer Luft und macht meine Liste von Beste WordPress Plugins auf dem Markt. Es hat Weiterleitungen als Teil seines Angebots und importiert sogar Umleitungsdaten, wenn Sie darauf migrieren.

Wenn Sie eine Managed WordPress Hosting Engine wie verwenden WPEngineSie verfügen über ein Modul, mit dem Weiterleitungen verarbeitet werden können, bevor die Person jemals auf Ihre Website gelangt. Eine hübsche Funktion, mit der sich die Latenz und der Overhead Ihres Hostings verringern lassen.

Und natürlich können Sie Schreiben Sie Umleitungsregeln in Ihre .htaccess-Datei auf Ihrem WordPress-Server ... aber ich würde es nicht empfehlen. Sie sind nur einen Syntaxfehler davon entfernt, Ihre Site unzugänglich zu machen!

So erstellen Sie eine Regex-Umleitung

In dem Beispiel, das ich oben angegeben habe, scheint es einfach zu sein, nur eine typische Umleitung von einem Unterordner zu der neuen Domäne und dem neuen Unterordner durchzuführen:

Source: /product-a/
Destination: https://newdomain.com/product-a/

Es gibt jedoch ein Problem damit. Was ist, wenn Sie Links und Kampagnen verteilt haben, die einen Querystring für Kampagnenverfolgung oder Verweise enthalten? Diese Seiten werden nicht richtig umgeleitet. Vielleicht lautet die URL:

https://existingdomain.com/product-a/?utm_source=newsletter

Da Sie eine genaue Übereinstimmung geschrieben haben, wird diese URL nirgendwo umgeleitet! Sie könnten also versucht sein, einen regulären Ausdruck daraus zu machen und der URL einen Platzhalter hinzuzufügen:

Source: /product-a/(.*)
Destination: https://newdomain.com/product-a/

Das ist ziemlich gut, aber es gibt immer noch ein paar Probleme. Erstens wird es mit jeder URL übereinstimmen / product-a / darin und leiten Sie sie alle zum gleichen Ziel um. Alle diese Pfade werden also zum selben Ziel umgeleitet.

https://existingdomain.com/product-a/
https://existingdomain.com/help/product-a/
https://existingdomain.com/category/parent/product-a/

Reguläre Ausdrücke sind jedoch ein schönes Werkzeug. Zunächst können Sie Ihre Quelle aktualisieren, um sicherzustellen, dass die Ordnerebene identifiziert wird.

Source: ^/product-a/(.*)
Destination: https://newdomain.com/product-a/

Dadurch wird sichergestellt, dass nur die primäre Ordnerebene ordnungsgemäß umgeleitet wird. Nun zum zweiten Problem… wie erhalten Sie die auf der neuen Site erfassten Querystring-Informationen, wenn Ihre Weiterleitung diese nicht enthält? Nun, reguläre Ausdrücke haben auch dafür eine großartige Lösung:

Source: ^/product-a/(.*)
Destination: https://newdomain.com/product-a/$1

Die Platzhalterinformationen werden tatsächlich erfasst und mithilfe der Variablen an das Ziel angehängt. Damit…

https://existingdomain.com/product-a/?utm_source=newsletter

Leitet ordnungsgemäß weiter zu:

https://newdomain.com/product-a/?utm_source=newsletter

Beachten Sie, dass mit dem Platzhalter auch jeder Umordner umgeleitet werden kann. Dies wird also auch aktiviert:

https://existingdomain.com/product-a/features/?utm_source=newsletter

Leitet weiter zu:

https://newdomain.com/product-a/features/?utm_source=newsletter

Natürlich können reguläre Ausdrücke weitaus komplexer werden… aber ich wollte nur ein kurzes Beispiel dafür geben, wie eine Wildcard-Regex-Umleitung eingerichtet wird, die alles sauber an eine neue Domain weitergibt!

Was denken Sie?

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.