Wszystkie posty
wordpress

Polylang – wielojęzyczna strona WordPress krok po kroku

Kompletny poradnik wdrożenia wielojęzyczności w WordPress z Polylang: konfiguracja języków i URL, tłumaczenia treści, SEO z hreflang, typowe pułapki i rozwiązania.

4 min czytaniaAktualizacja: 15 lipca 2026

Polylang to najpopularniejsza darmowa wtyczka do wielojęzyczności w WordPressie. Pozwala prowadzić jedną instalację w kilku językach bez duplikowania treści i bez osobnych baz danych. Ten artykuł to praktyczny przewodnik: od instalacji, przez konfigurację języków i tłumaczenia, po SEO z hreflang i najczęstsze pułapki, na które nadepnie praktycznie każdy, kto wdraża Polylang po raz pierwszy.

Dlaczego Polylang zamiast WPML

Dla większości projektów Polylang wygrywa z WPML z kilku powodów:

  • Cena – darmowa wersja pokrywa typowe potrzeby; WPML kosztuje od 39 USD rocznie za stronę.
  • Wydajność – Polylang dodaje mniej zapytań do bazy danych, co widać na stronach z wieloma wersjami językowymi.
  • Prostota – model tłumaczenia „jeden wpis na język” jest intuicyjny dla redaktorów.
  • Aktywna społeczność – polskie forum i dokumentacja.

Wady Polylang to słabsza integracja z zaawansowanymi wtyczkami sklepowymi oraz mniejsza liczba gotowych rozwiązań niż w ekosystemie WPML. Jeśli planujesz duży sklep WooCommerce z setkami produktów, najpierw przetestuj obie wtyczki na danych testowych.

Instalacja i aktywacja

Najszybciej zainstalujesz Polylang przez WP-CLI:

Terminal window
# Z katalogu głównego instalacji WordPress
wp plugin install polylang --activate
# Opcjonalnie — wersja Pro (wymaga klucza licencyjnego)
wp plugin install polylang-pro --activate

W panelu administracyjnym przejdź do Wtyczki → Dodaj nową, wyszukaj „Polylang“, zainstaluj i aktywuj. Po aktywacji kreator pierwszego uruchomienia poprowadzi Cię przez wybór języków – możesz go pominąć i skonfigurować wszystko ręcznie w menu Języki → Języki.

Konfiguracja języków i struktura URL

W zakładce Języki → Języki dodaj wersje językowe, np.:

Polski (pl) — język domyślny
English (en) — język dodatkowy

Dwie kluczowe decyzje na starcie:

1. Struktura adresów URL

  • Subdirectory (https://domena.pl/pl/, /en/) – rekomendowane do SEO; cały autorytet domeny pracuje na jednym adresie głównym.
  • Subdomena (pl.domena.pl, en.domena.pl) – ma sens tylko przy osobnych zespołach lub wymogach prawnych per kraj.
  • Osobna domena – najdroższa opcja, stosowana wyłącznie przy pełnej separacji marek.

2. Ukrywanie prefiksu języka domyślnego

Polylang domyślnie pyta, czy język domyślny ma mieć prefiks w URL. Dla SEO zwykle zostawiasz go widocznego (/pl/), bo dzięki temu każda wersja ma jednoznaczny, deduplikowany adres. Jeśli ukryjesz prefiks, pamiętaj o przekierowaniu 301 z /pl/ na / – Polylang robi to automatycznie, ale warto to zweryfikować w Google Search Console po wdrożeniu.

Tłumaczenie treści

Po skonfigurowaniu języków przejdź do edycji wpisów i stron. Każdy artykuł dostaje sekcję Języki z przyciskiem „+“, który tworzy tłumaczenie. Warto od razu ustalić proces:

  • Slugi – zawsze tłumacz slugi (/o-nas//about/), to poprawia czytelność URL i CTR w wynikach wyszukiwania.
  • Tytuły i opisy – tłumacz je w całości, bez zostawiania polskich fragmentów w wersji angielskiej.
  • Media – to klasyczna pułapka: załączniki w WordPressie są współdzielone, a alt i tytuły obrazków trzeba ustawiać osobno dla każdego języka.
  • Taksonomie – kategorie i tagi tłumaczysz jak wpisy; pamiętaj też o tłumaczeniu nazw taksonomii w ustawieniach.
  • Stringi motywu i wtyczek – zakładka Języki → Tłumaczenia stringów pozwala przetłumaczyć teksty z kodu motywu.

Jeśli używasz custom post types, zarejestruj je z argumentem 'show_in_rest' => true – Polylang przechwyci je automatycznie w sekcji tłumaczeń, o ile rejestracja jest poprawna.

SEO: hreflang, canonical i sitemap

Polylang sam dodaje tagi hreflang do sekcji <head> – po włączeniu opcji SEO w Ustawieniach Polylang. Sprawdź wynikową strukturę w kodzie strony:

<link rel="alternate" hreflang="pl" href="https://domena.pl/pl/o-nas/" />
<link rel="alternate" hreflang="en" href="https://domena.pl/en/about/" />
<link rel="alternate" hreflang="x-default" href="https://domena.pl/pl/o-nas/" />

Dobre praktyki SEO wielojęzycznego:

  • Używaj jednego pluginu SEO (Yoast, Rank Math albo SEOPress) i włącz w nim obsługę wielu języków – wtyczki potrafią się konfliktować przy generowaniu canonical.
  • Ustaw w narzędziu SEO osobne meta opisy i tytuły dla każdej wersji językowej.
  • Dodaj osobne mapy sitemap per język (większość pluginów SEO robi to automatycznie) i zgłoś je w Search Console.
  • Jeśli chcesz wymusić polskie ustawienia regionalne, dodaj filtr dla og:locale:
add_filter('pll_rel_hreflang_attributes', function ($langs) {
// dostosuj atrybuty hreflang per język, np. dodaj region
return $langs;
});

Pułapki i jak je omijać

Lista rzeczy, które najczęściej psują wdrożenia Polylang:

  • Cache współdzielony między językami – cache stron musi być per-language. W popularnych pluginach (WP Super Cache, LiteSpeed) włącz opcję rozdzielania cache według języka, inaczej użytkownicy zobaczą treść w złym języku.
  • Formularze i walidacja – komunikaty błędów w formularzach pochodzą często z motywu lub wtyczki i wymagają osobnego tłumaczenia stringów; przetestuj każdy formularz w obu językach.
  • Custom fields – pola ACF są współdzielone między językami, chyba że użyjesz Polylang Pro lub modułu integracyjnego.
  • Wydajność – wiele języków to więcej zapytań; włącz cache obiektów (Redis/Memcached) i sprawdź liczbę zapytań narzędziem Query Monitor.
  • Przekierowania 404 – po zmianie struktury URL ustaw przekierowania 301 z wtyczką Redirection per język.
  • Newslettery i integracje – sprawdź, czy formularz zapisu zapisuje język subskrybenta, aby wysyłać kampanie we właściwej wersji językowej.

Podsumowanie

Polylang to solidna, darmowa podstawa wielojęzyczności w WordPress. Klucz do sukcesu to świadome decyzje na starcie: struktura URL, proces tłumaczenia slugów i mediów oraz per-language cache. Po wdrożeniu zweryfikuj hreflang i sitemap w Search Console i przetestuj wszystkie formularze w każdej wersji językowej.

Jeśli rozważasz też architekturę headless – z WordPressem jako CMS – przeczytaj o REST API i integracji z frontendem w Astro, albo porównaj WordPress z Astro pod kątem strony firmowej.

Tagi:#wordpress#polylang#wielojezycznosc#seo#hreflang

Najczęściej zadawane pytania

Czy Polylang jest darmowy?
Tak, podstawowa wersja Polylang jest w pełni darmowa i wystarcza do większości stron firmowych. Płatny Polylang Pro dodaje integracje z WooCommerce, ACF Pro oraz automatyczne tłumaczenia przez DeepL.
Czy Polylang dodaje tagi hreflang automatycznie?
Tak, po włączeniu opcji SEO w ustawieniach Polylang wtyczka generuje tagi hreflang dla każdej wersji językowej, w tym wariant x-default dla użytkowników, którym nie dopasowano żadnego języka.
Subdirectory czy subdomain dla wersji językowych?
Do SEO lepszy jest subdirectory (/pl/, /en/), bo cały autorytet domeny buduje się na jednym adresie. Subdomeny mają sens głównie przy osobnych zespołach redakcyjnych lub wymaganiach prawnych per kraj.

Powiązane posty

MAHAWIR IWANOWSKI · WROCŁAW

Przyszłość organizacji — budowana tam, gdzie psychologia spotyka inżynierię, renderowana w kodzie, dostarczana z intencją.

Przyszłość Organizacji w Kodzie

AI · Fullstack · Psychology

© 2026 Mahawir Iwanowski · Wszystkie prawa zastrzeżone.