Нов редовен израз на домейн (Regex) Пренасочва в WordPress

Regex - регулярни изрази

През последните няколко седмици помагаме на клиент да извърши сложна миграция с WordPress. Клиентът имаше два продукта, и двата станаха популярни до такава степен, че трябваше да разделят бизнеса, марката и съдържанието на отделни домейни. Това е доста голямо начинание!

Съществуващият им домейн остава в сила, но новият домейн ще има цялото съдържание по отношение на този продукт ... от изображения, публикации, казуси, изтегляния, формуляри, база знания и др. Направихме одит и обходихме сайта, за да сме сигурни, че не искаме не пропускам нито един актив.

След като създадохме новия обект и заработи, настъпи времето да дръпнем превключвателя и да го пуснем на живо. Това означаваше, че всички URL адреси от основния сайт, принадлежащи на този продукт, трябва да бъдат пренасочени към новия домейн. Поддържахме последователност на повечето пътища между сайтовете, така че ключът беше настройването на пренасочванията по подходящ начин.

Пренасочващи плъгини в WordPress

Налични са два популярни приставки, които вършат чудесна работа по управление на пренасочванията с WordPress:

  • Пренасочване - може би най-добрият плъгин на пазара, с възможности за регулярно изразяване и дори категории за управление на вашите пренасочвания.
  • Rankmath SEO - този лек SEO плъгин е глътка свеж въздух и прави моя списък с Най-добрите плъгини за WordPress на пазара. Той има пренасочвания като част от предлагането си и дори ще импортира данните за пренасочване, ако мигрирате към него.

Ако използвате управляван WordPress хостинг механизъм като WPEngine, те имат модул за обработка на пренасочвания, преди човекът някога да посети вашия сайт ... доста хубава функция, която може да намали латентността и режийните разходи на вашия хостинг.

И, разбира се, можете напишете правила за пренасочване във вашия .htaccess файл на вашия WordPress сървър ... но не бих го препоръчал. Вие сте само на една синтаксична грешка, за да направите сайта си недостъпен!

Как да създадете пренасочване на Regex

В примера, който предоставя по-горе, може да изглежда просто да се направи типично пренасочване от подпапка към новия домейн и подпапка:

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

Има проблем с това обаче. Какво ще стане, ако имате разпределени връзки и кампании, които имат низ от заявки за проследяване на кампании или препратки? Тези страници няма да пренасочат правилно. Може би URL адресът е:

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

Тъй като сте написали точно съвпадение, този URL адрес няма да пренасочи никъде! Така че, може да се изкушите да го направите регулярен израз и да добавите заместващ символ към URL адреса:

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

Това е доста добре, но все още има няколко проблема. Първо, ще съответства на всеки URL адрес / продукт-а / в него и ги пренасочете всички към една и съща дестинация. Така че всички тези пътища ще пренасочат към една и съща дестинация.

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

Регулярните изрази обаче са красив инструмент. Първо, можете да актуализирате вашия източник, за да сте сигурни, че нивото на папката е идентифицирано.

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

Това ще гарантира, че само основното ниво на папка ще пренасочва правилно. Сега за втория проблем ... как ще получите информацията за низа на запитвания, заснета на новия сайт, ако вашето пренасочване не го включва? Е, регулярните изрази имат чудесно решение и за това:

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

Информацията за заместващи данни всъщност се улавя и добавя дестинацията с помощта на променливата. Така…

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

Правилно ще пренасочи към:

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

Имайте предвид, че заместващият знак ще позволи и всяка подпапка да бъде пренасочена, така че това също ще бъде активирано:

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

Ще пренасочи към:

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

Разбира се, регулярните изрази могат да станат далеч по-сложни от това ... но аз просто исках да предоставя бърза проба за това как да настроите пренасочване на подменен регекс, което прехвърля всичко чисто към нов домейн!

Какво мислите?

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните за коментарите ви.