URL Slug generatorius

Paverskite bet kokį pavadinimą į švarų URL slug tiesiai savo naršyklėje — po vieną arba visą sąrašą iškart. Realūs transliteracijos standartai, redaguojamos taisyklės ir jokio duomenų siuntimo į serverį.

Įveskite tekstą konvertavimui
Išplėstinės parinktys

Slug yra skaitoma interneto adreso pabaiga — pavyzdžiui, my-first-post adrese example.com/blog/my-first-post. Tai dalis, kurią žmogus perskaito prieš nuspręsdamas, ar paspausti, o paieškos sistemos ją skaito kaip trumpą puslapio turinio aprašymą. Būtent todėl ši dalis nusipelno daugiau dėmesio nei duomenų bazės ID ar data. Šis nemokamas generatorius bet kokį tekstą paverčia į slug: įklijuokite pavadinimą į laukelį „Tekstas konvertavimui“, paspauskite „Generuoti“, ir rezultatas atsiras šalia kartu su kopijavimo mygtuku. Numatytosios parinktys yra tokios, kokių nori dauguma svetainių — mažosios raidės, brūkšneliai tarp žodžių, pašalinti nereikalingi jungiamieji žodžiai, transliteruotos nelotyniškos raidės. Taigi tinkamas slug sukuriamas vienu paspaudimu, ir kiekvienas iš šių nustatymų yra jungiklis, kurį galite pakeisti.

Viskas vyksta jūsų įrenginyje. Puslapis įkelia mažą JavaScript varikliuką ir jį paleidžia lokaliai: jūsų pavadinimai niekada nėra siunčiami į serverį, niekur neregistruojami, o įrankis veikia net ir atjungus interneto ryšį. Būtent todėl rezultatas atnaujinamas akimirksniu, kai tik pakeičiate nustatymą. Darbo eigą verta paminėti, nes ji paaiškina, kodėl išvestis yra prognozuojama: įklijuota nuoroda pirmiausia sutrumpinama iki jos paskutinio segmento, tada tekstas paverčiamas mažosiomis raidėmis, pašalinami stop žodžiai, transliteruojami nelotyniški simboliai, tada pašalinami skaičiai ir specialieji simboliai, jei to prašėte. Tai, kas lieka, sujungta jūsų pasirinktu skyrikliu, tuomet rezultatas apkerpamas iki maksimalaus ilgio, ir galiausiai besidubliuojantiems rezultatams pridedamas skaitinis priesagas. „Tekstas konvertavimui“ vienu metu priima iki 500 000 simbolių, o tai atitinka kelis tūkstančius straipsnių pavadinimų.

Viena eilutė — vienas slug. Įklijuokite visą pavadinimų sąrašą, ir kiekviena eilutė taps atskiru sunumeruotu slug'u, virš kurio pilkai bus rodomas pradinis pavadinimas. Todėl net penkiasdešimties elementų sąraše galėsite lengvai atskirti, kuris slug priklauso kuriai antraštei. Sąrašo, kuris jau yra faile, nebūtina kopijuoti per iškarpinę (clipboard): mygtukas „Įkelti iš failo“, esantis šalia įvesties laukelio, atidaro paprastą tekstinį failą — .txt, .csv, .md, .json ir panašiai — ir perkelia jo turinį į laukelį. Jūsų naršyklė nuskaito tą failą lygiai taip pat, kaip skaito jūsų įvestą tekstą, ir jis niekur nėra įkeliamas. „Padalinti įvestį pagal“ nustato, kaip sąrašas bus padalintas. „Automatinis“ yra numatytasis nustatymas: nauja eilutė visada atskiria elementus, o kablelis juos atskiria tik tada, kai įvestis yra viena eilutė, kurios visos dalys atrodo kaip savarankiškos vertės — todėl „kaina 3,5 EUR“ ir „5 skyrius: rezultatai, išvados“ lieka sveiki, užuot subyrėję į fragmentus. Pasirinkimai „Nauja eilutė“, „Kablelis“ ir „Tarpas“ leidžia aiškiai nurodyti taisyklę, kai jau žinote savo duomenų formatą. „Išvesties formatas“ nustato, kaip bus pateiktas rezultatų sąrašas — po vieną eilutėje, „Atskirta tarpais“ ar „Atskirta kableliais“ — ir tiek „Kopijuoti viską“, tiek „Išsaugoti į failą“ seka šiuo nustatymu. Skiltis „Istorija“ jūsų naršyklėje saugo paskutinius 10 sąrašų, todėl prieš valandą konvertuotas sąrašas vis dar ten.

Nelotyniškas tekstas yra ta dalis, kurią dauguma slug generatorių atlieka apytiksliai, bet retas kuris atlieka visiškai teisingai. URL adresas yra saugiausias naudojant paprastą ASCII formatą, todėl kirilica, graikų, arabų, kinų ir Europos kalbų raidės su diakritiniais ženklais turi būti konvertuotos. Pagrindinis klausimas — pagal kieno taisykles. Šis puslapis tai sprendžia dviem lygiais. Bendrasis lygis apima visus raštus: tai transliteracijos biblioteka, kuri pateikia protingą ASCII atitikmenį beveik bet kokiam įvestam simboliui, o tai ir reiškia „Automatinis (bet kokia kalba)“ parinktyje „Transliteruoti iš“. Specifinis lygis yra rankomis sukurti lentelių rinkiniai toms kalboms, kuriose bendrasis atsakymas neatitinka to, ką šalis realiai naudoja. Meniu „Transliteruoti iš“ nurodo tas kalbas, kurios šiandien turi savo lentelę, o sąrašas auga įrankiui palaikant vis daugiau kalbų. Pasirinkus vieną iš jų, lentelė įkeliama į redaguojamą tinklelį po „Transliteracijos taisyklės“, kur kiekviena raidė yra teksto laukelis, kurį galite pakeisti, o mygtukas „Atkurti numatytąsias taisykles“ grąžina viską į pradinę būseną. Ukrainiečių kalbos lentelė atitinka 2010 m. Ministrų kabineto nutarimą Nr. 55 — standartą, spausdinamą ukrainietiškuose pasuose, įskaitant detales, kurias lengva praleisti: зг tampa zgh (o ne zh), kad skirtųsi nuo ж; є, ї, й, ю ir я priima vieną formą žodžio pradžioje ir kitą jo viduje; o apostrofas ir minkštumo ženklas praleidžiami nepradedant naujo žodžio, todėl Знам'янка tampa znamianka, o ne znamyanka. Vokiečių kalbai pagal nutylėjimą naudojama išplėstinė forma ä → ae, ö → oe, ü → ue, kurią realiai naudoja vokiški adresai, tačiau galima rinktis ir paprastą variantą ä → a.

„Pašalinti stop žodžius“ pagal nutylėjimą yra įjungtas. Ši funkcija pašalina trumpus jungiamuosius žodžius — a, the, and, of, for — kurie ilgina slug'ą, nepridėdami jam jokios prasmės. Sąrašas, esantis po „Stop žodžiai“, yra visiškai redaguojamas ir pateikiamas jau užpildytas: angliškas sąrašas plius kalbos, kurios puslapyje esate, sąrašas. Taigi ukrainietiškas puslapis atpažįsta в, на, та ir і, o vokiškas — der, die ir das. Pridėkite savo žodžių, ištrinkite tuos, kuriuos norite palikti, arba visiškai išjunkite šią funkciją — tokiu atveju laukelis papilkės ir nebebus aktyvus. Dvi atviros pastabos apie tai. Stop žodžių šalinimas yra greičiau adreso vizualinio švarumo klausimas, o ne paieškos reitingo gerinimo priemonė — jūs gaunate trumpesnį, tvarkingesnį adresą, bet ne geresnę poziciją. Ir jei nutiktų taip, kad visi pavadinimo žodžiai yra šiame sąraše, rezultatas bus tiesiog tuščias, o įrankis jums apie tai praneš, užuot pateikęs tuščią langelį.

Likusieji jungikliai nustato galutinę formą. „Skyriklis slug'e“ parenka, kas bus tarp žodžių, ir numatytasis brūkšnelis nėra tik skonio reikalas: Google laiko brūkšnelį žodžių atskyrikliu, o apatinį brūkšnį — jungikliu. Todėl my_first_post robotui atrodo kaip vienas ilgas žodis, o my-first-post — kaip trys atskiri žodžiai. „Apatinis brūkšnys (_)“ pateikiamas toms sistemoms, kurios reikalauja būtent jo. „Mažosios raidės“ yra įjungtos, nes dauguma serverių skiria didžiąsias ir mažąsias raides, o mišrus registras yra lengvas kelias gauti du skirtingus URL tam pačiam puslapiui. „Pašalinti specialiuosius simbolius“ pašalina viską, kas nėra raidė, skaičius, tarpas, brūkšnelis ar apatinis brūkšnys — tai išlaiko skyrybos ženklus, kabutes ir jaustukus (emoji) už adreso ribų. Jaustukai pašalinami prieš pat transliteraciją specialiai tam, kad, pavyzdžiui, raketos jaustukas nevirstų žodžiu rocket. „Pašalinti skaičius“ yra išjungtas, nes pavadinime esantis skaičius dažniausiai yra svarbi jo dalis. „Maksimalus ilgis“ svyruoja nuo 10 iki 200 ir pagal nutylėjimą yra 80; kai slug'as yra ilgesnis, varikliukas jį nukerpa ties paskutiniu pilnu žodžiu, kuris telpa, užuot kirpęs jį per vidurį. Skaičius šalia kiekvieno rezultato rodo jo ilgį simboliais, ir jis paraudonuoja viršijus 60 — tai nėra griežta riba, bet tai taškas, kai paieškos rezultatuose slug'as pradedamas trumpinti ir jį tampa nepatogu įklijuoti į žinutę.

Yra dar du jungikliai, kurie paverčia masinį konvertavimą atgal į vieno paspaudimo darbą. „Padaryti slug'us unikalius“ išsprendžia problemą, kai du skirtingi pavadinimai susiveda į tą patį slug'ą — „Top 10 patarimų“ ir „Top-10 patarimų“ abu tampa top-10-patarimu — ir antrajam priskiria -2, trečiajam -3. Jei priesaga viršija jūsų nustatytą maksimalų ilgį, bazinis tekstas yra atitinkamai sutrumpinamas. Dviejų puslapių su tuo pačiu adresu problema yra kur kas pigiau išsprendžiama šiame sąraše nei jūsų CMS (turinio valdymo sistemoje). „Paimti slug iš įklijuoto URL“ veikia priešinga kryptimi: įklijuokite visą nuorodą, o įrankis paims paskutinę adreso dalį, pašalins užklausos eilutę ir bet kokią .html ar .php pabaigą, taip pat iškoduos procentinį kodavimą (percent-encoding). Taigi Vikipedijos nuoroda, besibaigianti %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, grįš kaip lviv, o ne kaip šešioliktainių skaitmenų seka. Tai suveikia tik tada, kai visa eilutė yra nuoroda, todėl sakinio viduryje pacituotas adresas paliekamas toks, koks yra.

Kodėl verta rinktis šį slug generatorių?

Slug'ai reikalingi visur, kur puslapis turi turėti skaitomą adresą. Tinklaraštis ar naujienų svetainė kiekvieną antraštę paverčia adresu, ir būtent šiam tikslui šis įrankis ir buvo sukurtas: įklijuojate savaitės antraštes, gaunate savaitės URL adresus. Internetinė parduotuvė tą patį daro su produktų ir kategorijų pavadinimais, dažniausiai masiškai po importo, ir dažnai kalba, kurios abėcėlės adresas negali palaikyti. Dokumentacija ir žinių bazės tokiu pat būdu kuria inkarus (anchors) ir failų pavadinimus. Be interneto adresų, ta pati švari eilutė yra tai, ko jums reikia failo pavadinimui, kuris nesuges kitoje operacinėje sistemoje; duomenų bazės raktui, kurį žmogus galės perskaityti žurnale (log); šakos (branch) pavadinimui; nuotraukos pavadinimui medijos bibliotekoje ar skilties identifikatoriui statinių svetainių generatoriuje. Bet kuri vieta, kur žmogui skaitomas pavadinimas turi išlikti įrašytas į mašinai skaitomą lauką, yra vieta, kurioje reikalingas slug'as.

Prieš pasikliaujant šiuo įrankiu, verta žinoti kelis apribojimus. Tai yra generatorius, o ne validatorius: jis netikrins, ar slug'as jau užimtas jūsų svetainėje, nes neturi supratimo, kas joje yra — unikalumas, kurį jis garantuoja, yra tik tame sąraše, kurį ką tik konvertavote. Peradresavimai (redirects) taip pat yra jūsų darbas; paskelbto puslapio slug'o pakeitimas sugadina senąjį adresą, ir tai yra jūsų CMS (turinio valdymo sistemos), o ne šio įrankio sprendimas. „Išsaugoti į failą“ išsaugo paprastą tekstą, o ne CSV ar JSON. Automatinis atskyrimas kableliais priima sprendimą, kuris beveik visada yra teisingas, bet ne visada, ir būtent todėl „Padalinti įvestį pagal“ leidžia jums tai pakeisti. O transliteracija yra susitarimas, o ne vertimas — München tampa muenchen, o ne Munich — todėl kai puslapis turi nusistovėjusį pavadinimą tiksline kalba, tas pavadinimas yra geresnis slug'as nei bet koks automatinis originalo konvertavimas.

FAQ

Kaip sukurti URL slug'ą?

Įklijuokite pavadinimą į laukelį „Tekstas konvertavimui“ ir paspauskite „Generuoti“. Rezultatas pasirodys šalia kartu su kopijavimo mygtuku, konvertuotas su numatytaisiais nustatymais, kurių reikia daugumai svetainių: mažosios raidės, brūkšneliai tarp žodžių, pašalinti stop žodžiai ir transliteruotos nelotyniškos raidės. Kiekvieną iš šių taisyklių galite pakeisti, o „Išplėstinės parinktys“ slepia visa kita — skyriklį, maksimalų ilgį, stop žodžių sąrašą ir transliteracijos taisykles.

Ar galiu konvertuoti visą pavadinimų sąrašą vienu metu?

Taip. Įklijuokite iki 500 000 simbolių — kelis tūkstančius antraščių — arba įkelkite juos tiesiai iš failo naudodami mygtuką „Įkelti iš failo“, kuris nuskaito turinį jūsų naršyklėje nieko niekur neįkeldamas. Kiekviena eilutė tampa atskiru sunumeruotu slug'u, virš kurio rodomas pradinis pavadinimas, kad galėtumėte juos sutikrinti. „Padalinti įvestį pagal“ kontroliuoja, kaip sąrašas padalijamas, „Išvesties formatas“ nustato, ar sąrašas grįš eilutėmis, „Atskirta tarpais“ ar „Atskirta kableliais“, o „Kopijuoti viską“ ir „Išsaugoti į failą“ paima visą sąrašą iš karto.

Kaip generatorius apdoroja kirilicą ir raides su diakritiniais ženklais?

Jis transliteruoja juos į ASCII dviem lygiais. Bet koks raštas — kirilica, graikų, arabų, kinų, lotyniškas su akcentais — yra apdorojamas bendros transliteracijos bibliotekos, kurią naudoja „Automatinis (bet kokia kalba)“. Be to, yra rankomis sukurtos lentelės toms kalboms, kuriose bendrasis atsakymas neatitinka to, ką šalys realiai naudoja. Meniu „Transliteruoti iš“ nurodo tas kalbas, kurios šiandien turi savo lentelę. Pasirinkus vieną iš jų, lentelė įkeliama, ir kiekviena raidė tampa redaguojama. Lietuvių kalbos atveju bendroji biblioteka jau puikiai atlieka šį darbą — pavyzdžiui, Ąžuolas tampa azuolas, o Šiauliai tampa siauliai. Todėl speciali transliteracijos lentelė lietuvių kalbai nereikalinga ir nenaudojama.

Koks transliteracijos standartas naudojamas ukrainiečių kalbai?

2010 m. sausio 27 d. Ministrų kabineto nutarimas Nr. 55 — standartas, naudojamas ukrainietiškuose pasuose. Tai apima ir dalis, kuriose lengva suklysti: зг tampa zgh, kad skirtųsi nuo ж; raidės є, ї, й, ю ir я žodžio pradžioje rašomos vienaip, o viduryje – kitaip; o apostrofas ir minkštumo ženklas praleidžiami nepradedant naujo žodžio, todėl Знам'янка tampa znamianka, o ne znamyanka. Yra ir antrasis variantas, kur visur naudojami ya, yu ir yi, jei jums labiau patinka paprastesnė išvaizda.

Ar galiu pakeisti, kaip transliteruojama konkreti raidė?

Taip. Atidarykite „Transliteracijos taisyklės“, ir kiekviena lentelės raidė yra teksto laukelis: įrašykite tai, kuo norite, kad ta raidė taptų, ir rezultatas atnaujinamas jums berašant. Laukelyje ištrynus reikšmę, raidė bus visiškai pašalinta. Jūsų pakeitimai bus išsaugoti naršyklėje kitam kartui, o „Atkurti numatytąsias taisykles“ sugrąžins standartinę lentelę, kai tik to panorėsite.

Kas yra stop žodžiai ir ar turėčiau juos pašalinti?

Tai yra maži jungiamieji žodžiai — a, the, and, of, for — kurie pailgina slug'ą, nepadarydami jo aiškesnio. Jų pašalinimas yra įjungtas pagal nutylėjimą, o po „Stop žodžiai“ esantis sąrašas yra redaguojamas ir iš anksto užpildytas anglų kalbos sąrašu bei tos kalbos sąrašu, kurios puslapyje esate. Tačiau būkite atviri dėl naudos: tai sukuria trumpesnį, tvarkingesnį adresą, bet ne geresnę poziciją paieškoje. Jei pavadinimas susideda vien iš stop žodžių, įrankis jums apie tai praneša, užuot grąžinęs tuščią rezultatą.

Ar turėčiau naudoti brūkšnelius, ar apatinius brūkšnius slug'e?

Brūkšnelius, nebent kažkas jūsų sistemoje reikalauja kitaip. Google laiko brūkšnelį žodžių atskyrikliu, o apatinį brūkšnį — jungikliu. Todėl my_first_post robotui atrodo kaip vienas ilgas žodis, o my-first-post — kaip trys. Dėl šios priežasties generatorius pagal nutylėjimą naudoja brūkšnelį; „Skyriklis slug'e“ siūlo apatinį brūkšnį toms sistemoms, kurioms jo reikia.

Kokio ilgio turėtų būti URL slug'as?

Pakankamai trumpas, kad būtų galima perskaityti iš pirmo žvilgsnio — pirmieji keli žodžiai neša prasmę, o likusieji dažniausiai tėra sakinio pabaiga. Skaičius šalia kiekvieno rezultato rodo jo ilgį simboliais ir paraudonuoja viršijus 60 — tai maždaug ta riba, kurioje paieškos rezultatai pradeda jį trumpinti, ir kai tampa nepatogu jį įklijuoti į žinutę. „Maksimalus ilgis“ nustato griežtą ribą nuo 10 iki 200 simbolių, ir pagal nutylėjimą yra 80.

Ar žodžiai nukerpami per pusę, kai slug'as yra per ilgas?

Ne. Kai slug'as viršija maksimalų ilgį, varikliukas grįžta iki paskutinio pilno žodžio, kuris telpa, ir kerpa ten, todėl sutrumpintas slug'as vis dar skaitosi kaip žodžiai, o ne baigiasi skiemens viduryje. Tas pats galioja ir tada, kai prie pasikartojančio rezultato pridedamas skaitinis priesagas: bazinis tekstas pirmiausia sutrumpinamas, kad galutinis slug'as neviršytų nustatyto limito.

Kas nutinka, jei du pavadinimai sukuria tą patį slug'ą?

„Padaryti slug'us unikalius“ pagal nutylėjimą yra įjungtas ir tai išsprendžia: pirmasis pasirodymas išlaiko paprastą slug'ą, antrasis gauna -2, trečiasis -3 ir taip toliau. Tai sugauna dažną atvejį, kai du skirtingi pavadinimai tampa vienodu slug'u — „Top 10 patarimų“ ir „Top-10 patarimų“ abu tampa top-10-patarimu. Išjungę šią funkciją, gausite pradinį rezultatą su paliktais dublikatais. Atkreipkite dėmesį, kad unikalumas garantuojamas tik toje partijoje, kurią ką tik konvertavote; įrankis negali žinoti, kas jau egzistuoja jūsų svetainėje.

Ar galiu įklijuoti URL vietoj pavadinimo?

Taip. „Paimti slug iš įklijuoto URL“ pagal nutylėjimą yra įjungtas, ir kai visa eilutė yra nuoroda, įrankis ištraukia paskutinę adreso dalį, pašalina užklausos eilutę ir bet kokią .html ar .php pabaigą, taip pat iškoduoja procentinį kodavimą. Todėl Vikipedijos adresas, besibaigiantis %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, grįš kaip lviv, o ne kaip šešioliktainis kodas. Tai suveikia tik eilutėje, kuri visa yra nuoroda, todėl sakinio viduryje pacituotas URL traktuojamas kaip paprastas tekstas.

Ar mano tekstas siunčiamas į serverį?

Ne. Konvertavimas vyksta jūsų naršyklėje kaip vietinis JavaScript kodas. Niekas nėra įkeliama, neregistruojama, ir kai puslapis užsikrauna, jis veikia net ir išjungus interneto ryšį. Nepublikuotos antraštės, vidiniai produktų pavadinimai ir darbas klientams lieka jūsų įrenginyje — tai yra praktinė priežastis šiai konkrečiai užduočiai rinktis vietinį įrankį, o ne serverio pusės sprendimą.

Kodėl mano vienas sakinys buvo padalintas į du slug'us?

Nes jame buvo kablelis, o „Padalinti įvestį pagal“ buvo nustatytas į „Automatinis“. Šis režimas laiko naują eilutę garantuotu skyrikliu, o kablelį — tikėtinu. Jis atskiria kableliais tik tada, kai vienos eilutės dalys atrodo kaip savarankiškos vertės — pavyzdžiui, dešimtainė trupmena, tokia kaip 3,5, arba sakinys su dvitaškiu yra tyčia paliekami sveiki. Jei pavadinimas vis tiek padalijamas, nors neturėtų būti, pakeiskite „Padalinti įvestį pagal“ į „Nauja eilutė“, ir įvestis bus nukirpta tik ten, kur realiai paspaudėte Enter.