Новое регулярное выражение домена (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

Конечно, регулярные выражения могут быть намного сложнее, чем это ... но я просто хотел предоставить быстрый пример того, как настроить переадресацию регулярного выражения с подстановочными знаками, которая передает все чисто в новый домен!

2 комментариев

  1. 1

    «Источник: ^/product-a/(.*) Назначение: https://newdomain.com/product-a/$1регулярное выражение было невероятно полезным. Большое спасибо за публикацию этого, так как это сэкономило мне много времени.

Как вы думаете?

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются ваши данные комментариев.