ForHosting KIT · Données et fichiers

Convertissez une liste de titres en slugs URL uniques

Transformez toute une liste de titres en slugs uniques pour adresses web en une fois : « Hello World » et « Hello, World! » deviennent hello-world et hello-world-2, et « Café Guide » devient cafe-guide. L'ordre de votre liste ne change pas. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Titres
Hello World, Hello, World!, Café Guide, Cafe Guide, Release 2
Vous obtenez
Slugs
hello-world, hello-world-2, cafe-guide, cafe-guide-2, release-2
Quantité
5

Cet outil convertit en une requête déterministe une liste ordonnée de titres de pages, d’articles, de produits ou d’autres rubriques en slugs adaptés aux URL. Il met le texte en minuscules, retire les accents latins courants, remplace les espaces et la ponctuation par des traits d’union et conserve les chiffres. Si deux titres donnent la même base, le résultat suivant reçoit un suffixe numérique croissant. L’ordre initial reste intact afin que vous puissiez aligner facilement la sortie sur un import, une file éditoriale ou une migration.

Créez un slug propre pour chaque titre

Fournissez les titres dans l’ordre exact où vous souhaitez recevoir les résultats. Chaque titre devient un composant URL compact : les majuscules passent en minuscules, les signes diacritiques latins courants sont supprimés et chaque suite d’espaces ou de signes de ponctuation devient un seul trait d’union. Les séparateurs placés aux extrémités disparaissent, tandis que les chiffres sont conservés pour les versions, chapitres, années et éditions.

L’opération exige de véritables chaînes et ne convertit pas silencieusement les objets, booléens ou nombres, car cette coercition pourrait produire des routes crédibles mais fausses. Tout titre doit fournir au moins une lettre ASCII ou un chiffre après normalisation. La réponse contient le tableau des slugs dans le même ordre et leur nombre, ce qui vous permet de vérifier chaque correspondance.

Aucune donnée externe n’est recherchée, stockée, réordonnée ou déduite ; une entrée identique produit toujours une sortie identique.

Résolvez les collisions sans perdre l’ordre

Des titres différents peuvent se normaliser en un même slug, puisque la casse, les accents, les espaces répétés et la ponctuation cessent de les distinguer. La première occurrence conserve la base ; les suivantes reçoivent -2, -3, puis des suffixes croissants. L’unicité est contrôlée par rapport à tous les slugs déjà émis, et non par un simple décompte des textes sources identiques.

Ce point est essentiel lorsqu’un titre se termine naturellement par un nombre ou lorsque plusieurs graphies convergent. Le traitement de gauche à droite accorde une priorité explicite à l’ordre d’entrée et rend les relances reproductibles. Si une priorité éditoriale existe, placez en premier le titre qui doit conserver la forme sans suffixe.

L’outil n’examine ni votre site ni votre base de données ; incluez donc les titres existants utiles ou comparez la sortie à votre registre de slugs réservés avant d’enregistrer les routes.

Exploitez le résultat sans risque lors de la publication

La sortie groupée convient particulièrement à l’interface entre des données éditoriales et un gestionnaire de contenu. Conservez chaque slug auprès de sa ligne source au lieu de trier le tableau séparément : la correspondance par position permet à un import, un script de migration ou un générateur de site statique d’affecter la bonne route. Validez toute la requête avant de persister des changements, car un seul titre invalide rejette l’opération entière et empêche une migration partielle.

L’algorithme vise des composants URL ASCII prudents. Il ne translittère pas tous les systèmes d’écriture, ne choisit pas de mots-clés, ne raccourcit pas les titres et ne garantit pas l’unicité face aux enregistrements absents. Archivez ensemble titres et slugs pour contrôler les redirections futures.

Préparez un import dans un CMS

Générez un composant de route unique pour chaque titre ordonné avant l’insertion groupée d’articles ou de pages.

Migrez des archives éditoriales

Normalisez les anciens titres et repérez les suffixes de collision tout en conservant l’alignement avec l’export source.

Construisez les routes d’un site statique

Créez des noms de fichiers ou des segments déterministes pour une collection durant un processus reproductible.

Que se passe-t-il si deux titres donnent le même slug ?

Le premier conserve la base ; les collisions suivantes reçoivent des suffixes croissants comme -2, -3 et -4.

La sortie respecte-t-elle l’ordre d’entrée ?

Oui. Chaque slug occupe la position de son titre source et le compteur indique le nombre produit.

Les slugs déjà utilisés sur mon site sont-ils vérifiés ?

Non. L’unicité concerne uniquement la liste transmise ; aucun accès à votre site, CMS ou base de données n’a lieu.

Pourquoi un titre a-t-il été refusé ?

Chaque élément doit être une chaîne produisant au moins une lettre ASCII ou un chiffre après normalisation.

Que deviennent les accents, les majuscules et la ponctuation dans un slug ?

Les majuscules passent en minuscules, les accents latins courants sont retirés et chaque suite d'espaces ou de signes devient un seul trait d'union. Les traits d'union en début ou en fin disparaissent, et les chiffres restent, ce qui sert pour les chapitres, les années ou les éditions.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/data/slugify-batch

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/data/slugify-batch \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"titles":["Getting Started","Getting Started","API Reference"]}'
{
  "titles": [
    "Getting Started",
    "Getting Started",
    "API Reference"
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.slugify_batch",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_items10000
max_chars_per_title10000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Exploitez le résultat sans risque lors de la publication

Pour l’automatisation, chaque requête coûte $0.002 ; la même logique déterministe peut être testée dans le navigateur.

Quel est le coût d’une requête ?

Le tarif de l’API est de $0.002 par requête, même lorsque des titres entrent en collision.

Consulter la documentation complète du KIT →