Files
sm-seo-plugin/lang/en/lang.yaml
Jakub Zych 59f0457c69 feat: sitemap-aware batch conflict and the sitemap_blocked issue
- noindex_published fires only when a sitemap file lists the address now
  (read once per batch through contract.Listing)
- CMS issue sitemap_blocked (severity error, tool seo_update_robots,
  details line and rule): a listed address the production robots.txt
  keeps Googlebot from
- the SEO tab's P1 shows status.excluded_title with the reason (noindex,
  canonical elsewhere, redirect, or the type switched off in the sitemap
  settings via ListingSettings.TypesOff) as a plain callout
- robots.txt is composed once per check of many addresses
2026-11-04 13:39:31 +01:00

412 lines
21 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
plugin:
name: SEO
description: Search engine metadata for every content type, URL rules and global SEO settings.
nav:
pages: Pages
robots: robots.txt
notfound: 404 log
redirects: Redirects
seo: SEO
history: History
rules: URL rules
transfer: Import and export
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:
llms_enabled: Serve llms.txt
llms_enabled_comment: Lists the site's indexable pages from the sitemaps at /llms.txt, for AI tools that read it.
llms_intro: Introduction
llms_intro_comment: "A short description of the site at the top of llms.txt. Empty: the default meta description."
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
title: "robots.txt"
tab_file: "robots.txt"
tab_bots: "AI bots"
staging_text: "Crawlers get “Disallow: /” and every page is sent with “X-Robots-Tag: noindex”, whatever you save here. The text below applies in production."
content: "robots.txt rules"
content_comment: "Sitemap lines and the AI bot rules are added automatically when the file is served."
tester: "Test an address"
served: "What crawlers get"
served_comment: "The saved version, as served at /robots.txt. Save to update it."
served_production: "Production"
too_large: "robots.txt may be at most 500 KB. Google ignores everything after that."
test: "Test URL"
test_invalid: "The test request is not valid."
url_required: "Enter an address starting with /."
blocks_noindex:
one: ":count noindex address is blocked by these rules, so Google cannot see its noindex: :list"
other: ":count noindex addresses are blocked by these rules, so Google cannot see their noindex: :list"
status:
excluded_title: Not in the sitemaps
excluded_noindex: This page is set to noindex, so the sitemaps leave it out.
excluded_canonical: The canonical URL points to “:url”, so the sitemaps list that address instead.
excluded_redirect: This address redirects to “:url”, so the sitemaps leave it out.
excluded_type: Its content type is turned off in the sitemap settings.
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
tab_links: Links
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
sponsored_domains: Domains that always get sponsored
domains_comment: One domain per line, e.g. example.com (subdomains included).
domain_invalid: "Line :line: “:value” is not a domain. Write it without https:// and without a path."
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
what_notfound: 404 log entry “:url”
what_page: Page “:url”
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.
undo: Undo this change
undo_confirm: Undo this change? The values before it are restored, and the undo is recorded as a new change.
undone: Change undone.
undo_batch: Undo the whole batch
undo_batch_confirm: Undo every change of this batch? It is undone as a whole or not at all.
batch_undone: Batch undone.
undo_stale: "“:field” has changed since: :author changed it on :time. Undoing would overwrite that. Nothing was undone."
undo_loop: "Undoing would create a redirect loop: :path. Nothing was undone."
undo_gone: The :type this change belongs to no longer exists. Nothing was undone.
undo_done: This change is already undone.
undo_unsupported: This change cannot be undone here. Nothing was undone.
record: record
kind_rule: URL rule
kind_redirect: redirect
kind_robots: robots.txt
kind_settings: SEO settings
kind_notfound: 404 log entry
kind_page: registry page
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."
bots:
search_comment: "AI search and answers. Off blocks it in robots.txt."
training_comment: "Collects content for AI training. Off blocks it in robots.txt."
user_comment: "Fetches a page when a user asks for it. Off blocks it in robots.txt."
api:
field_unknown: This is not an SEO field.
keyphrase_record_only: A focus keyphrase belongs to a record; a URL rule has none.
canonical_invalid: The canonical URL must be a path starting with / or an absolute http(s) URL.
bot_unknown: This is not an AI bot of the robots.txt screen.
value_invalid: This value is not valid here.
locale_unknown: "The record behind this address has no locale “:locale”."
type_unknown: No content type with this key is registered.
batch_too_large: "A batch takes at most :max changes."
change_not_found: The record this change names does not exist.
op_unknown: "Unknown operation “:op”."
conflict_noindex_published: "“:url” is a published page listed in the sitemaps; noindex removes it from search results."
transfer:
title: Import and export
delimiter: CSV delimiter
delimiter_comma: Comma (,)
delimiter_semicolon: Semicolon (;), as Excel uses in Polish
delimiter_comment: Files are UTF-8 with a byte order mark, so Excel opens Polish characters correctly.
widget: Files
preview: Preview import
applied:
one: "Applied :count change as one batch. You can undo it in History."
other: "Applied :count changes as one batch. You can undo them in History."
stale: The data changed after the preview. Preview the file again before applying.
unreadable: The file could not be read as CSV. Check the delimiter and that the first row holds the column names.
missing_column: "The file has no “:column” column. Download an export to see the expected columns."
dataset_unknown: Choose redirects, URL rules or SEO of records.
too_large: This file is larger than 60 KB. Split it into smaller files, or import it through MCP.
too_large_mcp: This file is larger than 900 KB. Import it in smaller parts.
export_too_large: This export is too large to download here. Export it through MCP, page by page.
refused_blocks: Fix the refused rows in the file and preview it again. Nothing is applied while a row is refused.
token_invalid: This preview is no longer valid. Preview the file again.
row_loop: "Creates a redirect loop: :path"
row_chain: "Creates a chain: :path"
row_canonical: "The canonical URL redirects to “:target”"
row_rule: "No record at this address: a URL rule is created"
row_invalid: ":field: :message"
pages:
type: Site page
list_title: Pages
name: Page
new: New page
list_empty: No pages yet. Add the site's own pages here, such as the home page, contact or offer pages, so they get an SEO tab and a place in the sitemaps. The site can also report its pages automatically.
url: Address
title: Name
kind: Type
origin: Origin
content_updated: Content changed
reported: Last reported
kind_page: Page
kind_offer: Offer
kind_service: Service
kind_landing: Landing page
origin_manual: Manual
origin_reported: Reported by the site
origin_mcp: MCP
state_missing: Not on the site
filter_missing: Not on the site
filter_missing_only: Only missing
filter_missing_hide: Hide missing
url_comment: The page's path in each language, e.g. /kontakt. Leave a language empty when the page has no version in it.
title_comment: Used for the default SEO title, the HTML sitemap and breadcrumbs.
kind_comment: "Decides the sitemap file and the default structured data: offers and services become Service."
parent: Parent page
parent_none: None (top level)
parent_comment: Places the page under another one in breadcrumbs.
content_updated_comment: Sent as lastmod in the sitemaps. Change it when the page's content changes on the site.
note: Note
note_comment: Not shown on the site.
status_reported: Reported by the site on :time.
status_missing: The site's last report (:time) did not include this address. Check whether the page still exists, then delete it here or redirect it.
url_required: Enter the address in the default language.
url_invalid: Start the address with / and leave out the domain.
url_taken: Another page already uses this address.
url_owned: This address belongs to :type “:title”. Set its SEO there.
parent_loop: A page cannot be placed under itself or one of its subpages.
delete_confirm: Delete this page from the registry? Its SEO tab is deleted with it, and the address leaves the sitemaps. A page the site reports comes back with its next report.
delete_selected_confirm:
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