Generátor URL slugů

Převeďte jakýkoli nadpis na čistý URL slug ve vašem prohlížeči — po jednom nebo v celých seznamech. Skutečné standardy transliterace, upravitelná pravidla, a to vše bez odesílání dat na server.

Vyplňte text pro převod
Pokročilé možnosti

Slug je čitelná koncová část webové adresy — my-first-post v example.com/blog/my-first-post. Je to ta část, kterou si člověk může přečíst, než se rozhodne kliknout, a kterou vyhledávač čte jako stručný popis obsahu stránky. Proto si zaslouží více pozornosti než id z databáze nebo datum. Tento bezplatný generátor převede jakýkoli text na slug: vložte nadpis do pole Text k převodu, stiskněte Generovat a výsledek se objeví s tlačítkem pro kopírování. Výchozí nastavení představuje to, co většina webů potřebuje — malá písmena, spojovníky mezi slovy, vynechaná výplňová slova a transliterovaná nelatinská písmena. Použitelný slug je tak vzdálen jedno kliknutí a každé z těchto rozhodnutí je přepínač, který můžete změnit.

Vše probíhá přímo na vašem zařízení. Stránka načte malý javascriptový engine a spustí jej lokálně: vaše nadpisy se nikam neodesílají, nikam neukládají a nástroj funguje dál i po odpojení od internetu. To je také důvod, proč se výsledek aktualizuje ve chvíli, kdy změníte nastavení. Pořadí práce stojí za zmínku, protože právě to činí výstup předvídatelným: vložený odkaz je nejprve zkrácen na svou poslední část, poté je text převeden na Malá písmena, následně jsou odstraněna Stop slova, nelatinské znaky jsou transliterovány (což řídí volba Transliterovat), odstraní se čísla a speciální znaky (pokud jste o to požádali), to, co zbyde, se spojí znakem, který jste zvolili v poli Oddělovač, výsledek se zkrátí na hodnotu Max. délka a nakonec opakující se položky dostanou číselnou příponu. Pole Text k převodu pojme najednou až 500 000 znaků, což odpovídá několika tisícům názvů článků.

Jeden řádek na vstupu, jeden slug na výstupu. Vložte celý seznam nadpisů a z každého řádku se stane samostatný očíslovaný slug. Původní nadpis, ze kterého vznikl, se nad ním zobrazí šedě, takže i v dávce padesáti položek poznáte, který slug patří ke kterému nadpisu. Seznam, který již máte v souboru, nemusíte kopírovat: tlačítko Načíst ze souboru vedle vstupního pole otevře obyčejný textový soubor — .txt, .csv, .md, .json a podobné — a vloží jeho obsah do pole. Váš prohlížeč čte tento soubor úplně stejně, jako čte to, co píšete, a nikam jej neodesílá. Volba Rozdělit vstup podle určuje, jak se seznam rozkouskuje. Automaticky je výchozí: zalomení řádku vždy odděluje položky, zatímco čárka je odděluje jen tehdy, když je vstupem jeden řádek, jehož všechny části vypadají jako samostatné hodnoty — takže "cena 3,5 EUR" a "Kapitola 5: výsledky, závěry" zůstanou vcelku a nerozpadnou se na fragmenty. Možnosti Nový řádek, Čárka a Mezera vynutí volbu, pokud formát svých dat už znáte. Volba Formát výstupu určuje, jak se dávka vrátí, když si ji vyzvednete — po jednom na řádek, Odděleno mezerami nebo Odděleno čárkami. Tlačítka Kopírovat vše a Uložit do souboru to budou respektovat. Funkce Historie uchovává vašich posledních 10 dávek ve vašem prohlížeči, takže seznam, který jste převedli před hodinou, tam stále je.

Nelatinský text je ta část, kterou většina generátorů slugů zvládne zhruba dobře a málokterý přesně. URL je nejbezpečnější v čistém ASCII, takže cyrilici, řečtinu, arabštinu, čínštinu a evropská písmena s diakritikou je třeba převést a jedinou skutečnou otázkou je, podle jakého pravidla. Tato stránka na to odpovídá ve dvou vrstvách. Obecná vrstva pokrývá všechna písma: je to transliterační knihovna s rozumným ASCII ekvivalentem pro téměř jakýkoli znak, který dokážete napsat. To je to, co znamená volba Automaticky (libovolný jazyk) v nabídce Transliterovat z. Specifickou vrstvou je sada ručně sestavených tabulek pro jazyky, kde se obecná odpověď neshoduje s tím, co se v dané zemi reálně používá. Které jazyky tabulku mají, uvádí sama nabídka Transliterovat z, a seznam roste, jak nástroj naráží na další jazyky, které je potřebují. (Čeština zatím používá obecnou vrstvu). Výběrem jedné z těchto tabulek se tato načte do upravitelné mřížky v části Pravidla transliterace, kde je každé písmeno textovým polem, které můžete změnit, a tlačítkem Obnovit výchozí pravidla je vrátíte zpět. Ukrajinská tabulka se řídí nařízením kabinetu ministrů č. 55 z roku 2010, což je standard používaný v ukrajinských pasech, a zahrnuje i detaily, na které se snadno zapomíná: зг se mění na zgh místo zh, aby se lišilo od ж; є, ї, й, ю a я mají jednu formu na začátku slova a jinou uvnitř něj; apostrof a měkký znak se vypouštějí bez zahájení nového slova, takže Знам'янка vyjde jako znamianka a ne znamyanka. Němčina ve výchozím nastavení používá rozšířené ä → ae, ö → oe, ü → ue, které se ve skutečnosti používají v německých adresách, s variantou obyčejného ä → a, pokud dáváte přednost té.

Volba Odstranit stop slova je ve výchozím nastavení zapnutá. Vynechává drobná spojovací slova — a, the, and, of, for —, která prodlužují slug, aniž by mu přidala na významu. Seznam pod položkou Stop slova je plně upravitelný a je dodáván již vyplněný: anglický seznam plus seznam pro jazyk stránky, na které se nacházíte, takže přidávejte svá vlastní slova, mažte ta, která chcete zachovat, nebo funkci úplně vypněte (pole poté zešedne, místo aby předstíralo, že je stále funkční). Dvě upřímné poznámky k této funkci. Odstranění stop slov je spíše drobným vylepšením přehlednosti než faktorem pro hodnocení ve vyhledávačích — získáte kratší, čistší adresu, nikoli lepší pozici. A pokud se každé slovo v nadpisu náhodou nachází v tomto seznamu, poctivým výsledkem je prázdnota. Nástroj vám to tedy sdělí, místo aby vám vrátil prázdné pole.

Zbývající přepínače určují tvar. Možnost Oddělovač vybírá to, co sedí mezi slovy. Výchozí Spojovník (-) není otázkou vkusu: Google chápe spojovník jako oddělovač slov a podtržítko jako spojovací znak, takže my_first_post dorazí k prohledávači jako jedno dlouhé slovo, zatímco my-first-post jako tři. Podtržítko (_) je zde k dispozici pro systémy, které na něm trvají. Volba Malá písmena je zapnutá, protože většina serverů rozlišuje v adresách velká a malá písmena, a smíšená velikost je snadný způsob, jak skončit se dvěma URL pro jednu stránku. Přepínač Odstranit speciální znaky odstraní vše, co není písmeno, číslice, mezera, spojovník nebo podtržítko. Tím se do adresy nedostane interpunkce, uvozovky a emoji — emoji jsou navíc odstraňována před transliterací specificky proto, aby se z obrázku rakety nestalo slovo rocket. Odstranit čísla je vypnuto, protože číslo v nadpisu je obvykle jeho součástí. Max. délka funguje od 10 do 200 s výchozí hodnotou 80; když je slug delší, engine ho uřízne na konci posledního celého slova, které se vejde, a ne v polovině slova. Číslo vedle každého výsledku ukazuje jeho délku ve znacích a po překročení 60 znaků zčervená. Nejedná se o tvrdý limit, ale o bod, kde se slug začíná osekávat ve výsledcích vyhledávání a stává se nepohodlným pro vkládání do zpráv.

Další dva přepínače existují proto, aby udělaly z hromadného převodu opět úlohu na jedno kliknutí. Volba Unikátní slugy řeší případ, kdy se dva různé nadpisy zkrátí na stejný slug — "Top 10 tipů" a "Top-10 tipů" se obojí stane top-10-tipu — a přidá druhému slugu příponu -2 a třetímu -3. Pokud by přípona posunula slug za vaši maximální délku, základní část se předem zkrátí. Dvě stránky na jedné adrese představují problém, který je mnohem levnější podchytit v tomto seznamu, než ve vašem redakčním systému. Volba Převzít slug z vložené URL funguje v opačném směru: vložte celý odkaz a nástroj vezme poslední část cesty, zahodí řetězec dotazu i případnou koncovku .html nebo .php a dekóduje percent-encoding (procentní kódování). Adresa z Wikipedie končící na %D0%9B%D1%8C%D0%B2%D1%96%D0%B2 se tedy vrátí jako lviv, nikoli jako změť hexadecimálních číslic. Aktivuje se pouze tehdy, když je odkazem celý řádek, takže adresa citovaná uprostřed věty zůstane tam, kde je.

Proč si vybrat tento generátor slugů?

Slugy jsou potřeba všude tam, kde musí mít stránka čitelnou adresu. Blog nebo zpravodajský web přemění každý titulek na slug, což je přesně ten případ, pro který byl tento nástroj navržen: vložte titulky za celý týden a získejte URL za celý týden. Internetový obchod dělá totéž u názvů produktů a kategorií, obvykle hromadně po importu dat a zpravidla v jazyce, jehož abecedu adresa nezvládne. Dokumentace a znalostní báze sestavují stejným způsobem kotvy a názvy souborů. Kromě webových adres potřebujete stejný čistý řetězec i pro název souboru, který se na jiném operačním systému nerozbije, pro databázový klíč, který si člověk přečte v logu, pro název větve v gitu, pro název obrázku v knihovně médií nebo pro identifikátor sekce v generátoru statických webů. Každé místo, kde musí člověkem čitelný název přežít vložení do strojově čitelného pole, je místem, kam slug patří.

Než se na něj spolehnete, stojí za to znát několik omezení. Toto je generátor, nikoli validátor: nekontroluje, zda je slug na vašem webu již obsazen, protože nemá tušení, co váš web obsahuje. Unikátnost, kterou zaručuje, platí pouze pro dávku před vámi. Vaší prací je také řešení přesměrování (redirectů); změna slugu již publikované stránky rozbije její starou adresu a rozhodnutí o tom náleží vašemu redakčnímu systému, nikoli tomuto nástroji. Tlačítko Uložit do souboru zapisuje čistý text, nikoli CSV nebo JSON. Automatické rozdělování rozhoduje o čárkách, což je správné téměř ve všech případech, ale ne úplně ve všech, a právě proto vám Rozdělit vstup podle umožňuje ho přepsat. Navíc transliterace je konvence spíše než překlad — München se stane muenchen, nikoli Munich. Takže když má stránka v cílovém jazyce zažitý název, je tento název lepším slugem než jakýkoli automatický převod originálu.

FAQ

Jak vytvořím URL slug?

Vložte svůj nadpis do pole Text k převodu a stiskněte Generovat. Výsledek se objeví s tlačítkem pro kopírování, převedený s výchozími hodnotami, které většina webů potřebuje: Malá písmena, Spojovník (-) mezi slovy, odstraněná výplňová slova a transliterovaná nelatinská písmena. Každou z těchto voleb můžete změnit a Pokročilé možnosti obsahují zbytek — Oddělovač, Max. délka, seznam Stop slova a Pravidla transliterace.

Mohu převést celý seznam nadpisů najednou?

Ano. Vložte až 500 000 znaků — několik tisíc titulků — nebo je rovnou načtěte ze souboru pomocí tlačítka Načíst ze souboru vedle vstupního pole. To přečte obsah ve vašem prohlížeči, aniž by se něco odesílalo (nahrávalo). Z každého řádku se stane vlastní očíslovaný slug, nad kterým se zobrazí původní nadpis, ze kterého vznikl, abyste si je mohli spárovat. Volba Rozdělit vstup podle řídí, jak se seznam dělí. Možnost Formát výstupu rozhoduje, zda se dávka vrátí po řádcích, Odděleno mezerami, nebo Odděleno čárkami. Tlačítka Kopírovat vše a Uložit do souboru pracují s celým výstupem najednou.

Jak generátor zpracovává cyrilici a písmena s diakritikou?

Transliteruje je do ASCII ve dvou vrstvách. Zcela libovolné písmo — cyrilice, řečtina, arabština, čínština nebo latinka s diakritikou — pokrývá obecná transliterační knihovna, kterou využívá volba Automaticky (libovolný jazyk). Nad tím sedí ručně sestavené tabulky pro jazyky, u nichž se obecná odpověď neshoduje s tím, co daná země reálně používá; které to jsou, uvádí nabídka Transliterovat z. Vyberte jednu z nich a tabulka se načte, přičemž každé písmeno lze upravovat. (Čeština používá obecnou vrstvu).

Jaký standard transliterace se používá pro ukrajinštinu?

Nařízení kabinetu ministrů č. 55 z 27. ledna 2010 — standard používaný v ukrajinských pasech. Zahrnuje to i detaily, které se snadno pletou: зг se mění na zgh, aby se odlišilo od ж; písmena є, ї, й, ю a я mají jinou podobu na začátku slova a jinou uvnitř něj; apostrof a měkký znak se vypouštějí, aniž by začínaly nové slovo, takže Знам'янка se změní na znamianka a ne znamyanka. Pokud dáváte přednost jednoduššímu vzhledu, k dispozici je druhá varianta, která používá všude ya, yu a yi.

Mohu změnit způsob transliterace konkrétního písmene?

Ano. Otevřete Pravidla transliterace (u podporovaných jazyků, které mají tabulku) a každé písmeno tabulky je textovým polem: zadejte, na co se má písmeno změnit, a výsledek se aktualizuje během psaní. Vymazáním pole se písmeno zcela odstraní. Vaše úpravy se zapamatují ve vašem prohlížeči pro příště a tlačítkem Obnovit výchozí pravidla si můžete standardní tabulku kdykoli obnovit.

Co jsou stop slova a měl bych je odstraňovat?

Jsou to krátká spojovací slova — a, the, and, of, for, nebo v češtině a, i, k, v — která slug prodlužují, aniž by ho zpřehledňovala. Volba Odstranit stop slova je ve výchozím nastavení zapnuta a seznam pod položkou Stop slova lze upravovat; přichází předvyplněný anglickým seznamem a seznamem pro jazyk stránky, na které se právě nacházíte. Ohledně přínosu buďte ale upřímní: vede to ke kratší a přehlednější adrese, ale nepřináší to lepší pozice ve vyhledávání. Pokud se nadpis skládá výhradně ze stop slov, nástroj vám to řekne, místo aby vrátil prázdný slug.

Mám ve slugu používat spojovníky nebo podtržítka?

Spojovníky, pokud něco ve vašem technologickém stacku nevyžaduje opak. Google zachází se spojovníkem jako s oddělovačem mezi slovy a s podtržítkem jako se znakem, který je spojuje, takže my_first_post se čte jako jedno dlouhé slovo, zatímco my-first-post jako tři. Z tohoto důvodu používá generátor ve výchozím nastavení Spojovník (-). Volba Oddělovač nabízí Podtržítko (_) pro systémy, které ho vyžadují.

Jak dlouhý by měl být URL slug?

Dostatečně krátký na to, aby se dal přečíst na první pohled — prvních pár slov nese význam a zbytek obvykle tvoří konec věty. Číslo vedle každého výsledku znamená jeho délku ve znacích a po překročení 60 znaků se zbarví červeně. To je přibližně místo, kde výsledky vyhledávání začínají slug osekávat a kde se stává nepraktickým vkládat ho do zpráv. Volba Max. délka nastavuje tvrdý strop v rozmezí 10 až 200 znaků a výchozí hodnota je 80.

Rozděluje generátor slova na polovinu, pokud je slug příliš dlouhý?

Ne. Pokud slug přesáhne maximální délku, engine se vrátí k poslednímu celému slovu, které se do limitu vejde, a odřízne ho tam. Zkrácený slug tak stále dává smysl jako skupina slov a nekončí uprostřed slabiky. To samé platí, když se k opakující se položce přidává číselná přípona: nejdříve se zkrátí základ, aby výsledný slug stále nepřekračoval váš limit.

Co se stane, když dva nadpisy vytvoří stejný slug?

Ve výchozím nastavení je zapnuto Unikátní slugy, které to vyřeší: první výskyt si ponechá jednoduchý slug, druhý dostane příponu -2, třetí -3 a tak dále. Zachycuje tak běžný případ, kdy se dva různé názvy zkrátí na to samé — "Top 10 tipů" i "Top-10 tipů" se stanou top-10-tipu. Její vypnutí vám poskytne surový výstup s ponechanými duplicitami. Uvědomte si, že jedinečnost je zaručena pouze v rámci právě převáděné dávky; nástroj nemůže vědět, co už na vašem webu existuje.

Mohu vložit URL namísto nadpisu?

Ano. Volba Převzít slug z vložené URL je ve výchozím nastavení zapnutá. Když je celý řádek odkazem, nástroj z něj vytáhne poslední část cesty, zahodí řetězec dotazu a případné zakončení .html nebo .php a dekóduje percent-encoding (procentní kódování). Takže adresa Wikipedie, která končí na %D0%9B%D1%8C%D0%B2%D1%96%D0%B2, se vrátí jako lviv spíše než série hexadecimálních čísel. Spustí se to jen v případě, že celý řádek tvoří odkaz. URL uvnitř věty se bude považovat za normální text.

Jsou mé texty odesílány na server?

Ne. Konverze běží ve vašem prohlížeči lokálně jako JavaScript. Nic se nenahrává (neuploaduje), nic se neloguje a jakmile se stránka načte, bude fungovat i po vypnutí připojení. Nepublikované titulky, interní názvy produktů a práce klientů zůstávají na vašem počítači. Právě to je praktickým důvodem, proč pro tuto konkrétní úlohu upřednostnit lokální nástroj před nástrojem na straně serveru.

Proč se moje jedna věta rozdělila na dva slugy?

Protože obsahovala čárku a volba Rozdělit vstup podle byla nastavena na Automaticky. Tento režim považuje zalomení řádku za jistý oddělovač a čárku za pravděpodobný, ale odděluje pouze na čárkách tehdy, když všechny části jednoho řádku vypadají jako samostatné hodnoty — desetinné číslo jako 3,5 nebo věta s dvojtečkou zůstanou záměrně celé. Pokud se název stále rozděluje tam, kde by neměl, nastavte Rozdělit vstup podle na Nový řádek a vstup se rozdělí pouze v místě, kde jste skutečně stiskli Enter.