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.
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:
# Z katalogu głównego instalacji WordPresswp plugin install polylang --activate# Opcjonalnie — wersja Pro (wymaga klucza licencyjnego)wp plugin install polylang-pro --activateW 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ślnyEnglish (en) — język dodatkowyDwie 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.
Najczęściej zadawane pytania
Czy Polylang jest darmowy?
Czy Polylang dodaje tagi hreflang automatycznie?
Subdirectory czy subdomain dla wersji językowych?
Powiązane posty
- wordpress
Wielojęzyczny WordPress z Polylang: praktyczny przewodnik implementacji
Jak wdrożyć wielojęzyczność w WordPress z Polylang: konfiguracja, SEO, hreflang, tłumaczenia automatyczne, integracja z ACF i WooCommerce. Realne pułapki, kod, ustawienia.
7 min - devops
Cloudflare dla WordPressa: pełna optymalizacja wydajności i bezpieczeństwa
Jak skonfigurować Cloudflare (Free/Pro) dla WordPressa krok po kroku: cache, APO, WAF, Bot Fight Mode, page rules, CDN. Realne wyniki pomiarów i konfiguracja dla Polski.
7 min