Nyt domæne regulært udtryk (Regex) omdirigerer i WordPress

Regex - Regulære udtryk

I de sidste par uger har vi hjulpet en klient med at udføre en kompleks migrering med WordPress. Klienten havde to produkter, som begge er blevet populære til det punkt, at de var nødt til at opdele forretningerne, brandingen og indholdet ud til separate domæner. Det er noget af det!

Deres eksisterende domæne forbliver i orden, men det nye domæne vil have alt indhold med hensyn til det produkt ... fra billeder, indlæg, casestudier, downloads, formularer, vidensbase osv. Vi foretog en revision og gennemgik webstedet for at sikre, at vi ikke ville gå ikke glip af et enkelt aktiv.

Når vi havde det nye sted på plads og operationelt, var tiden inde til at trække i kontakten og sætte den i live. Det betød, at alle webadresser fra det primære websted, der tilhørte dette produkt, skulle omdirigeres til det nye domæne. Vi holdt de fleste stier konsistente mellem webstederne, så nøglen var at konfigurere omdirigeringerne korrekt.

Omdiriger plugins i WordPress

Der er to populære plugins til rådighed, der gør et godt stykke arbejde med at styre omdirigeringer med WordPress:

  • Omdirigering - måske det bedste plugin på markedet med funktioner til regulært udtryk og endda kategorier til styring af dine omdirigeringer.
  • Rankmath SEO - dette lette SEO-plugin er et frisk pust og gør min liste over Bedste WordPress-plugins på markedet. Det har omdirigeringer som en del af dets tilbud og importerer endda omdirigeringens data, hvis du migrerer til det.

Hvis du bruger en Managed WordPress Hosting-motor som WPEngine, de har et modul til at håndtere omdirigeringer, før personen nogensinde rammer dit websted ... en ret flot funktion, der kan reducere ventetid og overhead på din hosting.

Og det kan du selvfølgelig skriv omdirigeringsregler til din .htaccess-fil på din WordPress-server ... men jeg vil ikke anbefale det. Du er en syntaksfejl væk fra at gøre dit websted utilgængeligt!

Sådan oprettes en Regex-omdirigering

I eksemplet, jeg giver ovenfor, kan det virke simpelt at bare foretage en typisk omdirigering fra en undermappe til det nye domæne og undermappe:

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

Der er dog et problem med det. Hvad hvis du har distribuerede links og kampagner, der har en forespørgselsstreng til kampagnesporing eller henvisninger? Disse sider omdirigerer ikke korrekt. Måske er URL:

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

Fordi du skrev et nøjagtigt match, omdirigerer denne URL ikke nogen steder! Så du kan blive fristet til at gøre det til et regulært udtryk og tilføje et jokertegn til URL'en:

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

Det er ret godt, men der er stadig et par problemer. For det første skal den matche enhver URL med / produkt-a / i det og omdirigere dem alle til samme destination. Så alle disse stier omdirigerer til samme destination.

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

Regulære udtryk er dog et smukt værktøj. Først kan du opdatere din kilde for at sikre, at mappeniveauet identificeres.

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

Det vil sikre, at kun det primære mappeniveau omdirigeres korrekt. Nu til det andet problem ... hvordan får du oplysninger om forespørgselsstreng fanget på det nye websted, hvis din omdirigering ikke inkluderer det? Nå, regulære udtryk har også en god løsning til det:

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

Jokertegninformationen fanges faktisk og tilføjes destinationen ved hjælp af variablen. Så…

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

Viderestilles korrekt til:

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

Husk, at jokertegnet også muliggør omdirigering af enhver undermappe, så dette vil også være aktiveret:

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

Vil omdirigere til:

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

Selvfølgelig kan regulære udtryk blive langt mere komplekse end dette ... men jeg ville bare give et hurtigt eksempel på, hvordan man opretter en jokertegn-regex-omdirigering, der sender alt rent til et nyt domæne!

Hvad mener du?

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.