feat: HTML sitemap groups API

- GET /_sitemap/api/v1/html?locale= answers the overview: the listed
  addresses of the XML sitemaps by group, in the order pages, offers,
  services, categories (as a tree), posts (newest first), tags, authors,
  other content types, each with its title in the locale, total, the
  first html_page_size links and more
- GET /_sitemap/api/v1/html/{group}?locale=&page= answers one page of a
  group; past the last page, an unknown group or the HTML sitemap off
  answer 404; every answer is noindex; per-IP bucket sitemap-html
- the HTML sitemap tab: html_enabled, the address per locale (html_paths)
  and html_page_size 50 to 500, with errors.html_path and errors.page_size
- contract.Listing.Settings answers HTMLEnabled, HTMLPaths, HTMLPageSize
  and KeyFile
This commit is contained in:
Jakub Zych
2026-11-04 12:32:47 +01:00
parent e02d0b173f
commit 8f4ff2a97d
12 changed files with 981 additions and 67 deletions

View File

@@ -127,3 +127,21 @@ fields:
action: hide
field: indexnow_enabled
condition: unchecked
# The address per locale (html_path, an mltext field) is added after
# this switch by the plugin's form extension, stored in html_paths.
html_enabled:
label: golem15.sitemap::lang.settings.html_enabled
comment: golem15.sitemap::lang.settings.html_enabled_comment
type: switch
default: true
span: full
tab: golem15.sitemap::lang.settings.tab_html
html_page_size:
label: golem15.sitemap::lang.settings.html_page_size
comment: golem15.sitemap::lang.settings.html_page_size_comment
type: number
default: 150
span: right
tab: golem15.sitemap::lang.settings.tab_html