SEO
This page covers the SEO tools in your store: global SEO settings, URL structure, the sitemap, the robots.txt file, structured data, the redirects manager (including sitemap import), and basic analytics. These settings are global defaults for the whole store — the meta data for individual products, categories, and pages is set directly on each item.
Path: System › Basic Settings › SEO Settings (/admin/seo)
Redirects have their own page: System › Basic Settings › Redirections (/admin/seo/redirections).
Permissions
Viewing the SEO pages requires the seo.view permission; making changes requires seo.manage. Users without these permissions do not see the SEO section.
1. Global SEO settings
The SEO Settings page has six tabs: Basic, URLs, Features, AI visibility, Store identity, and Returns. Together they form one form — after a change, a floating bar with the Save Settings and Discard buttons appears at the bottom and saves the settings from all tabs at once. If you leave with unsaved changes, the admin warns you.
At the top of the page are overview cards (Total Redirections, Active Redirections, Total Hits, Most Used), and the header has the Analytics and Manage Redirections buttons.
Site Information (Basic tab)
| Field | What it does |
|---|---|
| Site Name | The site name. Used in structured data (Organization/WebSite), as og:site_name, and as a fallback title when no default meta title is set. |
| Site Description | A short site description. Used as a fallback description and in structured data. |
| Keywords | Site keywords (comma-separated). |
| Language | Site language. Used for inLanguage and Open Graph locale codes. |
| Region | Two-letter country code (e.g. SK, CZ). Empty = a global site with no regional targeting. When set, it adds geo.region, og:locale, and country data to structured data. |
Default Meta Tags
Used when a specific item (product, category, page) has no meta title/description of its own.
| Field | What it does |
|---|---|
| Default Title | Default meta title. Recommended length up to 60 characters. |
| Default Description | Default meta description. Recommended length up to 160 characters. |
| Default Keywords | Default keywords. |
2. URL structure
The URLs tab.
Purpose: Control how the addresses of listing pages and individual items look. These are global rules for the whole store.
Changing URLs means you need redirects
Changing paths or the URL structure changes your storefront addresses. If the old addresses were already indexed or shared, create redirects for them (see below) so you don't lose traffic or SEO value. For brand addresses, the old addresses are redirected (301) automatically.
Listing paths
| Field | What it does | Example |
|---|---|---|
| Products Listing Path | Path to the main product listing. | produkty |
| Blog Listing Path | Path to the blog listing. | blog |
| Search Listing Path | Path to the search page. | hladat |
| FAQ Listing Path | Path to the FAQ page. | caste-otazky |
| Services Listing Path | Path to the services listing. | sluzby |
| Withdrawal-from-contract Path | Path to the withdrawal-from-contract form. Lowercase letters, digits, and hyphens only. | odstupenie-od-zmluvy |
| My order page path | Path to the page where the customer checks their order status. Empty = moja-objednavka. | moja-objednavka |
| Brand Listing Path | Address of the list of all brands. Empty = the same as the start of the brand URL structure. After a change, the old address is redirected (301). | znacky |
URL Structure Settings
| Field | What it does | Example |
|---|---|---|
| Permalink Structure | Base permalink scheme. | product/{slug} |
| Product URL Structure | Pattern for product detail addresses. {slug} is replaced by the product slug. | product/{slug} |
| Category URL Structure | Pattern for category addresses. | category/{slug} |
| Brand URL Structure | Pattern for a single brand's address. After a change, old brand addresses are redirected (301). | znacka/{slug} |
| Service URL Structure | Pattern for service addresses. | service/{slug} |
| Blog URL Structure | Pattern for article addresses. | blog/{slug} |
Brand pages
Brand addresses are used when you have brand pages turned on in Catalog › Products › Brands.
3. SEO features
The Features tab.
Purpose: Turn individual SEO outputs that the store generates automatically on or off.
Core Features
| Toggle | What it does |
|---|---|
| Enable Sitemap Generation | Generates the XML sitemaps (/sitemap.xml and sub-sitemaps). |
| Enable Robots.txt | Generates the /robots.txt file. |
| Enable Canonical URLs | Adds canonical (canonical) links to pages. |
| Enable Structured Data | Structured data (schema.org JSON-LD) — see below. |
| Enable Breadcrumbs | Structured data for breadcrumb navigation. |
What the structured data contains
When structured data is on, the store adds it to pages automatically: for a product the name, images, brand, price and availability (offer), shipping, return conditions, and ratings from reviews; breadcrumbs; questions and answers (FAQ) on the FAQ page and on pages with an FAQ section; blog articles; product lists on listings and in categories; organization details (the company behind the store, optionally also a physical store) and site search. You don't have to write any of it by hand — you just need filled-in products, company details, and the Store identity and Returns tabs.
Social Media
| Toggle | What it does |
|---|---|
| Enable Open Graph Tags | Open Graph (og:*) tags for sharing on Facebook, etc. |
| Enable Twitter Cards | Twitter Card tags for previews on X/Twitter. |
The Quick Actions card contains links to the individual sitemaps.
4. Store identity
The Store identity tab shows which company details the store publishes in structured data (legal name, company ID, VAT ID / tax ID, registered address, contact, logo, social profiles) — AI assistants and Google use them to verify that a real company stands behind the store. Missing details are marked as "not filled in"; add them via the Edit company details and Edit social profiles links.
- More company profiles — links confirming that the company exists (business register, Google Business Profile, Wikidata…).
- Physical store — the We have a physical store toggle publishes the registered address as a store with opening hours. Turn it on only if customers can visit in person.
5. Return policy
The Returns tab.
Purpose: Fill in the return conditions that are attached to product structured data (rich results in search). When nothing is configured, the EU statutory defaults apply (14 days, free, by mail).
| Field | What it does |
|---|---|
| Return window (days) | Number of days to return (0–365, default 14). Applies to the fixed-window type. |
| Return country | Country the policy applies to (2 letters). Empty = the site region is used, otherwise SK. |
| Return fees | Free, paid by the customer, a fixed return shipping fee, or a restocking fee. |
| Return method | By mail, in store, or at a pickup point. |
| Return window type | Fixed number of days, unlimited window, returns not permitted, or unspecified. With "returns not permitted", the days, method, and fees are omitted. |
6. Sitemap and robots.txt
The store generates the sitemaps and robots.txt automatically — you only turn their generation on/off in the Features tab.
Sitemaps
Accessible via the links in the Quick Actions card (they open in a new tab):
| File | Contents |
|---|---|
/sitemap.xml | Sitemap index (links to all the others). |
/sitemap-pages.xml | Pages. |
/sitemap-products-{page}.xml | Products (paginated). |
/sitemap-categories.xml | Categories. |
/sitemap-brands.xml | Brands (if you have brand pages turned on). |
/sitemap-services.xml | Services. |
/sitemap-blog.xml | Blog articles. |
Only active products, categories, and services are included in the sitemaps.
robots.txt
The /robots.txt file is generated automatically when Enable Robots.txt is on. It contains:
- Access for search engines (Googlebot, Bingbot) — these are always allowed.
- Rules for AI crawlers according to the toggles in the AI visibility tab: when Allow AI search & assistant crawlers is on, crawlers such as GPTBot, OAI-SearchBot, ClaudeBot, or PerplexityBot have access; when you turn it off, they get
Disallow: /. The same applies to Allow AI training crawlers (Google-Extended, CCBot, anthropic-ai, and others). Details are in the AI visibility article. - A ban on indexing the admin area, API, user pages (profile, account, orders, cart, checkout), and search.
- A reference to
/sitemap.xml(and, when llms.txt is on, also to/llms.txtand/llms-full.txt).
Custom robots.txt rules — the AI visibility tab has a card where you can add your own lines to the automatic file. Disallow / Allow lines written at the top apply to all crawlers; a User-agent line starts your own group for one specific crawler. Example: Disallow: /akcia-pre-partnerov. Check the result with View the resulting robots.txt.
WARNING
A Disallow: / rule without a User-agent line blocks crawling of the whole store for all crawlers, including Google.
Submitting to search engines
Add https://vas-obchod.sk/sitemap.xml to Google Search Console (and optionally Bing Webmaster Tools) so search engines discover your pages faster.
7. Redirections
Path: System › Basic Settings › Redirections (/admin/seo/redirections)
Purpose: Redirect old or changed addresses to new ones so visitors and search engines don't hit a 404 error. Typical when migrating from another store or when changing the URL structure.
At the top of the page are overview cards: Total Redirections, Active, Total Hits (number of uses), and Inactive.
How redirects work
- Addresses are stored normalized: the protocol and domain are stripped (only the path is saved), a leading slash
/is ensured, and a trailing slash is removed. Sohttps://web.sk/stara-stranka/and/stara-strankaare the same. - Each redirect counts hits and records the last hit.
- Redirecting to itself is blocked (same source and target address) — it would cause an infinite loop.
Creating and editing a redirect
The Add Redirection button in the header opens a dialog:
| Field | What it does |
|---|---|
| From URL | The original (old) address you want to redirect. |
| To URL | The target (new) address. |
| Redirect type | Redirect type: 301 (permanent), 302 (temporary), 307 (temporary, preserves method), 308 (permanent, preserves method). For SEO migrations, use 301 as a rule. |
| Status | Active or Inactive. Only active redirects are executed. (Edit only.) |
| Notes | Optional note (e.g. the reason or migration source). |
Test URL
The Test Redirection URL section lets you enter an address and use the Test URL button to check whether (and where) it redirects, its type, and its hit count. If no redirect is found, it warns that the visitor will see a 404 page.
Filters and bulk delete
- Search and the Status filter narrow the list.
- Select rows with the checkboxes and click Delete selected in the floating bar.
- Delete all redirections removes all of them (requires typing the word
DELETEin the dialog to confirm).
CSV import
The Import CSV button uploads a file with these columns:
| Column | Required | Description |
|---|---|---|
from_url | Yes | Old address (e.g. /stary-produkt). |
to_url | Yes | New address (e.g. /produkty/novy-nazov). |
type | No | Redirect type, default 301. |
notes | No | A note. |
Import notes:
- Both
,and;delimiters are detected automatically; the header row is skipped. - Duplicates are skipped — if a redirect already exists for a given
from_url, the new row is not saved. - Redirects to themselves are skipped and counted as errors.
- After completion, a summary is shown (successful / skipped / errors).
The Download Sample button downloads a sample file.
Import from sitemap
The Import from Sitemap button is a wizard for bulk-mapping old addresses to new ones:
- Upload: Upload an XML sitemap (
urlsetorsitemapindex, up to 10 MB). Only addresses from your own domains are processed. - Mapping: The system automatically suggests internal targets (products, categories, pages, blogs, services) for the old addresses. For each row:
- click a suggested target (chip), or
- search and pick a target manually, or
- skip the row (Skip).
- choose the redirect type (301/302/307/308).
- Bulk actions over the visible rows: Accept top suggestion, skip/unskip all, set the type, or set the same target for all.
- Save redirections saves the mapped rows. It uses the same rules as the CSV import (skipping duplicates and redirects to themselves).
Export and cleanup
- Export CSV downloads all active redirects (columns From URL, To URL, Type, Notes, Created At).
- Cleanup of old unused redirects is also available (inactive, older than a chosen number of days, and with a hit count at or below a chosen threshold).
8. Per-item meta data
The global defaults above apply only when an item has no meta data of its own. The meta title, description, and other SEO fields for individual products, categories, and pages are set directly when editing that item, not on this page.
9. SEO Analytics
The SEO Analytics page shows redirect statistics — total and active counts, total hits, the most-used and most recent redirects, and the counts of active products, categories, and services in the sitemaps.
You can open it in two ways: with the Analytics button in the SEO Settings header, or in the menu under Insights › Analytics › Analytics.
Quick reference
| I want to... | Where |
|---|---|
| Change the site name and default meta data | SEO Settings → Basic tab |
| Change product/category/brand addresses | SEO Settings → URLs tab |
| Turn sitemap, robots, canonical, structured data on/off | SEO Settings → Features tab |
| Allow or block AI crawlers, edit llms.txt | SEO Settings → AI visibility tab (more) |
| Check company details for Google and AI | SEO Settings → Store identity tab |
| Fill in the return policy for rich results | SEO Settings → Returns tab |
| Redirect old addresses after a migration | Redirections → Import from Sitemap / Import CSV |
| Check whether an address redirects | Redirections → Test Redirection URL |
| Get the sitemap for Search Console | SEO Settings → Features tab → Quick Actions |