Assess Your Sitecore Installation
Understand your starting point before planning anything else.
Context
The scope and complexity of your migration depends entirely on what you're migrating from. Sitecore MVC with SXA, vanilla Sitecore MVC, and JSS all require fundamentally different approaches. Attempting to plan a headless migration without this audit is the most common source of blown timelines.
Code Comparison
@* SXA Component: PromoComponent.cshtml *@
@using Sitecore.Mvc.Presentation
@model RenderingModel
<div class="component promo @Html.Sitecore().GetComponentCssClassNames()">
<div class="component-content">
@if (Model.Item != null)
{
<div class="field-promoicon">
@Html.Sitecore().Field("PromoIcon", Model.Item)
</div>
<div class="field-promotext">
@Html.Sitecore().Field("PromoText", Model.Item)
</div>
<div class="field-promolink">
@Html.Sitecore().Field("PromoLink", Model.Item)
</div>
}
</div>
</div># Migration Audit Checklist Output
sitecore_version: "10.3"
rendering_mode: SXA # MVC | SXA | JSS
components:
total: 47
with_datasources: 38 # → need JSS field mapping
rendering_parameters_only: 9 # → simpler migration
custom_mvc_controllers: 6 # → require API endpoints
third_party_renderings: 4 # → evaluate replace vs wrap
content_tree:
total_items: 12_400
media_items: 3_200
multisite: true
sites: ["corporate", "regional-emea", "regional-apac"]
personalization:
rules_in_use: 23
xdb_dependent: 14 # → evaluate replacement
content_testing: true
known_risks:
- Custom pipeline processors: 8
- Glass.Mapper ORM usage: true # → replace with typed interfaces
- Inline presentation details: "~200 items"