Slugi on verkko-osoitteen luettava loppuosa — my-first-post osoitteessa example.com/blog/my-first-post. Se on osa, jonka käyttäjä voi lukea ennen klikkaamista, ja osa, jonka hakukone lukee sivun lyhyenä kuvauksena. Siksi se ansaitsee enemmän huomiota kuin tietokannan tunniste tai päivämäärä. Tämä ilmainen generaattori muuttaa minkä tahansa tekstin slugiksi: liitä otsikko Muunnettava teksti -kenttään, paina Generoi, ja tulos ilmestyy kopiointipainikkeen viereen. Oletusarvot ovat useimpien sivustojen haluamat asetukset — pienet kirjaimet, väliviivat sanojen välillä, yleiset täytesanat poistettuna ja ei-latinalaiset kirjaimet translitteroituna — joten käyttökelpoinen slugi on vain yhden klikkauksen päässä, ja jokaista näistä päätöksistä voi muuttaa.
Kaikki tapahtuu omalla laitteellasi. Sivu lataa pienen JavaScript-moottorin ja suorittaa sen paikallisesti: otsikoitasi ei koskaan ladata palvelimelle, ei koskaan lokiteta, ja työkalu toimii edelleen, vaikka yhteys katkaistaisiin. Tästä syystä tulos päivittyy heti, kun muutat asetusta. Työn järjestys on syytä mainita, koska se tekee tuloksesta ennustettavan: liitetty linkki lyhennetään ensin viimeiseen polkuosaansa, sitten teksti muutetaan pieniksi kirjaimiksi, pysäytyssanat poistetaan, ei-latinalaiset merkit translitteroidaan, numerot ja erikoismerkit poistetaan, jos niin on valittu, jäljelle jäävä yhdistetään valitulla erottimella, tulos lyhennetään maksimipituuteen, ja lopuksi toisto saa numeerisen päätteen. Muunnettava teksti hyväksyy jopa 500 000 merkkiä kerrallaan, mikä vastaa muutamaa tuhatta artikkelin otsikkoa.
Yksi rivi sisään, yksi slugi ulos. Liitä kokonainen luettelo otsikoita, ja jokaisesta rivistä tulee oma numeroitu sluginsa, jonka yläpuolella näkyy harmaalla alkuperäinen otsikko. Näin ollen viidenkymmenen erän joukossa näet yhä, mikä slugi kuuluu mihinkin otsikkoon. Luetteloa, joka on jo tiedostossa, ei tarvitse siirtää leikepöydän kautta: Lataa tiedostosta -painike avaa tekstitiedoston — .txt, .csv, .md, .json ja vastaavat — ja pudottaa sen sisällön kenttään. Selain lukee tiedoston täsmälleen samoin kuin kirjoittamasi tekstin, eikä sitä ladata minnekään. Jaa syöte määrittää, miten luettelo pilkotaan osiin. Automaattinen on oletusarvo: rivinvaihto erottaa kohteet aina, kun taas pilkku erottaa ne vain silloin, kun syöte on yksi rivi, jonka kaikki osat näyttävät itsenäisiltä arvoilta — joten "hinta 3,5 EUR" ja "Luku 5: tulokset, johtopäätökset" säilyvät yhtenäisinä eivätkä pirstoudu. Rivinvaihto, Pilkku ja Välilyönti pakottavat valinnan, kun tiedät jo datasi muodon. Tulostusmuoto määrittää, miten erä palautetaan — yksi per rivi, välilyönnillä eroteltu tai pilkulla eroteltu — ja sekä Kopioi kaikki että Tallenna tiedostoon noudattavat sitä. Historia pitää viimeiset 10 erää selaimessasi, joten tunti sitten muunnettu luettelo on edelleen siellä.
Ei-latinalainen teksti on se osa, jonka useimmat slugi-generaattorit saavat suurin piirtein oikein, mutta vain harvat täysin oikein. URL on turvallisimmillaan pelkkänä ASCII-muotona, joten kyrilliset, kreikkalaiset, arabialaiset, kiinalaiset ja eurooppalaiset aksenttimerkit on muunnettava, ja ainoa todellinen kysymys on, kenen säännöillä. Tämä sivu vastaa siihen kahdessa tasossa. Yleinen taso kattaa kaikki aakkostot: translitterointikirjasto, jossa on järkevä ASCII-vastine melkein mille tahansa kirjoitettavalle merkille. Tämä on se, mitä Translitteroi kielestä tarkoittaa, kun siinä lukee Automaattinen (mikä tahansa kieli). Erityinen taso on joukko käsin rakennettuja taulukoita kielille, joissa yleinen vastaus ei ole se, jota maa todellisuudessa käyttää; Translitteroi kielestä -valikko näyttää kielet, joille on taulukko, ja valikko kasvaa, kun työkalu tavoittaa lisää kieliä, jotka sitä tarvitsevat. Taulukon valitseminen lataa sen muokattavaan ruudukkoon kohdassa Translitterointisäännöt, jossa jokaista merkkiä voi muuttaa, ja Palauta oletussäännöt palauttaa sen ennalleen. Ukrainan taulukko noudattaa ministerikabinetin päätöstä nro 55 vuodelta 2010, joka on Ukrainan passeissa käytetty standardi, sisältäen yksityiskohdat, jotka on helppo jättää huomiotta: зг muuttuu muotoon zgh eikä zh, jotta se erottuu merkistä ж; є, ї, й, ю ja я saavat yhden muodon sanan alussa ja toisen sanan sisällä; ja heittomerkki ja pehmeä merkki pudotetaan ilman, että ne aloittavat uuden sanan, joten Знам'янка muuttuu muotoon znamianka eikä znamyanka. Saksa on oletuksena laajennetussa muodossa ä → ae, ö → oe, ü → ue, jota Saksan osoitteet oikeasti käyttävät, ja tarjoaa tavallisen ä → a -vaihtoehdon, jos pidät siitä enemmän. Suomelle omaa taulukkoa ei tarvita: yleinen taso kirjoittaa ä → a, ö → o ja å → a, eli juuri niin kuin suomalaisissa osoitteissa on tapana — Järvenpää muuttuu muotoon jarvenpaa ja Töölö muotoon toolo.
Poista pysäytyssanat on oletuksena päällä. Se pudottaa pienet yhdistävät sanat, jotka pidentävät slugia lisäämättä siihen merkitystä. Pysäytyssanat-kohdassa oleva luettelo on täysin muokattavissa ja saapuu jo täytettynä: englanninkielinen luettelo sekä luettelo sen sivun kielelle, jolla olet. Lisää omia sanoja, poista ne, jotka haluat säilyttää, tai kytke ominaisuus kokonaan pois päältä, jolloin kenttä muuttuu harmaaksi sen sijaan, että se edes yrittäisi vaikuttaa. Kaksi rehellistä huomautusta tästä. Pysäytyssanojen poistaminen on pieni siisteyshyöty eikä mikään sijoituksiin vaikuttava vipu — saat lyhyemmän, puhtaamman osoitteen, et parempaa hakusijoitusta. Ja jos otsikon jokainen sana sattuu olemaan luettelossa, rehellinen tulos on ei mitään, joten työkalu kertoo sen sinulle sen sijaan, että se ojentaisi tyhjän laatikon.
Loput kytkimet päättävät slugin muodon. Erotin slugissa valitsee, mikä sanojen välissä istuu, ja väliviiva-oletus ei ole makuasia: Google lukee väliviivan sananerottimena ja alaviivan yhdistäjänä, joten my_first_post saavuttaa indeksoijan yhtenä pitkänä sanana, kun taas my-first-post kolmena. Alaviiva on olemassa järjestelmille, jotka vaativat sitä. Pienet kirjaimet on päällä, koska useimmat palvelimet erottavat osoitteissa isot ja pienet kirjaimet, ja sekakoko on helppo tapa päätyä kahteen URL-osoitteeseen yhdelle sivulle. Poista erikoismerkit poistaa kaiken, mikä ei ole kirjain, numero, välilyönti, väliviiva tai alaviiva. Tämä pitää välimerkit, lainausmerkit ja emojit poissa osoitteesta — emojit poistetaan ennen translitterointia erityisesti siksi, ettei raketti-emoji muutu sanaksi rocket. Poista numerot on pois päältä, koska otsikossa oleva numero on yleensä osa otsikkoa. Maksimipituus on välillä 10–200, ja oletus on 80. Kun slugi ylittää tämän, moottori katkaisee viimeisestä kokonaisesta sanasta, joka mahtuu, eikä keskeltä sanaa. Jokaisen tuloksen vieressä oleva numero on sen pituus merkkeinä, ja se muuttuu punaiseksi yli 60 merkin kohdalla — tämä ei ole ehdoton raja, mutta se on piste, jossa slugi alkaa leikkautua hakutuloksissa ja muuttuu hankalaksi liittää viestiin.
Kaksi muuta kytkintä ovat olemassa, koska ne tekevät massamuunnoksesta takaisin yhden klikkauksen työn. Tee slugeista uniikkeja nappaa tapaukset, joissa kaksi eri otsikkoa pelkistyy samaksi slugiksi — "Top 10 vinkkiä" ja "Top-10 vinkkiä" muuttuvat kumpikin top-10-vinkkia — ja antaa toiselle -2, kolmannelle -3. Tämä lyhentää slugin perusosaa ensin, jos pääte työntäisi sen maksimipituuden yli. Kaksi sivua yhdessä osoitteessa on ongelma, joka on paljon halvempi huomata tässä luettelossa kuin CMS-järjestelmässäsi. Ota slugi liitetystä URL-osoitteesta toimii toiseen suuntaan: liitä kokonainen linkki ja työkalu ottaa polun viimeisen osan, pudottaa kyselymerkkijonon sekä kaikki .html tai .php -päätteet ja purkaa prosenttikoodauksen. Esimerkiksi Wikipedian linkki, joka päättyy %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, tulee takaisin muodossa lviv eikä heksadesimaalien sarjana. Se laukeaa vain silloin, kun koko rivi on linkki, joten lauseen sisällä lainattu osoite jätetään paikoilleen.
Miksi valita tämä slugi-generaattori?
- Vain selain: otsikoitasi ei koskaan ladata minnekään, ja sivu toimii ilman verkkoyhteyttä
- Massamuunnos liitetystä tekstistä tai tiedostosta, ja alkuperäinen otsikko näkyy jokaisen slugin yläpuolella
- Aidot kieli- ja translitterointistandardit, ei yhtä yleistä taulukkoa kaikille kielille
- Ukrainan kieli ministerikabinetin päätöksen nro 55 (2010) mukaan — passeissa käytetty kirjoitusasu
- Jokaista sääntöä voi muokata kirjain kirjaimelta, yhdellä klikkauksella palautettavissa
- Automaattiset -2 ja -3 päätteet, jotta yksikään erän slugi ei törmää toiseen
- Liitä linkki ja ota slugi siitä, prosenttikoodaus purettuna
- Muokattava pysäytyssanaluettelo, joka saapuu valmiiksi täytettynä kielellesi
- Turvallinen katkaisu kokonaisen sanan kohdalta, ja merkkimäärä on näkyvissä jokaisen tuloksen vieressä
- Ilmainen ja rajoittamaton: ei rekisteröitymistä, ei kiintiöitä, mitään ei tallenneta palvelimillemme
Slugeja tarvitaan kaikkialla, missä sivun on kannettava luettavaa osoitetta. Blogi- tai uutissivusto muuttaa jokaisen otsikon slugiksi, mikä on tilanne, jota varten tämä työkalu on suunniteltu: liitä viikon otsikot, saat viikon URL-osoitteet. Verkkokauppa tekee saman tuotteiden ja kategorioiden nimille, yleensä joukoittain tuonnin jälkeen, ja usein kielellä, jonka aakkosia osoite ei voi sisältää. Dokumentaatiot ja tietopankit rakentavat ankkureita ja tiedostonimiä samalla tavalla. Verkkosivujen ulkopuolella sama puhdas merkkijono on mitä tarvitset tiedostonimelle, joka ei rikkoudu toisessa käyttöjärjestelmässä, tietokanta-avaimelle, jonka henkilö voi lukea lokissa, haaran nimelle, kuvan nimelle mediakirjastossa, tai osion tunnisteelle staattisessa sivustogeneraattorissa. Kaikkialle, missä ihmisen luettavissa olevan nimen on selviydyttävä koneen luettavassa kentässä, kuuluu slugi.
Muutama rajoitus on hyvä tietää ennen kuin luotat siihen. Tämä on generaattori, ei validaattori: se ei tarkista, onko slugi jo varattu sivustollasi, koska sillä ei ole aavistustakaan, mitä sivustosi sisältää — sen takaama ainutlaatuisuus pätee vain edessäsi olevaan erään. Uudelleenohjaukset ovat myös sinun vastuullasi; julkaistun sivun slugin muuttaminen rikkoo sen vanhan osoitteen, ja se on CMS-järjestelmäsi päätös, ei tämän työkalun. Tallenna tiedostoon kirjoittaa pelkkää tekstiä, ei CSV- tai JSON-muotoa. Automaattinen jako tekee pilkuista arviointipäätöksen, joka on oikein lähes kaikissa tapauksissa, mutta ei jokaisessa. Siksi Jaa syöte antaa sinun ohittaa sen. Translitterointi on myös enemmänkin käytäntö kuin suora käännös — München muuttuu muotoon muenchen, ei Munich — joten kun sivulla on vakiintunut nimi kohdekielessä, se nimi on parempi slugi kuin mikään alkuperäisen sanan automaattinen muunnos.