feat: pagination forms and suffixes in resolve and site

- Pagination tab: query or path form, per-locale segment, title and
  description suffixes with %page% and %pages%
- ?page=1, /<segment>/1 and the other form answer 301 to the configured
  address in one hop with normalisation and strict URLs; a page value
  that is not a number answers not_found with pagination.invalid
- page 2 and later: self canonical with the page, index,follow, the
  suffixes (%pages% left for the layer), paged hreflang alternates
- GET /site answers pagination {form, param, segments} and home_crumb
This commit is contained in:
Jakub Zych
2026-11-04 14:22:21 +01:00
parent fde5024b5a
commit 032d3dae45
12 changed files with 763 additions and 144 deletions

View File

@@ -4,7 +4,7 @@
#
# SEO settings (UI-SPEC C11, C20): General, one tab per content type (added
# by the plugin's form extension after General), Indexing, Addresses,
# Links, Publisher, Local business and Verification.
# Pagination, Links, Publisher, Local business and Verification.
fields:
_staging:
@@ -146,6 +146,38 @@ fields:
default: false
tab: golem15.seo::lang.settings.tab_urls
page_form:
label: golem15.seo::lang.settings.page_form
comment: golem15.seo::lang.settings.page_form_comment
type: dropdown
span: left
default: query
options:
query: golem15.seo::lang.settings.page_form_query
path: golem15.seo::lang.settings.page_form_path
tab: golem15.seo::lang.settings.tab_pagination
page_segment:
label: golem15.seo::lang.settings.page_segment
comment: golem15.seo::lang.settings.page_segment_comment
type: mltext
span: right
tab: golem15.seo::lang.settings.tab_pagination
page_title_suffix:
label: golem15.seo::lang.settings.page_title_suffix
comment: golem15.seo::lang.settings.page_title_suffix_comment
type: mltext
span: left
tab: golem15.seo::lang.settings.tab_pagination
page_description_suffix:
label: golem15.seo::lang.settings.page_description_suffix
comment: golem15.seo::lang.settings.page_description_suffix_comment
type: mltext
span: right
tab: golem15.seo::lang.settings.tab_pagination
links_new_tab:
label: golem15.seo::lang.settings.links_new_tab
comment: golem15.seo::lang.settings.links_new_tab_comment