- POST /_seo/api/v1/notfound with the golem15.seo.notfound_token bearer (constant-time, off when unset), URL and referer caps, a row cap with an hourly warning, throttle bucket seo-notfound - golem15.seo.notfound list by hits with Resolved rows, a preview with the resolved hint, a prompted 301 and a 410 record action, a bulk 410 that refuses a selection with a covered address - every /_seo/api/v1 answer carries X-Robots-Tag: noindex
271 lines
13 KiB
YAML
271 lines
13 KiB
YAML
plugin:
|
||
name: SEO
|
||
description: Search engine metadata for every content type, URL rules and global SEO settings.
|
||
nav:
|
||
notfound: 404 log
|
||
redirects: Redirects
|
||
seo: SEO
|
||
history: History
|
||
rules: URL rules
|
||
permissions:
|
||
tab: SEO
|
||
manage: Manage SEO
|
||
manage_comment: Edit the SEO tab of every content type, URL rules, redirects, robots.txt and the SEO settings, in the admin and through MCP.
|
||
tab:
|
||
seo: SEO
|
||
field:
|
||
snippet: Search result preview
|
||
description_comment: Leave empty to use the description template, then the content's own excerpt.
|
||
keyphrase: Focus keyphrase
|
||
keyphrase_comment: Checked in the preview above. Never shown on the site.
|
||
robots_comment: “Inherit” follows a URL rule for this address, then the content type default from the SEO settings. Also sent as an X-Robots-Tag header.
|
||
og_title_comment: Used by Facebook, LinkedIn and X. Empty fields use the SEO title, description and the content's image.
|
||
og_image_comment: Recommended 1200 × 630 px. Shared by all languages of this record.
|
||
effective: What search engines get
|
||
title: SEO title
|
||
title_comment: Leave empty to use the title template from the SEO settings.
|
||
title_comment_rule: Leave empty to keep the title of the page or record at this address.
|
||
description: Meta description
|
||
canonical: Canonical URL
|
||
canonical_comment: Leave empty for this page's own address. Accepts a path (/blog/post) or a full URL, also on another domain.
|
||
robots: Search engine indexing
|
||
robots_comment_rule: “Inherit” keeps the setting of the record at this address, then the content type default.
|
||
og_title: Social title
|
||
og_description: Social description
|
||
og_image: Social image
|
||
robots:
|
||
invalid: The robots value is not valid. Use index or noindex, follow or nofollow and the advanced directives, separated by commas.
|
||
inherit: Inherit
|
||
site_default: Site default
|
||
staging_title: This is not the production environment
|
||
status:
|
||
rule_title: A URL rule overrides part of this tab
|
||
rule_text: The rule for “:url” sets :fields. Change them in SEO › URL rules.
|
||
canonical_noindex: The canonical URL “:url” is set to noindex, so search engines may ignore both pages.
|
||
canonical_redirected: The canonical URL “:url” redirects to “:target”. Point the canonical to the final address.
|
||
staging: On this environment every page is served with noindex and robots.txt blocks everything (non-production lock).
|
||
settings:
|
||
placeholders: Placeholders
|
||
placeholders_code: Placeholder
|
||
placeholders_meaning: Replaced with
|
||
category: SEO
|
||
label: SEO settings
|
||
description: Title templates, default descriptions, indexing rules, address format and search engine verification.
|
||
tab_general: General
|
||
tab_indexing: Indexing
|
||
tab_urls: Addresses
|
||
tab_verification: Verification
|
||
site_name: Site name
|
||
site_name_comment: Replaces %site% in title templates.
|
||
title_template: Title template
|
||
title_template_comment: 'Used when a page has no SEO title. Default: the page title, a vertical bar and the site name (%title% followed by %site%).'
|
||
home_template: Home page title template
|
||
default_description: Default meta description
|
||
default_description_comment: Used when neither the page, its template nor its content provides a description.
|
||
default_og_image: Default social image
|
||
twitter_site: X (Twitter) account
|
||
twitter_site_comment: Your handle with @, e.g. @summercms. Sent as twitter:site.
|
||
type_inject: Show the SEO tab
|
||
type_inject_comment: Off hides the tab. Saved values are kept and still used.
|
||
type_title_template: Title template
|
||
type_title_template_comment: Leave empty to use the general title template.
|
||
type_description_template: Description template
|
||
type_robots: Default indexing
|
||
query_params: Query parameters
|
||
query_params_comment: Decides which parameters stay in the canonical URL. A trailing * matches a prefix, e.g. utm_*.
|
||
param_name: Parameter
|
||
param_kind: Kind
|
||
param_path: Only under path
|
||
param_content: 'Content: stays in the canonical'
|
||
param_filter: 'Filter or sort: dropped, page gets noindex, follow'
|
||
param_tracking: 'Tracking: dropped'
|
||
param_path_comment: 'Empty: the whole site. Example: /katalog/*'
|
||
param_add: Add parameter
|
||
noindex_paths: Addresses never indexed
|
||
noindex_paths_comment: One address or pattern per line, e.g. /konto/* or /logowanie. These pages get noindex, nofollow. Pages behind sign-in are marked automatically.
|
||
search_paths: Internal search results
|
||
search_paths_comment: One address or pattern per line, e.g. /szukaj. These pages get noindex, follow.
|
||
url_host: Domain form
|
||
url_host_keep: Do not change
|
||
url_host_www: Always with www
|
||
url_host_bare: Always without www
|
||
url_slash: Trailing slash
|
||
url_slash_keep: Do not change
|
||
url_slash_add: Always add (/blog/)
|
||
url_slash_remove: Always remove (/blog)
|
||
url_lowercase: Lowercase addresses
|
||
url_change_comment: A change sends every non-matching address to the new form with a 301. Check the site's current addresses first.
|
||
url_fixed_comment: 'Always on: HTTPS, removal of double slashes and /index.html, a single 301 hop to the final address, and strict addresses (every segment must match the record).'
|
||
verify_google: Google verification code
|
||
verify_bing: Bing verification code
|
||
verify_yandex: Yandex verification code
|
||
verify_code_comment: Paste only the content value of the meta tag. It is added to the home page.
|
||
verify_other: Other verification meta tags
|
||
verify_other_name: Meta name
|
||
verify_other_content: Content
|
||
verify_other_add: Add meta tag
|
||
verify_files: Verification files
|
||
verify_files_filename: File name
|
||
verify_files_body: File content
|
||
verify_files_add: Add file
|
||
verify_files_comment: Served from the site root, e.g. /google1234.html.
|
||
verify_filename_invalid: Use a plain file name ending in .html, .txt or .xml, without slashes, e.g. google1234.html.
|
||
verify_filename_taken: Another verification file already uses this name.
|
||
template_unknown: Unknown placeholder “:placeholder”. Use one from the table below the templates.
|
||
rules:
|
||
new: New URL rule
|
||
list_title: URL rules
|
||
name: URL rule
|
||
url: Address
|
||
match: Match
|
||
match_exact: Exact address
|
||
match_pattern: Pattern
|
||
note: Note
|
||
note_comment: Why this rule exists, e.g. the audit it comes from. Not shown on the site.
|
||
col_overrides: Sets
|
||
col_updated: Updated
|
||
url_comment_full: A URL rule wins over the record's SEO tab and the SEO settings. A path such as / or /blog?tag=*. In a pattern, * matches any text.
|
||
url_taken: A rule for this address and match already exists.
|
||
url_invalid: Start the address with /. Use * only in a pattern.
|
||
list_empty: No URL rules yet. A rule sets SEO for an address that has no record behind it, such as the home page or a filter URL.
|
||
delete_confirm: Delete this URL rule? The address falls back to its record and the SEO settings. You can undo it in History.
|
||
delete_selected_confirm:
|
||
one: Delete :count URL rule? You can undo it in History.
|
||
other: Delete :count URL rules? You can undo it in History.
|
||
history:
|
||
list_title: History
|
||
name: Change
|
||
when: When
|
||
who: Who
|
||
via: Via
|
||
what: What
|
||
change: Change
|
||
batch: Batch
|
||
via_admin: Admin
|
||
via_mcp: MCP
|
||
via_import: Import
|
||
via_auto: Automatic
|
||
via_undo: Undo
|
||
what_record: SEO of :type “:title” (:locale)
|
||
what_rule: URL rule “:url”
|
||
what_redirect: Redirect “:url”
|
||
what_robots: robots.txt
|
||
what_settings: SEO settings
|
||
change_cell:
|
||
one: ':field: :before → :after'
|
||
other: ':count fields changed'
|
||
created: (created)
|
||
deleted: (deleted)
|
||
state_undone: Undone
|
||
filter_via: Via
|
||
filter_when: When
|
||
filter_who: Who
|
||
preview: Change details
|
||
diff_field: Field
|
||
diff_before: Before
|
||
diff_after: After
|
||
list_empty: No SEO changes recorded yet. Every change from the admin, MCP or an import appears here and can be undone.
|
||
jobs:
|
||
generate_entries: 'SEO: generate entries'
|
||
effective:
|
||
property: Property
|
||
value: Value
|
||
source: Source
|
||
locale: “:locale” — :url
|
||
source_rule: URL rule
|
||
source_record: This record
|
||
source_template: Template
|
||
source_global: SEO settings
|
||
source_content: Content
|
||
source_default: Site default
|
||
no_url: This language has no address yet. Fill in its slug and save.
|
||
placeholder:
|
||
title: The content's title
|
||
description: The content's own description or excerpt
|
||
site: The site name
|
||
image:
|
||
invalid: The file must be a JPEG, PNG, GIF or WebP image.
|
||
too_big: The image may not be larger than 10 MB.
|
||
url_invalid: The image must be a path or an http(s) address.
|
||
forbidden: You may not upload SEO images.
|
||
snippet:
|
||
action: Check duplicates
|
||
invalid: The preview request is not valid.
|
||
redirects:
|
||
auto_created: The address changed, so a 301 from “:old” to “:new” was created. :count earlier redirects now point straight to the new address.
|
||
loop: "This redirect would create a loop: :path. Nothing was saved."
|
||
chain_notice: "Saved, but this redirect is part of a chain: :path. Visitors take :count hops. Point “:source” straight to “:final”."
|
||
target_required: "Enter the address to redirect to, or choose 410 Gone."
|
||
target_gone: "A 410 Gone rule sends visitors nowhere. Clear the target, or choose 301 or 302."
|
||
target_invalid: "Enter a path starting with / or a full http(s) address."
|
||
regex_invalid: "This is not a valid regular expression: :error"
|
||
source_invalid: "Start the address with /. Use * only in a pattern."
|
||
source_taken: "Another redirect already uses this address and match."
|
||
new: "New redirect"
|
||
list_title: "Redirects"
|
||
name: "Redirect"
|
||
source: "From"
|
||
source_comment: "Exact: /old-post. Pattern: /old/* (the matched part replaces * in the target). Regex: ^/p/(\\d+)$ (use $1 in the target)."
|
||
match: "Match"
|
||
match_exact: "Exact"
|
||
match_pattern: "Pattern"
|
||
match_regex: "Regex"
|
||
target: "To"
|
||
target_comment: "A path or a full URL. Leave empty for 410 Gone."
|
||
status: "Status"
|
||
status_301: "301 Moved permanently"
|
||
status_302: "302 Found (temporary)"
|
||
status_410: "410 Gone"
|
||
query: "Query string"
|
||
query_ignore: "Ignore it"
|
||
query_pass: "Pass it to the target"
|
||
ignore_case: "Ignore letter case"
|
||
trailing_slash: "Match with and without a trailing slash"
|
||
note: "Note"
|
||
origin: "Origin"
|
||
origin_manual: "Manual"
|
||
origin_slug: "Address change"
|
||
origin_import: "Import"
|
||
origin_mcp: "MCP"
|
||
origin_notfound: "404 log"
|
||
updated: "Updated"
|
||
state_chain: "Chain"
|
||
filter_chain: "Chains"
|
||
filter_chain_only: "Only chains"
|
||
filter_chain_hide: "Hide chains"
|
||
list_empty: "No redirects yet. Create one, import a CSV file, or create one from the 404 log."
|
||
delete_confirm: "Delete this redirect? Its source address will return 404 again. You can undo it in History."
|
||
delete_selected_confirm:
|
||
one: "Delete :count redirect? Its source address will return 404 again. You can undo it in History."
|
||
other: "Delete :count redirects? Their source addresses will return 404 again. You can undo it in History."
|
||
notfound:
|
||
list_title: "404 log"
|
||
name: "404 address"
|
||
url: "Address"
|
||
hits: "Hits"
|
||
last_hit: "Last hit"
|
||
first_seen: "First seen"
|
||
referer: "Last referer"
|
||
state_resolved: "Resolved"
|
||
filter_status: "Status"
|
||
filter_status_open: "Open"
|
||
filter_status_resolved: "Resolved"
|
||
preview: "Address that returned 404"
|
||
resolved_hint: "Resolved by “:rule”. This address no longer returns 404."
|
||
redirect: "Create redirect…"
|
||
redirect_prompt: "Redirect to (301)"
|
||
redirect_placeholder: "/new-address"
|
||
redirect_comment: "A path or a full URL. To use 302, edit the redirect afterwards."
|
||
redirect_confirm: "Create a 301 redirect from this address?"
|
||
redirected: "Redirect “:url” → “:target” created."
|
||
gone: "Mark as gone (410)"
|
||
gone_confirm: "Answer this address with 410 Gone? Search engines drop it faster than a 404. You can undo it in History."
|
||
gone_selected_confirm: "Answer the selected addresses with 410 Gone? You can undo it in History."
|
||
gone_done: "410 Gone created for “:url”."
|
||
gone_selected_done: "410 Gone created for the selected addresses."
|
||
has_rule: "A redirect for “:url” already exists. Edit it in Redirects."
|
||
list_empty: "No 404 errors recorded. Addresses that return 404 appear here with their hit count."
|
||
delete_selected_confirm:
|
||
one: "Remove :count address from the log? It is added again on its next 404."
|
||
other: "Remove :count addresses from the log? They are added again on their next 404."
|