Normaliseur d’URL
Normaliser les URL en supprimant les valeurs par défaut et en triant les paramètres
Normalization Options
Input URLs
Normalized URLs
Normalized URLs will appear here
URL Normalization
Normalization converts URLs to a canonical form for comparison, caching, or deduplication. It handles: case folding, default port removal, path normalization, query parameter sorting, and removing tracking parameters.
Le normaliseur d'URL applique les transformations définies par la RFC 3986 pour produire des formes canoniques d'URL, facilitant la comparaison, la déduplication et la mise en cache d'URL visuellement différentes mais pointant vers la même ressource. Collez une URL comme HTTP://Example.COM:443/a/../b?z=1&a=2 et obtenez la forme canonique propre https://example.com/b?a=2&z=1 avec un comparatif avant/après détaillant chaque modification appliquée.
Comprendre la normalisation d'URL
Si vous avez déjà consulté une liste d'URL dans un tableau de bord analytics et remarqué que la même page apparaît sous trois ou quatre adresses légèrement différentes, vous comprenez déjà pourquoi la normalisation est importante. Un utilisateur peut visiter https://example.com/Products, un autre arrive sur https://example.com/products/, et un troisième clique sur un lien vers https://example.com:443/products?utm_source=twitter. Les trois pointent vers la même ressource, mais sans normalisation votre cache stocke trois copies, vos analytics répartissent le trafic sur trois lignes, et votre robot d'indexation visite la même page trois fois.
La normalisation d'URL est le processus de transformation d'une URL en une forme standard et canonique afin que les URL équivalentes produisent la même chaîne. Les règles proviennent principalement de la RFC 3986, qui définit la syntaxe des URI et spécifie quelles transformations peuvent être appliquées sans risque de modifier la ressource vers laquelle une URL pointe. Certaines transformations sont garanties de préserver la signification -- mise en minuscules du schéma et de l'hôte, suppression des ports par défaut, résolution des segments de points -- tandis que d'autres dépendent du comportement du serveur et sont traitées comme optionnelles.
Cet outil applique les deux catégories de transformations et vous permet d'activer ou désactiver les transformations optionnelles. Vous pouvez supprimer les paramètres de tracking comme utm_source et fbclid, trier les paramètres de requête par ordre alphabétique pour des clés de cache cohérentes, retirer les fragments qui n'affectent que le comportement côté client, et réduire les barres obliques redondantes. Le comparatif avant/après met en évidence exactement ce qui a changé pour que vous puissiez vérifier chaque transformation avant de l'adopter dans votre pipeline.
Comment normaliser une URL
- Collez l'URL que vous souhaitez normaliser dans le champ de saisie.
- Sélectionnez les transformations optionnelles à appliquer (tri des paramètres de requête, suppression des paramètres de tracking, suppression des fragments, etc.).
- Cliquez sur Normaliser pour générer la forme canonique.
- Consultez la comparaison avant/après montrant chaque modification appliquée.
Exemples de normalisation d'URL
| URL en entrée | Sortie normalisée | Modifications appliquées |
|---|---|---|
HTTP://Example.COM/path | http://example.com/path | Schéma et hôte en minuscules |
https://example.com:443/page | https://example.com/page | Port par défaut 443 supprimé |
http://example.com:80/page | http://example.com/page | Port par défaut 80 supprimé |
https://example.com/a/../b/./c | https://example.com/b/c | Segments de points résolus |
https://example.com/search?z=1&a=2 | https://example.com/search?a=2&z=1 | Paramètres de requête triés |
https://example.com/%7Euser | https://example.com/~user | Caractère non réservé décodé |
https://example.com/page?utm_source=twitter&id=5 | https://example.com/page?id=5 | Paramètre de tracking supprimé |
https://example.com/path//to///page | https://example.com/path/to/page | Barres obliques multiples réduites |
Quand utiliser le normaliseur d'URL
- Déduplication dans les robots d'indexation -- Évitez d'indexer la même page plusieurs fois lorsque les URL ne diffèrent que par la casse, les ports par défaut ou l'ordre des paramètres.
- Génération de clés de cache -- Produisez des clés de cache cohérentes pour que
example.com:443/pageetexample.com/pagepartagent la même réponse en cache. - Regroupement d'URL analytiques -- Agrégez les pages vues lorsque le même contenu est atteint via des URL avec des paramètres de tracking ou des fragments différents.
- Correspondance des politiques de sécurité -- Assurez-vous que la comparaison d'URL dans les directives CSP, les listes d'autorisation CORS et les règles de contrôle d'accès gère les URL équivalentes de manière cohérente.
- Cohérence des clés en base de données -- Stockez une seule URL canonique par ressource au lieu d'autoriser les doublons causés par le réordonnancement des paramètres.
- Nettoyage d'inventaire de liens -- Nettoyez les fichiers de favoris exportés, les entrées de sitemap ou les listes de liens CMS avant un audit de liens cassés.
Fonctionnement de la normalisation d'URL
La normalisation d'URL applique une série de transformations définies dans la section 6 de la RFC 3986, divisées en deux catégories.
Normalisations sûres (préservant la sémantique)
Ces transformations ne changent jamais la ressource vers laquelle une URL pointe :
- Normalisation de la casse -- Le schéma (
http) et l'hôte (example.com) sont insensibles à la casse selon la spécification, ils sont donc mis en minuscules pour une forme cohérente. - Normalisation de l'encodage percent -- Les chiffres hexadécimaux dans les caractères encodés en pourcentage sont mis en majuscules (
%2fdevient%2F), et les caractères non réservés (lettres, chiffres,-._~) sont décodés car leur encodage est inutile. - Suppression du port par défaut -- Le port
80pourhttpet le port443pourhttpssont supprimés car ils sont implicites. - Résolution des segments de points -- Les segments de chemin comme
.(répertoire courant) et..(répertoire parent) sont résolus :/a/b/../cdevient/a/c.
Normalisations optionnelles
Celles-ci peuvent modifier la sémantique selon le serveur, elles sont donc configurables :
- Tri des paramètres de requête -- Le tri alphabétique produit un ordre de paramètres canonique, utile lorsque les serveurs traitent
?a=1&b=2et?b=2&a=1de manière identique. - Suppression des paramètres de tracking -- Supprime les paramètres marketing courants comme
utm_source,utm_medium,utm_campaign,fbclidetgclid. - Suppression du fragment -- Supprime la partie
#fragment, qui est généralement traitée uniquement côté client. - Normalisation de la barre oblique finale -- Ajoute ou supprime les barres obliques finales pour les URL de style répertoire.
- Réduction des barres obliques -- Réduit les barres obliques consécutives (
//) dans le chemin à une seule barre oblique.
Exemple de pipeline de normalisation
En partant de HTTP://Example.COM:443/docs/../api//v2?z=3&a=1&utm_source=ad#top :
Étape 1 Schéma en minuscules : http://Example.COM:443/docs/../api//v2?z=3&a=1&utm_source=ad#top
Étape 2 Hôte en minuscules : http://example.com:443/docs/../api//v2?z=3&a=1&utm_source=ad#top
Étape 3 Suppression port par défaut : http://example.com/docs/../api//v2?z=3&a=1&utm_source=ad#top
Étape 4 Résolution segments points : http://example.com/api//v2?z=3&a=1&utm_source=ad#top
Étape 5 Réduction barres obliques : http://example.com/api/v2?z=3&a=1&utm_source=ad#top
Étape 6 Tri paramètres requête : http://example.com/api/v2?a=1&utm_source=ad&z=3#top
Étape 7 Suppression tracking : http://example.com/api/v2?a=1&z=3#top
Étape 8 Suppression fragment : http://example.com/api/v2?a=1&z=3
Conseils pratiques pour la normalisation d'URL
Le piège le plus fréquent avec la normalisation consiste à appliquer les transformations optionnelles aveuglément. Le tri des paramètres de requête est sûr pour la grande majorité des serveurs web et frameworks -- Express, Django, Rails, Spring et Laravel traitent tous l'ordre des paramètres comme non significatif -- mais un petit nombre de systèmes anciens utilisent la position des paramètres pour distinguer les valeurs. Avant d'activer le tri des paramètres en production, testez une poignée d'URL représentatives sur votre serveur pour vous assurer que les réponses sont identiques quel que soit l'ordre.
La suppression des paramètres de tracking est un autre domaine où des règles trop agressives peuvent causer des problèmes. Les paramètres UTM standard (utm_source, utm_medium, utm_campaign, utm_term, utm_content) peuvent toujours être supprimés sans risque car ils sont consommés par les outils analytics et n'affectent jamais le contenu côté serveur. Les paramètres comme fbclid et gclid sont également sûrs à retirer. Mais certaines applications utilisent des paramètres personnalisés qui ressemblent à du tracking -- par exemple, ref peut être utilisé pour l'attribution d'affiliés et modifier réellement le contenu affiché. Examinez attentivement la liste des paramètres de tracking et ne supprimez que ceux dont vous êtes certain qu'ils sont purement analytiques.
Si vous construisez un crawler ou un vérificateur de liens, normalisez les URL avant de les ajouter à votre ensemble d'URL visitées. Cette seule étape peut réduire considérablement le temps de parcours en évitant les re-visites de pages qui ne diffèrent que par la casse, les ports par défaut ou les barres obliques finales. Combinez la normalisation avec la vérification du robots.txt et des balises canonical pour une stratégie de déduplication complète.
Questions fréquentes
La normalisation d'une URL change-t-elle sa destination ?
Les normalisations sûres (casse, encodage percent, port par défaut, segments de points) sont garanties par la RFC 3986 de préserver la signification. Les normalisations optionnelles comme le tri des paramètres ou la suppression des paramètres de tracking peuvent modifier la signification sur les serveurs qui considèrent l'ordre des paramètres ou les paramètres de tracking comme significatifs, c'est pourquoi elles sont activables/désactivables.
Dois-je trier les paramètres de requête dans mon application ?
Si vous contrôlez le serveur et qu'il ignore l'ordre des paramètres, le tri est fortement recommandé pour l'efficacité du cache et la déduplication. La plupart des frameworks web traitent ?a=1&b=2 et ?b=2&a=1 de manière identique, faisant des paramètres triés un choix par défaut sûr.
Quels paramètres de tracking l'outil supprime-t-il ?
L'outil supprime les paramètres marketing largement utilisés incluant utm_source, utm_medium, utm_campaign, utm_term, utm_content, fbclid, gclid, mc_eid et d'autres identifiants analytiques similaires. La liste exacte est configurable.
La normalisation d'URL est-elle la même chose que la canonicalisation d'URL ?
Les deux concepts se recoupent largement mais ne sont pas identiques. La normalisation désigne spécifiquement les transformations RFC 3986 qui produisent une forme standard. La canonicalisation est un concept plus large qui peut inclure des règles propres au serveur, comme le choix entre www et non-www, la sélection d'un protocole préféré (HTTPS plutôt que HTTP), ou la résolution des doublons au niveau du contenu identifiés par les balises <link rel="canonical">. La normalisation est une étape au sein d'une stratégie de canonicalisation complète.
La normalisation peut-elle casser des URL avec des caractères de chemin encodés ?
La normalisation sûre ne décode que les caractères non réservés (lettres, chiffres, -._~). Les caractères réservés comme / (%2F) et ? (%3F) restent encodés car les décoder modifierait la structure de l'URL. Si un chemin contient intentionnellement %2F pour représenter une barre oblique littérale dans un segment de chemin (et non un séparateur), la normalisation le préserve correctement.
Comment la normalisation gère-t-elle les noms de domaine internationalisés (IDN) ?
Les domaines internationalisés peuvent apparaître sous forme Unicode (exemple.fr) ou sous forme Punycode (xn--exemple-9ua.fr). Cet outil normalise l'hôte vers sa forme ASCII en minuscules mais ne convertit pas entre Unicode et Punycode. Pour la cohérence des IDN, combinez cet outil avec un convertisseur IDN dédié.
Outils associés
- URL Parser - Décomposer les URL en composants individuels comme le schéma, l'hôte, le port, le chemin et la requête
- Query String Parser/Builder - Analyser et construire des chaînes de requête URL avec un encodage correct
- Bulk Add/Remove Query Params - Ajouter ou supprimer des paramètres de requête de plusieurs URL à la fois
- HTTP Header Formatter - Convertir entre les formats d'en-têtes bruts et clé/valeur
- curl Command Builder - Construire des commandes curl pour tester les URL normalisées contre votre serveur