Knowledge about CMS, websites and best practices.
Tips for website editors, product updates and best practices for building modern websites with Siteor CMS.
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:
- 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
- ?lang= z URL - parametr w adresie, np.
?lang=en. Używany głównie do podglądu i testowania - domain.locale - język przypisany do domeny. Np. firma.pl = polski, firma.com = angielski
- 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.