Przekierowania wyrażenia regularnego nowej domeny (Regex) w WordPress

Regex - wyrażenia regularne

Od kilku tygodni pomagamy klientowi przeprowadzić złożoną migrację za pomocą WordPress. Klient miał dwa produkty, z których oba stały się popularne do tego stopnia, że ​​musiał podzielić biznes, branding i treść na oddzielne domeny. To niezłe przedsięwzięcie!

Ich istniejąca domena pozostanie na swoim miejscu, ale nowa domena będzie zawierała całą zawartość dotyczącą tego produktu… od obrazów, postów, studiów przypadków, pobrań, formularzy, bazy wiedzy itp. Zrobiliśmy audyt i przeszukaliśmy witrynę, aby upewnić się, że nie nie przegapisz żadnego zasobu.

Kiedy już mieliśmy nową lokalizację i działaliśmy, nadszedł czas, aby pociągnąć za przełącznik i uruchomić go. Oznaczało to, że wszystkie adresy URL z witryny głównej należącej do tego produktu musiały zostać przekierowane do nowej domeny. Większość ścieżek między witrynami była spójna, więc kluczem było odpowiednie skonfigurowanie przekierowań.

Wtyczki przekierowujące w WordPress

Dostępne są dwie popularne wtyczki, które świetnie radzą sobie z zarządzaniem przekierowaniami za pomocą WordPress:

  • przekierowanie - prawdopodobnie najlepsza wtyczka na rynku, z możliwościami wyrażeń regularnych, a nawet kategoriami do zarządzania przekierowaniami.
  • Ranking SEO - ta lekka wtyczka SEO to powiew świeżości i tworzy moją listę Najlepsze wtyczki WordPress w sklepie. Zawiera przekierowania jako część swojej oferty, a nawet zaimportuje dane przekierowania, jeśli przeprowadzisz do niego migrację.

Jeśli używasz zarządzanego silnika hostingowego WordPress, takiego jak WPEngine, mają moduł do obsługi przekierowań, zanim dana osoba kiedykolwiek wejdzie na twoją stronę… całkiem niezła funkcja, która może zmniejszyć opóźnienia i obciążenie hostingu.

Oczywiście możesz zapisz reguły przekierowań w swoim pliku .htaccess na serwerze WordPress… ale nie polecałbym tego. Tylko jeden błąd składni dzieli Cię od tego, by Twoja witryna była niedostępna!

Jak utworzyć przekierowanie Regex

W powyższym przykładzie może wydawać się proste wykonanie typowego przekierowania z podfolderu do nowej domeny i podfolderu:

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

Jest z tym jednak pewien problem. Co się stanie, jeśli rozprowadzasz linki i kampanie, które zawierają zapytania o śledzenie kampanii lub skierowania? Te strony nie będą poprawnie przekierowywać. Być może adres URL to:

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

Ponieważ wpisałeś dokładne dopasowanie, ten adres URL nie będzie nigdzie przekierowywał! Dlatego możesz ulec pokusie, aby uczynić to wyrażenie regularne i dodać symbol wieloznaczny do adresu URL:

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

To całkiem nieźle, ale wciąż jest kilka problemów. Najpierw dopasuje dowolny adres URL z / produkt-a / w nim i przekieruj ich wszystkich w to samo miejsce docelowe. Zatem wszystkie te ścieżki będą przekierowywać do tego samego miejsca docelowego.

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

Jednak wyrażenia regularne to piękne narzędzie. Po pierwsze, możesz zaktualizować źródło, aby upewnić się, że poziom folderu jest zidentyfikowany.

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

Zapewni to prawidłowe przekierowanie tylko na poziomie folderu podstawowego. Teraz przejdźmy do drugiego problemu… w jaki sposób uzyskasz informacje o zapytaniach przechwycone w nowej witrynie, jeśli przekierowanie ich nie zawiera? Cóż, wyrażenia regularne również mają na to świetne rozwiązanie:

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

Informacje wieloznaczne są w rzeczywistości przechwytywane i dołączane do miejsca docelowego za pomocą zmiennej. Więc…

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

Prawidłowo przekieruje do:

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

Pamiętaj, że symbol wieloznaczny umożliwi również przekierowanie dowolnego podfolderu, więc to również zostanie włączone:

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

Przekieruje do:

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

Oczywiście wyrażenia regularne mogą być znacznie bardziej skomplikowane… ale chciałem tylko przedstawić krótki przykład, jak skonfigurować przekierowanie wyrażenia regularnego z symbolem wieloznacznym, które przekazuje wszystko w sposób czysty do nowej domeny!

Komentarze 2

  1. 1

Co o tym myślisz?

Ta strona używa Akismet do redukcji spamu. Dowiedz się, jak przetwarzane są dane komentarza.