feat: auto-link phrases in the resolve answer (tracer)

- golem15_seo_autolinks (migration 202610280007) and the settings column
  autolink_max (Links tab, 0 to 20, default 3)
- classes/autolinks.go: checked save and delete with history, ForPage
- ok resolve answers carry autolinks for the page's locale without
  disabled phrases and links to the page itself, and autolink_max
This commit is contained in:
Jakub Zych
2026-11-04 16:22:23 +01:00
parent b553fc2937
commit 6203aec2bc
13 changed files with 671 additions and 9 deletions

View File

@@ -108,6 +108,8 @@ settings:
tab_urls: Addresses
tab_verification: Verification
tab_links: Links
autolink_max: Auto-links per page
autolink_max_comment: "At most this many phrases from SEO › Auto-links are linked in one text. 0 turns auto-linking off."
links_new_tab: Open links to other sites in a new tab
links_new_tab_comment: "On: links to other sites open in a new tab with rel=noopener, and screen readers hear that they do. Off: they open in the same tab. Their nofollow, sponsored and ugc attributes apply either way."
nofollow_domains: Domains that always get nofollow
@@ -294,6 +296,7 @@ history:
what_settings: SEO settings
what_notfound: 404 log entry “:url”
what_page: Page “:url”
what_autolink: Auto-link “:phrase”
change_cell:
one: ':field: :before → :after'
other: ':count fields changed'
@@ -518,6 +521,38 @@ pages:
one: "Delete :count page from the registry? Its SEO tab is deleted with it."
other: "Delete :count pages from the registry? Their SEO tabs are deleted with them."
home_title: Home
autolinks:
list_title: Auto-links
name: Auto-link
new: New auto-link
list_empty: "No auto-links yet. Add a phrase and the page it should link to; texts then link its first occurrence automatically."
from_keyphrases: Add focus keyphrases
phrase: Phrase
url: Links to
locale: Language
origin: Origin
updated: Updated
locale_all: All languages
origin_manual: Manual
origin_keyphrase: Focus keyphrase
origin_mcp: MCP
enabled: Active
filter_active: Active only
state_off: "Off"
phrase_comment: "Linked at its first occurrence in a text, as whole words, ignoring letter case. Never inside headings or existing links, and never on the page it links to."
url_comment: "A path such as /grzyby/lwia-grzywa, or a full address."
note: Note
keyphrases_added:
one: ":count phrase added from focus keyphrases."
other: ":count phrases added from focus keyphrases."
keyphrases_none: "No new focus keyphrases to add."
phrase_short: "Use at least 3 characters."
phrase_taken: "This phrase already links to “:url” in this language."
url_invalid: "Use a path starting with / or a full http(s) address."
delete_confirm: "Delete this auto-link? Texts stop linking the phrase when their pages are next rendered."
delete_selected_confirm:
one: "Delete :count auto-link?"
other: "Delete :count auto-links?"
graph:
action: "Check structured data"
required: "Missing required property “:property” (:type)"