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?
- Doar în browser: titlurile nu sunt niciodată încărcate, iar pagina funcționează offline
- Conversie în masă dintr-un text lipit sau un fișier, având titlul sursă deasupra fiecărui slug
- Standarde reale de transliterare pentru fiecare limbă, nu o tabelă unică, generică
- Ucraineană conform Rezoluției nr. 55 din 2010 — grafia folosită în pașapoarte
- Toate regulile sunt editabile, literă cu literă, cu un buton de resetare rapidă
- Sufixe automate -2 și -3, astfel încât niciun slug dintr-un lot nu se va suprapune
- Inserați un link și extrageți slug-ul direct din el, cu parametrii decodați
- O listă de cuvinte de legătură editabilă, furnizată gata completată pentru limba dvs.
- Scurtarea în siguranță la un cuvânt complet, având afișat numărul de caractere
- Gratuit și nelimitat: fără înregistrare, fără cote, nimic păstrat pe serverele noastre
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.