Added support for single localization

This commit is contained in:
2026-09-08 18:12:58 +02:00
parent e30ac71044
commit 419207ac12
16 changed files with 287 additions and 102 deletions
+25
View File
@@ -53,6 +53,31 @@ Per strona (tab SEO):
Domyślnie: `Tytuł | Nazwa witryny`.
### Skąd bierze się „Tytuł" (priorytet źródła)
Tytuł strony (część przed nazwą witryny) pochodzi z, w kolejności:
1. **titleOverride** — jeśli wypełniony, jest całym tytułem (bez składania).
2. **meta.title** — tytuł SEO wpisany w tab SEO.
3. **page.title** — nazwa dokumentu (np. „Sprzątanie biur”), gdy meta.title puste.
Punkt 3 (fallback na nazwę strony) działa na dwa sposoby, uzupełniające się:
- **buildAutoFillMetaHook** (przy ZAPISIE) — wypełnia puste `meta.title` z pola
dokumentu (`title`). Jeśli wpięty w kolekcje, meta.title nigdy nie jest puste.
- **pageTitle w buildMetadata** (przy RENDEROWANIU) — jeśli meta.title mimo to
puste (np. auto-fill niewpięty), używa `page.title`. Druga linia obrony.
Efekt: strona bez wypełnionego SEO title i tak pokaże swoją nazwę w karcie, nie
pusty tytuł ani sam siteName.
> **Uwaga — „Strona Główna” w tytule:** jeśli strona główna ma nazwę dokumentu
> „Strona Główna” (i auto-fill skopiował ją do meta.title), tytuł wyjdzie
> „Nazwa – Strona Główna” — bezużyteczne dla SEO. Napraw: wpisz **titleOverride**
> dla strony głównej (np. „Firma X – Usługa Miasto”), albo zmień meta.title na
> coś ze słowami kluczowymi. Fallback page.title nie pomoże, bo problemem jest
> sama treść nazwy, nie brak tytułu.
## Front — createPageMetadata
Dla zwykłych stron. Zna konwencje pluginu (kolekcja pages, SiteSettings, System