Redirecționarea noii expresii regulate de domeniu (Regex) în WordPress

Regex - Expresii regulate

În ultimele câteva săptămâni, am ajutat un client să facă o migrare complexă cu WordPress. Clientul a avut două produse, ambele devenind populare până la punctul în care a trebuit să împartă afacerile, brandingul și conținutul în domenii separate. Este destul de important!

Domeniul lor existent rămâne pus, dar noul domeniu va avea tot conținutul cu privire la acel produs ... din imagini, postări, studii de caz, descărcări, formulare, bază de cunoștințe etc. Am făcut un audit și am accesat cu crawlere site-ul pentru a ne asigura că nu vom Nu pierde un singur activ.

Odată ce noul site a fost pus în funcțiune, a sosit momentul să apăsăm comutatorul și să-l punem în funcțiune. Aceasta a însemnat că orice adresă URL de pe site-ul principal care aparținea acestui produs trebuia redirecționat către noul domeniu. Am păstrat cele mai multe căi consistente între site-uri, astfel încât cheia a fost configurarea redirecționărilor în mod corespunzător.

Redirecționați pluginuri în WordPress

Există două pluginuri populare disponibile care fac o treabă excelentă în gestionarea redirecționărilor cu WordPress:

  • Redirectionarea - poate cel mai bun plugin de pe piață, cu capacități de exprimare regulată și chiar categorii pentru gestionarea redirecționărilor.
  • Rankmath SEO - acest plugin SEO ușor este o gură de aer proaspăt și face lista mea Cele mai bune pluginuri WordPress la magazin. Are redirecționări ca parte a ofertei sale și va importa chiar datele de redirecționare dacă migrați către aceasta.

Dacă utilizați un motor de găzduire WordPress gestionat, cum ar fi WPEngine, au un modul pentru a gestiona redirecționările înainte ca persoana să ajungă vreodată pe site-ul dvs. ... o caracteristică destul de drăguță care poate reduce latența și cheltuielile generale ale găzduirii dvs.

Și, desigur, puteți scrie reguli de redirecționare în fișierul .htaccess pe serverul dvs. WordPress ... dar nu l-aș recomanda. Sunteți la o singură eroare de sintaxă pentru a face site-ul dvs. inaccesibil!

Cum să creați o redirecționare Regex

În exemplul oferit mai sus, poate părea simplu să faci o redirecționare tipică dintr-un subfolder către noul domeniu și subfolder:

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

Totuși, există o problemă cu asta. Ce se întâmplă dacă ați distribuit linkuri și campanii care au un șir de interogare pentru urmărirea campaniei sau recomandări? Aceste pagini nu vor fi redirecționate corect. Poate că adresa URL este:

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

Deoarece ați scris o potrivire exactă, acea adresă URL nu va redirecționa nicăieri! Așadar, s-ar putea să fiți tentați să o faceți o expresie obișnuită și să adăugați un wildcard la adresa URL:

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

Este destul de bine, dar există încă câteva probleme. Mai întâi, se va potrivi cu orice adresă URL / produs-a / în ea și redirecționează-le pe toate către aceeași destinație. Deci, toate aceste căi vor fi redirecționate către aceeași destinație.

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

Expresiile regulate sunt totuși un instrument frumos. În primul rând, vă puteți actualiza sursa pentru a vă asigura că nivelul folderului este identificat.

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

Acest lucru va asigura că numai nivelul folderului principal va fi redirecționat corect. Acum, pentru a doua problemă ... cum veți obține informațiile despre șirul de întrebări capturate pe noul site dacă redirecționarea dvs. nu le include? Ei bine, expresiile regulate au o soluție excelentă și pentru asta:

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

Informațiile wildcard sunt de fapt capturate și adăugate destinația utilizând variabila. Asa de…

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

Se va redirecționa în mod corespunzător către:

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

Rețineți că metacaracterul va permite redirecționarea oricărui subfolder, deci acest lucru va fi și activat:

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

Se va redirecționa către:

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

Desigur, expresiile obișnuite pot deveni mult mai complexe decât asta ... dar am vrut doar să vă ofer un eșantion rapid despre cum să configurați o redirecționare regex wildcard care trece totul în mod curat către un domeniu nou!

Ce părere ai?

Acest site folosește Akismet pentru a reduce spamul. Aflați cum sunt procesate datele despre comentarii.