A slug a webcím olvasható vége — a my-first-post a example.com/blog/my-first-post címben. Ez az a rész, amelyet a felhasználó elolvashat a kattintás előtt, és amelyet a keresőmotor a weboldal tartalmának rövid leírásaként olvas, ezért érdemes nagyobb figyelmet fordítani rá, mint egy adatbázis-azonosítóra vagy egy dátumra. Ez az ingyenes generátor bármilyen szöveget sluggá alakít: illesszen be egy címet az „Átalakítandó szöveg” mezőbe, kattintson a „Generálás” gombra, és az eredmény a másolás gomb mellett jelenik meg. Az alapértelmezett beállítások megegyeznek a legtöbb weboldal által elvárt formátummal — kisbetűk, kötőjelek a szavak között, a leggyakoribb töltelékszavak eltávolítva és a nem latin betűk átírva —, így egy használható slug csupán egyetlen kattintásnyira van, és mindegyik döntés egy módosítható kapcsoló.
Minden a saját eszközén történik. Az oldal betölt egy kis JavaScript motort, és azt helyileg futtatja: a címeit soha nem tölti fel, nem naplózza, és az eszköz a kapcsolat megszakadása után is tovább működik. Ez az oka annak is, hogy az eredmény abban a pillanatban frissül, amikor megváltoztat egy beállítást. A munka sorrendjét érdemes megemlíteni, mert ez teszi a kimenetet kiszámíthatóvá: egy beillesztett link először az utolsó útvonal-részletre rövidül, majd a szöveg kisbetűssé válik, ezt követi a kötőszavak eltávolítása, a nem latin karakterek átírása, a számok és speciális karakterek eltávolítása (ha ezt kérte), a megmaradt rész összekapcsolása a kiválasztott elválasztóval, az eredmény levágása a maximális hosszra, és végül egy ismétlődés esetén egy numerikus utótag hozzáadása. Az „Átalakítandó szöveg” mezőbe egyszerre akár 500 000 karakter is beilleszthető, ami néhány ezer cikk címének felel meg.
Egy sor bemenet, egy slug kimenet. Illesszen be egy teljes címlistát, és minden sorból saját, számozott slug lesz, a felette szürkén megjelenő eredeti címmel, így egy ötvenes csoportban is könnyen megállapíthatja, hogy melyik slug melyik címsorhoz tartozik. Egy fájlban már meglévő listát nem kell a vágólapon keresztül utaztatni: a beviteli mező melletti „Betöltés fájlból” gomb megnyit egy egyszerű szövegfájlt — .txt, .csv, .md, .json és hasonlók — és a tartalmát a mezőbe helyezi. A böngészője pontosan úgy olvassa ezt a fájlt, mint azt, amit Ön beír, és nem tölti fel sehová. A „Bemenet felosztása” dönti el, hogyan darabolja fel a listát. Az alapértelmezett az „Automatikus”: a sortörés mindig elválasztja az elemeket, míg a vessző csak akkor választja el őket, ha a bemenet egyetlen sor, amelynek részei mind önálló értékeknek tűnnek — így a "ár 3,5 millió Ft" és az "5. fejezet: eredmények, következtetések" egyben marad, ahelyett, hogy töredékekre hullana. A „Sortörés”, a „Vessző” és a „Szóköz” opciókkal kikényszerítheti a választást, ha már ismeri az adatai formátumát. A „Kimeneti formátum” dönti el, hogyan tér vissza egy köteg, amikor átveszi — egy soronként, szóközzel elválasztva vagy vesszővel elválasztva —, és ezt mind az „Összes másolása”, mind a „Mentés fájlba” gomb követi. Az „Előzmények” a saját böngészőjében tartja az utolsó 10 köteget, így egy órája konvertált lista még mindig ott van.
A nem latin szöveg az a rész, amelyet a legtöbb slug generátor nagyjából jól, és csak kevés old meg teljesen helyesen. Egy URL a legbiztonságosabb tiszta ASCII formátumban, így a cirill, görög, arab, kínai és az európai ékezetes betűket át kell alakítani, és az egyetlen igazi kérdés, hogy kinek a szabályai szerint. Ez az oldal két rétegben válaszolja meg a kérdést. Az általános réteg minden írásrendszert lefed: egy átírási könyvtárat ésszerű ASCII-válasszal szinte minden begépelhető karakterre, amit az „Átírás nyelve” alatti „Automatikus (bármilyen nyelv)” opció jelent. A specifikus réteg egy sor kézzel épített táblázat azokhoz a nyelvekhez, ahol az általános válasz nem az, amit az adott ország ténylegesen használ; az „Átírás nyelve” menü felsorolja azokat, amelyekhez jelenleg van táblázat, és a lista bővül, ahogy az eszköz több olyan nyelvet ér el, amelynek szüksége van rá. Egy táblázat kiválasztásával az betöltődik egy szerkeszthető rácsba az „Átírási szabályok” alatt, ahol minden betű egy módosítható szövegmező, a „Szabályok alaphelyzetbe állítása” gomb pedig visszaállítja a normál verziót. Az ukrán táblázat követi a 2010. évi 55. számú Minisztertanácsi Határozatot, amely az ukrán útlevelekben nyomtatott szabvány, beleértve a könnyen elhibázható részleteket: a зг zgh lesz zh helyett, hogy elkülönüljön a ж betűtől; az є, ї, й, ю és я egy formát vesz fel a szó elején és egy másikat a belsejében; az aposztrófot és a lágyjelet pedig úgy hagyja el, hogy nem kezd új szót, így a Знам'янка znamianka lesz, nem pedig znamyanka. A német alapértelmezetten a kiterjesztett ä → ae, ö → oe, ü → ue formát használja, amelyet a német címek ténylegesen alkalmaznak, de kínál egy egyszerű ä → a változatot is, ha azt részesíti előnyben.
A „Kötőszavak eltávolítása” alapértelmezetten be van kapcsolva. Eldobja azokat az apró kötőszavakat — mint az a, az, és, egy —, amelyek meghosszabbítják a slugot anélkül, hogy jelentést adnának hozzá. A „Kötőszavak” alatti lista teljes mértékben szerkeszthető, és már kitöltve érkezik: egy angol listával, valamint a megnyitott oldal nyelvének megfelelő listával, így a magyar oldal ismeri az a, az, és, vagy szavakat. Adja hozzá a saját szavait, törölje azokat, amiket meg szeretne tartani, vagy kapcsolja ki teljesen a funkciót, ekkor a mező kiszürkül, ahelyett, hogy továbbra is úgy tenne, mintha számítana. Két őszinte megjegyzés ezzel kapcsolatban. A kötőszavak eltávolítása inkább esztétikai előny, mint rangsorolási tényező — egy rövidebb, tisztább címet kap, nem pedig jobb pozíciót a keresőkben. Továbbá, ha egy cím minden egyes szava véletlenül szerepel a listán, az őszinte eredmény a semmi; ezt az eszköz közli is Önnel, ahelyett, hogy egy üres mezőt adna.
A többi kapcsoló a formát határozza meg. Az „Elválasztó a slugban” határozza meg, hogy mi kerüljön a szavak közé, és az alapértelmezett kötőjel nem ízlés kérdése: a Google a kötőjelet szóelválasztóként, az alulvonást pedig kötőelemként olvassa, így a my_first_post egyetlen hosszú szóként érkezik a keresőrobothoz, míg a my-first-post háromként. Az „Alulvonás (_)” azon rendszerek számára van jelen, amelyek megkövetelik. A „Kisbetűsítés” be van kapcsolva, mert a legtöbb szerver kis- és nagybetű-érzékenyként kezeli a címeket, és a vegyes írásmód egy könnyű út ahhoz, hogy egy oldalnak két URL-je legyen. A „Speciális karakterek eltávolítása” eltüntet mindent, ami nem betű, szám, szóköz, kötőjel vagy alulvonás, így tartja távol a címből az írásjeleket, idézőjeleket és emojikat — az emojikat kifejezetten az átírás előtt távolítjuk el, hogy a rakéta emoji ne váljon a rocket szóvá. A „Számok eltávolítása” ki van kapcsolva, mivel egy szám a címben általában a cím része. A „Maximális hossz” 10 és 200 között fut, az alapértelmezett érték 80; ha egy slug ennél hosszabb, a motor visszalép az utolsó beleférő teljes szóhoz, és ott vágja le, ahelyett, hogy a közepén vágná ketté. Az egyes eredmények melletti szám a karakterek hosszát jelzi, és 60 felett pirosra vált — ez nem egy szigorú korlát, de az a pont, ahol a keresési eredmények kezdik levágni a slugot, és egyre nehezebb lesz egy üzenetbe beilleszteni.
Még két kapcsoló létezik azért, hogy egy tömeges konverziót újra egykattintásos munkává varázsoljanak. Az „Egyedi slugok” beállítás kezeli azokat az eseteket, amikor két különböző cím ugyanarra a slugra redukálódik — a "Top 10 tipp" és a "Top-10 tipp" egyaránt top-10-tipp lesz —, és a másodiknak egy -2, a harmadiknak egy -3 utótagot ad, először lerövidítve az alapot, ha a toldalék átlépné a maximális hosszt. Két oldal egyazon címen olyan probléma, amit sokkal olcsóbb ebben a listában észrevenni, mint az Ön CMS-ében. A „Slug kinyerése beillesztett URL-ből” funkció a másik irányba működik: illesszen be egy teljes linket, és az eszköz kiveszi az útvonal utolsó részét, eldobja a lekérdezési karakterláncot, bármilyen .html vagy .php végződést, és dekódolja a százalékos kódolást. Tehát egy %D0%9B%D1%8C%D0%B2%D1%96%D0%B2-re végződő Wikipédia-link lviv-ként tér vissza a hexadecimális számjegyek sora helyett. Csak akkor aktiválódik, ha a teljes sor egy link, így egy mondaton belül idézett cím a helyén marad.
Miért válassza ezt a slug generátort?
- Csak böngészőben fut: a címeit soha nem töltik fel, és az oldal offline is működik
- Tömeges konverzió beillesztésből vagy szövegfájlból, minden slug felett az eredeti címmel
- Valós átírási szabványok nyelvenként, nem csupán egy általános táblázat az összeshez
- Ukrán a 2010. évi 55. számú Határozat szerint — az útlevelekben használt helyesírás
- Minden szabály betűről betűre módosítható, egykattintásos visszaállítással
- Automatikus -2 és -3 utótagok, így egyetlen kötegben lévő slug sem ütközik
- Link beillesztése és a slug kinyerése belőle, dekódolt százalékos kódolással
- Egy szerkeszthető kötőszólista, amely az Ön nyelvéhez kitöltve érkezik
- Biztonságos levágás egy teljes szónál, a karakterek számával minden eredmény mellett
- Ingyenes és korlátlan: nincs regisztráció, nincs kvóta, semmit sem tartunk a szervereinken
Slugokra mindenhol szükség van, ahol egy oldalnak olvasható címet kell hordoznia. Egy blog vagy híroldal minden címsort sluggá alakít, és pont ez az az eset, ami köré ezt az eszközt alakították: illessze be a hét címsorait, kapja meg a hét URL-jeit. Egy webáruház ugyanezt teszi a termék- és kategórianevekkel, általában tömegesen egy importálás után, és gyakran olyan nyelven, amelynek ábécéjét a cím nem tudja tárolni. A dokumentációk és tudásbázisok is hasonlóan építik fel a horgonyokat és a fájlneveket. A webcímeken túl ugyanez a tiszta karakterlánc kell egy olyan fájlnévhez, amely nem romlik el egy másik operációs rendszeren; egy adatbáziskulcshoz, amelyet egy ember el tud olvasni a naplóban; egy ág (branch) nevéhez; egy kép nevéhez a médiatárban; vagy egy szekció azonosítójához a statikus weboldal-generátorokban. Bárhol, ahol egy ember által olvasható névnek túl kell élnie egy gépek által olvasható mezőbe történő beillesztést, a slugnak ott a helye.
Mielőtt támaszkodna rá, érdemes megismerni néhány korlátját. Ez egy generátor, nem pedig egy érvényesítő (validátor): nem ellenőrzi, hogy egy adott slug már foglalt-e a weboldalán, mivel fogalma sincs arról, mit tartalmaz az Ön oldala — az az egyediség, amit garantál, csupán a szeme előtt lévő kötegen belül érvényes. Az átirányítások is az Ön feladatai; egy már közzétett oldal slugjának megváltoztatása tönkreteszi a régi címét, és ez egy CMS-szintű döntés, nem az eszközé. A „Mentés fájlba” gomb egyszerű szöveget ír, nem CSV-t vagy JSON-t. Az automatikus felosztás hoz egy becslő döntést a vesszőkről, ami az esetek túlnyomó többségében helyes, de nem mindig — pontosan ezért engedi meg a „Bemenet felosztása” opció, hogy Ön bírálja felül. Ezenfelül az átírás inkább konvenció, mintsem fordítás — Münchenből muenchen lesz, nem pedig Munich —, így amikor egy oldalnak van már bejáratott neve a célnyelven, az a név jobb slug, mint az eredeti bármilyen automatikus konverziója.