URL Slug Generator

Pretvorite bilo koji naslov u čist URL slug direktno u pretraživaču — jedan po jedan ili cijelu listu odjednom. Siguran alat sa pravilima koja možete mijenjati. Vaši podaci se nikad ne šalju na server.

Unesite tekst za pretvorbu
Napredne opcije

Slug je čitljivi kraj web adrese — ono my-first-post u example.com/blog/my-first-post. To je dio koji osoba može pročitati prije nego što odluči hoće li kliknuti, i dio koji pretraživači čitaju kao kratak opis onoga što stranica sadrži, zbog čega zaslužuje više pažnje od ID-ja u bazi podataka ili datuma. Ovaj besplatni generator pretvara bilo koji tekst u slug: zalijepite naslov u "Tekst za pretvaranje", pritisnite "Generiši", a rezultat će se pojaviti s dugmetom za kopiranje pored njega. Zadane postavke su one koje većina web stranica želi — mala slova, crtice između riječi, uklanjanje uobičajenih riječi, transliteracija ne-latiničnih slova — tako da je upotrebljiv slug udaljen samo jedan klik, a svaku od ovih odluka možete promijeniti jednim klikom.

Sve se odvija na vašem vlastitom uređaju. Stranica učitava mali JavaScript endžin (engine) i pokreće ga lokalno: vaši naslovi se nikada ne šalju na server, nikad se ne bilježe, a alat nastavlja raditi i ako prekinete internet vezu. To je ujedno i razlog zašto se rezultat osvježava onog trenutka kada promijenite neku postavku. Redoslijed rada je važno navesti jer on omogućava predvidljiv rezultat: zalijepljeni link se prvo skraćuje na svoj zadnji dio putanje, zatim se tekst pretvara u mala slova, onda se odbacuju stop-riječi, nakon toga se ne-latinični znakovi transliteriraju, onda se brojevi i specijalni znakovi uklanjaju ako ste to tražili, pa se sve što ostane spaja vašim separatorom, potom se rezultat skraćuje na maksimalnu dužinu, i na kraju ponovljeni slug dobija numerički sufiks. "Tekst za pretvaranje" prihvata do 500.000 znakova odjednom, što odgovara nekoliko hiljada naslova članaka.

Jedna linija na ulazu daje jedan slug na izlazu. Ako zalijepite cijelu listu naslova, svaka linija postaje vlastiti numerisani slug, sa originalnim naslovom iz kojeg je nastao prikazanim iznad u sivoj boji, tako da u seriji od pedeset stavki lako znate koji slug pripada kojem naslovu. Lista koja se već nalazi u datoteci ne mora ići preko međuspremnika (clipboard): dugme "Učitaj iz datoteke" pored polja za unos otvara običnu tekstualnu datoteku — .txt, .csv, .md, .json i slično — i prebacuje njen sadržaj u polje. Vaš pretraživač čita tu datoteku potpuno isto kao što čita ono što vi kucate, bez ikakvog učitavanja na server. "Podijeli unos po" odlučuje na koji način će se lista razdvojiti. Opcija "Automatski" je zadana: novi red uvijek odvaja stavke, dok ih zarez odvaja samo kada je unos u jednoj liniji, a njegovi dijelovi izgledaju kao nezavisne vrijednosti — tako da "cijena 3,5 KM" i "Poglavlje 5: rezultati, zaključci" ostaju cjeloviti umjesto da se raspadnu. Opcije "Novi red", "Zarez" i "Razmak" prisiljavaju alat na određeni izbor kad već unaprijed znate oblik vaših podataka. "Format rezultata" odlučuje kako se serija vraća kada je preuzimate — po jedan u svakoj liniji, "Odvojeno razmacima" ili "Odvojeno zarezima" — a opcije "Kopiraj sve" i "Sačuvaj u datoteku" prate to pravilo. "Historija" čuva vaših zadnjih 10 serija u vašem pretraživaču, tako da je lista koju ste obradili prije sat vremena još uvijek tu.

Ne-latinični tekst je dio koji većina generatora slugova uradi donekle tačno, a rijetko koji potpuno ispravno. URL je najsigurniji u običnom ASCII formatu, tako da se ćirilica, grčko pismo, arapsko, kinesko i evropska slova s akcentima moraju konvertovati, a jedino je pitanje prema kojem pravilu. Ova stranica na to odgovara kroz dva sloja. Opšti sloj pokriva sva pisma: to je biblioteka za transliteraciju koja daje logičan ASCII odgovor za gotovo svaki znak koji možete otkucati, i upravo to znači opcija "Automatski (bilo koji jezik)" u meniju "Transliteriraj iz". Specifični sloj je set ručno pravljenih tabela za jezike kod kojih opšti odgovor nije onaj koji se u tim zemljama zaista koristi; pomenuti meni nabraja jezike za koje trenutno postoji tabela, a taj set raste kako alat obuhvata više jezika koji ih trebaju. Ako odaberete jedan, njegova tabela se učitava u tabelu pod "Pravila transliteracije" gdje svaki znak postaje polje za tekst koje možete izmijeniti, a opcija "Vrati pravila na zadana" ih vraća u početno stanje. Ukrajinska tabela prati Rezoluciju Vijeća ministara br. 55 iz 2010. godine, što je standard koji se koristi u njihovim pasošima, uključujući i sitnice koje se lako mogu propustiti: зг postaje zgh umjesto zh kako bi ostalo jasno odvojeno od ж; є, ї, й, ю i я imaju jedan oblik na početku riječi a drugi u sredini; te se apostrof i meki znak izostavljaju a da ne započinju novu riječ, tako da Знам'янка postaje znamianka a ne znamyanka. Njemački jezik zadano proširuje slova u ä → ae, ö → oe, ü → ue, što se na njemačkim adresama zaista i koristi, s jednostavnijom varijantom ä → a ako vam je draža.

"Ukloni stop-riječi" je uključeno prema zadanim postavkama. Opcija odbacuje male vezne riječi — (na engleskom) a, the, and, of, for — koje produžuju slug bez dodavanja ikakvog značenja. Lista pod "Stop-riječi" je u potpunosti promjenjiva i stiže već popunjena: engleska lista plus lista za jezik stranice na kojoj se nalazite, tako da ukrajinska stranica prepoznaje в, на, та i і, a njemačka stranica der, die i das. Možete dodati vlastite riječi, obrisati one koje želite zadržati, ili potpuno ugasiti ovu funkciju, nakon čega će to polje postati sivo. Ovdje vrijede dvije iskrene napomene. Uklanjanje stop-riječi donosi malo više urednosti, a ne prednost u rangiranju — dobit ćete kraću i čišću adresu, ali ne nužno i bolju poziciju na pretraživačima. A ako se desi da su sve riječi u naslovu na toj listi, pošten ishod nije ništa, pa će vam alat to i reći umjesto da vam ponudi prazno polje.

Ostali prekidači odlučuju o obliku. "Separator u slugu" bira šta će stajati između riječi, a zadana crtica nije pitanje ukusa: Google čita crticu kao odvajač riječi, a donju crtu kao znak koji ih spaja, pa tako my_first_post do Googlebota dolazi kao jedna duga riječ, dok my-first-post dolazi kao tri riječi. "Donja crta (_)" je tu za sisteme koji to izričito zahtijevaju. "Mala slova" su uključena jer većina servera tretira web adrese tako da razlikuju velika i mala slova (case-sensitive), a njihovo miješanje je jednostavan put da završite sa dva URL-a za jednu stranicu. "Ukloni specijalne znakove" odbacuje sve što nije slovo, cifra, razmak, crtica ili donja crta, što znakove interpunkcije, navodnike i emojije drži van adrese — emojiji se uklanjaju prije same transliteracije, i to posebno zato da emoji rakete ne bi postao riječ rocket. "Ukloni brojeve" je isključeno, jer broj u naslovu obično predstavlja sastavni dio naslova. "Maksimalna dužina" se kreće od 10 do 200, pri čemu je zadanih 80; kada je slug duži od toga, alat se zaustavi na zadnjoj cijeloj riječi koja se uklapa u to umjesto da riječ siječe na pola. Broj pored svakog rezultata označava njegovu dužinu u znakovima, a pocrveni kada pređe 60 — to nije čvrsto ograničenje, već tačka nakon koje će slug na rezultatima pretrage biti skraćen, i kad ga postaje nezgodno zalijepiti u poruku.

Postoje još dva prekidača koji grupnu konverziju vraćaju u posao završen jednim klikom. "Učini slugove jedinstvenim" rješava situaciju kad se dva različita naslova pretvore u isti slug — "Top 10 savjeta" i "Top-10 savjeta" oboje postaju top-10-savjeta — tako što drugom doda -2, trećem -3, pri čemu se baza prvo skrati ako bi joj dodatak premašio postavljenu maksimalnu dužinu. Problem s dvije stranice na istoj adresi daleko je jeftiniji za prepoznati u ovoj listi nego u vašem CMS-u. "Preuzmi slug iz zalijepljenog URL-a" radi u suprotnom smjeru: zalijepite cijeli link i alat će izvući samo onaj zadnji dio putanje, odbaciti dodatne upite (query string) i završetke poput .html ili .php, te dekodirati procenat-kodiranje (percent-encoding), tako da se Wikipedia link koji se završava na %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 vrati kao lviv umjesto niza heksadecimalnih znakova. Alat se pokreće jedino u slučaju kada cijela linija predstavlja samo link, dok se link ubačen u samu rečenicu tretira kao i svaki obični tekst.

Zašto odabrati ovaj generator slugova?

Slugovi su potrebni gdje god web stranica mora nositi čitljivu adresu. Blog ili portal pretvara svaki naslov u slug, a alat je prvenstveno oblikovan u te svrhe: zalijepite ovosedmične naslove, dobit ćete ovosedmične URL-ove. Internet trgovine na isti način obrade nazive artikala i kategorija, uglavnom grupno nakon uvoza baze i često s jezika čija slova u adresi nisu dozvoljena. Dokumentacija i baze znanja iste principe koriste za sidra (anchors) i nazive datoteka. Osim za web adrese, isti čist format stringa će vam zatrebati za ime fajla koje neće pucati na drugom operativnom sistemu, za ključ u bazi podataka koji čovjek može pročitati u logu, za naziv grane, za naziv slike u medijskoj biblioteci, ili za identifikator neke sekcije u generatoru statičnih stranica. Gdje god naziv razumljiv čovjeku treba opstati nakon što ga smjestite u polje koje čita mašina, tu slug pripada.

Potrebno je poznavati nekoliko ograničenja prije nego što se oslonite na njega. Ovo je generator, a ne validator: on neće provjeravati je li slug već iskorišten na vašoj web stranici jer on nema blage veze o sadržaju na njoj — garantovana jedinstvenost odnosi se samo na onu seriju teksta koja se nalazi pred vama. Preusmjeravanja (redirects) su također vaš posao; izmjenom sluga na objavljenoj stranici narušit ćete staru adresu, a to je ipak odluka za vaš CMS, a ne za ovaj alat. "Sačuvaj u datoteku" piše u običnom tekstu, a ne u CSV-u ili JSON-u. Automatsko razdvajanje teksta donosi procjenu oko zareza koja je potpuno ispravna u gotovo svim situacijama, ali ne i u svakom slučaju, zbog čega opcija "Podijeli unos po" omogućava da vi imate završnu riječ. A transliteracija je pravilo, a ne prijevod — München postaje muenchen, a ne Munich — pa ukoliko neka stranica već posjeduje ustaljeno ime na ciljnom jeziku, to će ime zasigurno biti puno kvalitetniji slug negoli bilo kakva automatska konverzija onog originalnog.

FAQ

Kako da kreiram URL slug?

Zalijepite naslov u "Tekst za pretvaranje" i pritisnite "Generiši". Rezultat se pojavljuje sa tipkom za kopiranje sa strane, konvertovan s postavkama koje traži najveći broj stranica: mala slova, crtice umjesto razmaka, uklonjene nebitne riječi i transliterisana ne-latinična slova. Svaku od tih postavki uključujete jednim prekidačem, a "Napredne opcije" čuvaju ono preostalo — vrstu separatora, maksimalnu dužinu, listu stop-riječi te i pravila same transliteracije.

Mogu li konvertovati cijelu listu naslova odjednom?

Da. Zalijepite do 500.000 znakova — nekoliko hiljada naslova — ili ih direktno učitajte preko dugmeta "Učitaj iz datoteke" pored polja za unos, što učitava dokument u vaš pretraživač bez da ga uopšte šalje negdje. Svaka linija se preobražava u zaseban, numerisani slug, pri čemu će originalni naslov biti očuvan iznad, pa je sasvim lako da ih međusobno uparite. "Podijeli unos po" kontroliše kako će lista biti razdvojena, "Format rezultata" odlučuje hoće li vam obrada stići kao zasebni redovi, s razmakom ili zarezom između, a komande "Kopiraj sve" te i "Sačuvaj u datoteku" hvataju čitav taj proces odjednom.

Kako generator podnosi bosanska slova?

Alat to radi automatski u generalnom sloju. Transliteracija već savršeno poznaje ovaj jezik i vraća slova u obliku u kom se koriste u web adresama, pa tako čaršija postaje carsija, ćevapi postaje cevapi, džamija postaje dzamija, i Žepče postaje zepce. Za ovaj jezik nije potrebna ni odabrana posebna tabela, a to upravo označava opcija "Automatski (bilo koji jezik)" kojom je zadano polje "Transliteriraj iz". Sve se pretvara u ispravni ASCII, pa možete odmah koristiti generisane slugove.

Koji standard za transliteraciju se koristi za ukrajinski jezik?

Rezolucija Vijeća ministara br. 55 od 27. januara 2010. godine — to je standard koji se koristi u ukrajinskim pasošima. U nju ulaze dijelovi u kojima se vrlo lako napravi kakva sitna greška: зг postaje zgh kako bi ostalo odvojeno od ж, znakovi є, ї, й, ю i я poprimaju jednu formu pri nastanku riječi a drugu posred nje, dok se apostrof te i onaj meki znak brišu bez ikakvog započinjanja neke nove riječi, s obzirom na to Знам'янка tu postaje znamianka a nikada znamyanka. Pored spomenute nudi se još jedna varijanta svugdje prisutnim znakovima ya, yu i yi ukoliko vam se sviđa taj jednostavniji stil pisanja.

Da li mogu mijenjati transliteraciju konkretnog slova?

Da. Otvorite "Pravila transliteracije" pa je onda i svaki onaj znak iz date tabele vaše tekstualno polje: tu utipkajte baš sve u šta na kraju i želite da se ono preoblikuje, dok se izmjena osvježava onom brzinom kojom kucate. Brisanje polja će i ukloniti znak u potpunosti. Uređivanje ostaje snimljeno u internet pretraživaču kada vam idući navrat ustrebaju ta podešenja, pri čemu "Vrati pravila na zadana" vraća osnovnu i fabričku tabelu za transliteraciju kad poželite da se vratite.

Šta su stop-riječi i trebam li ih ukloniti?

To su male vezne riječi — a, the, and, of, for (na engleskom) — koje čine slug dužim, a ne čine ga jasnijim. Njihovo uklanjanje je prema zadanim postavkama uključeno, a lista u opciji "Stop-riječi" se može mijenjati i dolazi već popunjena s engleskom listom te listom za jezik stranice na kojoj se nalazite. Budite svjesni njene prave vrijednosti: ova opcija donosi kraću, uredniju adresu, a ne bolju poziciju u pretraživanju. Ukoliko se naslov u potpunosti sastoji od stop-riječi, alat će to i reći umjesto da vrati prazan slug.

Trebam li koristiti crtice ili donje crte u slugu?

Crtice, osim ako neki dio vašeg sistema izričito zahtijeva drugačije. Google tretira crticu kao odvajač između riječi, a donju crtu kao znak koji ih spaja, pa se my_first_post čita kao jedna dugačka riječ dok se my-first-post čita kao tri riječi. Zbog toga generator kao zadano koristi crticu; "Separator u slugu" nudi donju crtu za sisteme kojima je neophodna.

Koliko bi URL slug trebao biti dug?

Dovoljno kratak da se može pročitati na prvi pogled — prvih nekoliko riječi prenosi značenje, a ostalo je obično ostatak rečenice. Broj pored svakog rezultata je njegova dužina u znakovima i postaje crven nakon broja 60, što je otprilike mjesto na kojem ga rezultati pretrage počinju skraćivati i gdje ga postaje nezgodno zalijepiti u poruku. "Maksimalna dužina" postavlja čvrstu granicu od 10 do 200 znakova, a zadana je 80.

Da li se riječi sijeku na pola kada je slug predug?

Ne. Kada slug premaši maksimalnu dužinu, mehanizam se vraća na zadnju cijelu riječ koja se uklapa u okvir i tu siječe, tako da se skraćeni slug i dalje čita kao riječi, a ne završava se na sredini sloga. Isto pravilo važi kada se numerički sufiks doda ponovljenom naslovu: baza sluga se prva skrati kako bi konačni slug ispoštovao vaše ograničenje.

Šta se događa ako dva naslova proizvedu isti slug?

"Učini slugove jedinstvenim" je prema zadanim postavkama uključeno i to rješava: prvo pojavljivanje zadržava običan slug, drugo dobija -2, treće -3 i tako dalje. Ova funkcija prepoznaje uobičajenu situaciju kada se dva različita naslova pretvore u isti rezultat — "Top 10 savjeta" i "Top-10 savjeta" oboje postaju top-10-savjeta. Isključivanjem ove opcije dobit ćete sirovi rezultat s netaknutim duplikatima. Imajte na umu da je jedinstvenost zagarantovana samo unutar serije koju ste upravo preveli; alat ne može znati šta se već nalazi na vašoj web stranici.

Mogu li zalijepiti URL umjesto naslova?

Da. Opcija "Preuzmi slug iz zalijepljenog URL-a" je zadano uključena, a kada se čitava linija sastoji samo od linka, alat izvlači zadnji dio putanje, odbacuje dodatni dio (query string) i sve .html ili .php nastavke te dekodira procentualno kodiranje (percent-encoding) — tako da se Wikipedia adresa koja završava sa %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 vrati kao lviv umjesto niza heksadecimalnih cifara. Alat reaguje jedino na onoj liniji koja u cjelosti sadrži samo link, stoga se onaj URL u samoj rečenici tretira kao običan tekst.

Šalje li se moj tekst na server?

Ne. Pretvaranje se odvija u vašem pretraživaču kao lokalni JavaScript. Ništa se ne šalje, ništa se ne logira, a kada se jednom stranica učita, nastavit će s radom i bez internet konekcije. Neobjavljeni naslovi, interna imena proizvoda i informacije od klijenata ostaju samo na vašem uređaju, što je sasvim praktičan razlog zbog čega je alat ove vrste bolji u svojoj lokalnoj formi naspram rješenja na serverima.

Zašto mi se jedna rečenica podijelila na dva sluga?

Zato što je sadržavala zarez i opcija "Podijeli unos po" je postavljena na "Automatski". Taj način prepoznaje prelaz u novi red kao siguran odvajač, a zarez kao vjerojatan, pri čemu se siječe po zarezu samo ukoliko komadi iz jedne linije djeluju kao posebne, samostalne vrijednosti — decimala poput 3,5 ili rečenica sa dvotačkom namjerno ostaje u komadu. Ukoliko se prepoznavanjem ipak naslov prereže gdje ne treba, opciju "Podijeli unos po" podesite na "Novi red" čime će vaš tekst biti presječen samo na mjestu na kom ste vi udarili Enter.