SITECORE SEO AUDIT · ENTERPRISE CMS · XP · XM CLOUD · SXA · JSS

Free Sitecore SEO Audit

Sitecore is an enterprise .NET CMS available as traditional server-rendered XP, headless XM Cloud (SaaS) delivered via Experience Edge with Next.js JSS, and SXA component library. SEO metadata is managed via Sitecore Item fields and SXA SEO module settings. JSON-LD structured data requires custom rendering development at the presentation layer. Multi-site canonical management, multilingual hreflang, and Sitecore Media Library robots exclusion are common enterprise-scale SEO configuration challenges. DeepSEOAnalysis audits the rendered HTML — validating meta tag output from Sitecore's rendering layer, JSON-LD from custom renderings (with rendering gap detection for GTM-injected schema), real CrUX Core Web Vitals for XP vs Experience Edge delivery, sitemap coverage across multi-site instances, and all five AI visibility signals — free with no signup.

Audit my Sitecore site →How we score

WHAT WE CHECK

6 Sitecore-specific SEO checks

Sitecore SEO auditing covers the meta tag output from Sitecore item fields and SXA SEO module configuration (title, description, canonical, OG image, noindex, per-site robots.txt), content tree URL routing including language prefix handling and redirect management via Sitecore aliases or redirect modules, JSON-LD from custom MVC renderings or Next.js JSS components (with GTM rendering gap detection), sitemap generation from the Sitecore sitemap module or SXA with noindex exclusion and multi-site sitemap index, real CrUX Core Web Vitals across XP server-rendered and XM Cloud Experience Edge delivery architectures, and AI visibility including per-site llms.txt challenges for multi-site Sitecore instances.

🔧

Sitecore SEO field output and meta tag rendering

Sitecore\'s SEO metadata can be configured at multiple levels: item-level fields (Title, Meta Description, Canonical URL, OG Image, noindex on the content item), SXA site-level SEO defaults (Page SEO fields in SXA Site Settings that apply as defaults when item-level fields are empty), and global head renderings (shared across the site). The audit validates what\'s actually rendered in the HTML. Key checks: title tag quality (the item\'s Title or Browser Title field maps to `title` — titles using the item name without customisation, or with only Sitecore template field fallbacks, are flagged; ideal Sitecore title configuration: item-level Page Title field → fallback to Display Name → never fall back to the item name alone); meta description coverage (meta descriptions empty across large content sections indicate the item template lacks a Meta Description field or it hasn\'t been filled in — the SXA SEO module provides a character counter in the Experience Editor to guide editors, but enforcement requires validation); canonical URL accuracy (Sitecore XP sites should output self-referential canonicals for all pages; XM Cloud JSS apps generate canonicals from `generateMetadata()`\'s `alternates.canonical`; multi-site Sitecore instances risk canonical pointing to the wrong site domain if the SXA Site Resolver resolves incorrectly); OG image (Sitecore\'s media library serves images at `/-/media/` paths with query string transforms — OG images must be absolute URLs with the full domain; relative paths or internal Sitecore media paths break social sharing); noindex consistency (items marked noindex in their SEO fields must be excluded from the sitemap XML generated by Sitecore\'s built-in sitemap module or custom sitemap rendering); robots.txt per-site (for multi-site SXA instances, each site must serve its own robots.txt from its domain, not a shared root-level file from the wrong site).

🔗

Sitecore content tree URL routing and canonical slug structure

Sitecore\'s content tree structure determines URL structure: item names and tree paths map to URLs unless custom URL providers override this. The audit checks: item display name vs URL quality (Sitecore uses the item name or a URL provider to generate page URLs; items with long names containing special characters may generate poorly structured URLs; a custom Sitecore URL provider is often required on enterprise sites for clean SEO-friendly URLs — the audit checks for URL quality issues including query string parameters that should be path-based, non-semantic URL segments, and duplicate path resolution); language prefix configuration (multilingual Sitecore sites must handle language prefixes correctly: `/en/about-us` vs `/fr/a-propos` — the audit checks language prefix consistency and whether hreflang tags reference the correct language-prefixed URLs); redirect configuration (Sitecore redirects can be managed via item aliases, redirect manager modules, or IIS URL Rewrite rules; the audit checks that previously published URLs that no longer exist return 301 redirects rather than 404s — particularly important on Sitecore sites after content tree restructuring); sitemap coverage (Sitecore\'s sitemap module generates XML based on publishable items; the audit compares crawled URLs against sitemap entries to identify pages discovered via crawling that are absent from the sitemap — a common issue when custom item templates lack the sitemap inclusion flag); and media library access (Sitecore Media Library files at `/-/media/` and `/~/media/` paths should be Disallowed in robots.txt to prevent indexation of binaries as content pages).

📋

JSON-LD structured data in Sitecore renderings

Sitecore doesn\'t generate JSON-LD natively — structured data requires custom development at the rendering layer. The audit validates all JSON-LD found in the page HTML against Google\'s Rich Results specifications. For XP (MVC/Razor) implementations, JSON-LD is typically rendered via Controller Renderings or View Renderings in the `Head Renderings` placeholder or inline in layout views. The audit checks for: `Organisation` JSON-LD (typically site-wide, confirming name, url, logo, sameAs external profiles are correct); `Article` JSON-LD on blog/news pages (headline max 110 chars, datePublished in ISO 8601 format from Sitecore\'s Created or custom Published Date field, dateModified from the item\'s Modified date or a custom field, author from a Person or Organisation reference, image as absolute URL from the Media Library); `FAQPage` JSON-LD on Q&A or support pages (mainEntity array from FAQ item child items or multi-list field, acceptedAnswer.text as text not markup); `BreadcrumbList` JSON-LD reflecting Sitecore\'s content tree navigation hierarchy. For XM Cloud + JSS: JSON-LD is generated in Next.js server components from Edge GraphQL queries — the audit checks that structured data is in the initial HTML response (not injected via GTM or client-side useEffect, which creates a rendering gap). Missing required properties, properties referencing internal Sitecore media paths rather than absolute public URLs, and empty author objects from unresolved datasource items are common Sitecore JSON-LD errors flagged by the audit.

🗺️

Sitecore sitemap generation and crawl configuration

Sitecore offers several approaches to sitemap XML generation: the built-in Sitemap module (XP, outputs `/sitemap.xml` based on publishable items), SXA\'s sitemap functionality (per-site sitemap generation with inclusion/exclusion rules configurable in SXA site settings), and custom sitemap renderings or pipelines for complex multi-site or dynamic sitemap requirements. The audit checks: sitemap accessibility (`/sitemap.xml` or sitemap index at the root returns valid XML within 5 seconds — large Sitecore sitemaps can be slow to generate if not cached); item coverage (all publishable, indexable content pages should appear in the sitemap; items excluded from sitemap via Sitecore\'s sitemap settings should not appear); `lastmod` accuracy (Sitecore\'s sitemap typically uses the item\'s modified date for `lastmod`; items that are frequently modified via personalization or dynamic content but have stable HTML output may show inflated `lastmod` values — causing unnecessary recrawling); `noindex` exclusion (items with noindex in their SEO fields must be excluded from the sitemap — a mismatch between sitemap inclusion and noindex status is a common Sitecore SEO error found on sites with inconsistent SEO field management); multi-site sitemap index (large Sitecore multi-site instances should use a sitemap index at each domain pointing to per-site sitemap files — a shared sitemap index serving multiple domains is a common misconfiguration); and robots.txt accuracy (Sitecore\'s robots.txt should Disallow `/sitecore/`, `/sitecore/login`, `/-/media/`, `/~/media/`, and other Sitecore system paths; XM Cloud sites should ensure the Edge delivery layer\'s robots.txt is independently configured, not inherited from the CM environment).

Core Web Vitals for Sitecore delivery architectures

Sitecore\'s performance profile varies dramatically by delivery architecture. The audit uses real CrUX field data. **Sitecore XP (traditional server-rendered)**: TTFB for XP is typically 300–800ms for complex page requests with multiple renderings — each rendering makes database calls, executes presentation logic, and waits for cache. Sitecore\'s HTML cache (rendering-level caching by params, user, language, and item) is critical for performance; uncached renderings on high-traffic pages can cause severe TTFB spikes. LCP on XP sites is often the hero image — check that Sitecore serves images with correct dimensions and that the web delivery layer (IIS, CDN) sets appropriate cache headers. **Sitecore XM Cloud + Experience Edge + Next.js JSS**: TTFB is much lower — Edge serves static or ISR-cached pages from Cloudflare\'s global CDN, targeting sub-100ms. Pages with `getStaticProps` or ISR benefit from CDN edge caching; pages using `getServerSideProps` (uncommon in modern JSS) or dynamic data fetching will have higher TTFB. LCP on JSS sites: the hero image component fetches the image URL from Edge GraphQL at build/ISR time — ensure the image URL is a Sitecore Content Delivery CDN-optimised URL, not the CM environment\'s internal URL. CLS: JSS apps using React hydration can exhibit CLS if components render differently server-side vs client-side (e.g., personalised content blocks that change content on hydration). INP: Sitecore JSS apps that include the Sitecore Experience Editor JS (for editing mode) must ensure this script is excluded from production delivery — it adds significant client-side overhead. **Both architectures**: real CrUX field data may differ significantly from Lighthouse lab scores on Sitecore sites due to the cache warm-up time — lab tests often hit cold caches, while real users see warm-cache responses.

🧠

AI visibility for Sitecore enterprise sites

Enterprise Sitecore sites — corporate websites, financial services platforms, healthcare portals, media publishers — are exactly the type of authoritative content that AI systems like Perplexity, ChatGPT, and Claude cite. The audit checks all five GEO signals. For `llms.txt`: Sitecore XP sites can serve a static `llms.txt` file via IIS at the root of each domain, or via a custom Sitecore route handler. XM Cloud + Next.js JSS sites implement `llms.txt` as a Next.js route handler (`app/llms.txt/route.ts`) querying Edge GraphQL for the site\'s content collection. The key challenge for multi-site Sitecore instances: each domain needs its own llms.txt summarising that site\'s content — a single shared llms.txt at the Sitecore CM level won\'t be served from the correct domain. For `robots.txt`: the audit checks that Sitecore\'s per-site robots.txt (SXA Robots field or static file) does not Disallow AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended). Many enterprise Sitecore robots.txt configurations include broad `User-agent: *` Disallow rules from security templates that inadvertently block AI crawlers alongside malicious bots. For `FAQPage` JSON-LD: required as a rendering in the appropriate page layout for pages with FAQ content — the audit checks whether FAQ-format content sections on Sitecore pages have corresponding FAQPage structured data in the server-rendered HTML. For question-heading ratio: Sitecore\'s rich text editor or structured content approach determines whether editors naturally produce question-format headings — the audit checks whether ≥20% of headings on content pages are question-format. For content chunkability: Sitecore\'s presentation/rendering model should produce clean semantic HTML with `<h2>`/`<h3>` section breaks — the audit checks average section length against the ≤400-word target.

HOW IT WORKS

Audit your Sitecore site in 60 seconds

  1. Enter your Sitecore URL. Use the live public URL of your Sitecore XP, XM Cloud, or SXA site — any domain served by a Sitecore delivery layer. No Sitecore license access, CMS admin credentials, CM environment URL, or Sitecore Cloud account needed. Works with all Sitecore delivery architectures: traditional XP with IIS delivery, XM Cloud with Experience Edge CDN, SXA component layouts, and custom JSS frontends. Works on any Sitecore version.
  2. We crawl and analyse. The engine validates meta tags from Sitecore's rendering layer — checking the actual HTML output against quality standards regardless of whether they come from MVC renderings, Razor views, JSS React components, or SXA templates; detects JSON-LD rendering gaps where structured data is injected via GTM or client-side JavaScript rather than server-side Sitecore renderings (Googlebot's first-pass crawl sees the initial HTML); verifies the sitemap covers all publishable pages with correct noindex exclusion; checks per-site robots.txt for Media Library path exclusions and AI crawler access; and measures real CrUX Core Web Vitals from actual Chrome user field data.
  3. You get a prioritised report. Sitecore-specific issues first — cross-site canonical misconfiguration from SXA site resolver issues, noindex items appearing in sitemap XML, Media Library paths not Disallowed in robots.txt, missing Article JSON-LD on news/blog pages, FAQPage JSON-LD absent from FAQ content sections, hreflang tag coverage gaps in multilingual site tree configurations, GTM-injected structured data rendering gap — then general SEO findings, each with the Sitecore-specific context (rendering name, field configuration path, SXA setting location) for the fix.

FAQ

Questions about the Sitecore SEO audit

How does Sitecore handle SEO metadata?

Sitecore is an enterprise .NET CMS with multiple product offerings and delivery models that affect how SEO metadata is generated. The primary Sitecore platform flavours relevant to SEO: (1) **Sitecore XP (Experience Platform)** — the traditional .NET MVC/Web Forms monolithic CMS. SEO fields are typically stored as Sitecore Item fields under a content tree. The built-in `Page Title` and `Meta Description` fields (in the `Data` template section) populate `title` and `meta name="description"` in the Razor views. Custom SEO templates extend items with additional fields: canonical URL, noindex, OG image, and hreflang data. The rendering layer (MVC Controller Renderings, View Renderings) is responsible for reading these fields and emitting the correct HTML meta tags in the `head`. (2) **Sitecore XM Cloud** — Sitecore\'s SaaS headless CMS offering. Content is managed in XM Cloud and delivered via Sitecore Experience Edge (GraphQL CDN). The head application is a Next.js app using Sitecore\'s JSS (JavaScript Services) SDK. SEO fields are defined in Sitecore templates and queried via Edge GraphQL; `generateMetadata()` in Next.js App Router reads these fields and generates the meta tags. (3) **Sitecore SXA (Sitecore Experience Accelerator)** — a component library and site scaffolding layer for XP that includes a dedicated SEO module. The SXA SEO module provides out-of-the-box meta title, meta description, robots tag, and canonical URL configuration via `Page SEO` fields on the item and site-level defaults. (4) **Sitecore OrderCloud** — the headless commerce platform (separate from content management; less relevant to blog/content SEO). The audit crawls the live URL and validates what the server actually renders — regardless of which Sitecore architecture produces it.

How do I implement JSON-LD structured data in Sitecore?

JSON-LD in Sitecore requires custom development regardless of the delivery architecture. The approach varies by platform: (1) **Sitecore XP (MVC)** — create a Controller Rendering or View Rendering that reads relevant item fields and renders a `script type="application/ld+json"` tag. For blog article pages, the rendering reads the page\'s Title, Date Created, Author, and OG Image fields and serialises them as Article JSON-LD. This rendering is added to the `Head Renderings` placeholder in the page layout so it outputs in `head`. For FAQPage JSON-LD on Q&A pages, create a structured data rendering that reads a multi-list or Treelist field containing FAQ items (each FAQ item is a Sitecore child item with Question and Answer fields). (2) **Sitecore XM Cloud + Next.js JSS** — JSON-LD is implemented as a Next.js component that queries the relevant XM Cloud fields via Edge GraphQL. For Article JSON-LD: query `title`, `datePublished`, `dateModified`, `author`, and `image` fields from the content item; render as a `script type="application/ld+json"` in the `head` via Next.js `generateMetadata()` or a server component. For FAQPage JSON-LD: query a multi-value component datasource containing FAQ Question/Answer pairs. (3) **SXA** — add a JSON-LD rendering to the SXA `Scripts` or `Head Renderings` placeholder. SXA\'s token substitution can inject item field values into the JSON-LD template, though complex structures (FAQPage with nested mainEntity array) typically require a custom rendering. (4) **Avoiding the GTM rendering gap** — in all architectures, inject JSON-LD in the server-rendered HTML (not via Google Tag Manager or client-side JavaScript). GTM-injected structured data appears in the rendered DOM but is absent from the initial HTML response — a rendering gap that creates uncertainty about whether Googlebot\'s first-pass crawl sees the schema.

What are the main Sitecore SEO challenges for large enterprise sites?

Enterprise Sitecore implementations introduce several SEO challenges at scale that smaller CMS platforms don\'t typically face: (1) **Multi-site canonical management** — large organisations run dozens of sites from a single Sitecore instance (different brands, regions, languages, or business units). Each site must have correctly configured canonical tags pointing to its own domain. Misconfigured SXA site resolvers or shared template inheritance can cause cross-site canonical leakage — where a page on site-a.com has a canonical pointing to site-b.com. (2) **Multisite robots.txt** — each Sitecore site typically needs its own robots.txt. SXA supports per-site robots.txt via the Robots field in site settings. Without this, all sites may serve the same robots.txt, potentially exposing incorrect Disallow rules to the wrong domain. (3) **Multilingual canonical and hreflang** — Sitecore\'s multilingual support (language versions on the same item) enables hreflang implementation, but only if the rendering layer correctly generates `link rel="alternate" hreflang="x"` tags for all language versions. Sitecore XP implementations often have partial hreflang implementation: tags for some language versions but not all, or x-default not defined. (4) **Wildcard media library URLs** — Sitecore\'s Media Library serves files at `/sitecore/shell/`, `/-/media/`, or `~/media/` paths. These paths should be Disallowed in robots.txt to prevent Google from indexing media files as content. (5) **Publishing delay and crawl cache** — Sitecore XP\'s publish workflow means content changes go live on publish. Large publishing operations (batch publish of 10,000 items) can create TTFB spikes as the publishing engine writes to the SQL database and the web delivery rebuilds caches. Experience Edge (XM Cloud) avoids this via GraphQL-layer caching. (6) **Personalisation and A/B testing rendering** — Sitecore\'s personalisation engine can serve different content to different user segments. If personalized content is rendered server-side rather than via client-side JavaScript, Googlebot will see one variant consistently. If it\'s client-side, Googlebot may see a different variant than users. For SEO, ensure the default (un-personalised) experience contains all content you want indexed.

Is the Sitecore SEO audit free?

Yes. The complete audit is free with no signup and no email gate. Enter the URL of any Sitecore-delivered website — the audit crawls the rendered HTML as Googlebot would. No Sitecore license access, CMS credentials, or Sitecore Cloud account needed. Works with all Sitecore delivery architectures: XP traditional, XM Cloud + Next.js JSS, SXA, Experience Edge, and headless custom frontends. For Sitecore implementations using server-side rendering (which all JSS + Next.js architectures use), the audit correctly evaluates the server-rendered HTML. Paid DeepSEOAnalysis plans add saved report history, scheduled monitoring across multiple Sitecore sites, and white-label agency reporting with exportable PDF reports.