Text Slugify (URL)

Ein professionelles Text-Slugify-Tool, das Text in URL-freundliche Slugs normalisiert. Unterstützt die Konvertierung in Kleinschreibung, benutzerdefinierte Trennzeichen und die Entfernung englischer Stoppwörter. Nutzt Unicode-Normalisierung für die meisten Sprachzeichen, um sicherzustellen, dass die generierten Slugs den SEO-Best Practices entsprechen. Ideal für Blogpost-URLs, Dateinamen, Datenbank-Identifier und andere Szenarien. Vollständig lokal verarbeitet zum Schutz Ihrer Privatsphäre – keine Registrierung erforderlich. Bietet detaillierte Nutzungsrichtlinien und Empfehlungen zu Best Practices, um hochwertige Slugs zu generieren.

Parameter & Eingabe

Empfehlung: Verwenden Sie - oder _, Länge 1–3 Zeichen

Ergebnis

Warum Slugify verwenden?

🔍 SEO-Optimierung

Keywords in URLs help search engines understand page content and improve rankings. For example, example.com/blog/how-to-learn-javascript is more effective than example.com/blog/123.

👁️ Lesbarkeit & Teilen

Nutzer können den Inhalt sofort aus der URL verstehen. Slugs sind besser für Social Media geeignet und leichter zu merken oder manuell einzugeben.

💻 Systemkompatibilität

Vermeiden Sie Fehler durch Sonderzeichen in Dateinamen oder URLs. Stellt plattformübergreifende Kompatibilität (Windows/Linux/macOS) sicher und verhindert Kodierungsprobleme.

🗄️ Datenbankfreundlich

Verwenden Sie sie als eindeutige Kennungen (z. B. Benutzernamen, Tags), um das Risiko von SQL-Injection-Angriffen zu reduzieren und die Indizierungs- sowie Abfrageleistung zu verbessern.

Was ist Slugify?

Ein Slug ist eine gekürzte, standardisierte Version eines Textes, die als URL, Dateiname oder Identifier verwendet wird. Zu den üblichen Verarbeitungsschritten gehören die Standardisierung der Groß-/Kleinschreibung, das Entfernen von Satzzeichen und das Verbinden von Wörtern mit Trennzeichen.

  • ASCII-Priorität: Akzente und Symbole entfernen, nur alphanumerische Zeichen und Leerzeichen beibehalten
  • Unicode-Kompatibilität: Normalisieren der meisten Sprachzeichen mittels NFKD vor der Verarbeitung
  • URL-Sicher: Ausgabe enthält nur Buchstaben, Zahlen und Trennzeichen – direkt in Pfaden verwendbar

Anwendungsfälle

Blog-Post-URLs

Wie lernt man JavaScript?

wie-lernt-man-javascript

Dateibenennung

Produktanforderungsdokument v2.0.docx

produktanforderungen-v2-0.docx

Datenbank-Kennung

Benutzer-Zhang San

benutzer-zhang-san

Häufig gestellte Fragen

F: Wie werden chinesische Zeichen behandelt?

A: Standardmäßig werden Diakritika entfernt und Pinyin-Buchstaben beibehalten. Reiner chinesischer Text kann leer werden; es wird empfohlen, ihn vor der Slug-Erstellung manuell in Pinyin umzuwandeln oder ein chinesisches Pinyin-Konvertierungstool zu verwenden.

F: Warum ist mein Ergebnis leer?

A: Ihre Eingabe besteht möglicherweise vollständig aus Satzzeichen, Symbolen oder Leerzeichen, oder alle Wörter wurden durch die Filterung von Stoppwörtern entfernt. Versuchen Sie, die Option für Stoppwörter zu deaktivieren oder Ihre Eingabe anzupassen.

F: Sollte ich - oder _ als Trennzeichen verwenden?

A: Für SEO verwenden Sie - (Bindestrich), da Google es wie ein Leerzeichen behandelt; _ (Unterstrich) wird als Verkettungszeichen betrachtet, was die Worttrennung erschwert. Für Dateinamen ist beides akzeptabel.

F: Gibt es eine Längenbegrenzung für Slugs?

A: Es gibt keine technische Begrenzung, aber es wird empfohlen, Slugs unter 50 Zeichen zu halten, um die URL-Anzeige und SEO zu verbessern. Übermäßig lange Slugs können von Suchmaschinen gekürzt werden.

Best Practices

Empfohlene Praktiken

  • ✓ Kurz halten (empfohlen: < 50 Zeichen)
  • ✓ Sonderzeichen vermeiden; nur Buchstaben, Zahlen und Trennzeichen verwenden
  • ✓ Kleinbuchstaben verwenden, um Groß-/Kleinschreibungsprobleme zu vermeiden
  • ✓ Stoppwörter entfernen, um die semantische Dichte zu verbessern

Diese Praktiken vermeiden

  • ✗ Keine sensiblen Informationen aufnehmen (z. B. IDs, E-Mail-Adressen, Passwörter)
  • ✗ Keine Sonderzeichen verwenden (z. B. @#$%^&*)
  • ✗ Leerzeichen oder aufeinanderfolgende Trennzeichen nicht beibehalten
  • ✗ Dasselbe Wort nicht wiederholen

Technische Details

Unicode-Normalisierung:

Verwendet NFKD-Dekomposition + Entfernen kombinierender Diakritika (\p{M}), wodurch Café in Cafe umgewandelt wird. Unterstützt die meisten lateinischen Schriftzeichen.

Liste der Stoppwörter:

Basierend auf häufigen englischen Wörtern (a/an/the/and/or/of/to/in/on/for/at/by/with); anpassbar. Chinesische Stoppwörter erfordern eine separate Behandlung.

Browser-Kompatibilität:

Erfordert ES6+ und Unterstützung für Unicode-Regex (\p{...}). Unterstützt von modernen Browsern: Chrome 64+, Firefox 78+, Safari 11.1+.

Wie generiert man einen Slug über eine Programmiersprache?

JavaScript

function slugify(text) {
  return text
    .toLowerCase()
    .normalize("NFKD")
    .replace(/[\u0300-\u036f]/g, "")
    .replace(/[^\w\s-]/g, "")
    .trim()
    .replace(/[\s_-]+/g, "-")
    .replace(/^-+|-+$/g, "");
}

PHP

function slugify($text) {
  $text = mb_strtolower($text);
  $text = iconv("UTF-8", "ASCII//TRANSLIT", $text);
  $text = preg_replace("/[^\w\s-]/", "", $text);
  $text = preg_replace("/[\s_-]+/", "-", $text);
  return trim($text, "-");
}

Python

import re
import unicodedata

def slugify(text):
    text = text.lower()
    text = unicodedata.normalize("NFKD", text)
    text = text.encode("ascii", "ignore").decode("ascii")
    text = re.sub(r"[^\w\s-]", "", text)
    text = re.sub(r"[\s_-]+", "-", text)
    return text.strip("-")

Go

import (
    "regexp"
    "strings"
    "golang.org/x/text/unicode/norm"
)

func Slugify(text string) string {
    text = strings.ToLower(text)
    text = norm.NFKD.String(text)
    re := regexp.MustCompile(`[^\w\s-]`)
    text = re.ReplaceAllString(text, "")
    re = regexp.MustCompile(`[\s_-]+`)
    text = re.ReplaceAllString(text, "-")
    return strings.Trim(text, "-")
}

Ruby

require "unicode"

def slugify(text)
  text = text.downcase
  text = Unicode.nfkd(text).gsub(/[^\x00-\x7F]/, "")
  text = text.gsub(/[^\w\s-]/, "")
  text = text.gsub(/[\s_-]+/, "-")
  text.strip.gsub(/^-+|-+$/, "")
end

Java

import java.text.Normalizer;

public static String slugify(String text) {
    text = text.toLowerCase();
    text = Normalizer.normalize(text, Normalizer.Form.NFKD);
    text = text.replaceAll("[^\\w\\s-]", "");
    text = text.replaceAll("[\\s_-]+", "-");
    return text.replaceAll("^-+|-+$", "");
}