Generator slugów URL

Zamień dowolny tytuł w czysty slug URL w przeglądarce — pojedynczo lub całą listę naraz. Prawdziwa transliteracja cyrylicy i znaków diakrytycznych, edytowalne reguły i brak wysyłania jakichkolwiek danych na serwer.

Wypełnij tekst do konwersji
Opcje zaawansowane
Reguły transliteracji
Znak Łaciński Pozycja w słowie
Ąą
Ćć
Ęę
Łł
Ńń
Óó
Śś
Źź
Żż

Slug to czytelna końcówka adresu internetowego — my-first-post w example.com/blog/my-first-post. Jest to część, którą człowiek może przeczytać przed podjęciem decyzji o kliknięciu, i część, którą wyszukiwarka czyta jako krótki opis zawartości strony, dlatego zasługuje na więcej uwagi niż identyfikator z bazy danych czy data. Ten darmowy generator zmienia dowolny tekst w slug: wklej tytuł w pole Tekst do konwersji, naciśnij Generuj, a wynik pojawi się wraz z przyciskiem do kopiowania obok. Ustawienia domyślne to te, których potrzebuje większość stron — małe litery, myślniki między słowami, usunięte popularne słowa wypełniające, przetransliterowane litery spoza alfabetu łacińskiego — dzięki czemu użyteczny slug jest na wyciągnięcie ręki, a każda z tych decyzji to przełącznik, który możesz zmienić.

Wszystko dzieje się na Twoim urządzeniu. Strona ładuje mały silnik JavaScript i uruchamia go lokalnie: Twoje tytuły nigdy nie są wysyłane na serwer, nigdy nie są logowane, a narzędzie działa nawet po wyłączeniu połączenia z siecią. To również powód, dla którego wynik aktualizuje się w momencie zmiany ustawienia. Warto wspomnieć o kolejności działań, ponieważ to ona sprawia, że wynik jest przewidywalny: wklejony link jest najpierw redukowany do ostatniego segmentu ścieżki, potem tekst jest zamieniany na małe litery, następnie usuwane są zbędne słowa, później znaki nielacińskie są transliterowane, potem usuwane są cyfry i znaki specjalne (jeśli o to poprosiłeś), następnie to, co zostało, jest łączone za pomocą wybranego separatora, potem wynik jest przycinany do maksymalnej długości, a na koniec duplikat otrzymuje przyrostek numeryczny. Tekst do konwersji przyjmuje jednorazowo do 500 000 znaków, co odpowiada kilku tysiącom nagłówków artykułów.

Jeden wiersz na wejściu, jeden slug na wyjściu. Wklej całą listę tytułów, a każdy wiersz stanie się własnym, ponumerowanym slugiem z oryginalnym tytułem widocznym powyżej w kolorze szarym, dzięki czemu w partii pięćdziesięciu sztuk wciąż zorientujesz się, do którego nagłówka należy dany slug. Lista, która znajduje się już w pliku, nie musi wędrować przez schowek: Załaduj z pliku, przycisk obok pola wprowadzania, otwiera zwykły plik tekstowy — .txt, .csv, .md, .json i tym podobne — i wrzuca jego zawartość do pola. Twoja przeglądarka czyta ten plik dokładnie tak, jak to, co wpisujesz z klawiatury, i nie jest on nigdzie wysyłany. Dziel dane wejściowe wg decyduje, w jaki sposób lista jest dzielona. Automatycznie jest opcją domyślną: nowa linia zawsze rozdziela pozycje, podczas gdy przecinek rozdziela je tylko wtedy, gdy dane to pojedynczy wiersz, którego części wyglądają jak niezależne wartości — więc "cena 3,5 EUR" oraz "Rozdział 5: wyniki, wnioski" pozostają w całości zamiast rozpadać się na fragmenty. Nowy wiersz, Przecinek i Spacja wymuszają ten wybór, kiedy znasz już kształt swoich danych. Format wyników decyduje o tym, w jakiej postaci partia wraca po skopiowaniu — jeden wiersz na wynik, oddzielone spacjami, czy oddzielone przecinkami — a obie opcje Kopiuj wszystko i Zapisz do pliku stosują się do tego. Historia przechowuje 10 ostatnich przetworzeń w Twojej własnej przeglądarce, więc lista przekształcona godzinę temu wciąż tam jest.

Znaki spoza alfabetu łacińskiego to element, z którym większość generatorów slugów radzi sobie z grubsza, a mało który robi to bezbłędnie. Adres URL jest najbezpieczniejszy w czystym formacie ASCII, dlatego też znaki cyrylicy, greckie, arabskie, chińskie czy europejskie litery z akcentami muszą zostać przekonwertowane — i tu jedynym pytaniem jest, według czyich reguł. Ta strona odpowiada na to dwutorowo. Warstwa ogólna obsługuje każdy system pisma: biblioteka transliteracyjna zapewnia sensowny odpowiednik ASCII dla niemal każdego znaku, jaki możesz wpisać. Warstwa szczegółowa to zestaw ręcznie przygotowanych tabel dla języków, w których ogólna odpowiedź nie pokrywa się z tym, co faktycznie stosuje dany kraj; polski jest jednym z nich. Z uwagi na to, że jest to polska wersja strony, używana jest tutaj polska tabela. Trafia ona od razu do edytowalnej siatki w sekcji Reguły transliteracji, gdzie każda litera jest polem tekstowym, które możesz zmienić, a Przywróć domyślne reguły cofa te zmiany. Polska tabela odwzorowuje polskie normy: ą staje się a, ł zamienia się na l, a ż i ź stają się literą z. Jako przykład, że dla innych języków zasady się różnią, ukraińska tabela w narzędziu spełnia wymogi urzędowej uchwały nr 55.

Usuń zbędne słowa jest domyślnie włączone. Pozbywa się krótkich słów łączących — w, z, do, na, i — które wydłużają slug, nie dodając mu znaczenia. Lista pod hasłem Zbędne słowa jest w pełni edytowalna i trafia do Ciebie już wypełniona: zawiera listę angielską oraz listę dla języka, w którym przeglądasz stronę, więc polska wersja rozpoznaje w, na, i oraz z. Możesz dodać własne słowa, usunąć te, które chcesz zatrzymać, albo całkowicie wyłączyć tę funkcję, w którym to przypadku pole zmienia kolor na szary, by nie udawać, że nadal ma znaczenie. Dwie szczere uwagi na ten temat. Pozbycie się zbędnych słów to mały zysk na uporządkowaniu, a nie dźwignia rankingowa — zyskujesz krótszy, czystszy adres, a nie lepszą pozycję. Jeśli każdy wyraz w tytule znajdzie się na tej liście, rzetelnym wynikiem będzie po prostu nic, więc narzędzie poinformuje Cię o tym, zamiast wręczać puste pole.

Pozostałe przełączniki decydują o kształcie. Separator w slugu pozwala wybrać znak umieszczany pomiędzy słowami, a domyślny wybór myślnika nie jest kwestią gustu: Google odczytuje myślnik jako znak oddzielający słowa, a podkreślenie jako łącznik, więc my_first_post dociera do robota jako jedno długie słowo, podczas gdy my-first-post jako trzy. Podkreślenie (_) jest dostępne dla tych systemów, które na to nalegają. Małe litery jest włączone, ponieważ większość serwerów traktuje adresy jako wrażliwe na wielkość liter, a wymieszanie ich to prosty sposób, by skończyć z dwoma adresami URL dla jednej strony. Usuń znaki specjalne usuwa wszystko, co nie jest literą, cyfrą, spacją, myślnikiem ani podkreśleniem, dzięki czemu z adresu znikają znaki przestankowe, cudzysłowy i emoji — co ważne, emoji usuwane są celowo przed procesem transliteracji, aby obrazek rakiety nie zmienił się w słowo rocket. Usuń cyfry jest wyłączone, gdyż liczba w tytule zazwyczaj jest jego integralną częścią. Maks. długość obejmuje zakres od 10 do 200 znaków i domyślnie wynosi 80; jeśli slug okazuje się dłuższy, silnik obcina go przy ostatnim pełnym słowie, które mieści się w limicie, zamiast ciąć w środku wyrazu. Liczba obok każdego wyniku to jego długość w znakach, która zmienia kolor na czerwony po przekroczeniu 60 — to nie jest twardy limit, lecz moment, w którym slug zaczyna być przycinany w wynikach wyszukiwania i staje się nieporęczny do wklejenia w wiadomości.

Dwa kolejne przełączniki istnieją po to, aby zamienić konwersję masową z powrotem w zadanie na jedno kliknięcie. Unikalne slugi wyłapuje sytuacje, w których dwa odmienne tytuły generują identyczny slug — "Top 10 porad" i "Top-10 porad" stają się tym samym top-10-porad — i nadaje temu drugiemu przyrostek -2, trzeciemu -3, najpierw skracając rdzeń, jeśli dodanie przyrostka sprawiłoby, że slug przekroczy Twoją maksymalną długość. Dwie strony funkcjonujące pod tym samym adresem to problem znacznie tańszy do naprawienia na tej liście niż w Twoim systemie CMS. Slug z wklejonego adresu działa w drugą stronę: wklej pełny link, a narzędzie odetnie tylko ostatnią część ścieżki, odrzuci ciąg zapytania czy końcówkę .html lub .php i odkoduje kodowanie procentowe, dzięki czemu link do Wikipedii kończący się na %C5%81%C3%B3d%C5%BA powróci jako lodz zamiast ciągu cyfr szesnastkowych. Opcja ta jest uruchamiana tylko wtedy, gdy cały ciąg znaków w danej linii stanowi link, zatem adres umieszczony wewnątrz zdania pozostanie potraktowany jak zwykły tekst.

Dlaczego warto wybrać ten generator slugów?

Slugi potrzebne są wszędzie tam, gdzie strona musi posiadać czytelny adres. Blog lub strona z wiadomościami zamienia każdy nagłówek na slug, i to jest przypadek użycia, wokół którego zostało zaprojektowane to narzędzie: wklej najważniejsze tematy tygodnia, odbierz adresy URL na ten tydzień. Sklep internetowy robi to samo z nazwami produktów i kategorii, zazwyczaj masowo po imporcie danych, i bardzo często w języku, którego alfabet nie mieści się w adresie. Dokumentacja i bazy wiedzy konstruują na tych samych zasadach kotwice oraz nazwy plików. Poza adresami internetowymi, dokładnie tego samego czystego ciągu znaków potrzebujesz dla nazwy pliku, która nie popsuje się na innym systemie operacyjnym, klucza bazy danych, który człowiek zdoła odczytać w logach, nazwy gałęzi, nazwy obrazu w bibliotece multimediów czy identyfikatora sekcji w generatorze stron statycznych. Każde miejsce, w którym nazwa przyjazna dla człowieka musi przetrwać wstawienie w pole przeznaczone dla maszyny, jest miejscem należącym do sluga.

Zanim zaczniesz na nim w pełni polegać, warto poznać kilka jego ograniczeń. Jest to generator, a nie walidator: nie sprawdzi, czy dany slug jest już zajęty na Twojej stronie, ponieważ nie ma pojęcia o jej zawartości — unikalność, którą gwarantuje, obowiązuje jedynie w partii danych znajdującej się przed Tobą. Przekierowania również pozostają Twoim zadaniem; zmiana sluga opublikowanej strony psuje jej stary adres, a to jest decyzja do podjęcia wewnątrz CMS-a, a nie dla tego narzędzia. Zapisz do pliku zapisuje tylko zwykły tekst, a nie pliki CSV czy JSON. Automatyczny podział podejmuje decyzję o przecinkach, która jest poprawna w prawie wszystkich przypadkach, ale nie we wszystkich, co jest dokładnie powodem, dla którego Dziel dane wejściowe wg pozwala na zmianę tego ustawienia. Transliteracja to konwencja, a nie tłumaczenie — München staje się muenchen, a nie Munich — dlatego też, gdy strona ma już ustaloną nazwę w języku docelowym, ta nazwa będzie znacznie lepszym slugiem niż automatyczna konwersja oryginału.

FAQ

Jak utworzyć slug URL?

Wklej swój tytuł w pole Tekst do konwersji i naciśnij Generuj. Wynik pojawi się z przyciskiem kopiowania obok, przekształcony zgodnie z domyślnymi ustawieniami, których potrzebuje większość stron: małe litery, myślniki między słowami, usunięte słowa wypełniające i przetransliterowane litery nielacińskie. Każda z nich to przełącznik, który możesz zmienić, a Opcje zaawansowane zawierają resztę — separator, maksymalną długość, listę zbędnych słów i reguły transliteracji.

Czy mogę przekonwertować całą listę tytułów jednocześnie?

Tak. Wklej do 500 000 znaków — co wystarcza na kilka tysięcy nagłówków — lub wczytaj je prosto z pliku za pomocą przycisku Załaduj z pliku obok pola wprowadzania, który odczytuje go w Twojej przeglądarce bez wysyłania go w sieci. Każda linijka staje się swoim własnym, numerowanym slugiem, z tytułem, z którego pochodzi, pokazanym powyżej, co pozwala na łatwe dopasowanie. Dziel dane wejściowe wg kontroluje, w jaki sposób lista jest rozdzielana, Format wyników decyduje, czy zwracana partia jest oddzielona wierszami, spacjami czy przecinkami, a przyciski Kopiuj wszystko i Zapisz do pliku pobierają od razu całą zawartość.

W jaki sposób generator obsługuje cyrylicę i litery z akcentem?

Transliteruje je na ASCII w dwóch warstwach. Dowolny alfabet — cyrylica, greka, pismo arabskie, chińskie, łaciński z akcentami — jest obsługiwany przez ogólną bibliotekę transliteracyjną. Oprócz tego istnieją ręcznie stworzone tabele dla języków, w których ogólna odpowiedź nie pokrywa się z tym, czego faktycznie używa się w danym kraju — polski jest jednym z nich. Z racji, że jest to strona polskojęzyczna, tabela dla języka polskiego ładuje się automatycznie bez konieczności wybierania języka.

Jakiego standardu transliteracji używa polska tabela?

Polska tabela bazuje na pozbawianiu liter diakrytyków: ą staje się a, ć staje się c, ę staje się e, ł staje się l, ń staje się n, ó staje się o, ś staje się s. Litery ż oraz ź stają się literą z. Zastosowano tutaj uproszczone reguły, dla których najważniejsza jest czytelność bez specjalnych modyfikacji (np. bez podwójnych liter). Dla przykładu, narzędzie to stosuje dla języka ukraińskiego urzędową uchwałę nr 55.

Czy mogę zmienić sposób transliteracji konkretnej litery?

Tak. Otwórz Reguły transliteracji, a każda litera w tabeli to pole tekstowe: wpisz to, czym chcesz, aby stała się ta litera, a wynik będzie aktualizował się na bieżąco w miarę pisania. Wyczyszczenie pola usuwa literę całkowicie. Twoje edycje są zapamiętywane w Twojej własnej przeglądarce na następny raz, a Przywróć domyślne reguły przywraca standardową tabelę, kiedy tylko zechcesz.

Czym są zbędne słowa i czy powinienem je usunąć?

Są to małe słowa łączące — w, z, na, do, i — które wydłużają slug bez czynienia go jaśniejszym. Ich usuwanie jest włączone domyślnie, a lista w sekcji Zbędne słowa jest edytowalna, dostarczana wstępnie wypełniona angielską listą oraz listą dla języka polskiego. Bądźmy jednak szczerzy, co do ich korzyści: daje to krótszy, czystszy adres, a nie lepszą pozycję w wynikach wyszukiwania. Jeśli tytuł składa się wyłącznie ze zbędnych słów, narzędzie o tym informuje, zamiast zwracać puste miejsce.

Czy w slugu powinienem używać myślników, czy podkreśleń?

Myślników, chyba że coś w Twoim systemie wymaga inaczej. Google traktuje myślnik jako znak rozdzielający słowa, a podkreślenie jako znak łączący, przez co my_first_post jest czytane jako jedno długie słowo, podczas gdy my-first-post jako trzy odrębne. Generator domyślnie korzysta z myślników właśnie z tego powodu; Separator w slugu oferuje Podkreślenie (_) dla systemów, które tego potrzebują.

Jak długi powinien być slug URL?

Wystarczająco krótki, aby można go było przeczytać na pierwszy rzut oka — pierwszych kilka słów niesie ze sobą sens, a reszta to zazwyczaj ogon zdania. Liczba obok każdego wyniku to jego długość w znakach, która zmienia kolor na czerwony po przekroczeniu 60. To mniej więcej moment, w którym wyniki wyszukiwania zaczynają go ucinać i w którym wklejenie go w wiadomość staje się niewygodne. Maks. długość ustanawia nieprzekraczalny pułap od 10 do 200 znaków i domyślnie wynosi 80.

Czy slug ucina słowa w połowie, gdy jest zbyt długi?

Nie. Gdy slug przekracza maksymalną długość, silnik cofa się do ostatniego pełnego słowa, które się w niej mieści, i przycina w tym miejscu. Z tego powodu obcięty slug wciąż czyta się jako zbiór słów, a nie kończy się w połowie sylaby. Dotyczy to również sytuacji, w której dodano sufiks numeryczny do duplikatu: rdzeń słowa jest najpierw skracany, tak aby gotowy slug nadal respektował limit.

Co się stanie, jeśli dwa tytuły wygenerują taki sam slug?

Funkcja Unikalne slugi jest włączona domyślnie i sobie z tym radzi: pierwsze wystąpienie zachowuje podstawowy slug, drugie otrzymuje -2, trzecie -3 i tak dalej. Łapie to powszechny problem, gdy dwa różne tytuły dają ten sam wynik — "Top 10 porad" i "Top-10 porad" stają się tym samym top-10-porad. Wyłączenie jej daje surowe wyniki z pozostawionymi powtórzeniami. Należy pamiętać, że unikalność gwarantowana jest wyłącznie wewnątrz przetwarzanej partii danych; narzędzie nie jest w stanie wiedzieć, co już istnieje na Twojej stronie.

Czy mogę wkleić adres URL zamiast tytułu?

Tak. Slug z wklejonego adresu działa domyślnie, i gdy cały wiersz jest linkiem, narzędzie wyciąga ostatnią część ścieżki, pomija ciąg zapytania i wszelkie końcówki typu .html czy .php oraz rozszyfrowuje kodowanie procentowe — w ten sposób adres z Wikipedii kończący się na %C5%81%C3%B3d%C5%BA wróci jako lodz zamiast łańcucha cyfr szesnastkowych. Uruchamia się on jednak wyłącznie, gdy calutka linia składa się z linku, dlatego URL zacytowany w środku zdania będzie potraktowany jak zwykły tekst.

Czy mój tekst jest wysyłany na serwer?

Nie. Konwersja przebiega w Twojej przeglądarce przy użyciu lokalnego kodu JavaScript. Nic nie jest wysyłane i nic nie jest logowane. Z chwilą pełnego załadowania strona będzie nadal działać, nawet przy odłączonym połączeniu sieciowym. Nieopublikowane jeszcze artykuły, wewnętrzne nazwy nowych produktów i zadania od klientów pozostają wyłącznie na Twojej maszynie. To zresztą praktyczny argument, dla którego powinno się wybierać lokalne narzędzie zamiast opcji serwerowych do tego konkretnego zadania.

Dlaczego moje jedno zdanie rozdzieliło się na dwa slugi?

Ponieważ zawierało w sobie przecinek, a opcja Dziel dane wejściowe wg była ustawiona na Automatycznie. Tryb ten traktuje przejście do nowej linii jako zdecydowany podział, a przecinki jako te prawdopodobne; dzieli on wprowadzony ciąg za ich pomocą tylko i wyłącznie wtedy, gdy każda część z tej samej pojedynczej linii wygląda na samodzielną i odseparowaną wartość. Wartości dziesiętne, np. 3,5, lub zdania z dwukropkiem celowo pozostają w tym modelu całością. Zmień ustawienie Dziel dane wejściowe wg na Nowy wiersz, jeśli tytuł nie powinien zostać przecięty — wówczas dane zostaną rozdzielone jedynie w miejscach użycia klawisza Enter.