Новое регулярное выражение домена (Regex) перенаправляет в WordPress

Regex - регулярные выражения

В течение последних нескольких недель мы помогали клиенту выполнить сложную миграцию с помощью WordPress. У клиента было два продукта, оба из которых стали популярными до такой степени, что им пришлось разделить бизнес, брендинг и контент на отдельные домены. Это настоящее начинание!

Их существующий домен останется на месте, но новый домен будет содержать весь контент, связанный с этим продуктом… из изображений, сообщений, тематических исследований, загрузок, форм, базы знаний и т. Д. Мы провели аудит и сканировали сайт, чтобы убедиться, что мы не Не пропустите ни одного актива.

После того, как новый объект был создан и введен в эксплуатацию, пришло время нажать на переключатель и запустить его. Это означало, что любые URL-адреса с основного сайта, принадлежащие этому продукту, должны были быть перенаправлены на новый домен. Мы сохранили согласованность большинства путей между сайтами, поэтому ключевым моментом была правильная настройка перенаправления.

Плагины перенаправления в WordPress

Доступны два популярных плагина, которые отлично справляются с управлением редиректами с помощью WordPress:

  • Перенаправление - возможно, лучший плагин на рынке с возможностями регулярных выражений и даже категориями для управления перенаправлениями.
  • Rankmath SEO - этот легкий плагин для SEO - глоток свежего воздуха и входит в мой список Лучшие плагины WordPress в продаже. Он имеет перенаправления как часть своего предложения и даже будет импортировать данные перенаправления, если вы перейдете на него.

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

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

Как создать переадресацию регулярного выражения

В приведенном выше примере может показаться простым обычное перенаправление из подпапки в новый домен и подпапку:

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-адресу с / product-a / в нем и перенаправить их всех в одно место назначения. Таким образом, все эти пути будут перенаправлены в один и тот же пункт назначения.

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 для уменьшения количества спама. Узнайте, как обрабатываются ваши данные комментариев.