Generator de Slugs URL

Transformați orice titlu într-un slug URL curat în browserul dvs. — unul câte unul sau o listă întreagă simultan. Standarde reale de transliterare pentru chirilice și diacritice, cu reguli editabile.

Completează textul pentru conversie
Opțiuni avansate

Slug-ul este acea parte finală, lizibilă, a unei adrese web — my-first-post din example.com/blog/my-first-post. Este partea pe care un utilizator o poate citi înainte de a decide dacă să dea clic și partea pe care un motor de căutare o citește ca pe o scurtă descriere a conținutului paginii, motiv pentru care merită mai multă atenție decât un simplu id de bază de date sau o dată. Acest generator gratuit transformă orice text într-unul: lipiți un titlu în „Text de convertit”, apăsați pe „Generează”, iar rezultatul va apărea cu un buton de copiere alături. Setările implicite sunt cele preferate de majoritatea site-urilor — litere mici, cratime între cuvinte, cuvintele de legătură eliminate, literele non-latine transliterate — astfel încât un slug utilizabil este la un clic distanță, iar fiecare dintre aceste decizii poate fi modificată oricând.

Totul se desfășoară pe propriul dispozitiv. Pagina încarcă un mic motor JavaScript și îl rulează local: titlurile dvs. nu sunt niciodată încărcate, niciodată înregistrate, iar instrumentul continuă să funcționeze chiar dacă conexiunea este oprită. Acesta este și motivul pentru care rezultatul se actualizează în momentul în care schimbați o setare. Merită menționată ordinea de execuție, deoarece ea face ca rezultatul să fie previzibil: un link inserat este redus mai întâi la ultimul său segment din cale, apoi textul este transformat în litere mici, apoi se elimină cuvintele de legătură, caracterele non-latine sunt transliterate, apoi numerele și caracterele speciale sunt eliminate dacă ați cerut acest lucru, ceea ce rămâne este unit prin separatorul ales, apoi rezultatul este tăiat la lungimea maximă și, în final, un duplicat primește un sufix numeric. „Text de convertit” acceptă până la 500.000 de caractere simultan, ceea ce reprezintă câteva mii de titluri de articole.

O linie introdusă, un slug la ieșire. Introduceți o listă întreagă de titluri, iar fiecare linie va deveni propriul său slug numerotat, având deasupra titlul original cu gri, astfel încât într-un set de cincizeci să puteți încă recunoaște cărui titlu îi aparține fiecare slug. O listă care există deja într-un fișier nu trebuie să mai treacă prin clipboard: „Încărcați din fișier”, butonul de lângă câmpul de introducere, deschide un fișier text simplu — .txt, .csv, .md, .json și altele similare — și îi adaugă conținutul în câmp. Browserul citește acel fișier exact așa cum citește ceea ce tastați, fără să fie încărcat nicăieri. „Separă intrarea prin” decide cum este tăiată lista. „Automat” este opțiunea prestabilită: o linie nouă separă întotdeauna elementele, în timp ce o virgulă le separă doar atunci când intrarea este o singură linie în care părțile arată ca niște valori de sine stătătoare — așadar „preț 3,5 milioane lei” și „Capitolul 5: rezultate, concluzii” rămân intacte în loc să fie tăiate în fragmente. „Linie nouă”, „Virgulă” și „Spațiu” forțează o opțiune atunci când cunoașteți deja formatul datelor. „Format de ieșire” decide cum va fi returnat un lot atunci când îl preluați — unul pe linie, separat prin spații sau separat prin virgule — și atât „Copiază tot” cât și „Salvează în fișier” respectă această setare. Sistemul „Istoric” păstrează ultimele 10 loturi în browser, așadar o listă convertită cu o oră în urmă este încă acolo.

Textul non-latin este partea pe care majoritatea generatoarelor de slugs o realizează doar aproximativ corect, și foarte puține exact. Un URL este cel mai sigur în format ASCII simplu, așadar literele chirilice, grecești, arabe, chinezești și literele europene cu diacritice trebuie convertite, iar singura întrebare reală este după ce regulă anume. Această pagină rezolvă problema în două straturi. Stratul general acoperă orice alfabet: o bibliotecă de transliterare cu o soluție ASCII rezonabilă pentru aproape orice caracter pe care îl puteți tasta, ceea ce se întâmplă atunci când opțiunea „Transliterare din” este setată pe „Automat (orice limbă)”. Stratul specific constă dintr-un set de tabele construite manual pentru limbile în care răspunsul generic nu este cel utilizat efectiv în țările respective; meniul „Transliterare din” listează limbile care au un tabel disponibil astăzi, iar setul se extinde pe măsură ce instrumentul adaugă noi limbi. Selectarea uneia dintre ele va încărca tabelul aferent într-o grilă editabilă sub opțiunea „Reguli de transliterare”, unde fiecare literă este un câmp de text pe care îl puteți modifica, iar butonul „Resetează regulile” o va aduce la starea inițială. Tabelul pentru ucraineană respectă Rezoluția Cabinetului de Miniștri nr. 55 din 2010, standardul tipărit în pașapoartele ucrainene, care include detalii ușor de omis: зг devine zgh în loc de zh pentru a fi diferit de ж; є, ї, й, ю și я adoptă o formă la începutul cuvântului și o alta în interior; iar apostroful și semnul moale sunt eliminate fără a crea un cuvânt nou, astfel încât Знам'янка devine znamianka, și nu znamyanka. Limba germană folosește în mod implicit varianta extinsă ä → ae, ö → oe, ü → ue, folosită de adresele germane reale, existând însă și varianta mai simplă ä → a, dacă o preferați.

Opțiunea „Elimină cuvintele de legătură” este activată implicit. Aceasta omite acele cuvinte mici de legătură — un, o, și, de, pentru — care prelungesc un slug fără a-i aduce sens. Lista de la rubrica „Cuvinte de legătură” este complet editabilă și vine deja completată: o listă în engleză la care se adaugă o listă pentru limba paginii pe care vă aflați, astfel încât pagina în română recunoaște și, în, la, de, pe. Adăugați cuvintele dvs., ștergeți-le pe cele pe care doriți să le păstrați sau dezactivați complet funcția, caz în care câmpul va deveni gri, în loc să pretindă că mai contează. Două note sincere despre acest aspect: eliminarea cuvintelor de legătură aduce un mic plus de ordine, nicidecum un impuls major în clasamentul motoarelor de căutare — veți obține o adresă mai scurtă și mai curată, nu o poziție superioară. În plus, dacă fiecare cuvânt dintr-un titlu se află în acea listă, rezultatul ar fi inexistent, așa că instrumentul vă anunță despre acest lucru în loc să vă returneze un câmp gol.

Celelalte comutatoare decid structura formei. „Separator în slug” alege ce va sta între cuvinte, iar alegerea implicită a cratimei nu ține doar de estetică: Google citește o cratimă ca pe un separator de cuvinte și o subliniere ca pe ceva ce le unește, așadar my_first_post ajunge la motorul de indexare ca un singur cuvânt lung, în timp ce my-first-post este văzut ca trei cuvinte. „Subliniere (_)” este prezent acolo pentru sistemele care insistă asupra acestui format. Opțiunea „Litere mici” este activată, deoarece majoritatea serverelor tratează adresele ca fiind sensibile la majuscule și minuscule, iar un mix al acestora este cea mai rapidă metodă de a obține două URL-uri pentru o singură pagină. „Elimină caracterele speciale” șterge absolut orice nu este o literă, o cifră, un spațiu, o cratimă sau o subliniere, acesta fiind modul în care punctuația, ghilimelele și emoji-urile sunt ținute la distanță de adrese — emoji-urile sunt eliminate în mod expres înaintea transliterării, astfel încât o rachetă să nu devină cuvântul rocket. „Elimină numerele” este oprit, deoarece un număr din titlu face de regulă parte din el. Câmpul „Lungime maximă” are limite între 10 și 200 și o valoare prestabilită de 80; când un slug devine mai lung decât atât, motorul îl va scurta în siguranță la ultimul cuvânt complet care se încadrează, evitând astfel o tăietură la mijlocul unui cuvânt. Cifra de lângă fiecare rezultat reprezintă lungimea sa în caractere și devine roșie după ce depășește pragul de 60 — aceasta nu este o limită fixă, ci mai degrabă punctul de la care un slug începe să fie tăiat în paginile de rezultate ale căutărilor și devine incomod la inserarea sa într-un mesaj.

Mai există două comutatoare care au scopul de a transforma o conversie în masă înapoi într-o sarcină rezolvată cu un singur clic. „Fă slugurile unice” acoperă cazul în care două titluri diferite se reduc la același slug — „Top 10 sfaturi” și „Top-10 sfaturi” devin ambele top-10-sfaturi — și îi atribuie celui de-al doilea un -2, iar celui de-al treilea un -3, micșorând mai întâi textul de bază dacă adăugarea sufixului ar forța limita de lungime. A avea două pagini la aceeași adresă este o problemă mult mai ieftin de rezolvat în această listă decât în CMS-ul dvs. Opțiunea „Preluare slug dintr-un URL inserat” acționează în direcția opusă: lipiți un link complet, iar instrumentul preia doar ultima porțiune a căii, elimină șirul de parametri de căutare (query string) precum și eventualele extensii .html sau .php, apoi decodifică șirurile procentuale; așadar, o adresă Wikipedia care se încheie cu %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 va fi returnată ca lviv și nu ca un șir de caractere hexazecimale. Aceasta va rula doar când linia respectivă este un link cap-coadă, astfel încât un URL citat în mijlocul unei fraze rămâne la locul său.

De ce să alegeți acest generator de slugs?

Slug-urile sunt necesare oriunde o pagină trebuie să aibă o adresă lizibilă. Un blog sau un site de știri transformă fiecare titlu într-un slug, și fix pentru această acțiune a fost construit acest instrument: adăugați toate titlurile săptămânii, obțineți toate URL-urile săptămânii. Un magazin online procedează la fel în privința numelor de produse și de categorii, de obicei în masă după un import, și de regulă într-o limbă al cărei alfabet nu încape într-o adresă web. Documentațiile și bazele de date cu resurse generează legături de tip ancoră și nume de fișiere în fix același mod. Trecând de adresele web, exact același șir curat este tot ceea ce vă doriți în cazul unui nume de fișier ce nu se va rupe odată ajuns pe alt sistem de operare, al unei chei dintr-o bază de date pe care o poate citi și o persoană în jurnalul de evenimente (log), al numelui unei ramuri din Git (branch), al denumirii unei imagini din arhiva media, sau al unui simplu identificator al unei secțiuni dintr-un generator de site-uri statice. Orice loc unde un nume care poate fi înțeles de om e forțat să supraviețuiască introducerii sale într-un câmp destinat exclusiv mașinilor este un loc în care slugul se simte ca acasă.

Există și câteva limite de care merită să țineți cont înainte de a vă baza pe el. Acesta este un generator, nu un validator: instrumentul nu verifică dacă acel slug este deja utilizat pe site-ul dvs., pentru că pur și simplu nu are de unde să știe care este conținutul acestuia — unicitatea pe care v-o oferă este garantată doar pentru lotul de cuvinte cu care lucrați chiar acum. Redirecționările cad de asemenea în sarcina dvs.; modificarea slug-ului care aparține unei pagini deja publicate atrage după sine și ruinarea vechii sale adrese, iar această responsabilitate aparține exclusiv CMS-ului pe care îl utilizați. Funcția „Salvează în fișier” vă oferă doar format de text simplu, nu CSV sau JSON. Scindarea automată a cuvintelor impune reguli cu privire la virgule care sunt viabile în mai toate scenariile posibile, dar nu neapărat și-n absolut toate, fiind exact motivul pentru care funcția „Separă intrarea prin” vă oferă ocazia să anulați acea selecție. Transliterarea este mai mult o convenție și mai puțin o formă de traducere propriu-zisă — München se transformă automat în muenchen, niciodată în Munich — motiv pentru care, odată ce pagina capătă o formă stabilită anterior, tocmai acea formă se va clasa permanent mult mai presus de absolut orice adaptare pur automată a sursei originale.

FAQ

Cum creez un slug de URL?

Lipiți titlul în câmpul „Text de convertit” și apăsați pe „Generează”. Rezultatul va apărea alături de un buton de copiere, convertit conform setărilor pe care majoritatea site-urilor le preferă: litere mici, cratime între cuvinte, cuvinte de legătură eliminate și litere non-latine transliterate. Fiecare dintre acestea are un comutator pe care îl puteți regla, iar secțiunea „Opțiuni avansate” conține restul setărilor — separatorul, lungimea maximă, lista cuvintelor de legătură și regulile de transliterare.

Pot converti o listă întreagă de titluri deodată?

Da. Lipiți până la 500.000 de caractere — câteva mii de titluri — sau extrageți-le direct dintr-un fișier folosind „Încărcați din fișier”, butonul de lângă câmpul de intrare, care citește fișierul direct în browser fără a-l încărca undeva. Fiecare linie devine propriul său slug numerotat, iar titlul original va apărea deasupra, pentru a le putea asocia. Funcția „Separă intrarea prin” dictează cum va fi împărțită lista, „Format de ieșire” alege dacă setul se întoarce ca linii distincte, valori separate prin spațiu sau valori separate prin virgule, iar „Copiază tot” și „Salvează în fișier” se aplică întregului set.

Cum tratează generatorul literele chirilice și pe cele cu diacritice?

Le transliterează în ASCII, folosind două straturi de procesare. Orice sistem de scriere — chirilic, grec, arab, chinez sau alfabet latin cu diacritice — este acoperit de o bibliotecă generală de transliterare, care este folosită de opțiunea „Automat (orice limbă)”. Peste acest nivel general se află tabele create manual pentru țările unde varianta generică nu se potrivește cu uzul real din viața de zi cu zi; meniul „Transliterare din” indică limbile care beneficiază de aceste tabele speciale astăzi. Alegeți una din ele, iar tabelul său se va încărca, permițându-vă editarea literă cu literă. Româna nu are nevoie de un tabel propriu: stratul general scrie ă → a, â → a, î → i, ș → s și ț → t, exact cum fac adresele românești — Ștefan devine stefan, iar piață devine piata. Scrierea mai veche cu sedilă (ş, ţ) dă același rezultat.

Ce standard de transliterare este folosit pentru ucraineană?

Rezoluția Cabinetului de Miniștri nr. 55 din 27 ianuarie 2010 — standardul utilizat la pașapoartele ucrainene. Această rezoluție se ocupă de părțile greu de transcris corect: зг devine zgh tocmai ca să poată fi distins de ж; literele є, ї, й, ю și я adoptă o formă anume când apar fix la începutul cuvântului și una total diferită la interior, iar apostroful sau chiar semnul moale sunt eliminate din start, fără să fragmenteze deloc cuvântul, așadar Знам'янка reiese clar drept znamianka mai degrabă decât znamyanka. De asemenea este oferită o a doua variantă, presărată cu ya, yu și yi, dacă sunteți mai degrabă adeptul unei perspective ceva mai simple din punct de vedere vizual.

Pot schimba modul în care este transliterată o anumită literă?

Da. Accesați secțiunea „Reguli de transliterare” și veți vedea cum absolut fiecare literă de pe tabel a fost transformată într-un câmp dedicat: introduceți caracterele dorite iar rezultatul va apărea instantaneu chiar pe măsură ce tastați. Ștergerea manuală a oricărui câmp elimină acea literă complet. Editările realizate astfel se păstrează automat, tocmai pentru data viitoare, în browser-ul utilizat, pe când comanda „Resetează regulile” reface acel tabel conform configurațiilor standard de la bun început, de fiecare dată când ați dori s-o preluați de la capăt.

Ce sunt cuvintele de legătură și ar trebui să le elimin?

Sunt acele cuvinte mici de legătură — un, o, și, de, pentru — care alungesc adresa web fără a o face mai clară. Eliminarea lor este activată implicit, iar lista de sub „Cuvinte de legătură” este editabilă, sosind pre-completată cu o listă în limba engleză și una destinată tocmai limbii paginii curente pe care vă aflați. Totuși, trebuie reținut cu onestitate beneficiul real: veți dobândi mai mult un link organizat și scurt, nicidecum propulsarea instantanee printre primele rezultate dintr-un motor de căutare. Atunci când absolut toate cuvintele pe care un titlu le încorporează sunt identificate pe respectiva listă, instrumentul vă va înștiința pe loc în loc să returneze un banal spațiu gol.

Ar trebui să folosesc cratime sau sublinieri într-un slug?

Cratimele, cu excepția cazului în care ceva din stiva dvs. tehnică necesită altfel. Google tratează cratima ca pe un separator între cuvinte și sublinierea ca pe un caracter care le unește, deci my_first_post este citit ca un singur cuvânt lung, în timp ce my-first-post este citit ca trei. Din acest motiv, generatorul este setat implicit pe cratimă; opțiunea „Separator în slug” oferă „Subliniere (_)” pentru sistemele care insistă asupra acestui format.

Cât de lung ar trebui să fie un slug de URL?

Suficient de scurt pentru a fi citit dintr-o privire — primele cuvinte poartă semnificația, iar restul este de obicei doar coada unei propoziții. Numărul de lângă fiecare rezultat este lungimea sa în caractere și devine roșu când trece de 60, punct în care rezultatele căutării încep să îl trunchieze și devine incomod de inserat într-un mesaj. „Lungime maximă” impune o limită absolută între 10 și 200 de caractere și este setat implicit pe 80.

Taie cuvintele în două atunci când slug-ul este prea lung?

Nu. Atunci când un slug depășește lungimea maximă, motorul caută înapoi spre ultimul cuvânt complet care se încadrează și execută tăietura chiar acolo, astfel încât un slug trunchiat se citește în continuare ca o serie de cuvinte întregi în loc să se oprească fix în mijlocul unei silabe. Aceeași regulă se aplică și atunci când unui duplicat îi este adăugat acel număr tip sufix: textul de bază este mai întâi scurtat adecvat încât un slug finisat să respecte permanent limitele fixate anterior.

Ce se întâmplă dacă două titluri produc același slug?

Opțiunea „Fă slugurile unice” este activată implicit și se ocupă de acest lucru: prima apariție păstrează slug-ul curat, a doua primește un -2, a treia un -3 și așa mai departe. Rezolvă cazul comun în care două titluri diferite se reduc la același lucru — „Top 10 sfaturi” și „Top-10 sfaturi” devin ambele top-10-sfaturi. Dezactivarea opțiunii vă oferă rezultatul brut, lăsând duplicatele intacte. Rețineți că unicitatea este garantată doar pentru lotul pe care tocmai l-ați convertit; instrumentul nu poate ști ce există deja pe site-ul dvs.

Pot lipi un URL în loc de un titlu?

Da. Opțiunea „Preluare slug dintr-un URL inserat” este activată implicit, iar atunci când o linie întreagă este un link, instrumentul extrage ultima parte a căii, elimină șirul de parametri și terminațiile .html sau .php și decodifică șirurile procentuale — astfel, o adresă Wikipedia care se termină cu %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 va returna lviv în loc de un șir de caractere hexazecimale. Se declanșează doar atunci când întreaga linie este un link, așadar un URL citat în interiorul unei fraze rămâne exact acolo unde este.

Textul meu este trimis către un server?

Nu. Conversia rulează în browserul dvs. ca JavaScript local. Nimic nu este încărcat, nimic nu este înregistrat, iar odată ce pagina s-a încărcat, continuă să funcționeze și fără o conexiune activă. Titlurile nepublicate, numele interne ale produselor și munca pentru clienți rămân pe computerul dvs., acesta fiind motivul practic pentru care un instrument local este preferat unuia bazat pe servere pentru acest tip specific de activitate.

De ce s-a împărțit propoziția mea în două sluguri?

Pentru că textul dvs. conținea o virgulă, iar opțiunea „Separă intrarea prin” era setată pe „Automat”. Acest mod consideră o linie nouă drept separator cert și virgula drept un separator probabil, și împarte pe virgule doar atunci când fragmentele de pe o singură linie arată toate ca niște valori izolate — o cifră zecimală ca 3,5 sau o frază care conține două puncte este menținută întreagă în mod deliberat. Atunci când un titlu este divizat deși nu ar trebui, setați „Separă intrarea prin” pe „Linie nouă”, iar intrarea va fi tăiată doar în locurile în care ați apăsat tasta Enter.