Nouvelles redirections d'expressions régulières de domaine (Regex) dans WordPress

Regex - Expressions régulières

Depuis quelques semaines, nous aidons un client à effectuer une migration complexe avec WordPress. Le client avait deux produits, qui sont tous deux devenus populaires au point qu'ils ont dû diviser les entreprises, la marque et le contenu dans des domaines séparés. C'est toute une entreprise!

Leur domaine existant reste en place, mais le nouveau domaine aura tout le contenu de ce produit ... à partir d'images, de publications, d'études de cas, de téléchargements, de formulaires, de base de connaissances, etc. ne manquez pas un seul atout.

Une fois le nouveau site mis en place et opérationnel, le moment de tirer sur l'interrupteur et de le mettre en service était venu. Cela signifiait que toutes les URL du site principal qui appartenaient à ce produit devaient être redirigées vers le nouveau domaine. Nous avons gardé la plupart des chemins cohérents entre les sites, la clé était donc de configurer les redirections de manière appropriée.

Rediriger les plugins dans WordPress

Il existe deux plugins populaires disponibles qui font un excellent travail de gestion des redirections avec WordPress:

  • Redirection - peut-être le meilleur plugin du marché, avec des capacités d'expression régulière et même des catégories pour gérer vos redirections.
  • SEO Rankmath - ce plugin SEO léger est une bouffée d'air frais et fait ma liste de Meilleurs plugins WordPress sur le marché. Il a des redirections dans le cadre de son offre et importera même les données de Redirection si vous y migrez.

Si vous utilisez un moteur d'hébergement WordPress géré comme WPEngine, ils ont un module pour gérer les redirections avant que la personne n'atteigne votre site… une fonctionnalité très intéressante qui peut réduire la latence et les frais généraux de votre hébergement.

Et, bien sûr, vous pouvez écrivez des règles de redirection dans votre fichier .htaccess sur votre serveur WordPress… mais je ne le recommanderais pas. Vous êtes à une erreur de syntaxe pour rendre votre site inaccessible!

Comment créer une redirection Regex

Dans l'exemple que je fournis ci-dessus, il peut sembler simple de simplement faire une redirection typique d'un sous-dossier vers le nouveau domaine et sous-dossier:

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

Il y a un problème avec cela, cependant. Que faire si vous avez distribué des liens et des campagnes qui ont une chaîne de requête pour le suivi de campagne ou les références? Ces pages ne redirigeront pas correctement. Peut-être que l'URL est:

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

Parce que vous avez écrit une correspondance exacte, cette URL ne redirigera nulle part! Ainsi, vous serez peut-être tenté d'en faire une expression régulière et d'ajouter un caractère générique à l'URL:

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

C'est plutôt bien, mais il y a encore quelques problèmes. Tout d'abord, il va correspondre à n'importe quelle URL avec / produit-a / dedans et redirigez-les tous vers la même destination. Donc, tous ces chemins seront redirigés vers la même destination.

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

Les expressions régulières sont cependant un bel outil. Tout d'abord, vous pouvez mettre à jour votre source pour vous assurer que le niveau du dossier est identifié.

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

Cela garantira que seul le niveau du dossier principal sera correctement redirigé. Maintenant, pour le deuxième problème… comment obtiendrez-vous les informations de la chaîne de requête capturées sur le nouveau site si votre redirection ne les inclut pas? Eh bien, les expressions régulières ont également une excellente solution pour cela:

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

Les informations génériques sont en fait capturées et ajoutées à la destination à l'aide de la variable. Donc…

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

Redirigera correctement vers:

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

Gardez à l'esprit que le caractère générique permettra également à n'importe quel sous-dossier d'être redirigé, donc cela sera également activé:

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

Redirigera vers:

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

Bien sûr, les expressions régulières peuvent devenir beaucoup plus complexes que cela ... mais je voulais juste fournir un exemple rapide de la façon de configurer une redirection de regex générique qui transmet tout proprement à un nouveau domaine!

Que pensez-vous?

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..