Alle Artikel

Slugify: beliebigen Text in eine URL verwandeln

Für deutsche Umlaute und ß gibt es in der Praxis zwei konkurrierende Slug-Konventionen, und beide sind weit verbreitet: die eine ersetzt ü/ö/ä einfach durch u/o/a (Grösse statt Größe wird zu grosse), die andere schreibt sie nach der offiziellen Umschrift für Namen und Pässe aus — ü→ue, ö→oe, ä→ae, ß→ss (gruesse). Welche Variante ein Tool wählt, ist reine Konvention, keine Vorschrift — aber sie verändert das Ergebnis spürbar.

Was die Slug-Umwandlung macht

  • Wandelt alle Buchstaben in Kleinschreibung um.
  • Ersetzt Leerzeichen und Satzzeichen durch Bindestriche.
  • Transliteriert Umlaute nach dem ue/oe/ae/ss-Schema und entfernt andere Zeichen außerhalb des Grundlatein.
  • Fasst wiederholte Bindestriche zusammen und entfernt Bindestriche am Anfang und Ende.

Zum Beispiel wird aus dem Titel „Hallo, Welt! Wie geht's?" etwas wie hallo-welt-wie-gehts.

Warum einfaches URL-Encoding nicht ausreicht

Percent-Encoding (etwa %C3%9F für „ß") ist in einer URL technisch gültig, aber für Menschen unlesbar und wirkt in der Adressleiste oder beim Teilen eines Links unseriös. Ein Slug löst genau das Lesbarkeitsproblem, nicht nur die technische Gültigkeit.

Wozu man das braucht

  • Die URL eines deutschsprachigen Blogartikels automatisch aus seinem Titel generieren.
  • Aus dem Namen eines Produkts einen lesbaren Bezeichner für einen Onlineshop erstellen.
  • Aus beliebigem Text einen Dateinamen oder eine CSS-Klasse bilden und dabei unzulässige Zeichen vermeiden.

Kollisionen: wenn unterschiedliche Titel denselben Slug ergeben

Die Titel „Hallo, Welt!" und „hallo welt" ergeben nach der Normalisierung (Kleinschreibung, Entfernen der Interpunktion) denselben Slug hallo-welt, obwohl die Ausgangstexte unterschiedlich sind. Wenn der Slug als eindeutiger Bezeichner verwendet wird (etwa in der URL eines Artikels), muss eine solche Kollision zusätzlich behandelt werden — typischerweise durch Anhängen eines numerischen Suffixes oder einer ID an das Duplikat.

Tool ausprobieren