Le fichier est lu dans votre navigateur (5 Mo au plus).
Sert à repérer les destinations hors domaine. S’il manque, le domaine de la première ancienne adresse complète est utilisé.
Résultat
| État | Constat |
|---|
Règles générées
Apache (.htaccess)
nginx
Comment utiliser l’outil
Collez votre liste dans la zone de texte, ou choisissez un fichier CSV exporté d’un tableur. Chaque ligne associe une ancienne adresse et une nouvelle. Cliquez sur « Générer les règles » : les constats apparaissent d’abord, puis les règles Apache et nginx, que vous copiez ou téléchargez.
Indiquez le domaine du site si vous le connaissez. L’outil s’en sert pour repérer les destinations hors domaine et les anciennes adresses qui appartiennent à un autre site. Le bouton « Charger un exemple » remplit la liste avec une chaîne, une boucle, un doublon et une destination externe pour voir chaque constat.
Ce que l’outil écrit
Pour Apache, une page qui se termine par une extension (comme /page.html) donne une ligne « Redirect 301 ». La directive Redirect compare des segments entiers de chemin et ajoute le reste de l’adresse à la cible : /ancien-dossier redirigerait aussi /ancien-dossier/page.1 Pour un dossier ou une adresse sans extension, l’outil écrit donc une règle RewriteRule qui ne vise que cette adresse.
Dans un fichier .htaccess, le motif d’une RewriteRule est comparé à un chemin sans barre initiale, et un motif qui commence par « ^/ » ne correspond jamais.2 L’outil écrit « ^dossier/page/?$ », avec une barre finale facultative et les caractères spéciaux du chemin neutralisés. Le drapeau R=301 fait la redirection, L arrête le traitement, et NE évite que mod_rewrite ré-encode une cible déjà encodée.2
Pour nginx, la règle est une directive rewrite suivie de « permanent », qui renvoie un code 301. Si l’adresse d’origine porte des paramètres, nginx les ajoute à la fin de la cible, sauf si la cible se termine par un point d’interrogation.3 Un motif qui contient une accolade fermante ou un point-virgule est mis entre guillemets, comme le demande la documentation.3
# Apache
Redirect 301 "/ancienne-page.html" "/nouvelle-page/"
RewriteEngine On
RewriteCond %{QUERY_STRING} "^id=42$"
RewriteRule "^produit\.php/?$" "/catalogue/article-42?" [R=301,L]
RewriteRule "^ancien-dossier/produit/?$" "https://www.exemple.fr/produit/" [R=301,L]
# nginx
rewrite ^/ancienne-page\.html$ /nouvelle-page/ permanent;
if ($args = "id=42") { rewrite ^/produit\.php/?$ /catalogue/article-42? permanent; }
rewrite ^/ancien-dossier/produit/?$ https://www.exemple.fr/produit/ permanent;
Les adresses avec paramètres
Une adresse comme /produit.php?id=42 ne se redirige pas avec le chemin seul. Dans mod_rewrite, le motif ne regarde pas les paramètres, et il faut une condition RewriteCond sur %{QUERY_STRING}.2 La substitution se termine alors par un point d’interrogation, qui efface les paramètres d’origine.2 Côté nginx, l’outil teste la variable $args, qui contient les arguments de la requête.4
Les règles à paramètres sont placées avant celles du même chemin sans paramètre. Le test porte sur la chaîne telle que vous l’avez écrite : id=42&lang=fr et lang=fr&id=42 sont deux adresses différentes pour l’outil. Une règle sans paramètre conserve ceux de la requête, côté Apache comme côté nginx.13
Ce que l’outil contrôle
Il cherche d’abord les chaînes : si A redirige vers B et que B redirige vers C, un visiteur passe par deux sauts. Google conseille de rediriger directement vers la destination finale, et de garder au plus 3 sauts, de préférence moins de 5, quand c’est impossible.6 Avec l’option « Aplatir les chaînes », chaque ancienne adresse pointe sur la destination finale.
Viennent ensuite les boucles (A vers B vers A) et les redirections vers la même adresse, retirées du résultat parce qu’aucun navigateur n’en sort. Les doublons exacts sont fusionnés. Quand une même ancienne adresse a deux destinations différentes, la première ligne est gardée et l’autre est signalée.
L’outil signale aussi les destinations hors domaine, normales lors d’un changement de domaine, les anciennes adresses d’un autre site, les fragments (#) qu’un navigateur n’envoie pas au serveur, et les pages envoyées en masse vers l’accueil. Google prévient que rediriger de nombreuses adresses vers une page sans rapport, comme la nouvelle page d’accueil, peut être traité comme une soft 404.6
Ce qu’en dit Google
Les codes 301 et 308 indiquent qu’une page a changé d’adresse de façon permanente, et Googlebot retient la destination comme adresse canonique. Google recommande une redirection permanente côté serveur chaque fois que c’est possible, et range la redirection JavaScript parmi les derniers recours.5 Pour un changement d’adresses, il demande de préparer une correspondance entre chaque ancienne adresse et son équivalent, de choisir la destination la plus pertinente, de garder les redirections au moins un an et de mettre à jour liens internes, balises canoniques et sitemaps.6
Les limites de l’outil
Chaque ligne désigne une seule adresse : il n’y a ni joker ni expression régulière, donc pas de règle du type « tout ce qui commence par /blog/ ». La casse compte, comme dans la directive Redirect.1 La barre finale est facultative pour les adresses sans extension. Le motif nginx est écrit avec le chemin décodé (un accent apparaît tel quel), alors que la documentation de rewrite ne précise pas ce point : testez les adresses accentuées.3
L’outil écrit des règles, il ne les teste pas sur votre serveur. Une fois en place, contrôlez-les avec le vérificateur de redirections. Le fichier .htaccess n’est pris en compte que si le serveur l’autorise : la directive Redirect y exige l’option FileInfo.1
Après la génération
Passez quelques adresses de la liste dans le vérificateur de redirections pour voir le code et la destination réels. Le validateur de sitemap contrôle que le nouveau plan du site ne liste que des adresses finales. Pour préparer toute une refonte, lisez l’article sur la refonte sans perdre son référencement.
Questions fréquentes
Quelle différence entre Redirect et RewriteRule ?
Faut-il choisir 301 ou 302 ?
Un 301 (ou 308) dit que la page a changé d’adresse pour de bon : Google retient la destination. Les codes 302, 303 et 307 gardent l’ancienne page dans les résultats et conviennent à une situation de courte durée.5
Combien de temps garder les redirections ?
Google suggère de les garder au moins un an après un déménagement de site, pour que les signaux et les liens externes passent aux nouvelles adresses.6
Pourquoi aplatir les chaînes ?
Chaque saut ajoute une requête et un risque d’erreur. Google conseille de rediriger directement vers la destination finale et de ne pas dépasser 3 sauts, de préférence moins de 5.6
Où coller les règles générées ?
Pour Apache, dans le fichier .htaccess à la racine du site, ou dans la configuration du serveur. Pour nginx, dans le bloc server du site, puis rechargez nginx.
Sources
Les passages de cette page et les contrôles de l’outil renvoient à l’une de ces références, lues le 18 octobre 2026.
- Apache HTTP Server 2.4, module mod_alias (directives Redirect et RedirectMatch). httpd.apache.org ↑
- Apache HTTP Server 2.4, module mod_rewrite (RewriteRule, RewriteCond, drapeaux R, L, NE). httpd.apache.org ↑
- nginx, module ngx_http_rewrite_module (directives rewrite, return et if). nginx.org ↑
- nginx, module ngx_http_core_module (variables $args, $is_args, $request_uri). nginx.org ↑
- Google, « Redirections et Google Search », Google Search Central, mis à jour le 14 avril 2026. developers.google.com ↑
- Google, « Déménager un site avec changement d’URL », Google Search Central, mis à jour le 20 août 2026. developers.google.com ↑