Sitecore Migration Checklist
Sitecore SXA → Headless Next.js · 4 phases · 44 checklist items
Phase 1 — Phase 1 — Audit & Architecture
Document Sitecore version, edition (XM/XP/XM Cloud), and patch level ★ Critical Identify rendering mode: vanilla MVC, SXA, existing JSS, or mixed ★ Critical Inventory all renderings/components (count, type, datasource vs. layout-only) ★ Critical Identify custom pipeline processors and their equivalents in headless ★ Critical Document Glass.Mapper or ORM usage — plan typed interface replacements Count and categorise media items (images, documents, video) Document all active personalization rules and their xDB dependencies Identify multisite configuration: number of sites, domains, language roots ★ Critical Confirm headless approach: JSS SDK, XM Cloud JSS, or custom fetch ★ Critical Map page templates to rendering modes: SSG / ISR / SSR per route type ★ Critical Confirm hosting platform (Netlify / Vercel / self-hosted) Set up JSS app registration in Sitecore (AppName, allowed controllers) ★ Critical Phase 2 — Phase 2 — Component Migration
Set up Next.js project with TypeScript strict mode and ESLint ★ Critical Configure Layout Service client with typed LayoutServiceData interface ★ Critical Implement catch-all route [[...path]] for Sitecore content tree routing ★ Critical Build component factory mapping Sitecore rendering names to React components ★ Critical Migrate top 10 highest-traffic renderings first (validate architecture early) ★ Critical Implement Placeholder component wiring for all nested placeholder names ★ Critical Migrate all remaining renderings with typed field interfaces Replace sc:Image / Html.Sitecore().Field() with next/image + JSS Image component ★ Critical Configure next.config.ts remotePatterns for Sitecore media domain ★ Critical Decide media strategy: direct CM serving vs. external CDN/DAM Implement Experience Editor / Pages editing support (if required) Verify all rendering parameters map correctly to React props Phase 3 — Phase 3 — Advanced Features
Audit personalization rules — categorise as content-swap vs. behavioural ★ Critical Implement audience segment detection in Next.js middleware Wire segment to Layout Service request (sc_segment parameter or custom header) Select search platform: Typesense / Algolia / Sitecore Search ★ Critical Build Sitecore publish webhook → search index sync pipeline ★ Critical Implement search UI with InstantSearch or custom debounced fetch Configure multisite middleware with site map matching Sitecore sites config ★ Critical Test language routing and locale fallback for all active languages ★ Critical Validate robots.txt and sitemap.xml generation per site Implement redirect handling (301/302 redirects from Sitecore redirect module) Phase 4 — Phase 4 — DevOps & Launch
Set up GitHub Actions workflow with type check, lint, and build steps ★ Critical Configure Netlify/Vercel site with environment variables and build command ★ Critical Enable PR deploy previews and test with at least one real content branch Store all secrets in CI environment (never in source control) ★ Critical Configure Sitecore publish webhook to trigger ISR revalidation on content publish ★ Critical Run Lighthouse audit on staging — target 90+ Performance, 100 Accessibility ★ Critical Verify Core Web Vitals (LCP < 2.5s, CLS < 0.1, INP < 200ms) on real content ★ Critical Test Experience Editor / Pages inline editing on staging (if in scope) Validate 301 redirects from old URL structure to new routes ★ Critical Set up error monitoring (Sentry free tier or equivalent) Document rollback procedure (Netlify: one-click; Vercel: instant) ★ Critical Confirm DNS cut-over plan with a maintenance window or zero-downtime strategy ★ Critical