- golem15_seo_pages (migration 202610280002): the site's own frontend pages
with an address and a name per locale, kind, origin, parent, content date
and note; settings routes_reported_at
- SEO > Pages (golem15.seo.pages) after URL rules: list with kind, origin
and missing filters and the missing row state, form with the P9 partial;
the plugin's form extension saves the address and name per locale and
refuses url_required, url_invalid, url_taken and url_owned
- menu item type seo-page with a content descriptor, so each page gets
the SEO tab, resolves ok and is listed in the sitemaps grouped by kind
(pages, offers, services, landing-pages, titled per locale)
- management API GET/POST /_seo/api/v1/pages, PUT/DELETE /pages/{id} and
the MCP tools seo_list_pages, seo_create_page, seo_update_page,
seo_delete_page (in this commit because the operations parity test maps
every Pages operation to its tool)
21 lines
676 B
YAML
21 lines
676 B
YAML
# Page form (UI-SPEC C21). The address and the name per locale come from
|
|
# the plugin's own form extension on this controller; the SEO tab is added
|
|
# because the registry is a content type (seo-page).
|
|
name: golem15.seo::lang.pages.name
|
|
form: ~/plugins/golem15/seo/models/page/fields.yaml
|
|
modelClass: Golem15\SEO\Models\Page
|
|
defaultRedirect: golem15/seo/pages
|
|
|
|
create:
|
|
redirect: golem15/seo/pages/update/:id
|
|
redirectClose: golem15/seo/pages
|
|
|
|
update:
|
|
redirect: golem15/seo/pages
|
|
redirectClose: golem15/seo/pages
|
|
|
|
messages:
|
|
create: golem15.seo::lang.pages.new
|
|
update: golem15.seo::lang.pages.name
|
|
deleteConfirm: golem15.seo::lang.pages.delete_confirm
|