Przyjazna dla SEO struktura URL - zasady i przykłady dla stron WordPress
Dobry adres URL to taki, który człowiek rozumie bez klikania. Krótki slug, słowo kluczowe, myślniki zamiast podkreślników - to fundamenty, które działają niezależnie od algorytmu.
Adres URL to pierwsza rzecz, którą Google widzi, zanim jeszcze przeczyta tytuł strony. To też pierwsza rzecz, którą widzi człowiek w wynikach wyszukiwania, w pasku przeglądarki albo gdy ktoś wkleja link na Facebooku. Dlatego budowa adresu jest częścią SEO - nie dekoracją, lecz sygnałem.
Przez lata pracy z witrynami WordPress i sklepami WooCommerce widziałem setki adresów, które były źródłem problemów: duplikaty treści, słabe sygnały słów kluczowych, adresy niemożliwe do zapamiętania. Dobre adresy to nic skomplikowanego - działają według kilku prostych reguł, które wyjaśniam poniżej.
Czym jest slug i dlaczego ma znaczenie
Slug to część adresu URL, która identyfikuje konkretną podstronę. W adresie https://dawidweb.com/blog/struktura-url-seo/ slugiem jest struktura-url-seo. Wszystko przed nim to domena i ewentualna ścieżka katalogu.
Slug pełni dwie role jednocześnie. Po pierwsze, mówi robotowi wyszukiwarki, o czym jest strona - zanim robot przetworzy cały jej tekst. Po drugie, mówi to samo człowiekowi, który widzi adres w wynikach wyszukiwania. Jeśli oba te odczyty są szybkie i jednoznaczne, slug spełnia swoje zadanie.
Można to porównać do szyldu na drzwiach sklepu. Nikt nie otwiera drzwi oznaczonych tylko numerem magazynowym - ale jeśli na szyldzie stoi "Piekarnia", wchodzisz i wiesz, czego się spodziewać. URL działa dokładnie tak samo: numer ID bazy danych to numer magazynowy, opisowy slug to szyld.
W WordPress slug każdej strony, wpisu i produktu możesz edytować ręcznie bezpośrednio pod polem tytułu. Domyślnie WordPress generuje go automatycznie z tytułu - często zbyt długi lub ze zbędnymi słowami.
Fundamentalna zasada: krótko i opisowo
Dobry slug zawiera główne słowo kluczowe i nic ponadto. Bez przyimków, spójników, zaimków. Bez dat, numerów ID, nazw kategorii powielonych z menu. Wyobraź sobie, że musisz powiedzieć komuś przez telefon, co znajdzie pod tym adresem - właśnie tyle słów powinien zawierać slug.
Przykłady dla strony usługowej:
- Zły:
/nasze-uslugi/pozycjonowanie-stron-internetowych-w-wyszukiwarkach/ - Dobry:
/pozycjonowanie/
Przykłady dla wpisu blogowego:
- Zły:
/blog/RRRR/MM/jak-wybrac-odpowiednie-slowa-kluczowe-do-seo-kompletny-poradnik-dla-poczatkujacych/ - Dobry:
/blog/dobor-slow-kluczowych/
Przykłady dla produktu w sklepie:
- Zły:
/produkt/id-4821/krzeslo-biurowe-obrotowe-z-podlokietnikami-model-xl-czarne/ - Dobry:
/sklep/krzeslo-biurowe-xl/
W każdym z tych przypadków skrócony slug jest czytelniejszy, zawiera słowo kluczowe na początku i nie starzeje się. W tym artykule piszę o dobieraniu słów kluczowych osobno - jeśli chcesz zgłębić ten temat, zajrzyj do poradnika o tym, czym są słowa kluczowe i jak je dobierać.
Porównanie adresów URL
| Cecha | Zły URL | Dobry URL |
|---|---|---|
| Długość | /blog/RRRR/MM/jak-poprawic-widocznosc-sklepu-internetowego-w-google/ | /blog/widocznosc-sklepu-w-google/ |
| Słowo kluczowe | obecne, ale zagrzebane | na początku, dobrze widoczne |
| Data w URL | tak (RRRR/MM) | brak |
| Czytelność | trzeba czytać kilka sekund | jednoznaczna od razu |
| Przekazywalność | link trudny do zapamiętania | łatwy do podyktowania |
| Odporność na reorganizację | zmiana kategorii psuje URL | slug niezależny od struktury |
Myślnik czy podkreślnik? To nie jest kwestia gustu
Google traktuje myślnik (-) jako separator słów - tak jak spację. Podkreślnik (_) traktuje odwrotnie: łączy otaczające go słowa w jeden ciąg. Oznacza to, że adres /optymalizacja-seo/ zawiera dwa osobne słowa kluczowe, a /optymalizacja_seo/ zawiera jedno słowo optymalizacjaseo, którego nikt nie szuka.
To oficjalne zalecenie Google, powtórzone wielokrotnie w dokumentacji Search Central i przez jej przedstawicieli. Nie ma od tej zasady wyjątków - zawsze myślniki.
Małe litery to kolejna twarda zasada. Serwery linuksowe (a na nich stoi większość hostingów) rozróżniają wielkość liter w adresach. Adres /SEO/ i /seo/ to dla nich dwie różne strony, co może generować duplikaty treści i rozpraszać sygnał rankingowy. Slug pisz zawsze małymi literami bez wyjątku.
Polskie znaki diakrytyczne to pułapka, na którą szczególnie często wpadają klienci, którzy sami tworzą treści. Adres /pozycjonowanie-stron-łódź/ wygląda dobrze w edytorze, ale po skopiowaniu do wielu systemów zamienia się w /pozycjonowanie-stron-%C5%82%C3%B3d%C5%BA/. Slug pisz zawsze łacińską transliteracją: /pozycjonowanie-stron-lodz/.
Głębokość ścieżki: mniej katalogów, więcej autorytetu
Każdy ukośnik w adresie to dodatkowy poziom hierarchii. Im głębiej zaszyty jest zasób, tym mniejszy autorytet strony mu przypisuje Google - sygnał linkowy rozmywa się na kolejnych poziomach ścieżki. Strona na poziomie /uslugi/seo/techniczne/audyt/ jest traktowana przez algorytm zupełnie inaczej niż /audyt-seo/ - choć zawartość może być identyczna.
Dla strony firmowej z kilkudziesięcioma podstronami praktyczna zasada brzmi: maksymalnie dwa poziomy głębokości poniżej domeny. Usługi na poziomie /pozycjonowanie/, /strony-internetowe/, /sklepy-internetowe/. Wpisy blogowe na poziomie /blog/slug-artykulu/. Produkty w sklepie na /sklep/nazwa-produktu/ lub /kategoria/nazwa-produktu/ - ale nie głębiej.
Przypadek z praktyki: przy audycie sklepu z meblami dziecięcymi natrafiłem na adresy produktów na czwartym poziomie: /sklep/meble/sypialnia/lozka/model-x/. Spłaszczenie struktury do /sklep/model-x/ z przekierowaniami 301 i zastąpienie hierarchii URL przez breadcrumby przyniosło wyraźny wzrost szybkości indeksowania nowych produktów przez Googlebot.
Kategorie i tagi warto pokazywać przez breadcrumbs i menu, a nie przez głębokie katalogi w URL. Użytkownik dostaje kontekst nawigacyjny, a adres pozostaje krótki i płaski.
Data w URL: kiedy pomaga, kiedy szkodzi
Niektóre systemy CMS i motywy WordPress domyślnie generują adresy z datą: /blog/RRRR/MM/moj-artykul/. Dla portali newsowych, gdzie świeżość to waluta, data ma sens - sygnalizuje aktualność materiału dla czytelnika i dla algorytmu Google News. Dla bloga firmowego z ponadczasowymi poradnikami to błąd, który kumuluje się z miesiąca na miesiąc.
Artykuł z datą w adresie wygląda na przestarzały już po roku, nawet jeśli treść jest aktualna i na bieżąco odświeżana. Czytelnik widzi rok i rezygnuje z kliknięcia. Piszę o tym z własnego doświadczenia - po migracji bloga klienta z formatu z datą na /blog/slug/ wskaźnik klikalności w Search Console wzrósł wyraźnie, mimo że pozycje przez kilka tygodni pozostały bez zmian. Sama zmiana formatu URL (z przekierowaniami 301) zrobiła różnicę w CTR.
Jeśli prowadzisz bloga firmowego z treściami poradnikowymi - pomiń datę z URL całkowicie. Niech treść mówi, że jest aktualna - przez widoczną datę aktualizacji w nagłówku artykułu, nie przez URL.
Checklist: dobry URL przed publikacją
- Slug zawiera główne słowo kluczowe
- Slug jest maksymalnie krótki (usunięte przyimki, spójniki, data)
- Separator słów to myślnik, nie podkreślnik
- Wszystkie litery są małe, bez polskich znaków diakrytycznych
- Ścieżka ma co najwyżej dwa poziomy głębokości
- Brak daty w URL (dla treści evergreen)
- Brak parametrów sesji ani filtrów w adresie
- Adres jest zrozumiały dla człowieka bez otwierania strony
Ustawienie permalinków w WordPress
Pierwsza rzecz po instalacji WordPress - jeszcze przed dodaniem jakiejkolwiek treści - to zmiana permalinków. Domyślny format /?p=123 to numer ID bazy danych. Bezużyteczny dla SEO, nieczytelny dla użytkownika, i niemożliwy do zapamiętania.
Idź do Ustawienia - Bezpośrednie odnośniki i wybierz opcję Nazwa wpisu (wzorzec /%postname%/). To wystarczy dla zdecydowanej większości stron firmowych, blogów i portfoli. Katalog /blog/ dodajesz ręcznie w slugu każdego wpisu albo przez odpowiednie ustawienie bazy blogu w WordPress.
Dla sklepów WooCommerce: struktura /sklep/nazwa-produktu/ albo /produkt/nazwa-produktu/ jest czytelna i płaska. Głębokie kategorie produktów mogą być uzasadnione przy dużych katalogach z setkami kategorii, ale nawet wtedy warto rozważyć płaską strukturę z breadcrumbami zamiast hierarchii katalogów w URL.
Jeżeli zmieniasz permalinki na istniejącej, działającej stronie, rób to raz i z pełnym planem przekierowań. Każda zmiana URL bez przekierowania 301 niszczy część linków zewnętrznych i historię indeksowania. Więcej o tym, jak działają mechanizmy pozycjonowania od podstaw, piszę w artykule o tym, czym jest SEO i jak działa wyszukiwarka.
Parametry URL i pułapki indeksowania
Parametry URL (adresy z ?color=red&size=M) to specyficzny problem dla sklepów internetowych. Filtry produktów zazwyczaj generują adresy z wieloma parametrami, a każda kombinacja to potencjalnie osobna strona w indeksie Google. Kilkanaście atrybutów produktu pomnożone przez kilka wartości daje dziesiątki tysięcy adresów wskazujących na tę samą lub bardzo podobną treść. Dla robotów indeksujących to chaos, a dla budżetu crawlowego sklepu - marnotrawstwo.
Rozwiązanie: atrybuty filtrowania powinny być sterowane JavaScriptem bez zmiany URL albo oznaczone tagiem rel="canonical" wskazującym na wersję bez parametrów. To kwestia konfiguracji wtyczki sklepu lub niestandardowego rozwiązania technicznego. Warto też sprawdzić w Google Search Console, które adresy parametryczne Google faktycznie indeksuje i oznaczyć je jako noindex, jeśli nie przynoszą ruchu.
Paginacja (/blog/page/2/) jest normalną częścią struktury i nie wymaga specjalnych zabiegów - Google rozumie kolejne strony archiwum. Problem pojawia się, gdy te same wpisy pojawiają się pod wieloma adresami (różne kategorie, tagi, własne archiwa autorów) bez przekierowań lub tagów kanonicznych. Każda z tych konfiguracji wymaga osobnej analizy, a żadna nie rozwiązuje się sama.
Plusy
- Krótki, opisowy slug poprawia klikalność w wynikach wyszukiwania
- Słowo kluczowe w URL to dodatkowy sygnał rankingowy dla Google
- Czytelny adres buduje zaufanie użytkownika jeszcze przed kliknięciem
- Płaska struktura katalogów ułatwia dystrybucję autorytetu linków
- Konsekwentny format adresów upraszcza analizę ruchu i segmentację w narzędziach analitycznych
Minusy
- Zmiana URL opublikowanej strony wymaga przekierowania 301 i wiąże się z ryzykiem tymczasowej utraty pozycji
- Zbyt agresywne skracanie slugów może pozbawić URL czytelności i kontekstu
- Płaska struktura może być niepraktyczna przy bardzo dużych sklepach z setkami kategorii produktów
Adresy URL a sklepy WooCommerce - specyfika
Sklepy mają swoje pułapki, których nie ma w zwykłych stronach firmowych. Produkt dostępny w wielu kategoriach może mieć kilka różnych adresów. Warianty produktu (rozmiar, kolor) generują parametry. Strony filtrowania mnożą kombinacje adresów. Kupony i UTM-y w linkach z kampanii reklamowych mogą trafić do indeksu, jeśli ktoś nieostrożnie postawi link zewnętrzny.
Podstawowe zasady dla WooCommerce:
- Ustaw jeden kanoniczny URL dla każdego produktu i przekieruj z pozostałych - WooCommerce domyślnie przypisuje produktom jeden "bazowy" adres, ale przy wielu kategoriach można to zepsuć
- Rozważ płaską strukturę:
/produkt/nazwa-produktu/zamiast/kategoria/podkategoria/nazwa-produktu/ - Strony filtrowania generowane przez wtyczki (FacetWP, domyślny filtr WooCommerce) powinny być nieindeksowalne albo mieć tag canonical wskazujący na stronę kategorii
- Strony kasy i koszyka (
/checkout/,/cart/) nie powinny trafiać do indeksu - zablokuj je przez robots.txt lub meta robots noindex
Jeśli prowadzisz sklep i chcesz wiedzieć więcej o kompleksowym podejściu do pozycjonowania, opisuję tam cały zakres działań - od technikaliów po treść i linki.
Co zrobić dzisiaj, jeśli masz już działającą stronę
Jeśli Twoja strona działa i masz niepewność co do adresów URL, zacznij od audytu bez wprowadzania zmian. Przejrzyj adresy w Google Search Console (zakładka Strony - Pokrycie) i sprawdź, ile masz adresów z parametrami, datami lub bardzo długimi ścieżkami. Zidentyfikuj duplikaty - adresy wskazujące na tę samą lub bardzo podobną treść.
Nie musisz od razu zmieniać wszystkiego - i nie powinieneś. Masowe zmiany URL nawet z przekierowaniami 301 mogą na kilka tygodni zachwiać pozycjami. Priorytetem są nowe strony (tu możesz od razu stosować dobre praktyki) i ewentualne scalanie duplikatów przez kanonizację. Zmiany adresów stron o dużym ruchu zostawiam na koniec, po dokładniejszej analizie.
Jeśli dopiero budujesz stronę lub sklep w WordPress - ustaw permalinki na /%postname%/ zanim cokolwiek opublikujesz, trzymaj się zasady: jeden slug, jedno słowo kluczowe, żadnych dat. Reszta to detale, które dostosujesz do konkretnej struktury serwisu wraz z jego rozwojem. Zapraszam też do lektury poradnika o stronach internetowych i sklepach internetowych - tam opisuję szerzej, jak podchodzę do projektów od fundamentów.
Sama długość nie jest bezpośrednim czynnikiem rankingowym, ale zbyt długie adresy zazwyczaj zawierają daty, parametry i zbędne katalogi, które rozmywają sygnał słowa kluczowego. Krótszy URL jest też łatwiejszy do udostępnienia i kliknięcia. Praktyczna granica to mniej więcej 60-75 znaków dla całego adresu. Przed zmianą ustaw przekierowanie 301 ze starego adresu na nowy - w WordPress robi to np. wtyczka Redirection lub Rank Math. Bez tego tracisz cały link equity zgromadzony pod starym adresem i tworzysz błędy 404 dla linków zewnętrznych. Zmian dokonuj rozważnie i raczej raz, nie wielokrotnie. Dla małych stron firmowych kategoria w URL dodaje niepotrzebną głębokość i komplikuje przyszłe reorganizacje. Lepsza jest struktura /blog/slug-artykulu/. Kategorię w URL rozważ tylko wtedy, gdy masz dużo treści i zależy Ci na wyraźnym sygnale tematycznym dla robotów. Bezpieczne są małe litery a-z, cyfry 0-9 i myślnik (-). Polskie znaki diakrytyczne (ą, ę, ś itd.) są technicznie obsługiwane przez współczesne przeglądarki, ale wiele systemów i linków je enkoduje (np. %C4%85), co wydłuża i brzydzi adres. Slug pisz zawsze łacińską transliteracją. Dla newsów lub treści mocno powiązanych z aktualnym wydarzeniem data może sygnalizować świeżość. Dla treści poradnikowych i evergreen data w adresie sygnalizuje starzenie się artykułu i może odstraszać czytelników. W przypadku bloga firmowego z ponadczasowymi poradnikami - zdecydowanie pomiń datę z URL. Permalink to wzorzec, według którego WordPress buduje adresy wszystkich podstron. Domyślnie używa ?p=123, co jest bezużyteczne dla SEO. Przejdź do Ustawienia - Bezpośrednie odnośniki i wybierz opcję Nazwa wpisu (/%postname%/). To wystarczy dla zdecydowanej większości stron firmowych i blogów. Google wyświetla adres URL w wynikach wyszukiwania tuż pod tytułem. Czytelny, krótki slug z wyraźnym słowem kluczowym buduje zaufanie i zachęca do kliknięcia. Długi, pełen parametrów lub dat adres wygląda technicznie i niepewnie - użytkownik woli kliknąć w coś, co rozumie.Najczęstsze pytania
Czy długość URL wpływa na pozycję w Google?
Co zrobić, jeśli chcę zmienić URL już opublikowanej strony?
Czy powinienem używać kategorii w adresie URL, np. /blog/seo/moj-artykul/?
Jakie znaki są dozwolone w URL z punktu widzenia SEO?
Czy data w URL pomaga czy szkodzi pozycjonowaniu?
Co to jest permalink w WordPress i jak go ustawić poprawnie?
Jak URL wpływa na klikalność w wynikach wyszukiwania?
Potrzebujesz pomocy z projektem?
Robię strony WordPress i sklepy Shoper od 2500 zł. Partner Shoper, 120+ projektów.
- Odpowiedź w 24h
- Certyfikowany Partner Shoper
- 120+ zrealizowanych projektów
- Zgodność z RODO, pełna ochrona danych