SHOPWARE SEO AUDIT · SHOPWARE 6 · TWIG STOREFRONT · E-COMMERCE

Free Shopware SEO Audit

Shopware 6 has strong native SEO: auto-generated SEO URL routes with redirect history, per-product/category meta fields, auto-generated sitemaps, and Product + BreadcrumbList JSON-LD in the default Twig Storefront. FAQPage schema, AI visibility configuration, and Core Web Vitals optimisation require Twig template extensions and manual configuration. DeepSEOAnalysis audits your live Shopware storefront — validating all JSON-LD, real CrUX Core Web Vitals, sitemap coverage, and AI visibility — with Shopware admin paths and Twig template locations for every finding.

Audit my Shopware store →How we score

WHAT WE CHECK

6 Shopware-specific SEO checks

Shopware SEO auditing covers SEO tab configuration and meta tag quality, SEO URL route templates and canonical structure, Product and BreadcrumbList JSON-LD validation plus missing FAQPage implementation, auto-generated sitemap coverage, real CrUX Core Web Vitals with Shopware media and plugin performance, and AI visibility — with Shopware admin paths and Twig template locations for each finding.

🔧

Shopware SEO tab configuration and meta tag output

Shopware 6 provides per-entity SEO fields — but the quality of meta tag output depends on whether the fields are correctly populated. The audit validates what Shopware\'s Storefront renders. The audit checks: meta title quality and uniqueness (Shopware\'s product pages default to the product name as the title tag if the SEO tab\'s meta title field is empty — product names are often not optimised for search; the SEO tab\'s meta title field should be populated with a keyword-relevant title for all important products and categories); meta description presence (Shopware has no auto-generated meta description — empty meta description fields result in Google auto-generating from product description text; the audit flags all pages missing a meta description in the SEO tab); canonical URL consistency (Shopware outputs the SEO URL as the canonical — verify the canonical tag matches the configured SEO URL exactly, including trailing slash handling; product detail pages accessed via UUID fallback URLs should redirect to the canonical SEO URL); Open Graph tags (Shopware\'s default theme outputs og:title, og:description, and og:image — verify the og:image is an absolute URL pointing to the product cover image; image URLs from Shopware\'s media CDN should return 200 responses); and robots meta tag (products and categories set to "not listed" or with zero stock can be noindexed via Shopware\'s visibility settings — verify the noindex meta tag is applied consistently for excluded products, avoiding indexing of empty or discontinued product pages that dilute crawl budget).

🔗

Shopware 6 SEO URL routes and canonical structure

Shopware 6\'s SEO URL system is one of its most powerful native SEO features. The audit checks: SEO URL quality (the configured URL template determines slug quality across all products — a template producing slugs like `wireless-headphones-WH-2026` is better than one producing UUIDs or numeric IDs; the audit checks for non-descriptive or UUID-based URLs that indicate an unconfigured SEO URL template); URL history and redirect integrity (when Shopware creates 301 redirects for changed URLs, chains of redirects — old-slug → intermediate-slug → current-slug — dilute link equity; the audit checks for redirect chains in internal links); category URL depth (Shopware category trees can produce deeply nested category URLs like /electronics/audio/headphones/wireless/ — verify important product category pages aren\'t buried more than 3 levels deep); parameter URL handling (Shopware product listings with sorting and filter parameters — `?order=price-asc`, `?p=2` — can create duplicate content; the audit checks that parameterised listing pages have canonicals pointing to the unparameterised base URL); cross-selling URL structure (Shopware\'s cross-sell/upsell product links should use the canonical SEO URL, not the UUID fallback URL — the audit checks internal link URLs on product pages); and sales channel domain configuration (each Shopware sales channel has its own domain — verify that all sales channel domains redirect to the configured primary domain and that the canonical tags reflect the correct primary domain).

📋

JSON-LD structured data in Shopware Twig templates

Shopware 6\'s default theme outputs Product, BreadcrumbList, and WebSite JSON-LD automatically. The audit checks these against Google\'s Rich Results specifications and identifies missing schema types. For `Product` schema: `name` (product translated name), `sku` (productNumber), `description` (the short description or `{{ product.description }}` from the description tab), `image` (the product cover image URL from Shopware\'s media system — the URL must be absolute and return a 2xx response), `brand` (manufacturer name from the `manufacturer.name` field), `offers` with `price` (the product\'s gross price for the customer\'s currency), `priceCurrency` (ISO 4217 code), `availability` (SchemaOrg availability URL based on stock: `InStock`, `OutOfStock`, `PreOrder`), and `url` (the canonical SEO URL). For `AggregateRating`: `ratingValue`, `reviewCount` — these require Shopware\'s product review feature to be enabled and at least one published review. For `BreadcrumbList`: auto-generated from Shopware\'s category navigation — verify the breadcrumb items match the actual URL hierarchy. Missing schema to implement in Twig templates: `FAQPage` — extend `@Storefront/storefront/page/product-detail/index.html.twig` with a custom FAQ block that reads from a custom field group (`custom_field_faq_items` array field) and outputs FAQPage JSON-LD; `Article` — for Shopware CMS pages used as blog posts (via the Experience Worlds/Shopping Experiences feature), extend the CMS page template to output Article JSON-LD with `headline`, `datePublished`, `author`, and `image`.

🗺️

Shopware XML sitemap and crawl configuration

Shopware 6 auto-generates XML sitemaps for all content types — products, categories, and CMS pages — with daily regeneration via scheduled task. The audit checks: sitemap accessibility (Shopware\'s sitemap is available at /sitemap.xml — this is a sitemap index file that references individual sitemaps for each content type: `/sitemap_1.xml` for products, `/sitemap_2.xml` for categories, etc.; verify the sitemap index is accessible and all referenced child sitemaps return valid XML); product URL coverage (all active, visible products should appear in the product sitemap; products set to "not listed" visibility in Shopware are excluded — verify the exclusion is correct for your inventory strategy); `lastmod` population (Shopware uses the `updatedAt` timestamp for `lastmod` — verify that product or category updates are reflected in the sitemap\'s lastmod dates within the daily regeneration cycle); out-of-stock product handling (Shopware can be configured to noindex out-of-stock products via a Shopware plugin or custom code — if out-of-stock products are noindexed, they should also be excluded from the sitemap; a mismatch between sitemap inclusion and noindex tag is flagged); robots.txt configuration (in Settings → SEO → Robots.txt, verify the `Sitemap:` directive points to the correct sitemap index URL; Shopware\'s default robots.txt does not always include this directive — add `Sitemap: https://yourdomain.com/sitemap.xml` manually); and sitemap size (Shopware\'s auto-pagination keeps individual sitemap files under 50,000 URLs per file — for large catalogues, verify the sitemap index correctly references all paginated sitemap files).

Core Web Vitals for Shopware storefronts

Shopware 6\'s default Storefront theme is a Twig/Bootstrap-based server-rendered frontend — Core Web Vitals depend on server response time, image optimisation, CSS/JS delivery, and third-party plugin scripts. The audit uses real CrUX field data. **LCP** — the most common LCP element on Shopware product pages is the product hero image. Shopware\'s media system serves images from its own CDN or configured object storage (S3, GCS). For LCP optimisation: configure Shopware\'s thumbnail system to generate appropriately sized WebP thumbnails (Shopware 6 supports WebP generation via the media system settings); add `loading="eager"` and `fetchpriority="high"` to the product\'s cover image in the product detail Twig template (`@Storefront/storefront/page/product-detail/buy-widget/product-images.html.twig`) — the `fetchpriority="high"` attribute signals the browser to prioritise the hero image in the resource queue. **INP** — Shopware\'s JavaScript bundle can be large for stores with many plugins. Each installed Shopware plugin can add to the JS bundle size and main thread blocking time. Audit installed plugins for unnecessary frontend JavaScript. The Shopware PWA and Composable Commerce Frontends (Vue-based headless Shopware) offer better INP than the legacy Twig Storefront for high-traffic stores. **CLS** — Shopware\'s product image gallery with thumbnail switching can cause CLS if images don\'t have explicit dimensions. Verify the Shopware media `img` output includes `width` and `height` attributes matching the configured thumbnail dimensions. **TTFB** — Shopware\'s Twig template rendering with PHP is server-side — configure Redis page caching (Shopware 6 supports HTTP cache via reverse proxy and server-side Redis cache) to reduce PHP rendering time to near-zero for cached pages.

🧠

AI visibility for Shopware stores

Shopware\'s e-commerce context makes AI visibility especially important for product discovery queries that AI Overviews and AI assistants increasingly handle. For `llms.txt`: Shopware\'s Storefront doesn\'t have a native llms.txt feature. Add the file to Shopware\'s public root directory (`public/llms.txt` — Shopware 6 serves static files from the `public/` directory, making the file accessible at `/llms.txt`). The llms.txt should describe the store\'s product categories, key brand information, and any tool or documentation sections. For `robots.txt` AI crawler access: edit via Settings → SEO → Robots.txt in the Shopware admin — ensure GPTBot, ClaudeBot, and PerplexityBot are not in any `Disallow:` block. Shopware\'s default robots.txt doesn\'t block AI crawlers. For `FAQPage` JSON-LD on product pages: the most common question for product pages is "what are the specs/features/differences of this product?" — implement a custom field group `faq_items` (array of question + answer fields) in Shopware\'s Custom Fields and output FAQPage JSON-LD on the product detail page from these custom fields. For question-heading ratio: Shopware CMS pages (Shopping Experiences / Experience Worlds) support custom heading elements via the page builder — structure category description sections with H2 headings phrased as questions ("What makes these headphones right for audiophiles?", "How does this compare to the previous model?"). The audit checks all five GEO signals — llms.txt, AI crawler access, FAQPage/HowTo JSON-LD in server-rendered HTML, question-heading ratio (≥20%), and content chunkability (avg section ≤400w) — with Shopware admin paths and Twig template locations for each fix.

HOW IT WORKS

Audit your Shopware store in 60 seconds

  1. Enter your Shopware store URL. Use the live storefront URL — not the Shopware admin (admin/ or /admin). No admin credentials, API keys, or shop ID needed. Works with Shopware 6 (all versions) and Shopware 5 (legacy). For multi-language shops, audit each sales channel domain separately for per-locale SEO findings.
  2. We crawl and analyse. The engine validates Shopware's meta tag output across product, category, and CMS pages; checks Product and BreadcrumbList JSON-LD against Google's Rich Results specs; reviews the auto-generated sitemap index and child sitemaps; measures CrUX Core Web Vitals from real Chrome field data; and evaluates all five AI visibility signals in the rendered Twig Storefront HTML.
  3. You get a prioritised report. Shopware-specific issues first — empty meta title/description SEO tab fields reverting to product name fallbacks, missing FAQPage schema on product pages, out-of-stock products in the sitemap without matching noindex, plugin JavaScript inflating INP, missing llms.txt — then general SEO, each with the Shopware admin path or Twig template location for the fix.

FAQ

Questions about the Shopware SEO audit

Does Shopware have built-in SEO features?

Yes. Shopware 6 (shopware.com) — the current version — includes comprehensive built-in SEO tools in its administration panel. At the product and category level: every product and category has an SEO tab in the admin with fields for meta title, meta description, and SEO URL (the canonical slug for the product/category page). Shopware 6 also supports: (1) Auto-generated SEO URLs based on configurable templates (e.g., `{{ product.name }}-{{ product.productNumber }}` produces /red-running-shoes-RS-2026), updated automatically when the product name changes. (2) A dedicated SEO URL manager (Settings → SEO) for managing URL history and redirects when SEO URLs change. (3) robots.txt configuration (accessible in the admin under Settings → SEO → Robots.txt). (4) XML sitemap generation — Shopware 6 auto-generates sitemaps at /sitemap.xml for products, categories, and CMS pages, with daily regeneration by default. (5) Canonical URL output on all product and category pages. (6) hreflang support for multi-language sales channels (each sales channel can have its own language and domain; Shopware outputs hreflang tags for connected language variants). What Shopware doesn\'t include out of the box: FAQPage and HowTo JSON-LD (Shopware outputs Product and BreadcrumbList schema but not FAQ structured data — requires a plugin or Twig template customisation); AI visibility configuration (llms.txt must be added manually); and advanced structured data types beyond Product/Offer/AggregateRating.

How do I configure SEO URLs in Shopware 6?

Shopware 6\'s SEO URL system is one of its strongest native SEO features. Configuration: (1) **SEO URL templates** — in Settings → SEO → SEO URL Templates, you can define the URL pattern for each entity type (products, categories, CMS pages). Templates use Twig-like syntax with entity variables: `{{ product.translated.name }}-{{ product.productNumber }}` for products. When a product is created or the template changes, Shopware generates and stores the canonical SEO URL for each entity. (2) **Per-entity URL override** — in each product or category\'s SEO tab, the auto-generated URL can be overridden with a custom slug. (3) **URL history and redirects** — when a product\'s SEO URL changes (because the template changed or the slug was manually updated), Shopware automatically creates a 301 redirect from the old URL to the new URL and stores the history. This prevents 404 errors when product names change. (4) **Canonical handling** — Shopware outputs the SEO URL as the canonical on the rendered page — product pages accessed via the numeric fallback URL (`/detail/[UUID]`) redirect to the SEO URL. (5) **Multi-language URLs** — each sales channel language variant has its own SEO URL template and generates separate language-specific slugs, with hreflang tags linking the variants. The audit checks that the canonical URL in the rendered HTML matches the configured SEO URL — any mismatch indicates a configuration issue in the SEO URL manager.

What structured data does Shopware generate by default?

Shopware 6\'s default Storefront theme (Twig-based) outputs several JSON-LD schema types automatically. For product pages: `Product` JSON-LD with `name` (product name), `description` (product description), `sku` (product number), `image` (product cover image URL), `brand` as `Organization` (if manufacturer is set), and `offers` as `Offer` with `price`, `priceCurrency`, `availability` (based on stock), and `url`. If reviews are enabled and the product has reviews, Shopware outputs `AggregateRating` with `ratingValue` and `reviewCount`. For category pages: `BreadcrumbList` JSON-LD built from the category tree path. For all pages: `WebSite` schema with `SearchAction` (for sitelinks search box). What Shopware does NOT generate by default: `FAQPage` schema (requires a custom Twig template or a dedicated FAQ plugin); `HowTo` schema (same — requires template customisation); `Article` schema for Shopware CMS pages/blog posts (requires customisation or a blog plugin); and `LocalBusiness` schema (requires customisation for brick-and-mortar retailers). To add FAQPage JSON-LD: install a FAQ Shopware plugin or extend the product detail Twig template (`@Storefront/storefront/page/product-detail/index.html.twig`) with a custom block that outputs FAQPage JSON-LD from a custom product field group containing question/answer pairs. The audit validates all JSON-LD found on the rendered page against Google\'s Rich Results specifications.

Is the Shopware SEO audit free?

Yes. The complete audit is free with no signup and no email gate. Enter your Shopware store\'s published URL. No admin access, API keys, or shop credentials needed — the audit crawls the rendered storefront HTML as Googlebot would. Works with Shopware 6 (all versions from 6.1 to current) and the legacy Shopware 5 (end-of-life but still in use). Paid DeepSEOAnalysis plans add saved report history, scheduled monitoring, larger crawls (up to 1,000 pages), and agency reporting workflows.