feat: URL rules and the settings singleton

This commit is contained in:
2026-10-27 10:34:39 +01:00
parent fb9590f099
commit ce60c8a1ee
20 changed files with 1412 additions and 0 deletions

View File

@@ -1,8 +1,109 @@
plugin:
name: SEO
description: Search engine metadata for every content type, URL rules and global SEO settings.
nav:
seo: SEO
rules: URL rules
permissions:
tab: SEO
manage: Manage SEO
manage_comment: Edit the SEO tab of every content type, URL rules, redirects, robots.txt and the SEO settings, in the admin and through MCP.
tab:
seo: SEO
field:
title: SEO title
title_comment: Leave empty to use the title template from the SEO settings.
title_comment_rule: Leave empty to keep the title of the page or record at this address.
description: Meta description
canonical: Canonical URL
canonical_comment: Leave empty for this page's own address. Accepts a path (/blog/post) or a full URL, also on another domain.
robots: Search engine indexing
robots_comment_rule: “Inherit” keeps the setting of the record at this address, then the content type default.
og_title: Social title
og_description: Social description
og_image: Social image
robots:
inherit: Inherit
site_default: Site default
staging_title: This is not the production environment
status:
staging: On this environment every page is served with noindex and robots.txt blocks everything (non-production lock).
settings:
category: SEO
label: SEO settings
description: Title templates, default descriptions, indexing rules, address format and search engine verification.
tab_general: General
tab_indexing: Indexing
tab_urls: Addresses
tab_verification: Verification
site_name: Site name
site_name_comment: Replaces %site% in title templates.
title_template: Title template
title_template_comment: 'Used when a page has no SEO title. Default: the page title, a vertical bar and the site name (%title% followed by %site%).'
home_template: Home page title template
default_description: Default meta description
default_description_comment: Used when neither the page, its template nor its content provides a description.
default_og_image: Default social image
twitter_site: X (Twitter) account
twitter_site_comment: Your handle with @, e.g. @summercms. Sent as twitter:site.
query_params: Query parameters
query_params_comment: Decides which parameters stay in the canonical URL. A trailing * matches a prefix, e.g. utm_*.
param_name: Parameter
param_kind: Kind
param_path: Only under path
param_content: 'Content: stays in the canonical'
param_filter: 'Filter or sort: dropped, page gets noindex, follow'
param_tracking: 'Tracking: dropped'
param_path_comment: 'Empty: the whole site. Example: /katalog/*'
param_add: Add parameter
noindex_paths: Addresses never indexed
noindex_paths_comment: One address or pattern per line, e.g. /konto/* or /logowanie. These pages get noindex, nofollow. Pages behind sign-in are marked automatically.
search_paths: Internal search results
search_paths_comment: One address or pattern per line, e.g. /szukaj. These pages get noindex, follow.
url_host: Domain form
url_host_keep: Do not change
url_host_www: Always with www
url_host_bare: Always without www
url_slash: Trailing slash
url_slash_keep: Do not change
url_slash_add: Always add (/blog/)
url_slash_remove: Always remove (/blog)
url_lowercase: Lowercase addresses
url_change_comment: A change sends every non-matching address to the new form with a 301. Check the site's current addresses first.
url_fixed_comment: 'Always on: HTTPS, removal of double slashes and /index.html, a single 301 hop to the final address, and strict addresses (every segment must match the record).'
verify_google: Google verification code
verify_bing: Bing verification code
verify_yandex: Yandex verification code
verify_code_comment: Paste only the content value of the meta tag. It is added to the home page.
verify_other: Other verification meta tags
verify_other_name: Meta name
verify_other_content: Content
verify_other_add: Add meta tag
verify_files: Verification files
verify_files_filename: File name
verify_files_body: File content
verify_files_add: Add file
verify_files_comment: Served from the site root, e.g. /google1234.html.
verify_filename_invalid: Use a plain file name ending in .html, .txt or .xml, without slashes, e.g. google1234.html.
verify_filename_taken: Another verification file already uses this name.
template_unknown: Unknown placeholder “:placeholder”. Use one from the table below the templates.
rules:
new: New URL rule
list_title: URL rules
name: URL rule
url: Address
match: Match
match_exact: Exact address
match_pattern: Pattern
note: Note
note_comment: Why this rule exists, e.g. the audit it comes from. Not shown on the site.
col_overrides: Sets
col_updated: Updated
url_comment_full: A URL rule wins over the record's SEO tab and the SEO settings. A path such as / or /blog?tag=*. In a pattern, * matches any text.
url_taken: A rule for this address and match already exists.
url_invalid: Start the address with /. Use * only in a pattern.
list_empty: No URL rules yet. A rule sets SEO for an address that has no record behind it, such as the home page or a filter URL.
delete_confirm: Delete this URL rule? The address falls back to its record and the SEO settings. You can undo it in History.
delete_selected_confirm:
one: Delete :count URL rule? You can undo it in History.
other: Delete :count URL rules? You can undo it in History.

View File

@@ -1,8 +1,111 @@
plugin:
name: SEO
description: Metadane dla wyszukiwarek we wszystkich typach treści, reguły adresów i globalne ustawienia SEO.
nav:
seo: SEO
rules: Reguły adresów
permissions:
tab: SEO
manage: Zarządzanie SEO
manage_comment: Edycja zakładki SEO we wszystkich typach treści, reguł adresów, przekierowań, robots.txt i ustawień SEO, w panelu i przez MCP.
tab:
seo: SEO
field:
title: Tytuł SEO
title_comment: Zostaw puste, aby użyć szablonu tytułu z ustawień SEO.
title_comment_rule: Zostaw puste, aby zachować tytuł strony lub rekordu pod tym adresem.
description: Opis meta
canonical: Adres kanoniczny
canonical_comment: Zostaw puste dla własnego adresu strony. Przyjmuje ścieżkę (/blog/wpis) lub pełny adres, także w innej domenie.
robots: Indeksowanie w wyszukiwarkach
robots_comment_rule: „Dziedzicz” zachowuje ustawienie rekordu pod tym adresem, a potem domyślne ustawienie typu treści.
og_title: Tytuł w mediach społecznościowych
og_description: Opis w mediach społecznościowych
og_image: Obraz w mediach społecznościowych
robots:
inherit: Dziedzicz
site_default: Domyślne
staging_title: To nie jest środowisko produkcyjne
status:
staging: W tym środowisku każda strona ma noindex, a robots.txt blokuje wszystko (blokada środowiska nieprodukcyjnego).
settings:
category: SEO
label: Ustawienia SEO
description: Szablony tytułów, domyślne opisy, zasady indeksowania, format adresów i weryfikacja w wyszukiwarkach.
tab_general: Ogólne
tab_indexing: Indeksowanie
tab_urls: Adresy
tab_verification: Weryfikacja
site_name: Nazwa witryny
site_name_comment: Zastępuje %site% w szablonach tytułów.
title_template: Szablon tytułu
title_template_comment: 'Używany, gdy strona nie ma tytułu SEO. Domyślnie: tytuł strony, pionowa kreska i nazwa witryny (%title%, a po nim %site%).'
home_template: Szablon tytułu strony głównej
default_description: Domyślny opis meta
default_description_comment: Używany, gdy ani strona, ani jej szablon, ani treść nie dostarczają opisu.
default_og_image: Domyślny obraz w mediach społecznościowych
twitter_site: Konto X (Twitter)
twitter_site_comment: Nazwa konta z @, np. @summercms. Wysyłana jako twitter:site.
query_params: Parametry adresu
query_params_comment: Decyduje, które parametry zostają w adresie kanonicznym. Gwiazdka na końcu pasuje do prefiksu, np. utm_*.
param_name: Parametr
param_kind: Rodzaj
param_path: Tylko pod ścieżką
param_content: 'Treść: zostaje w adresie kanonicznym'
param_filter: 'Filtr lub sortowanie: usuwany, strona dostaje noindex, follow'
param_tracking: 'Śledzenie: usuwany'
param_path_comment: 'Puste: cała witryna. Przykład: /katalog/*'
param_add: Dodaj parametr
noindex_paths: Adresy nigdy nieindeksowane
noindex_paths_comment: Jeden adres lub wzorzec w wierszu, np. /konto/* lub /logowanie. Te strony dostają noindex, nofollow. Strony wymagające logowania są oznaczane automatycznie.
search_paths: Wyniki wyszukiwania wewnętrznego
search_paths_comment: Jeden adres lub wzorzec w wierszu, np. /szukaj. Te strony dostają noindex, follow.
url_host: Forma domeny
url_host_keep: Nie zmieniaj
url_host_www: Zawsze z www
url_host_bare: Zawsze bez www
url_slash: Ukośnik na końcu
url_slash_keep: Nie zmieniaj
url_slash_add: Zawsze dodawaj (/blog/)
url_slash_remove: Zawsze usuwaj (/blog)
url_lowercase: Małe litery w adresach
url_change_comment: Zmiana przekierowuje (301) każdy niepasujący adres na nową formę. Najpierw sprawdź obecne adresy witryny.
url_fixed_comment: 'Zawsze włączone: HTTPS, usuwanie podwójnych ukośników i /index.html, jedno przekierowanie 301 do adresu docelowego oraz ścisłe adresy (każdy segment musi pasować do rekordu).'
verify_google: Kod weryfikacyjny Google
verify_bing: Kod weryfikacyjny Bing
verify_yandex: Kod weryfikacyjny Yandex
verify_code_comment: Wklej tylko wartość content znacznika meta. Zostanie dodany na stronie głównej.
verify_other: Inne znaczniki weryfikacyjne
verify_other_name: Nazwa meta
verify_other_content: Wartość
verify_other_add: Dodaj znacznik
verify_files: Pliki weryfikacyjne
verify_files_filename: Nazwa pliku
verify_files_body: Zawartość pliku
verify_files_add: Dodaj plik
verify_files_comment: Serwowane z katalogu głównego witryny, np. /google1234.html.
verify_filename_invalid: Użyj samej nazwy pliku z końcówką .html, .txt lub .xml, bez ukośników, np. google1234.html.
verify_filename_taken: Ten plik weryfikacyjny już istnieje.
template_unknown: Nieznany znacznik „:placeholder”. Użyj jednego z tabeli pod szablonami.
rules:
new: Nowa reguła adresu
list_title: Reguły adresów
name: Reguła adresu
url: Adres
match: Dopasowanie
match_exact: Dokładny adres
match_pattern: Wzorzec
note: Notatka
note_comment: Dlaczego ta reguła istnieje, np. z jakiego audytu pochodzi. Nie jest wyświetlana na stronie.
col_overrides: Ustawia
col_updated: Zaktualizowano
url_comment_full: Reguła adresu ma pierwszeństwo przed zakładką SEO rekordu i ustawieniami SEO. Ścieżka, np. / lub /blog?tag=*. We wzorcu * pasuje do dowolnego tekstu.
url_taken: Reguła dla tego adresu i dopasowania już istnieje.
url_invalid: Zacznij adres od /. Używaj * tylko we wzorcu.
list_empty: Nie ma jeszcze reguł adresów. Reguła ustawia SEO dla adresu, za którym nie stoi żaden rekord, np. strony głównej lub adresu z filtrem.
delete_confirm: Usunąć tę regułę adresu? Adres wróci do ustawień rekordu i ustawień SEO. Możesz to cofnąć w Historii zmian.
delete_selected_confirm:
one: Usunąć :count regułę adresu? Możesz to cofnąć w Historii zmian.
few: Usunąć :count reguły adresów? Możesz to cofnąć w Historii zmian.
many: Usunąć :count reguł adresów? Możesz to cofnąć w Historii zmian.
other: Usunąć :count reguły adresu? Możesz to cofnąć w Historii zmian.