Xc banner image

SitecoreAI Pathway Guide: End-to-End Migration Walkthrough

Senior Developer
  • Twitter
  • LinkedIn

Content migration is one of the most complex phases of any Sitecore modernization effort. SitecoreAI Pathway introduces AI-assisted tooling that helps analyze legacy XM/XP implementations and rebuild content within SitecoreAI. While the platform provides intelligent template and component mapping, successful migrations still require careful preparation, validation, and execution.

This guide provides a step-by-step walkthrough of the complete Pathway migration process, including target and source extraction, AI-assisted grouping and mapping, and final migration execution. It focuses on the practical implementation details, file preparation, and validation steps developers need to successfully migrate content.

For a conceptual overview of Pathway’s architecture and value, refer to this article.

 

Step 1: Migration Creation and Configuration

Before starting a Pathway migration, you must ensure you have met all prerequisite requirements.

 

Prerequisites:

  • Source is Sitecore XM/XP
  • Sitecore AI target site has been created
  • Templates, renderings, page designs, and partial designs have all been created in the target
  • Pathway App has been installed (marketplace app available to Sitecore 360 subscribers)

Once these are met, you can begin your migration. Open the Pathway app in SitecoreAI and click on “New Migration.” On the next screen, add the name and description for the migration. These should be distinct and identify the site and language you are migrating. Click “Next” to move on. On the next screen, enter the target environment and site details in the first column.

Pathway migration setup screen showing target environment and site details

Click “Initialize Migration.” You should see a success message, and you should now have an “Upload URL” in the middle column. This will be used later during Source Data Extraction.

 

Step 2: Target Data Extraction

Navigate to the Pathway Dashboard and click on “Show Info” at the top right of the page. Scroll down until you see two download buttons. Download the zip package next to “Analyze SitecoreAI project.” After you extract it, you will see these files:

Extracted files from the Analyze SitecoreAI project package

You will follow the included instructions. The exporter looks for GUID-based folders with the standard serialization shape: {GUID}/en/<version>/xml. To achieve this shape, create Sitecore packages of all templates (page and component), renderings, and page and partial designs to be used in the target site.

Once you have created your Sitecore packages, extract the files and organize them according to the instructions. Make sure the extracted files are placed in the same directory as the export-structure.ps1 script.

 

Components

  • Extract the serialization package zip file and locate the items folder
  • Create a new Components folder in the same directory as the export script and copy the items folder into the new Components folder
Folder structure for component serialization files

 

Pages

  • Extract the serialization package zip file and locate the page templates
  • Create a new Pages folder in the same directory as the export script and copy each individual template folder directly into the new Pages folder
Folder structure for page template serialization files

 

Page and Partial Designs

  • Extract the serialization package zip file and locate the items/master/sitecore/content/<your-project-or-collection>/<your-site-name>/Presentation folder
  • Create a new Presentation folder in the same directory as the export script, copy the contents of the extracted Presentation folder, and paste them into the new Presentation folder
Presentation folder structure for page and partial designs

 

Renderings

  • Extract the serialization package zip file and locate the items/master/sitecore/layout/Renderings folder
  • Create a new Renderings folder in the same directory as the export script and copy the entire contents of the extracted Renderings folder into the new Renderings folder
Folder structure for rendering serialization files

Once you have prepared your data, execute the export-structure.ps1 script. You should see console logs identifying successes and failures as the script runs.

PowerShell console output from export-structure script

The generated xmc-structure.json file will be comprised of the following top-level arrays:

  • Pages: one entry per page template, including simplified field metadata
  • Renderings: rendering definitions, including component name, datasource template, parameters, and resolved component fields if found
  • PageDesignMappings: pairs of { templateId, pageDesignId }, where the names are included where resolvable
  • PageDesigns: page designs with their partial designs and the renderings parsed from layout XML

The JSON output will also be written to the PowerShell console once the script has completed. This output will likely be so large that you can no longer see the logs. To clean up the console, you can comment out or remove the JSON output at the end of Export-StructureJson on line 531.

Script line showing JSON output that can be removed from console logging

Now you can open the output file, xmc-structure.json, and review it for accuracy. If you are happy with it, return to the second step of the migration in Pathway and upload the file. You should see a success message and a new “Uploaded” status for “SITECOREAI STRUCTURE.”

Uploaded SitecoreAI structure status in Pathway

That completes the target data extraction. Next, we will extract the source data.

 

Step 3: Source Data Extraction

Again, navigate to the Pathway Dashboard and click on “Show Info” at the top right of the page. Scroll down until you see two download buttons and download the zip package next to “Scan your XM instance.” After you extract it, you will see these files:

Extracted files from the Scan your XM instance package

Add the ExtractorHandler.ashx file under your source CM’s wwwroot/sitecore/admin directory.

ExtractorHandler file placed in the Sitecore admin directory

To verify your handler installation worked, visit https://your-sitecoreinstance/sitecore/admin/ExtractorHandler.ashx?action=getallsitenames. You should receive the list of sites for your instance.

List of Sitecore sites returned by ExtractorHandler

Update the setting Sitecore.Services.SecurityPolicy in the .\App_Config\Sitecore\Services.Client\Sitecore.Services.Client.config file on the source CM server to the value Sitecore.Services.Infrastructure.Web.Http.Security.ServicesOnPolicy, granting access to all Entity and Item Services. This change can be reverted once the extraction process is finished.

 

Developer Tip

To view the output JSON objects from the extractor, add a custom log function to ExtractorHandler.ashx and log the pageObject at the end of the ParseHTML function on line 294.

Next, make sure your site configurations are correct for the source site. These include the hostname, IIS binding, rootPath, and startItem. If you have a multi-site setup, make sure the rootPath for your site has no other sites as children.

 

Example

sitecore
│
└── content
    │
    ├── Site 1
    │
    └── Site 2
  • If you are migrating Site 1, rootPath should be /sitecore/content/Site 1 and the startItem should be /
  • If rootPath is /sitecore/content, then the extraction will include both Site 1 and Site 2

To verify the site configuration, visit https://your-sitecoreinstance/sitecore/admin/ExtractorHandler.ashx?action=getsitedescendantids&sitename=your-site-name. You should see the site details and the descendant page GUIDs. These are the pages that will be migrated.

Site details and descendant IDs returned by ExtractorHandler

Now you can run the executable in PowerShell, providing the Upload URL from the Pathway app along with the rest of the required parameters.

PowerShell command for source data extraction upload

Upon completion, you should see a new logs directory with the name and language of the source site. In this directory will be text files listing the GUIDs of the processed and missing items.

Logs directory showing processed and missing item files

Return to Pathway and click “Next.”

 

Step 4: Page Grouping

Now that we have prepared and extracted the target and source data, we can let Pathway handle the rest. Click the “Grouping” button to begin grouping the pages extracted from the source site and wait for the AI grouping to complete. Once the pages have been grouped, click the “Template Mapping” button to map the page groups to target site page templates. Once template mapping is complete, you can review and validate it by selecting a page group and clicking the “View template match details” button.

Pathway page grouping and template mapping interface

You should see:

  • A template assignment from the target site page templates
  • The item ID for the target site page template
  • The reasoning behind the page template assignment

Once you have validated these groups, click “Next.”

 

Step 5: Component Mapping

Click the “Component Mapping” button to begin mapping the components from the source site to the component templates in the target site. Once completed, you can review the mapped components and view the page details.

Pathway component mapping interface

You should see:

  • The target placeholder
  • The target component
  • The reasoning for each component on the page

You can click “View page details” to view the path and ID of the source page. Once you have validated these mappings, click “Next.”

 

Step 6: Migration Execution

Click the “Migration” button to execute the migration. Once completed, you will see the successfully migrated items and the failed items.

Pathway migration execution results

These pages should now exist in your target SitecoreAI site. Review the migration results and validate the items in your site.

 

Key Takeaways and Considerations

Based on hands-on implementation and testing, SitecoreAI Pathway introduces meaningful improvements to migration speed and workflow structure. However, there are important considerations and current limitations to be aware of.

 

Strengths

  • Pathway significantly improves migration speed compared to traditional manual approaches
  • The structured workflow makes migrations more consistent and repeatable
  • AI-assisted grouping and mapping significantly reduce the need for manual template and component alignment

 

Current Limitations

  • Inherited fields are not parsed during target data export, which can lead to incomplete or inaccurate component mappings when shared or base templates are heavily used
  • Limited visibility into AI decision-making, including:
    • Page grouping logic
    • Template mapping logic
    • Component mapping logic
    • Migration execution details
  • No ability to manually override or adjust AI-generated mappings within the tool

 

Operational Gaps

In its current state, Pathway still requires developer involvement to ensure migration success, particularly for:

  • Troubleshooting failed or partial migrations
  • Supplementing migrations with custom scripts
  • Validating migrated content and data integrity
  • Supporting post-migration stabilization and cleanup

 

Areas for Future Improvement

Pathway would benefit significantly from the following enhancements:

  • Ability to manually modify AI-generated page groups, template mappings, and component mappings
  • Improved logging and visibility into AI-driven processes
  • Greater transparency and configurability of AI decision-making

 

Conclusion

SitecoreAI Pathway represents a major step toward modernizing and standardizing Sitecore content migrations. By introducing a structured, AI-assisted workflow, it transforms migration from a highly manual and unpredictable effort into a more repeatable and scalable process.

While the platform is still evolving, it already provides substantial value by accelerating migration timelines and reducing manual mapping effort. As visibility, control, and customization capabilities continue to improve, Pathway is well positioned to become a core tool for Sitecore modernization initiatives.