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

@@ -14,7 +14,8 @@ import (
)
// PermissionManage is the one SEO permission (D-15): the SEO tab, URL
// rules, redirects, the 404 log, robots.txt, settings and history.
// rules, redirects, the 404 log, pages, auto-links, the site audit,
// robots.txt, settings and history.
const PermissionManage = "golem15.seo.manage"
// The admin controller IDs.
@@ -33,6 +34,7 @@ func AdminControllers(app func() *backpack.App) []pact.AdminController {
notFoundAdminController{app: app},
rulesAdminController{app: app},
pagesAdminController{app: app},
autolinksAdminController{app: app},
issuesAdminController{app: app},
crawlsAdminController{app: app},
robotsAdminController{app: app},