Blog Siteor

Connaissances sur les CMS, sites web et bonnes pratiques.

Conseils pour les rédacteurs de sites, actualités produit et bonnes pratiques pour créer des sites modernes avec Siteor CMS.

Wróć do listy

Wielojęzyczność w CMS - nowy locale chain, redirect 301 i dynamiczny routing

21/05/2026 ·Zespół Intum
Wielojęzyczność w CMS - nowy locale chain, redirect 301 i dynamiczny routing

Siteor CMS obsługuje strony w wielu językach od dłuższego czasu. Ale mechanizm wyboru języka był rozproszony - locale brało się z parametru URL, z domeny, z ustawień site'a, a każdy element miał inny priorytet w zależności od kontekstu. Teraz to ujednoliciliśmy w jeden spójny mechanizm.

Nowy locale chain

Wybór języka strony ma teraz jasną, przewidywalną hierarchię. System sprawdza kolejno:

  1. page.locale - jeżeli strona ma ustawiony własny język (np. "en"), zawsze renderuje się po angielsku. Niezależnie od domeny czy parametru w URL
  2. ?lang= z URL - parametr w adresie, np. ?lang=en. Używany głównie do podglądu i testowania
  3. domain.locale - język przypisany do domeny. Np. firma.pl = polski, firma.com = angielski
  4. site.locale - domyślny język całej witryny. Ostateczny fallback

Kluczowa zmiana: page.locale wygrywa nad wszystkim. Strona z locale=en wyrenderuje się po angielsku nawet na domenie polskiej. To upraszcza zarządzanie - strona zawsze wie w jakim jest języku i nie zależy od kontekstu, w którym ją wyświetlasz.

Automatyczny redirect 301 między językami

Na stronach wielojęzycznych z osobnymi domenami per język system automatycznie przekierowuje użytkownika na właściwą wersję.

Przykład: masz stronę /cennik (locale=pl) i /pricing (locale=en), połączone jako master/slave. Ktoś wchodzi na firma.com/cennik. System widzi: domena ma locale=en, strona ma locale=pl - nie pasuje. Szuka wersji angielskiej w grupie językowej, znajduje /pricing i robi 301 redirect.

Kiedy redirect się włącza:

  • Site ma włączony tryb multilang
  • Brak parametru ?lang= w URL (jawne wymuszenie języka jest szanowane)
  • Domena ma przypisane locale
  • Istnieje wersja strony w pasującym języku

Dzięki temu użytkownik zawsze trafia na stronę w swoim języku, a Google nie indeksuje zduplikowanych treści.

Ten sam URL w wielu językach

Wcześniej dwie strony na tym samym site nie mogły mieć identycznej ścieżki - nawet jeśli miały różne locale. Teraz to możliwe.

Przykład: /about z locale=en i /about z locale=pl mogą współistnieć. System wybierze właściwą wersję na podstawie domeny. Na firma.com pokaże angielską, na firma.pl polską.

Przydatne dla ścieżek, które nie wymagają tłumaczenia (np. /contact, /faq, /about) albo gdy chcesz zachować spójne URL-e niezależnie od języka.

Sitemap i llms.txt per język

Sitemap.xml i llms.txt automatycznie filtrują treść po języku domeny:

  • firma.pl/sitemap.xml - tylko strony polskie i uniwersalne (bez locale)
  • firma.com/sitemap.xml - tylko angielskie i uniwersalne

Google dostaje osobną sitemap per język bez mieszania URL-i z różnych wersji.

Strona 404 w języku użytkownika

Domyślna strona 404 korzysta z systemu tłumaczeń. Użytkownik na domenie angielskiej zobaczy "Page not found", na ukraińskiej "Сторінку не знайдено". Obsługiwane języki: pl, en, fr, de, es, cs, sk, uk.

Podsumowanie

Cały mechanizm wielojęzyczności przeszedł refaktor:

  • Jeden locale chain - page.locale > ?lang= > domain.locale > site.locale
  • Automatyczne 301 - redirect na właściwą wersję językową
  • Duplikaty path per locale - /about może istnieć w PL i EN
  • Filtrowany sitemap/llms.txt - osobna treść per domena
  • Zlokalizowane 404 - błąd w języku użytkownika

Dla istniejących stron nic się nie zmienia - mechanizm jest kompatybilny wstecz. Nowe funkcje aktywują się automatycznie gdy site ma włączone multilang.

Najczęściej zadawane pytania

Czym jest Siteor CMS?+

Siteor CMS to moduł do zarządzania stronami internetowymi w platformie Intum. Pozwala tworzyć i edytować strony przez panel administracyjny lub REST API. Obsługuje wielojęzyczność, SEO (sitemap, robots.txt, hreflang, Open Graph), szablony Liquid, blog z artykułami i integracje z bazami wiedzy.

Czym jest plik llms.txt?+

Plik llms.txt to nowy standard (llmstxt.org) opisujący zawartość strony internetowej dla botów AI takich jak ChatGPT, Claude czy Perplexity. Siteor CMS generuje go automatycznie dla każdego site'a na podstawie stron i artykułów.

Czy Siteor CMS obsługuje wiele języków?+

Tak. Siteor CMS ma wbudowaną wielojęzyczność: strony master/slave z dziedziczeniem treści, osobne domeny per język z automatycznym hreflang, redirect 301 między wersjami językowymi i filtrowanie sitemapy po locale domeny. Obsługiwane języki: pl, en, fr, de, es, cs, sk, uk.

Czy CMS generuje sitemap.xml automatycznie?+

Tak. Sitemap.xml, robots.txt i llms.txt generują się automatycznie z szablonów Liquid. Sitemap zawiera strony, artykuły blogowe i wpisy bazy wiedzy. Szablony można nadpisać przez ustawienia site'a bez zmian w kodzie.

Jak działa Open Graph w Siteor CMS?+

Tagi Open Graph i Twitter Card generują się automatycznie na podstawie pól SEO strony lub artykułu. Wystarczy że layout zawiera zmienną Liquid seo_head w sekcji head. Artykuły blogowe dostają typ article z własnym tytułem, opisem i obrazkiem.