Nova preusmeritev regularnega izraza domene (regularni izraz) v WordPress

Regex - regularni izrazi

Zadnjih nekaj tednov stranki pomagamo pri zapleteni selitvi z WordPressom. Naročnik je imel dva izdelka, ki sta postala priljubljena do te mere, da je morala podjetja, blagovno znamko in vsebino razdeliti na ločeni domeni. To je prava pot!

Njihova obstoječa domena ostaja na mestu, vendar bo nova domena imela vso vsebino v zvezi s tem izdelkom ... od slik, objav, študij primerov, prenosov, obrazcev, baze znanja itd. Opravili smo revizijo in po vsebini spletnega mesta preverili, ali ne želimo ne pogrešam niti enega sredstva.

Ko smo novo spletno mesto postavili in obratovali, je prišel čas, da izklopimo stikalo in ga postavimo v živo. To je pomenilo, da je bilo treba vse URL-je s primarnega spletnega mesta, ki je pripadalo temu izdelku, preusmeriti na novo domeno. Večino poti smo ohranili skladno med spletnimi mesti, zato je bila ključna ustrezna nastavitev preusmeritev.

Preusmeritveni vtičniki v WordPressu

Na voljo sta dva priljubljena vtičnika, ki odlično obvladujeta preusmeritve z WordPressom:

  • Preusmeritev - morda najboljši vtičnik na trgu, z zmožnostmi regularnega izražanja in celo kategorijami za upravljanje preusmeritev.
  • Rankmath SEO - ta lahek vtičnik za SEO je svež zrak in je na mojem seznamu Najboljši vtičniki za WordPress na trgu. V svoji ponudbi ima preusmeritve in bo podatke o preusmeritvi celo uvozil, če se nanjo preselite.

Če uporabljate upravljani motor za gostovanje WordPress, kot je WPEngine, imajo modul za obdelavo preusmeritev, preden oseba kdaj pride na vaše spletno mesto ... precej lepa lastnost, ki lahko zmanjša zakasnitve in dodatne stroške na vašem gostovanju.

In seveda lahko v datoteko .htaccess napišite pravila za preusmeritev na vašem strežniku WordPress ... vendar tega ne bi priporočal. Še ena sintaksna napaka vas loči od tega, da vaše spletno mesto postane nedostopno!

Kako ustvariti preusmeritev Regex

V zgornjem primeru se morda zdi preprosto narediti tipično preusmeritev iz podmape v novo domeno in podmapo:

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

Vendar s tem obstaja težava. Kaj če imate distribuirane povezave in oglaševalske akcije, ki imajo niz poizvedb za sledenje ali napotitve oglaševalskih akcij? Te strani ne bodo pravilno preusmerjene. Morda je URL:

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

Ker ste napisali natančno ujemanje, ta URL ne bo nikamor preusmeril! Torej vas bo morda zamikalo, da postane regularni izraz in URL-ju dodate nadomestni znak:

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

To je precej dobro, vendar je še vedno nekaj težav. Najprej se bo ujemal s katerim koli URL-jem / izdelek-a / v njem in jih vse preusmerite na isti cilj. Torej bodo vse te poti preusmerile na isti cilj.

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

Regularni izrazi pa so čudovito orodje. Najprej lahko posodobite vir, da zagotovite prepoznavanje ravni mape.

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

To bo zagotovilo, da bo pravilno preusmerjala samo raven primarne mape. Zdaj pa za drugo težavo ... kako boste dobili informacije o poizvedbah, zajete na novem spletnem mestu, če jih vaša preusmeritev ne vključuje? No, regularni izrazi imajo tudi za to odlično rešitev:

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

Nadomestni podatki se dejansko zajamejo in dodajo cilju s spremenljivko. Torej ...

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

Bo pravilno preusmerjen na:

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

Upoštevajte, da bo nadomestni znak omogočil tudi preusmeritev katere koli podmape, zato bo omogočeno tudi to:

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

Preusmeril na:

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

Seveda lahko regularni izrazi postanejo veliko bolj zapleteni od tega ... toda želel sem le hiter vzorec, kako nastaviti preusmeritev nadomestnega regularnega izraza, ki vse prenese čisto na novo domeno!

Kaj menite?

Ta stran uporablja Akismet za zmanjšanje nezaželene pošte. Preberite, kako se vaš komentar obravnava.