Tekst Slugify (URL)
Een professionele tekst-slugify-tool die tekst normaliseert tot URL-vriendelijke slugs, ondersteund door kleine letters omzetten, aangepaste scheidingstekens en Engels stopwoorden verwijderen. Gebruikt Unicode-normalisatie om tekens uit de meeste talen te verwerken, zodat gegenereerde slugs voldoen aan de SEO-beste praktijken. Ideaal voor blogpost-URL's, bestandsnaamen, database-identificatoren en andere scenario's. Wordt volledig lokaal verwerkt voor je privacy—geen registratie vereist. Biedt gedetailleerde gebruiksrichtlijnen en aanbevelingen voor beste praktijken om je te helpen hoogwaardige slugs te genereren.
Waarom Slugify gebruiken?
🔍 SEO-optimalisatie
Trefwoorden in URL’s helpen zoekmachines de paginainhoud te begrijpen en de rangschikking te verbeteren. Zo is example.com/blog/how-to-learn-javascript effectiever dan example.com/blog/123.
👁️ Leesbaarheid en deelbaarheid
Gebruikers kunnen de inhoud direct uit de URL afleiden. Slugs zijn beter te delen op sociale media en eenvoudiger te onthouden of handmatig in te typen.
💻 Systeemcompatibiliteit
Voorkom fouten veroorzaakt door speciale tekens in bestandsnamen of URL’s. Zorgt voor compatibiliteit tussen verschillende platformen (Windows/Linux/macOS) en voorkomt coderingsissues.
🗄️ Databankvriendelijk
Wordt gebruikt als unieke identificatoren (bijv. gebruikersnamen, tags) om SQL-injectierisico’s te verminderen en de indexerings- en queryprestaties te verbeteren.
Wat is Slugify?
Een slug is een verkorte, gestandaardiseerde tekstversie die wordt gebruikt als URL, bestandsnaam of identificator. Veelvoorkomende verwerkingen zijn standaardisatie van de lettercase, verwijderen van leestekens en het samenvoegen van woorden met scheidingstekens.
- ASCII-voorrang: Verwijder accenten en symbolen, houd alleen alfanumerieke tekens en spaties over
- Unicode-compatibel: Normaliseer tekens uit de meeste talen met NFKD voor verwerking
- URL-veilig: Uitvoer bevat alleen letters, cijfers en scheidingstekens—direct bruikbaar in paden
Veelgestelde vragen
V: Hoe worden Chinese tekens verwerkt?
A: Standaard worden diakrieten verwijderd en pinyin-letters behouden. Zuivere Chinese tekst kan leeg worden; het wordt aanbevolen om handmatig naar pinyin om te zetten voordat je slugs maakt, of een Chinese pinyin-conversietool te gebruiken.
V: Waarom is mijn resultaat leeg?
A: Je invoer kan geheel uit interpunctie, symbolen of spaties bestaan, of alle woorden zijn verwijderd door stopwoordfiltering. Probeer de stopwoordoptie uit te schakelen of je invoer aan te passen.
V: Moet ik - of _ als scheidingsteken gebruiken?
A: Voor SEO gebruik je - (koppelteken), omdat Google dit als spatie beschouwt; _ (laag streepje) wordt gezien als een samenvoegingssymbool, waardoor woordscheiding wordt belemmerd. Voor bestandsnamen is beide acceptabel.
V: Is er een lengtebeperking voor slugs?
A: Er is geen technische beperking, maar het wordt aanbevolen om slugs korter dan 50 tekens te houden voor een betere weergave in URL en SEO. Te lange slugs kunnen door zoekmachines worden afgekapt.
Aanbevolen werkwijzen
Aanbevolen werkwijzen
- ✓ Houd het kort (aanbevolen < 50 tekens)
- ✓ Vermijd speciale tekens; gebruik alleen letters, cijfers en scheidingstekens
- ✓ Gebruik kleine letters om problemen met hoofdlettergevoeligheid te voorkomen
- ✓ Verwijder stopwoorden om de semantische dichtheid te verbeteren
Deze praktijken vermijden
- ✗ Neem geen gevoelige informatie op (bijv. ID's, e-mails, wachtwoorden)
- ✗ Gebruik geen speciale tekens (bijv. @#$%^&*)
- ✗ Behoud geen spaties of opeenvolgende scheidingstekens
- ✗ Herhaal hetzelfde woord niet
Technische details
Maakt gebruik van NFKD-ontleding + verwijdering van combinatietekens voor diakritiek (\p{M}), waardoor Café wordt omgezet naar Cafe. Ondersteunt de meeste op Latijn gebaseerde tekens.
Gebaseerd op veelgebruikte Engelse woorden (a/an/the/and/or/of/to/in/on/for/at/by/with); aanpasbaar. Chinese stopwoorden vereist aparte verwerking.
Vereist ES6+ en Unicode-regex-ondersteuning (\p{...}). Ondersteund in moderne browsers: Chrome 64+, Firefox 78+, Safari 11.1+.
Hoe genereer je een slug via een programmeertaal?
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("^-+|-+$", "");
}