Slugificare Text (URL)
Un instrument profesional de slugificare a textului care normalizează textul în slugi prietenoase cu URL-ul, suportând conversia în litere mici, separatori personalizați și eliminarea cuvintelor obligatorii din limba engleză. Utilizează normalizare Unicode pentru a处理 majoritatea caracterelor lingvistice, asigurând că slugile generate respectă cele mai bune practici SEO. Ideal pentru URL-urile postărilor de blog, denumirea fișierelor, identificatorii din baze de date și alte scenarii. Procesare complet locală pentru a vă proteja confidențialitatea — nu este necesară înregistrare. Oferă îndrumări detaliate de utilizare și recomandări de bune practici pentru a vă ajuta să generați slugi de calitate superioară.
De Ce Să Utilizați Slugificarea?
🔍 Optimizare SEO
Cuvintele cheie din URL-uri ajută motoarele de căutare să înțeleagă conținutul paginii și să îmbunătățească clasamentul. De exemplu, example.com/blog/how-to-learn-javascript este mai eficient decât example.com/blog/123.
👁️ Lizibilitate și partajare
Utilizatorii pot înțelege instantaneu conținutul din URL. Slug-urile sunt mai ușor de partajat pe rețelele sociale și mai ușor de reținut sau tastat manual.
💻 Compatibilitate cu sistemul
Evită erorile cauzate de caracterele speciale din numele fișierelor sau URL-uri. Asigură compatibilitate între platforme (Windows/Linux/macOS) și previne problemele de codare.
🗄️ Prietenos cu baza de date
Sunt folosiți ca identificatori unici (de exemplu, nume de utilizator, etichete) pentru a reduce riscurile de injecție SQL și pentru a îmbunătăți performanța indexării și interogărilor.
Ce este Slugificarea?
O slug este o versiune scurtă, standardizată a textului utilizată ca URL, nume de fișier sau identificator. Procesarea comună include standardizarea cazului, eliminarea punctuației și unirea cuvintelor cu ajutorul separatorilor.
- Prioritate ASCII: Elimină accente și simboluri, păstrează doar caractere alfanumerice și spații
- Compatibil Unicode: Normalizează majoritatea caracterelor lingvistice utilizând NFKD înainte de procesare
- Sigur pentru URL: Ieșirea conține doar litere, numere și separatori — gata de utilizare directă în căi
Întrebări frecvente
Î: Cum sunt gestionate caracterele chinezești?
R: În mod implicit, diacriticele sunt eliminate și literele din pinyin sunt reținute. Textul pur chinezesc poate fi gol; se recomandă conversia manuală în pinyin înainte de slugificare, sau utilizarea unui instrument de conversie chineză-pinyin.
Î: De ce rezultatul meu este gol?
R: Este posibil ca introducerea dumneavoastră să fie formată în întregime din semne de punctuație, simboluri sau spații, sau toate cuvintele au fost eliminate prin filtrarea cuvintelor neimportante. Încercați să dezactivați opțiunea de cuvinte neimportante sau să ajustați introducerea.
Î: Ar trebui să folosesc - sau _ ca separator?
R: Pentru SEO, utilizați - (liniuță), deoarece Google o tratează ca un spațiu; _ (underscore) este tratat ca un simbol de concatenare, care împiedică separarea cuvintelor. Pentru numele fișierelor, oricare este acceptabil.
Î: Există o limită de lungime pentru slug-uri?
R: Nu există limită tehnică, dar se recomandă menținerea slug-urilor sub 50 de caractere pentru o afișare mai bună în URL și SEO. Slug-urile excesiv de lungi pot fi trunchiate de motoarele de căutare.
Cele mai bune practici
Practici recomandate
- ✓ Păstrează-l scurt (recomandat < 50 de caractere)
- ✓ Evită caracterele speciale; folosește doar litere, cifre și separatoare
- ✓ Folosește litere mici pentru a evita problemele de sensibilitate la majuscule/minuscule
- ✓ Elimină cuvintele de legătură pentru a îmbunătăți densitatea semantică
Evită Aceste Practici
- ✗ Nu include informații sensibile (de ex. ID-uri, e-mailuri, parole)
- ✗ Nu folosi caractere speciale (de ex. @#$%^&*)
- ✗ Nu lăsa spații sau separatoare consecutive
- ✗ Nu repeta același cuvânt
Detalii Tehnice
Folosește descompunere NFKD + eliminare diacriticelor combinate (\p{M}), convertind Café în Cafe. Suportă majoritatea caracterelor bazate pe latină.
Bazată pe cuvinte englezești comune (a/an/the/and/or/of/to/in/on/for/at/by/with); personalizabilă. Cuvintele de legătură în chineză necesită gestionare separată.
Necesită suport pentru ES6+ și expresii regulate Unicode (\p{...}). Susținute în browserele moderne: Chrome 64+, Firefox 78+, Safari 11.1+.
Cum se generează un slug printr-un limbaj de programare?
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("^-+|-+$", "");
}