Intermédiaire 8 min de lecture 25 janvier 2025

Slug SEO : créer des URL propres, lisibles et performantes

Tout fonctionne, mais vos URLs changent, vos pages dupliquent le trafic, ou Analytics sépare les statistiques. Le point commun ? Un slug SEO mal maîtrisé. C’est le morceau d’URL qui résume votre contenu. Bien construit, il augmente la compréhension, la stabilité et le référencement. Voici comment raisonner vos slugs pour éviter les pièges et gagner en clarté.

Qu'est-ce qu'un slug SEO ?

C’est la partie de l’URL qui identifie une page. Lisible, stable, sans caractères spéciaux, et optimisée pour l’indexation.

Les éléments essentiels d’un bon slug SEO :

1 Structure et lisibilité

Mots séparés par des tirets, minuscules, concis et explicites.

exemple: mon-article-etoile, categorie/astuces-seo

2 Caractères à éviter

Accents, espaces, majuscules, symboles, ponctuation ambiguë.

Éviter: é, à, ç, &, ?, =, _, ., —, ’, %

3 Normalisation et translittération

Remplacer les caractères accentués et homogénéiser les séparateurs.

é → e, ö → o, ñ → n
espace / _ / . / — → -
Trim des tirets en début/fin
minuscules systématiques

4 Contexte SEO et technique

Cohérence avec le titre, longueur maîtrisée, stabilité dans le temps.

Longueur conseillée: 35–60 caractères
Pas de paramètres UTM dans le slug
Slug unique et pérenne

Problèmes classiques

Copier-coller de titres non normalisés

Introduit des accents, apostrophes typographiques ou tirets longs dans le slug.

Variations invisibles qui cassent les URLs

Un tiret long (–) ou une apostrophe courbe (’) à la place du tiret - provoque des 404.

Changement de slug non redirigé

Sans 301, vous perdez le jus SEO et l’historique d’Analytics.

Slugs trop longs ou bourrés de mots-clés

Illisible, non cliquable et contre-productif pour l’expérience.

Exemple de problème courant :

# Deux slugs qui semblent identiques mais mènent à des URLs différentes
slug1 = "meilleur-cafe-paris"
slug2 = "meilleur–cafe–paris" # contient un tiret EN DASH U+2013
assert slug1 == slug2 # ❌ Faux: l’un 404, l’autre non

Symptômes qui doivent vous alerter

🚨 Signaux d'alarme

!
Des 404 apparaissent après une mise à jour de titre
!
Analytics montre plusieurs URLs pour une même page
!
Search Console détecte des contenus dupliqués cause de variantes d’URL
!
Changement d’encodage ou CMS insère des caractères spéciaux
!
Des tirets en double ou en fin de slug (- - ou -)

Comment les créer et les vérifier

Solution recommandée : Générateur de slug SEO

Notre outil vous aide à produire des slugs propres et cohérents. Il translittère les accents, uniformise les séparateurs et signale tout caractère non compatible URL.

✅ Normalisation instantanée

Minuscules, tirets simples, trim des extrémités, suppression des doublons

📊 Vérifications

Longueur, caractères réservés, collisions possibles et variations

🧹 Translittération

Gestion des accents, ligatures et apostrophes typographiques

💾 Export

Copie rapide et intégration dans votre CMS

Autres méthodes de vérification

Affichage dans l'éditeur

Activez l’affichage des caractères invisibles pour repérer les tirets longs et apostrophes courbes
Ajoutez un linter qui impose minuscules et tiret simple

En ligne de commande (Unix)

# Repérer les caractères non autorisés (autorise a-z, 0-9 et -)
grep -nP "[^a-z0-9\-]" slugs.txt
# Générer un slug depuis une chaîne UTF-8
echo "Été 2025 : promo!" | iconv -f UTF-8 -t ASCII//TRANSLIT | tr '[:upper:]' '[:lower:]' | sed -E "s/[^a-z0-9]+/-/g; s/^-+|-+$//g"
# Remplacer les tirets multiples par un seul
sed -E "s/-{2,}/-/g" page-slug.txt
# Vérifier la longueur (max 60)
awk 'length($0)>60 {print NR, length($0), $0}' slugs.txt

En code

JavaScript

const slugify = s => s
  .normalize('NFKD')
  .replace(/[\u0300-\u036f]/g, '')
  .toLowerCase()
  .replace(/[^a-z0-9]+/g, '-')
  .replace(/^-+|-+$/g, '');
// slugify("Été 2025 : promo!") => "ete-2025-promo"

Python

import re, unicodedata
def slugify(s: str) -> str:
  s = unicodedata.normalize('NFKD', s)
  s = ''.join(c for c in s if not unicodedata.combining(c))
  s = s.lower()
  s = re.sub(r'[^a-z0-9]+', '-', s)
  return s.strip('-')

Excel / Google Sheets

=MINUSCULE(REGEXREPLACE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(SUBSTITUE(A1;"é";"e");"è";"e");"à";"a");"ù";"u");"ç";"c");"[^a-z0-9]+";"-"))

Nettoyer et prévenir

🚀 Solution rapide pour vos slugs

Avant d’écrire des scripts, utilisez notre outil pour générer un slug SEO propre en un clic :

Translittération automatique
Nettoyage des séparateurs
Copie immédiate

Méthodes techniques avancées

🔧 Normaliser

Appliquez Unicode NFKD puis supprimez les diacritiques
Forcer minuscules et remapper tous les séparateurs en tiret -
Limiter la longueur et supprimer les stop-words si nécessaire

🧹 Filtrer

Supprimer les tirets en double et en extrémité
Bloquer les caractères réservés et les espaces
Décoder/encoder proprement si vous manipulez des URLs complètes

⚙️ Automatiser

Hook pre-commit qui refuse les slugs non conformes
Test d’unicité en base et cartes de redirection 301
Lint SEO dans la CI pour valider longueur et caractères

Checklist rapide

Minuscules + tirets simples, pas d’accents ni symboles
Longueur maîtrisée (35–60 caractères quand possible)
Translittération et normalisation Unicode appliquées
Aucune variation avec tiret long ou apostrophe courbe
Redirections 301 configurées après tout changement de slug
Sitemap et canonicals alignés avec le slug final

Conclusion

Le slug SEO est un détail qui change tout. Bien travaillé, il clarifie vos URLs, simplifie l’analyse et renforce la compréhension des moteurs.

Standardisez vos règles, automatisez la normalisation et vous éviterez l’essentiel des soucis de 404, duplication et incohérences de données.

Optimisez vos slugs SEO maintenant

Utilisez notre outil pour créer, vérifier et nettoyer vos slugs en quelques secondes.

Générer un slug SEO