Jaki jest dobry slug
Slug to czytelna dla człowieka część adresu URL, która identyfikuje stronę: w example.com/blog/how-to-store-coffee-beans slugiem jest how-to-store-coffee-beans. Systemy zarządzania treścią, takie jak WordPress, Ghost, Shopify i większość generatorów stron statycznych, tworzą go z tytułu strony, a dobremu slugowi warto poświęcić minutę, bo zwykle zostaje na całe życie strony.
Cechy, do których warto dążyć:
- Czytelny. Ktoś, kto zobaczy link na czacie lub w wynikach wyszukiwania, powinien wiedzieć, o czym jest strona.
- Krótki. Od trzech do sześciu znaczących słów w zupełności wystarczy.
how-to-store-coffee-beanssprawdza się lepiej niżhow-to-store-your-coffee-beans-so-they-stay-fresh-for-longer-2024-guide. - Zwykłe ASCII. Litery
a–z, cyfry i łączniki przetrwają w każdym systemie, kliencie poczty i przy kopiowaniu, nie zamieniając się w%D0%BA%D0%BE…. - Stały. Zmiana sluga po publikacji psuje linki i zakładki, chyba że dodasz przekierowanie, więc unikaj dat i liczb, które się zdezaktualizują, jak
best-laptops-2024, chyba że strona naprawdę dotyczy tego roku.
Co generator robi z tekstem
Konwersja przebiega w stałej kolejności, która wyjaśnia każdy wynik:
- Jeśli włączona jest opcja Małe litery, cały tekst jest zamieniany na małe litery.
- Litery cyrylicy są transliterowane na alfabet łaciński:
ж→zh,ц→ts,щ→shch,я→ya. Uwzględnione są ukraińskieє,і,їiґ, a znaki miękki i twardy są pomijane. - Kilka liter bez prostej formy bez akcentu jest zastępowanych:
ß→ss,æ→ae,œ→oe,ø→o,ł→l,đ→d,þ→th. Znak & zamienia się w słowoand. - Akcenty i inne znaki diakrytyczne są usuwane przez rozłożenie każdej litery i odrzucenie znaków dodatkowych, więc
é→e,ñ→n,ş→s, a wietnamskieệ→e. - Każdy ciąg znaków, które nie są literą ani cyfrą, w tym spacje, interpunkcja, cudzysłowy i emoji, zwija się w jeden separator.
- Separatory na początku i na końcu są obcinane.
Dlatego Crème Brûlée & Coffee: A 5-Minute Guide! staje się creme-brulee-and-coffee-a-5-minute-guide, a Харків — Львів staje się kharkiv-lviv.
Litery z pism, które nie są transliterowane, takich jak greka, arabski czy znaki chińskie, pozostają bez zmian. Są poprawne we współczesnych adresach URL, ale w wielu miejscach pojawią się w postaci zakodowanej procentowo, więc dla tych języków rozważ ręczne zapisanie sluga literami łacińskimi.
Łączniki czy podkreślenia
Na stronach internetowych używaj łączników. Wyszukiwarki traktują łącznik jako granicę słowa, więc coffee-beans jest rozumiane jako dwa słowa. Podkreślenia historycznie traktowano jako znaki łączące, dlatego coffee_beans może zostać odczytane jako jeden token. Łączniki łatwiej też dostrzec w podkreślonym linku, w którym podkreślenie znika w linii podkreślenia.
Poza siecią lepszym wyborem są podkreślenia: nazwy plików (quarterly_report_q3.pdf), kolumny w bazach danych, nazwy zmiennych środowiskowych i identyfikatory w językach, które nie dopuszczają łączników. Do zamiany tekstu między konwencjami nazewnictwa, takimi jak camelCase, snake_case czy CONSTANT_CASE, użyj narzędzia Zmiana wielkości liter.
Wyłącz opcję Małe litery tylko wtedy, gdy system docelowy rozróżnia wielkość liter i chcesz zachować wielkie litery, na przykład w wiki używającej linków w stylu Page_Title. Na większości serwerów WWW adresy URL rozróżniają wielkość liter, więc mieszanie jej prowadzi do zduplikowanych stron i niedziałających linków.
Ręczna edycja wyniku
Generator działa mechanicznie, a slug zwykle czyta się lepiej po szybkiej poprawce:
- Usuń słowa-wypełniacze. Słowa takie jak
a,the,and,of,towydłużają slug, nie wnosząc treści.the-ultimate-guide-to-the-best-coffeedobrze czyta się jakocoffee-guide. - Uważaj na apostrofy. Apostrof to znak interpunkcyjny, więc
don't panicstaje siędon-t-panic. Usunięcie apostrofu z tytułu wcześniej dajedont-panic. - Sprawdź transliterację nazw. Cyrylica jest transliterowana według jednego stałego schematu. Osoba lub marka może mieć ustaloną pisownię łacińską, na przykład z paszportu, która różni się od automatycznej.
- Zadbaj o unikalność. Dwa wpisy zatytułowane „Update” dadzą ten sam slug. Większość CMS-ów automatycznie dopisuje
-2; jeśli Twój tego nie robi, dodaj wyróżniające słowo.
Wszystko dzieje się w przeglądarce w trakcie pisania. Jeśli potrzebujesz sluga jako części parametru zapytania, a nie ścieżki, zakoduj całą wartość koderem URL.