Нові регулярні вираження доменів (регулярні вирази) переспрямовують у 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 для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.