EN
Settings

Choose how you want to view this website.

Language

Select your preferred language for this website.

Slug-uri românești: diacritice, unicitate și rute

Dezvoltare web și Laravel

Question · Ionel Nistor · 53 minutes ago · 4 views

dezvoltare url slug diacritice

Editorial knowledge-base article. This is not a simulated community conversation.

URL-urile prietenoase folosesc slug-uri derivate din titlu. Română introduce diacritice și coliziuni când două titluri diferite se transliterează identic. Întrebarea explorează generarea, unicitatea în DB și politica de redirect când editorul schimbă titlul, astfel încât link-urile partajate să rămână valide sau să fie înlocuite explicit.

Generare și normalizare



Helperul `Str::slug` transliterează și înlocuiește spațiile; verifică dacă păstrezi sau elimini diacriticele conform SEO dorit. Unele proiecte păstrează `ăâîșț` în URL dacă serverul și copy-link tratează encoding corect. Limita lungimii evită URL-uri fragmențate în clienti email. Caracterele interzise în path (`?`, `#`) trebuie eliminate înainte de salvare; validarea la input previne erori 400 la routare.

Unicitate la inserare



La creare, verifică existența slug-ului și adaugă sufix `-2`, `-3` sau hash scurt. Unique index pe coloană garantează integritatea sub concurență — prinde excepția și regenerează, nu te baza doar pe check-then-insert. Slug-ul poate rămâne stabil chiar dacă titlul se editează, ca să nu rupi link-uri externe. Observer Eloquent poate centraliza generarea, dar păstrează idempotenta la update parțial (doar body schimbat).

Rute și model binding



Ruta `{thread:slug}` rezolvă modelul după coloană non-id dacă configurezi getRouteKeyName. 404 apare când slug vechi nu mai există — păstrează tabel de redirect sau coloană `previous_slug` dacă politica e să actualizezi slug la rename. Cache-ul rutelor nu afectează binding-ul, dar schimbările de nume de parametri cer `route:clear`. Scope global pe model poate ascunde înregistrări draft — binding-ul returnează 404 corect, nu leak de conținut nepublicat.

Căutare și indexare externă



Slug-ul nu înlocuiește titlul vizibil în pagină; motoarele folosesc conținutul real. Evită schimbări frecvente de slug fără redirect 301. Pentru categorii, slug-uri scurte și stabile bat titluri marketing schimbătoare. Liste alfabetice pe slug transliterat pot diferi de sortarea după titlul afișat — documentează alegerea pentru moderatori.

Ionel Nistor · 53 minutes ago

Spune dacă slug-urile păstrează diacritice sau le transliterează — comportamentul diferă la copy/paste în unele clientele mail.

0 Helpful

Log in to post

Discussions in this category