- 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
784 lines
39 KiB
YAML
784 lines
39 KiB
YAML
plugin:
|
||
name: SEO
|
||
description: Search engine metadata for every content type, URL rules and global SEO settings.
|
||
nav:
|
||
audit: "Site audit"
|
||
crawls: "Crawls"
|
||
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
|
||
primary_category: "Primary category (breadcrumb trail)"
|
||
primary_category_comment: "Sets the breadcrumb trail and the article section. Default: the first category."
|
||
primary_category_default: "Default (first category)"
|
||
schema: "Structured data"
|
||
schema_comment: "The schema.org type of this page in its JSON-LD graph. Shared by all languages."
|
||
graph: "Structured data preview"
|
||
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).
|
||
primary_gone: "The primary category “:name” is no longer assigned, so the first category is used. Choose another one below."
|
||
settings:
|
||
tab_audit: "Site audit"
|
||
crawl_schedule: "Automatic crawl"
|
||
crawl_schedule_off: "Off"
|
||
crawl_schedule_daily: "Daily"
|
||
crawl_schedule_weekly: "Weekly"
|
||
crawl_schedule_comment: "Runs at night. You can always start a crawl by hand in SEO › Crawls."
|
||
crawl_max_pages: "Pages per crawl"
|
||
crawl_max_pages_comment: "The crawl stops after this many pages. Default 5000."
|
||
crawl_delay: "Pause between requests (ms)"
|
||
crawl_delay_comment: "At most two requests run at a time. A longer pause spares a small server."
|
||
crawl_keep: "Crawls kept"
|
||
crawl_keep_comment: "Older crawls are deleted with their pages and issues."
|
||
generic_anchors: "Generic link texts"
|
||
generic_anchors_comment: "One per line. The crawl reports links whose whole text is one of these, ignoring letter case."
|
||
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
|
||
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
|
||
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.
|
||
breadcrumb_home_default: "Home"
|
||
tab_publisher: "Publisher"
|
||
tab_local: "Local business"
|
||
breadcrumb_home: "Home page name in breadcrumbs"
|
||
breadcrumb_home_comment: "The first item of every breadcrumb trail, also in the BreadcrumbList structured data."
|
||
publisher_type: "Publisher type"
|
||
publisher_org: "Organisation"
|
||
publisher_person: "Person (personal site)"
|
||
publisher_type_comment: "Who publishes the site, in the structured data of every page."
|
||
publisher_name: "Name"
|
||
publisher_name_comment: "Empty: the site name."
|
||
publisher_logo: "Logo or photo"
|
||
publisher_logo_comment: "Organisation: the logo, at least 112 × 112 px. Person: a photo."
|
||
publisher_url: "Website"
|
||
publisher_url_comment: "Empty: the site address."
|
||
publisher_same_as: "Profiles elsewhere (sameAs)"
|
||
publisher_same_as_comment: "One address per line: social profiles, Wikipedia, the company register entry."
|
||
same_as_invalid: "Line :line: use a full address starting with https://."
|
||
url_invalid: "Use a full address starting with https://."
|
||
email_invalid: "Enter an email address such as office@example.com."
|
||
publisher_email: "Contact email"
|
||
publisher_phone: "Phone"
|
||
publisher_phone_comment: "With the country code, e.g. +48 600 000 000."
|
||
publisher_preview: "Generated publisher data"
|
||
local_enabled: "Publish as a local business"
|
||
local_enabled_comment: "For a business with an address that customers visit, or with a service area. Not available for a person."
|
||
local_type: "Kind of business"
|
||
local_type_local_business: "Local business (general)"
|
||
local_type_professional_service: "Professional services"
|
||
local_type_store: "Shop"
|
||
local_type_food_establishment: "Restaurant or café"
|
||
local_type_health_and_beauty_business: "Health and beauty"
|
||
local_type_medical_business: "Medical practice"
|
||
local_type_legal_service: "Legal services"
|
||
local_type_home_and_construction_business: "Home and construction"
|
||
local_type_automotive_business: "Automotive"
|
||
local_type_financial_service: "Financial services"
|
||
local_price_range: "Price range"
|
||
local_price_range_comment: "e.g. 50–200 zł or $$."
|
||
local_street: "Street and number"
|
||
local_postal_code: "Postal code"
|
||
local_city: "City"
|
||
local_region: "Region"
|
||
local_country: "Country code"
|
||
local_country_comment: "Two letters, e.g. PL."
|
||
local_latitude: "Latitude"
|
||
local_longitude: "Longitude"
|
||
local_coordinates_comment: "Decimal degrees, e.g. 52.2297."
|
||
local_hours: "Opening hours"
|
||
local_hours_add: "Add opening hours"
|
||
local_hours_comment: "Add two rows for one day to split it, e.g. 9:00–13:00 and 14:00–18:00. A day without rows is closed."
|
||
hours_day: "Day"
|
||
hours_opens: "Opens"
|
||
hours_closes: "Closes"
|
||
day_mon: "Monday"
|
||
day_tue: "Tuesday"
|
||
day_wed: "Wednesday"
|
||
day_thu: "Thursday"
|
||
day_fri: "Friday"
|
||
day_sat: "Saturday"
|
||
day_sun: "Sunday"
|
||
hours_time_comment: "24-hour time, e.g. 09:00."
|
||
local_person: "A person cannot be a local business. Change the publisher type to Organisation, or turn this off."
|
||
local_address_required: "A local business needs a street, a postal code and a city."
|
||
time_invalid: "Use 24-hour time, e.g. 09:00."
|
||
hours_order: "Closing must come after opening."
|
||
country_invalid: "Use a two-letter country code, e.g. PL."
|
||
coordinate_invalid: "Enter decimal degrees: latitude from -90 to 90, longitude from -180 to 180."
|
||
tab_pagination: "Pagination"
|
||
page_form: "Page address form"
|
||
page_form_query: "Query parameter: /blog?page=2"
|
||
page_form_path: "Path segment: /blog/strona/2"
|
||
page_form_comment: "A change sends every address in the other form to this one with a 301. ?page=1 always redirects to the address without a number."
|
||
page_segment: "Path segment"
|
||
page_segment_comment: "Used with the path form, per language, e.g. strona or page."
|
||
page_title_suffix: "Title suffix on page 2 and later"
|
||
page_title_suffix_comment: "Added after the page title, before the rest of the title template. Placeholders: %page%, %pages%."
|
||
page_title_suffix_default: "– page %page% of %pages%"
|
||
page_description_suffix: "Description suffix on page 2 and later"
|
||
page_description_suffix_comment: "Added at the end of the meta description. Placeholders: %page%, %pages%."
|
||
page_description_suffix_default: "Page %page% of %pages%."
|
||
page_segment_invalid: "Use lowercase letters, digits and hyphens only, e.g. strona."
|
||
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”
|
||
what_autolink: Auto-link “:phrase”
|
||
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:
|
||
crawl: 'SEO: crawl the site'
|
||
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.
|
||
schema: "Schema type"
|
||
trail: "Breadcrumb trail"
|
||
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."
|
||
record_only: "Only the SEO of a record has this value."
|
||
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
|
||
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)"
|
||
recommended: "Missing recommended property “:property” (:type)"
|
||
no_rules: ":type has no rich-result rules at Google; it is checked as valid schema.org only."
|
||
all_good: "No problems: every node has its required and recommended properties."
|
||
schema:
|
||
invalid_json: "The custom JSON-LD is not valid JSON: :error"
|
||
not_object: "The custom JSON-LD must be an object or a list of objects."
|
||
too_large: "The custom JSON-LD may be at most 16 KB."
|
||
too_deep: "The custom JSON-LD is nested more than 8 levels deep."
|
||
script_tag: "Remove the script tag and paste only the JSON."
|
||
type_unknown: "This schema type is not available for :type."
|
||
field_invalid: ":field: :message"
|
||
field_price: "Price"
|
||
field_currency: "Currency"
|
||
price_invalid: "Enter a price such as 150 or 149.99."
|
||
currency_invalid: "Use a three-letter currency code, e.g. PLN."
|
||
merged: "Saved. Your custom JSON-LD replaces :props in the generated :node node."
|
||
crawls:
|
||
start: "Start crawl"
|
||
list_title: "Crawls"
|
||
name: "Crawl"
|
||
started_at: "Started"
|
||
finished_at: "Finished"
|
||
status: "Status"
|
||
pages: "Pages"
|
||
issues: "Issues"
|
||
trigger: "Started by"
|
||
duration: "Duration"
|
||
site: "Site address"
|
||
st_queued: "Queued"
|
||
st_running: "Running"
|
||
st_finished: "Finished"
|
||
st_failed: "Failed"
|
||
st_cancelled: "Cancelled"
|
||
pages_limit: ":count (limit reached)"
|
||
by_admin: "Manual: :name"
|
||
by_schedule: "Schedule"
|
||
by_mcp: "MCP: :client"
|
||
trigger_admin: "Manual"
|
||
trigger_schedule: "Schedule"
|
||
trigger_mcp: "MCP"
|
||
preview_title: "Crawl"
|
||
preview: "Crawl of :url"
|
||
running_title: "In progress"
|
||
running_text: ":done pages fetched so far, up to :limit. Reload the page to see the progress."
|
||
queued_text: "Waiting for a free worker. It starts within a minute."
|
||
failed_title: "The crawl failed"
|
||
failed_text: ":error. Pages fetched before the failure and their issues are kept."
|
||
cancelled_text: "Cancelled by :name at :time."
|
||
limit_text: "The crawl stopped at the limit of :limit pages. Raise the limit in SEO settings › Site audit to crawl the whole site."
|
||
staging_text: "On this environment every page carries noindex from the non-production lock; the crawl does not report it."
|
||
render_skipped: "The comparison with the JavaScript-rendered pages was skipped: no Chrome path is configured (golem15.seo.crawl_chrome_path). The raw-HTML checks ran."
|
||
render_done:
|
||
one: ":count page was compared with its JavaScript-rendered version."
|
||
other: ":count pages were compared with their JavaScript-rendered versions."
|
||
render_failed: "The comparison with the JavaScript-rendered pages stopped: :error. The raw-HTML checks ran."
|
||
stat_pages: "Pages fetched"
|
||
stat_errors: "Errors"
|
||
stat_warnings: "Warnings"
|
||
stat_notices: "Notices"
|
||
stat_duration: "Duration"
|
||
kinds_problem: "Problem"
|
||
kinds_severity: "Severity"
|
||
kinds_count: "Addresses"
|
||
no_issues: "This crawl found no issues."
|
||
cancel: "Cancel crawl"
|
||
cancel_confirm: "Cancel this crawl? Pages fetched so far and their issues are kept."
|
||
cancelled: "Crawl cancelled."
|
||
delete_selected_confirm:
|
||
one: "Delete :count crawl? Its pages and issues are deleted with it."
|
||
other: "Delete :count crawls? Their pages and issues are deleted with them."
|
||
delete_running: "A running crawl cannot be deleted. Cancel it first."
|
||
list_empty: "No crawls yet. A crawl fetches the site like a search engine and lists what it finds in SEO › Site audit."
|
||
started: Crawl started. Follow it in SEO › Crawls; the issues appear in Site audit when it finishes.
|
||
already_running: A crawl is already running (started :time). Wait for it, or cancel it in SEO › Crawls.
|
||
no_site_url: The site address for crawls is not configured (golem15.seo.site_url). Ask the administrator to set it.
|
||
issues:
|
||
list_title: "Site audit"
|
||
name: "Issue"
|
||
severity: "Severity"
|
||
kind: "Problem"
|
||
kind_code: "Problem code"
|
||
url: "Address"
|
||
summary: "Details"
|
||
source: "Found by"
|
||
fix: "Fix"
|
||
found: "Found"
|
||
locale: "Language"
|
||
sev_error: "Error"
|
||
sev_warning: "Warning"
|
||
sev_notice: "Notice"
|
||
source_crawl: "Crawl"
|
||
source_cms: "CMS data check"
|
||
fix_tool: "MCP: :tool"
|
||
fix_code: "Site templates (code)"
|
||
state_ignored: "Ignored"
|
||
filter_severity: "Severity"
|
||
filter_kind: "Problem"
|
||
filter_source: "Found by"
|
||
filter_fix: "Fix"
|
||
filter_status: "Status"
|
||
filter_fix_tool: "Fixable through MCP"
|
||
filter_fix_code: "Needs a code change"
|
||
status_open: "Open"
|
||
status_ignored: "Ignored"
|
||
preview: "Issue details"
|
||
found_heading: "What was found"
|
||
fix_heading: "How to fix"
|
||
fix_tool_text: "Ask your MCP client to fix it with the tool “:tool”, or change it in the admin: :where."
|
||
fix_code_text: "This comes from the site's templates, not from CMS data. Ask the site's developer to change :what."
|
||
open_page: "Open the page"
|
||
rich_results: "Check in Google's Rich Results Test"
|
||
linked_from: "Linked from"
|
||
orphan_suggestions: "Pages that could link here"
|
||
orphan_suggestions_page: "Page"
|
||
orphan_suggestions_phrase: "Shared phrase"
|
||
orphan_none: "No suggestions: no other page mentions this page's title or focus keyphrase."
|
||
and_more: "and :count more"
|
||
recheck: "Check this address again"
|
||
recheck_confirm: "Fetch “:url” again now and update its issues?"
|
||
rechecked:
|
||
one: "Checked again: :count issue remains for this address."
|
||
other: "Checked again: :count issues remain for this address."
|
||
recheck_fixed: "Checked again: no issues remain for this address."
|
||
ignore: "Ignore issue"
|
||
ignore_confirm: "Ignore this issue? It stays hidden in later crawls until you stop ignoring it."
|
||
ignore_selected: "Ignore issues"
|
||
ignore_selected_confirm:
|
||
one: "Ignore :count issue? It stays hidden in later crawls."
|
||
other: "Ignore :count issues? They stay hidden in later crawls."
|
||
ignored:
|
||
one: ":count issue is ignored."
|
||
other: ":count issues are ignored."
|
||
unignore: "Stop ignoring"
|
||
unignore_confirm: "Show this issue in the audit again?"
|
||
unignored:
|
||
one: ":count issue is shown again."
|
||
other: ":count issues are shown again."
|
||
list_empty: "No issues. Problems found by the last crawl and by the CMS data checks appear here. Start a crawl to check the site again."
|
||
detail_h1: "H1 headings"
|
||
detail_skips: "Skipped levels"
|
||
detail_missing: "Missing properties"
|
||
detail_error: "Error"
|
||
detail_anchors: "Links"
|
||
detail_alternates: "Alternates"
|
||
detail_images: "Images"
|
||
detail_target: "Target"
|
||
detail_what: "Missing or to change"
|
||
where_record: "the SEO tab of the page"
|
||
where_robots: "SEO › robots.txt"
|
||
where_settings: "SEO settings"
|
||
where_redirects: "SEO › Redirects"
|
||
where_pages: "SEO › Pages"
|
||
where_rules: "SEO › URL rules"
|
||
kind_orphan_page: "Orphan page (no internal links)"
|
||
sum_orphan_page: ":count suggestions"
|
||
kind_h1_in_content: "H1 in the content"
|
||
sum_h1_in_content: ":count H1 headings"
|
||
kind_jsonld_invalid: "Structured data cannot be read"
|
||
sum_jsonld_invalid: ":error"
|
||
kind_jsonld_multiple: "More than one JSON-LD graph"
|
||
sum_jsonld_multiple: ":count scripts"
|
||
kind_jsonld_required: "Structured data misses a required property"
|
||
sum_jsonld_required: ":type: :property"
|
||
kind_jsonld_recommended: "Structured data misses a recommended property"
|
||
sum_jsonld_recommended: ":type: :property"
|
||
kind_hreflang_reciprocal: "hreflang has no return link"
|
||
sum_hreflang_reciprocal: ":locale → :url"
|
||
kind_hreflang_error: "hreflang points to an error page"
|
||
sum_hreflang_error: ":locale → :url (:status)"
|
||
kind_generic_anchor: "Generic link text"
|
||
sum_generic_anchor: "“:text” → :target"
|
||
kind_broken_link: "Link to a missing page"
|
||
sum_broken_link: "From :count pages"
|
||
kind_redirected_link: "Link to a redirect"
|
||
sum_redirected_link: "Redirects to :target"
|
||
kind_image_alt: "Image without alt text"
|
||
sum_image_alt: ":count images"
|
||
kind_image_size: "Image without width and height"
|
||
sum_image_size: ":count images"
|
||
kind_featured_lazy: "Main image loads lazily"
|
||
sum_featured_lazy: "—"
|
||
kind_content_js: "Content needs JavaScript"
|
||
sum_content_js: "Missing from the raw HTML: :what"
|
||
kind_page_status: "Page returns an error"
|
||
sum_page_status: "Status :status"
|
||
kind_sitemap_error: "Sitemap lists a page that does not answer 200"
|
||
sum_sitemap_error: "Status :status in :file"
|
||
kind_sitemap_noindex: "Sitemap lists a noindex page"
|
||
sum_sitemap_noindex: "In :file"
|
||
kind_sitemap_blocked: "Sitemap lists an address blocked in robots.txt"
|
||
sum_sitemap_blocked: "Blocked by line :line"
|
||
kind_sitemap_missing: "Indexable page missing from the sitemaps"
|
||
sum_sitemap_missing: "Found through :count links"
|
||
kind_canonical_missing: "No canonical link"
|
||
sum_canonical_missing: "—"
|
||
kind_canonical_error: "Canonical points to an error page"
|
||
sum_canonical_error: ":url answers :status"
|
||
kind_canonical_noindex: "Canonical points to a noindex page"
|
||
sum_canonical_noindex: ":url"
|
||
kind_canonical_redirected: "Canonical points to a redirect"
|
||
sum_canonical_redirected: ":url → :target"
|
||
kind_missing_title: "Missing title"
|
||
sum_missing_title: "—"
|
||
kind_duplicate_title: "Duplicate title"
|
||
sum_duplicate_title: "Same as :count other pages"
|
||
kind_missing_description: "Missing meta description"
|
||
sum_missing_description: "—"
|
||
kind_duplicate_description: "Duplicate meta description"
|
||
sum_duplicate_description: "Same as :count other pages"
|
||
kind_rule_overrides_record: "URL rule overrides the record"
|
||
sum_rule_overrides_record: ":fields"
|
||
kind_redirect_chain: "Redirect chain"
|
||
sum_redirect_chain: ":count hops to :final"
|
||
kind_noindex_blocked: "noindex page blocked in robots.txt"
|
||
sum_noindex_blocked: "Line :line"
|
||
kind_h1_missing: "No H1 heading"
|
||
sum_h1_missing: "—"
|
||
kind_h1_multiple: "More than one H1"
|
||
sum_h1_multiple: ":count H1 headings"
|
||
kind_heading_skipped: "Skipped heading level"
|
||
sum_heading_skipped: "H:from → H:to"
|
||
kind_heading_empty: "Empty heading"
|
||
sum_heading_empty: "H:level"
|
||
kind_h1_title_mismatch: "H1 does not match the title"
|
||
sum_h1_title_mismatch: "“:h1”"
|