Sylius7 min

Sylius 2 : comment vérifier que les redirections marchent ?

Par Pierre-Arthur Demengel
Sylius 2Migration SyliusRedirectionsSEO
Partager

On vérifie les redirections d'une migration Sylius 2 en rejouant la liste complète des anciennes adresses contre la nouvelle boutique, d'abord en préproduction puis en production, et en contrôlant pour chacune trois choses : un code permanent (301 ou 308), une destination finale atteinte en un seul saut, et des paramètres de campagne préservés. Le suivi se termine dans la Search Console, sur plusieurs semaines. Une vérification à la main de quelques pages au hasard ne prouve rien.

Je suis développeur Sylius indépendant et j'ai mené des montées de version 1.x vers 2.x de boutiques en production. Dans le cœur de Sylius 2, les adresses publiques des produits et des catégories ne changent pas, comme je l'explique dans l'article sur les URL après Sylius 2. Mais une boutique qui a quelques années porte presque toujours des redirections héritées de changements passés, et ce sont elles qui disparaissent pendant un chantier.

Où se trouvent les redirections d'une boutique Sylius ?

Avant de vérifier, il faut savoir où chercher, car elles sont rarement au même endroit. On les trouve dans la configuration du serveur web, Apache ou Nginx ; dans le routage Symfony du projet, avec le RedirectController ; dans un plugin Sylius qui stocke les règles en base et les gère depuis l'administration ; parfois dans un CDN ou un proxy placé devant la boutique ; et enfin dans du code sur mesure, par exemple un écouteur qui redirige les produits désactivés.

Chaque emplacement a son risque. Les règles du serveur web survivent au changement de version mais pas à un changement d'hébergement mal préparé. Celles du routage Symfony suivent le code. Celles d'un plugin dépendent de sa compatibilité avec Sylius 2 : sans version compatible, les données restent en base mais plus rien ne les sert. Je commence donc par un inventaire, et je fais exporter chaque source dans un même tableau d'anciennes et de nouvelles adresses.

Comment construire la liste des URL à tester ?

La liste ne se limite pas aux redirections existantes. Elle réunit les adresses du sitemap actuel, les pages qui reçoivent des clics dans la Search Console sur les derniers mois, les URL finales des campagnes publicitaires, les adresses les plus demandées dans les journaux du serveur, et toutes les sources de redirections inventoriées. Google insiste sur ce point dans son guide des changements d'URL : il faut faire correspondre chaque ancienne adresse à sa nouvelle destination.

Pour chaque ligne, j'écris le résultat attendu : soit l'adresse répond directement en 200, soit elle redirige vers une destination précise. Ce tableau devient le critère de réussite de la bascule. Le comparer à la réalité est ensuite mécanique.

Quels contrôles faire sur chaque redirection ?

Le code de réponse

Google traite les redirections 301 et 308 comme permanentes et les 302 ou 307 comme temporaires. Une redirection JavaScript est déconseillée, car Google peut ne jamais la voir. Le piège classique dans un projet Symfony : une redirection déclarée dans le routage avec le RedirectController est temporaire par défaut. Sans l'option permanent: true, elle répond en 302.

La destination et le nombre de sauts

L'ancienne adresse doit pointer directement vers la destination finale. Une migration ajoute souvent un saut sans que personne s'en aperçoive : une vieille règle envoie vers une adresse qui, elle-même, redirige vers une troisième. Google conseille de rediriger directement vers la destination finale et de garder les chaînes très courtes. Je vérifie aussi l'absence de boucle et l'absence de redirection massive vers la page d'accueil.

Les paramètres de campagne

Une annonce arrive avec des paramètres comme gclid ou utm_source. Si la redirection les perd, la visite reste comptée mais son origine disparaît, et la campagne paraît moins rentable qu'elle ne l'est. Le contrôleur de redirection de Symfony propose une option keepQueryParams pour les conserver ; dans le serveur web, la règle doit être écrite en conséquence. Le lien avec vos annonces est détaillé dans l'article sur Google Ads et Meta Ads.

Comment tester les redirections avant la bascule ?

Sur la préproduction Sylius 2, je fais passer toute la liste dans un script ou dans un crawler en mode liste, qui relève pour chaque adresse le code de réponse, l'adresse finale et le nombre de sauts. Une simple boucle suffit, par exemple avec curl -s -o /dev/null -w "%{http_code} %{num_redirects} %{url_effective}" -L appliqué à chaque ligne. Le résultat se colle à côté du tableau attendu, et chaque différence est traitée avant la date de bascule.

Le test se rejoue après chaque modification importante, puis une dernière fois sur la production, juste après la réouverture de la boutique. C'est un des contrôles de la procédure de bascule sans coupure, au même titre que la commande test.

Si vous ne savez pas où vivent vos redirections, ou si elles dépendent d'un plugin dont la version 2 est incertaine, c'est un point à lever dès le cadrage. Le diagnostic offert de migration Sylius 2 s'appuie sur Sylius Upgrade Analyzer, l'outil que j'ai créé et publié sur le Sylius Store, qui vérifie chaque plugin installé contre le Sylius Store et Packagist.

Que surveiller dans la Search Console après la mise en ligne ?

Les jours suivants, je surveille le rapport sur l'indexation des pages, en particulier les pages introuvables et les pages avec redirection, et je compare la liste des erreurs avec celle d'avant la bascule. Les journaux du serveur complètent la vue : une ancienne adresse encore demandée qui répond en 404 doit recevoir sa règle. Google recommande de garder les redirections au moins un an ; je les garde sans date de fin, car les liens externes anciens ne disparaissent jamais complètement. La lecture des positions et des clics est détaillée dans l'article sur le référencement pendant la migration.

Ce que je vous propose

Sylius 1.14 ne reçoit plus de correctifs de sécurité après le 31 décembre 2026, et les redirections se préparent mieux sans urgence. Je vous propose un diagnostic de migration offert : j'analyse votre projet, je repère les plugins et routes qui portent vos redirections, et je vous remets une estimation en jours, avec la liste des contrôles à prévoir pour la bascule.

Questions fréquentes

Partager
Spécialiste SyliusCréation Site Pro, reprise en 2023France, Belgique, LuxembourgDisponible immédiatement

Votre boutique vend plus que votre outil ne suit ?

Je vous rappelle sous 24 heures ouvrées et je vous dis ce que votre outil vous coûte.

Ou appelez directement :06 95 41 30 25