Aller au contenu
OneKitly

Ce qui fait un bon slug d'URL : stabilité, lisibilité et le conflit entre les deux

Publié le 26/11/2025 · 15 min de lecture · Outils marketing & SEO

Camille Laurent

Camille LaurentRédactrice Finance chez OneKitly

Fiscalité · Finances personnelles

Vérifié à partir de 5 sources

Voir le profil
En bref

Un slug est la partie lisible du chemin d'une URL, et on lui demande deux choses incompatibles : rester identique pour toujours, car chaque lien et chaque signal de classement pointe vers la chaîne exacte, et bien se lire, car les humains comme les moteurs la voient. Optimiser la lisibilité, c'est le réécrire quand le titre s'améliore ; optimiser la stabilité, c'est n'y toucher jamais. Google recommande le tiret plutôt que le tiret bas, des mots dans la langue du lecteur, et l'encodage pourcent pour tout ce qui sort de l'ASCII — c'est là que la lisibilité casse, puisqu'un slug allemand de 27 caractères en fait 37 une fois encodé et qu'un slug CJK de quatre caractères en fait 36. Ce site règle le conflit en séparant les deux missions : un identifiant interne qui ne change jamais, et un segment public dérivé du titre propre à chaque langue, plafonné à 70 caractères, les mots vides n'étant retirés que si ce plafond est dépassé. Sur l'exécution du 9 août 2026, cela a produit six slugs publics distincts pour les 1 736 outils et les 631 articles, avec deux collisions arbitrées de façon déterministe. S'il faut changer un slug, redirigez de façon permanente : les robots de Google suivent jusqu'à dix sauts de redirection, donc les chaînes sont survivables mais pas gratuites, et une redirection temporaire ne transmet aucun signal canonique.

Un slug a deux missions qui se contredisent : c'est un identifiant permanent et c'est un texte lisible. Longueur, tirets, mots vides, dates, caractères non ASCII et le motif identifiant + slug qui obtient les deux propriétés — avec les vrais chiffres d'un site qui localise 1 736 slugs d'outils en six langues.

Deux missions, une seule chaîne

Le slug est le dernier segment du chemin d'une URL — la partie qui dit ce qu'est la page. Il est à la fois un identifiant, car les liens, les favoris, les lignes d'analytics et la mémoire de classement d'un moteur sont tous indexés sur la séquence d'octets exacte, et une étiquette, car il apparaît dans la barre d'adresse, dans un message partagé, et souvent dans le résultat lui-même. Les identifiants veulent être immuables. Les étiquettes veulent être améliorées. Voilà toute la tension, et chaque règle sur les slugs est une manière de la gérer.

Le côté identifiant est celui qui coûte cher quand on se trompe. Change un slug et chaque lien externe pointe désormais vers une URL qui n'existe plus. Une redirection permanente répare cela : la documentation de Google indique que le pipeline d'indexation se sert d'une redirection permanente comme signal que la cible doit être canonique, tandis qu'une redirection temporaire n'est explicitement pas utilisée ainsi. Le type de redirection compte donc plus qu'on ne le croit, et l'instinct courant qui pousse à un 302 parce que le changement semble réversible est précisément à l'envers.

Les redirections s'accumulent aussi. La documentation de Google indique que ses robots suivent par défaut jusqu'à dix sauts de redirection. Dix, c'est un budget généreux, mais c'est un budget, et un site qui renomme ses slugs tous les deux ans le dépense en silence : un lien de huit ans peut déjà se trouver à quatre sauts de la page. Chaque saut est aussi un aller-retour de plus pour un humain sur une connexion lente. La règle pratique n'est pas « ne jamais chaîner » mais « aplatir » : quand tu ajoutes le saut numéro deux, réécris le saut numéro un pour qu'il pointe vers la destination finale.

Tirets, tirets bas, et pourquoi la convention existe

Le guide de Google sur la structure des URL est ici inhabituellement direct : il recommande le tiret plutôt que le tiret bas pour séparer les mots, parce que cela aide les utilisateurs comme les moteurs à mieux identifier les concepts dans l'URL. La raison est historique et mécanique, pas esthétique. Un tokeniseur découpe sur les caractères qui ne sont pas des caractères de mot, et le tiret bas a traditionnellement été traité comme un caractère de mot — la convention qui permet à un identifiant comme max_speed de rester un seul token dans du code source. Ainsi chaussures_rouges peut se tokeniser en un terme et chaussures-rouges en deux.

Savoir si un moteur moderne se comporte encore ainsi n'est vérifiable par personne de l'extérieur, et cela importe peu : la convention est désormais si universelle qu'un slug à tirets bas signale surtout un site que personne n'a regardé depuis dix ans. Le seul endroit où la distinction mord encore fort, c'est un tiret à l'intérieur d'un mot composé. En allemand un composé est un seul mot, donc un slug qui le coupe par un tiret sépare un terme qui devrait rester entier. Ce site règle cela en dérivant le slug allemand du titre allemand, qui écrit déjà le composé en un mot, plutôt qu'en traduisant un slug anglais mot à mot.

Longueur, et où un résultat cesse d'afficher le chemin

Personne ne publie de limite de caractères pour les slugs, parce qu'il n'y en a pas. Ce qui existe, c'est un budget d'affichage : un résultat montre le nom du site et un chemin raccourci, et la barre d'adresse d'un navigateur a une largeur finie. Les deux tronquent, les deux tronquent différemment sur un téléphone, et ni l'un ni l'autre n'est documenté. Une règle de longueur se choisit donc, elle ne se consulte pas. Ce site a choisi 70 caractères, et le corpus contient désormais des slugs qui l'atteignent exactement — le plus long est le slug portugais de 70 caractères quantos-montantes-parede-preciso-estrutura-por-espacamento-comprimento.

L'intéressant est ce qui se passe quand un titre dépasse le budget. Tronquer au milieu d'un mot produit un slug qui se lit comme une erreur. Tronquer à une frontière de mot fait perdre les mots arrivés en dernier, qui dans la plupart des langues sont les plus spécifiques. Le générateur fait ici autre chose : il retire d'abord les mots vides — le, la, les, de, des, du, un, une, et, pour, votre, vos en français, et les listes correspondantes dans les cinq autres langues — et seulement ensuite supprime des mots en queue, sans jamais descendre sous trois. Cet ordre compte, car un mot vide est la seule partie d'un slug qui ne porte aucun signal de recherche et coûte de vrais caractères.

Il y a une seconde coupe qui intervient avant tout cela. Un titre de la forme « Titre principal : le qualificatif » ou « Titre principal (une incise) » contient deux choses, et seul le titre principal a sa place dans un chemin — le qualificatif, c'est le rôle de la méta-description. Le générateur supprime donc les parenthèses et coupe au premier deux-points ou tiret avant même de sluguifier. Cette seule règle élimine la plupart des problèmes de longueur avant que la liste de mots vides ne soit consultée.

La question du non-ASCII, tranchée six fois

Le guide de Google recommande d'utiliser des mots dans la langue du lecteur, translittérés le cas échéant, et d'encoder en pourcent tout ce qui sort de la plage ASCII. Ces deux phrases sont en tension pour toute langue accentuée, et cette tension se mesure. Encode la locution allemande grundstücksfläche-berechnen et 27 caractères en deviennent 37 — une expansion de 37,0 %, car ü et ä coûtent chacun six caractères, %C3%BC et %C3%A4. Un slug espagnol avec un seul ñ grossit de 19,2 %. Un slug cyrillique de quinze caractères en fait 85, soit 5,67 fois plus. Un slug CJK de quatre caractères en fait 36, neuf fois plus.

Que cela compte ou non dépend entièrement de l'endroit où l'URL sera vue. Un navigateur moderne redécode le chemin en caractères lisibles dans la barre d'adresse, donc un lecteur sur le site voit les accents. Colle la même URL dans un e-mail en texte brut, un client de messagerie qui ne décode pas, un rapport d'analytics, un tableur, une ligne de log ou une diapositive imprimée, et le lecteur voit les signes pourcent. Une URL est copiée plus souvent qu'elle n'est tapée, et la copie atterrit assez souvent dans le contexte laid pour que ce soit un coût réel, pas théorique.

Ce site tranche par langue plutôt que de prétendre qu'une réponse convient aux six. L'allemand transforme ä, ö, ü et ß en ae, oe, ue et ss, ce qui est la convention allemande ordinaire pour du texte ASCII et donne grundstuecksflaeche-berechnen en 29 caractères — huit de moins que la forme encodée, et lisible partout. Les cinq autres retirent l'accent, donc contraseñas devient contrasenas et régime devient regime. Aucun des deux choix n'est faux ; ce sont des réponses différentes à la question de ce qu'un lecteur de cette langue attend d'un mot dépouillé.

Six langues, six slugs, un seul identifiant

Le motif qui obtient les deux propriétés à la fois est ancien et sans gloire : garder un identifiant stable qui ne change jamais, et laisser la partie lisible être dérivée plutôt qu'écrite. Les forums et les gestionnaires de tickets le font avec un identifiant numérique suivi d'un slug, de sorte que /42/un-vieux-titre et /42/n-importe-quoi résolvent tous les deux, et que le slug peut être réécrit sans casser un lien. Ce site fait la même chose avec un identifiant textuel plutôt qu'un nombre : le nom en registre d'un outil ou d'un article ne bouge jamais, et le segment public est généré à partir du titre propre de cet élément dans chaque langue.

L'exécution du 9 août 2026 a couvert 1 736 outils et 631 articles sur six locales. Rien n'est retombé sur l'identifiant faute de texte exploitable, et exactement deux slugs d'outils et deux slugs d'articles sont entrés en collision à l'intérieur d'une locale, arbitrés en ajoutant la partie distinctive de l'identifiant — de façon déterministe, donc une réexécution produit une sortie identique octet pour octet. Le taux de divergence est le chiffre intéressant : en français, espagnol, portugais et italien, les 1 736 slugs d'outils diffèrent tous de l'identifiant, en allemand 1 705 d'entre eux, et en anglais seulement 397, car les identifiants étaient anglais au départ.

Dériver le slug du titre traduit règle aussi un problème auquel personne ne pense avant de le rencontrer : l'élision. Un outil français nommé Calculateur d'IMC ne doit pas devenir calculateur-dimc, et un outil italien nommé Calcolatrice dell'IVA ne doit pas devenir calcolatrice-delliva. Le générateur transforme l'apostrophe en frontière puis supprime la particule élidée, si bien qu'ils deviennent calculateur-imc et calcolatrice-iva. C'est une règle propre à la langue, sans équivalent anglais, et c'est le genre de chose qu'une table de traduction écrite à la main rate à l'entrée numéro quatre cents.

Les dates, et les autres choses qui périment dans un chemin

Une date dans un slug est une promesse que tu regretteras. Ce n'est pas une question de classement — personne n'a montré qu'une année dans un chemin aide ou nuit — c'est une question de maintenance. Dès que l'article est mis à jour, le chemin dit quelque chose de faux, et les deux issues sont mauvaises : le laisser périmé, ou renommer et rediriger. Les blogs qui mettent /2019/03/ dans le chemin ont le même problème un cran plus haut, et ils le résolvent en général en ne mettant jamais rien à jour.

La même logique vaut pour tout ce qui décrit un état plutôt qu'un sujet : un numéro de version, un prix, une saison, un pays que tu livres actuellement, le mot « nouveau ». Mets l'état dans la page et dans les données structurées, où le changer ne coûte rien, et garde un chemin qui décrit la chose. Si la date fait réellement partie de l'identité — les règles fiscales d'une année précise, le calendrier d'une saison précise — alors elle a sa place, car cette page porte vraiment sur cette année-là et ne sera jamais mise à jour pour porter sur une autre.

Six décisions de slug : la réponse lisible, la réponse stable, et ce que fait ce site
DécisionSi tu optimises la lisibilitéSi tu optimises la stabilitéCe que fait ce site
Langue du segmentLa langue du lecteurUne seule langue partoutSix, dérivés du titre propre à chaque langue
Caractères accentuésLes garder, et accepter les échappements pourcentLes retirer, et accepter la perteL'allemand mappe en ae/oe/ue/ss ; les cinq autres retirent l'accent
Séparateur de motsLe tiret — Google le recommande explicitementLe tiret — même réponse, rien à arbitrerLe tiret, l'apostrophe étant traitée comme une frontière
LongueurAussi long que le titre l'exigeCourt, pour n'avoir jamais à raccourcir plus tardPlafonné à 70 caractères ; les mots vides ne sautent qu'au-delà
Date dans le cheminUtile quand la page porte vraiment sur cette annéeJamais — cela garantit un renommage futurPas de date ; la date de publication vit dans la page et son schéma
Renommer un slugChaque fois que le titre s'amélioreJamais, dès que quelque chose y renvoieLibrement — l'identifiant ne bouge jamais, seul le segment public change
Générateur de slugTransforme un titre en slug propre et compatible URL.Essayer l'outil

Questions fréquentes

Changer un slug d'URL nuit-il au classement ?
Cela te coûte les liens accumulés si tu ne rediriges pas, et cela coûte un peu même si tu rediriges. La documentation de Google indique qu'une redirection permanente sert au pipeline d'indexation de signal que la cible doit être canonique, donc une redirection permanente correctement posée préserve le signal ; une redirection temporaire non, explicitement. Ce qui est irrécupérable, c'est tout ce qui ne suit pas les redirections — une URL imprimée, une citation codée en dur, une copie collée dans un document. La réponse honnête est que le renommage lui-même est bon marché et que la traîne de références cassées ne l'est pas : renomme quand l'ancien slug est réellement faux, pas quand le nouveau serait un peu plus joli.
Quelle longueur doit avoir un slug ?
Il n'y a pas de limite publiée : choisis-en une et applique-la. Ce site utilise 70 caractères, ce qui tient confortablement un titre dans les six langues tout en restant dans ce qu'un résultat et une barre d'adresse affichent sans tronquer sur un téléphone. Ce qui compte plus que le nombre exact, c'est l'ordre des opérations quand tu le dépasses : supprime d'abord le sous-titre après les deux-points, puis les mots vides, puis les mots de fin — et ne coupe jamais au milieu d'un mot, car un slug qui se termine par un fragment se lit comme un bug, pas comme une page.
Dois-je traduire mes slugs ou les garder en anglais ?
Traduis-les si tu as de vraies traductions de la page. Le guide de Google sur les URL recommande d'utiliser des mots dans la langue de ton audience, translittérés le cas échéant, et la raison est simple : un lecteur allemand qui atterrit sur une page allemande dont le chemin finit par un mot anglais s'est vu présenter deux noms pour une seule chose. Le mode d'échec à éviter est un chemin traduit à la machine sur une page par ailleurs anglaise — c'est pire que de ne pas y toucher. Dérive le slug du titre traduit que tu as déjà, pas d'une traduction séparée du slug lui-même.
Puis-je utiliser des caractères accentués ou non latins directement dans un slug ?
Techniquement oui — le navigateur les encode pour toi et le guide de Google dit simplement que les caractères non ASCII doivent être encodés en pourcent. Pratiquement, décide où l'URL sera lue. Dans une barre d'adresse, elle se redécode en forme accentuée et paraît très bien. En texte brut, non : un slug allemand de 27 caractères devient 37 caractères d'échappements, un slug cyrillique de 15 en devient 85, et un slug CJK de quatre en devient 36. Pour une langue en écriture latine, translittérer ou retirer l'accent achète de la lisibilité partout pour presque rien. Pour une écriture non latine, l'arbitrage est réellement plus dur, car retirer n'est pas une option et tes lecteurs ne verront de toute façon jamais la forme encodée dans leur propre navigateur.
Le motif identifiant + slug vaut-il le vilain numéro dans l'URL ?
Il en vaut la peine dès que les titres changent et que les liens comptent, ce qui décrit la plupart des contenus qui vivent plus d'un an. Le numéro achète la capacité de réécrire la partie lisible à volonté, sans redirection ni chaîne, car la résolution n'en a jamais dépendu. Le coût est un chemin qui a l'air généré par une machine. Ce site prend la voie médiane : l'identifiant est une chaîne lisible plutôt qu'un nombre, il n'apparaît pas du tout dans le chemin public, et le slug par langue lui est remappé — un titre renommé change donc six slugs publics et ne casse rien en interne.

Articles qui pourraient t'intéresser

Tous les guides
GuideBalises title, meta descriptions, et ce que les moteurs en fontCe que la documentation de Google dit réellement de la réécriture des titres et de la meta description, plutôt que ce qu'en dit le folklore SEO. Puis la partie mesurable : les titres sont tronqués à la largeur en pixels, si bien que deux titres de soixante caractères exactement peuvent s'afficher à 204,55 pixels d'écart et qu'un seul survit.GuideParamètres UTM : les cinq champs et la discipline qui les rend utilesChacun des cinq champs a un rôle, et l'attribution casse rarement sur le mécanisme : elle casse sur des valeurs incohérentes. Voici les règles de nommage, le piège de la casse et l'erreur des liens internes qui détruit l'attribution d'origine.ExplicationLa densité de mots-clés est une métrique morte, et voici ce qui l'a remplacéeLa densité comptait les occurrences parce que la recherche comptait les occurrences. TF-IDF, puis BM25 et sa courbe de saturation, puis les plongements l'ont remplacée. Voici la même page de 800 mots notée de trois façons, et pourquoi les trois divergent.GuideDonnées structurées : à quoi les moteurs de recherche s'en servent vraimentLe balisage schema.org achète une éligibilité à un résultat enrichi, jamais une garantie ni un gain de classement. Voici quels types produisent encore quelque chose de visible en 2026, ce qu'exige chacun, et la règle qui fait sanctionner les sites.ExplicationLes hashtags sont un index de recherche, pas un mégaphoneUn hashtag rend un post trouvable dans une requête, ce qui n'est pas le même travail que le faire circuler. Modélise la visibilité qu'un tag achète réellement et la réponse tombe : la valeur d'un tag vaut son nombre de spectateurs par post publié, pas son volume — un tag très populaire ne rapporte donc presque rien et un tag spécifique vingt-cinq fois plus.GuideTailles d'images sociales, et le seul cadrage qui survit partoutLes plateformes recadrent au lieu d'ajouter des bandes : une image n'est donc sûre que si son sujet tient dans l'intersection de tous les ratios auxquels elle sera montrée. Cette intersection a une forme close — le ratio le plus étroit divisé par le plus large — et elle vaut 29,45 % de la source pour un ensemble réaliste. Une géométrie qui ne périme pas, plus les comptes de pixels qui périment.

Outils similaires

Sources

Tu as repéré une erreur dans cet article ?