Preusmjeravanja novog redovnog izraza domena (regularni izraz) u WordPressu
Posljednjih nekoliko tjedana pomažemo klijentu da izvrši složenu migraciju s WordPressom. Klijent je imao dva proizvoda, koji su obojica postali popularni do te mjere da su morali podijeliti tvrtke, brendiranje i sadržaj na zasebne domene. To je pravi poduhvat!
Njihova postojeća domena ostaje na snazi, ali nova domena će imati sav sadržaj u vezi s tim proizvodom ... od slika, postova, studija slučaja, preuzimanja, obrazaca, baze znanja itd. Napravili smo reviziju i indeksirali stranicu kako bismo bili sigurni da nećemo ne propušta niti jedan element.
Jednom kada smo postavili i pokrenuli novu lokaciju, došlo je vrijeme da se prekidač stavi u pogon. To je značilo da su svi URL-ovi s primarne web lokacije koji su pripadali ovom proizvodu morali biti preusmjereni na novu domenu. Održavali smo dosljednost većine staza između web lokacija, tako da je ključ bio odgovarajuće postavljanje preusmjeravanja.
Preusmjeravanje dodataka u WordPressu
Dostupna su dva popularna dodatka koji sjajno rade upravljanje preusmjeravanjima pomoću WordPressa:
- preusmjeravanje - možda najbolji dodatak na tržištu, sa mogućnostima regularnog izražavanja, pa čak i kategorijama za upravljanje vašim preusmjeravanjima.
- Rankmath SEO - ovaj lagani dodatak za SEO udahnuo je svjež zrak i čini moju listu Najbolji WordPress dodaci na tržištu. Ima preusmjeravanja kao dio svoje ponude, a čak će uvoziti i podatke preusmjeravanja ako migrirate na nju.
Ako koristite Managed WordPress Hosting engine poput WPEngine, oni imaju modul za obradu preusmjeravanja prije nego što osoba ikad poseti vašu stranicu ... prilično lijepa značajka koja može smanjiti kašnjenje i troškove na vašem hostingu.
I, naravno, možete napišite pravila za preusmjeravanje u svoju .htaccess datoteku na vašem WordPress serveru ... ali ne bih to preporučio. Do vas je samo jedna sintaksna greška zbog čega vaša web lokacija neće biti dostupna!
Kako stvoriti regex preusmjeravanje
U primjeru koji navedem gore može se činiti jednostavnim samo izvršiti tipično preusmjeravanje iz podmape na novu domenu i podmapu:
Source: /product-a/
Destination: https://newdomain.com/product-a/
Međutim, postoji problem s tim. Što ako imate distribuirane veze i kampanje koje imaju niz upita za praćenje kampanje ili preporuke? Te stranice neće pravilno preusmjeriti. Možda je URL:
https://existingdomain.com/product-a/?utm_source=newsletter
Budući da ste napisali točno podudaranje, taj URL neće nigdje preusmjeriti! Dakle, možda ćete doći u iskušenje da to učinite regularnim izrazom i dodate zamjenski znak URL-u:
Source: /product-a/(.*)
Destination: https://newdomain.com/product-a/
To je prilično dobro, ali još uvijek postoji nekoliko problema. Prvo, podudarat će se s bilo kojim URL-om / product-a / u njemu i preusmjerite ih sve na isto odredište. Tako će se sve ove staze preusmjeriti na isto odredište.
https://existingdomain.com/product-a/
https://existingdomain.com/help/product-a/
https://existingdomain.com/category/parent/product-a/
Regularni izrazi su ipak prelijep alat. Prvo možete ažurirati izvor kako biste osigurali identifikaciju nivoa mape.
Source: ^/product-a/(.*)
Destination: https://newdomain.com/product-a/
To će osigurati da će samo primarna razina mape pravilno preusmjeriti. A sada za drugi problem ... kako ćete dobiti informacije o nizu upita snimljene na novoj web lokaciji ako ih vaše preusmjeravanje ne uključuje? Pa, regularni izrazi imaju izvrsno rješenje i za to:
Source: ^/product-a/(.*)
Destination: https://newdomain.com/product-a/$1
Zamjenski podaci se zapravo snimaju i dodaju odredištu pomoću varijable. Pa ...
https://existingdomain.com/product-a/?utm_source=newsletter
Pravilno će preusmjeriti na:
https://newdomain.com/product-a/?utm_source=newsletter
Imajte na umu da će zamjenski znak omogućiti i preusmjeravanje bilo koje podmape, pa će i ovo biti omogućeno:
https://existingdomain.com/product-a/features/?utm_source=newsletter
Preusmjerit će na:
https://newdomain.com/product-a/features/?utm_source=newsletter
Naravno, regularni izrazi mogu postati mnogo složeniji od ovog ... ali samo sam htio pružiti brzi uzorak kako postaviti preusmjeravanje zamjenskog regularnog izraza koji sve čisti na novu domenu!