Nova preusmjeravanja redovnog izraza domena (Regex) u WordPressu

Regex - regularni izrazi

Posljednjih nekoliko tjedana pomažemo klijentu u složenoj migraciji s WordPressom. Klijent je imao dva proizvoda, koji su obojica postali popularni do te mjere da su morali razdvojiti tvrtke, brendiranje i sadržaj na zasebne domene. To je pothvat!

Njihova postojeća domena ostaje na mjestu, ali nova domena imat će sav sadržaj vezan uz taj proizvod ... od slika, postova, studija slučaja, preuzimanja, obrazaca, baze znanja itd. Napravili smo reviziju i indeksirali stranicu kako bismo bili sigurni da ne želimo ne propušta niti jedan element.

Nakon što smo postavili i pokrenuli novo mjesto, 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, pa je ključ bio odgovarajuće postavljanje preusmjeravanja.

Preusmjeravanje dodataka u WordPressu

Dostupna su dva popularna dodatka koji izvrsno rade upravljanje preusmjeravanjima pomoću WordPressa:

  • Preusmjeravanje - možda najbolji dodatak na tržištu, s 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 moj popis 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 upravljani WordPress hosting mehanizam poput WPEngine, oni imaju modul za obradu preusmjeravanja prije nego što osoba ikad dođe na 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 poslužitelju ... ali ne bih to preporučio. Do vas je samo jedna sintaksna pogreška zbog čega vaša web lokacija nije dostupna!

Kako stvoriti regex preusmjeravanje

U gore navedenom primjeru može se činiti jednostavnim samo tipično preusmjeriti iz podmape na novu domenu i podmapu:

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

Ipak postoji problem s tim. Što ako imate distribuirane veze i kampanje koje imaju niz upita za praćenje kampanja ili preporuke? Te se 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 napast da to napravite 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 sve ih preusmjeriti na isto odredište. Dakle, sve ove staze preusmjerit će 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 bili sigurni da je identificirana razina mape.

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

To će osigurati da će samo razina primarne mape pravilno preusmjeriti. A sada drugi problem ... kako ćete dobiti podatke o stringu upita snimljene na novom web mjestu 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

Podaci zamjenskog znaka zapravo se bilježe i dodaju odredištu pomoću varijable. Tako…

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

Ispravno ć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 puno složeniji od ovoga ... ali samo sam htio pružiti brzi uzorak kako postaviti preusmjeravanje zamjenskog regularnog izraza koji sve čisto prebacuje na novu domenu!

Što vi mislite?

Ova web stranica koristi Akismet za smanjenje neželjene pošte. Saznajte kako se podaci vašeg komentara obrađuju.