feat: auto-links screen, keyphrase feed and MCP tools

- SEO › Auto-links (golem15.seo.autolinks, after Pages): list by phrase
  with locale, origin and active filters, the disabled row state, the
  form with its refusals, history through a field-less extension
- toolbar Add focus keyphrases (from_keyphrases) and
  POST /autolinks/from-keyphrases
- GET/POST /autolinks, PUT /autolinks/{id}, DELETE /autolinks and the
  tools seo_list_autolinks, seo_create_autolink, seo_update_autolink,
  seo_delete_autolinks, seo_autolinks_from_keyphrases
- the settings tile description and the permission comment name
  auto-links and the site audit
This commit is contained in:
Jakub Zych
2026-11-04 16:30:56 +01:00
parent 6203aec2bc
commit ab4e83416d
19 changed files with 852 additions and 13 deletions

View File

@@ -0,0 +1,25 @@
# Auto-links list columns (UI-SPEC C22). locale and origin show their
# labels (the controller's ListExtendRecords) and sort by the stored values.
columns:
phrase:
label: golem15.seo::lang.autolinks.phrase
type: text
searchable: true
sortable: true
url:
label: golem15.seo::lang.autolinks.url
type: text
searchable: true
sortable: false
locale:
label: golem15.seo::lang.autolinks.locale
type: text
sortable: false
origin:
label: golem15.seo::lang.autolinks.origin
type: text
sortable: false
updated_at:
label: golem15.seo::lang.autolinks.updated
type: datetime
sortable: true

View File

@@ -0,0 +1,35 @@
# Auto-link form (UI-SPEC C22): the phrase and the address it links to,
# the locale (every locale by default) and the active switch, a note.
fields:
phrase:
label: golem15.seo::lang.autolinks.phrase
comment: golem15.seo::lang.autolinks.phrase_comment
type: text
span: left
required: true
url:
label: golem15.seo::lang.autolinks.url
comment: golem15.seo::lang.autolinks.url_comment
type: text
span: right
required: true
locale:
label: golem15.seo::lang.autolinks.locale
type: dropdown
span: left
emptyOption: golem15.seo::lang.autolinks.locale_all
options: localeOptions
enabled:
label: golem15.seo::lang.autolinks.enabled
type: switch
span: right
default: true
note:
label: golem15.seo::lang.autolinks.note
type: textarea
size: tiny
span: full