If you’re working with SitecoreAIor any headless Sitecore project, you’ve probably seen a scenario where a component on a page suddenly becomes unclickable or “ghosted” in the Pages Builder. Users report that they cannot select the component or choose a new datasource — even though your React component has null checks in place.
What’s going on? Let’s dive in.

UPDATE Mar 3, 2026: Sitecore did resolve this with latest SitecoreAI release:
https://developers.sitecore.com/changelog/sitecoreai/03032026/page-builder-improvements-and-solved-issues
Now you will be able to delete the rendering in Pages Builder.
Now you will be able to delete the rendering in Pages Builder.
The Problem: Deleted Datasources Cause Ghosted Components
Sitecore stores the datasource path in the rendering definition (presentation details). If a datasource item is deleted, the rendering still holds its path: Even if your front-end handles null gracefully:
…the Pages Builder relies on Layout Service metadata to attach the editing chrome.Without a valid datasource item:
- Layout Service cannot resolve the item
- Pages cannot attach the editing frame
- Component becomes non-selectable
- Users cannot choose or create a new datasource
This is a subtle but important UX problem in XM Cloud — one that only occurs when the datasource path exists but the item is missing.

Solution: Clean Up Broken Datasource References
The most effective way to solve this is programmatically clearing broken datasource references. We can use Sitecore PowerShell Extensions (SPE) to:
Scan presentation details of all items
Identify renderings with datasource paths pointing to deleted items
Clear the datasource path
Here’s an example script:
Automating the Fix
Now let’s make this enterprise-ready.
Option 1 — Scheduled Cleanup (Recommended)
Create a scheduled task:
- Run nightly
- Scan tenant root
- Clean broken datasources
This is safe, predictable, and production-friendly.In XM Cloud (SaaS), this can be handled via:
- Scheduled SPE task
- Deployment automation script
- Maintenance job
Option 2 — Real-Time Cleanup on Item Deletion
You can hook into the item:deleted event.Example handler:
Important considerations:
- Deleting large folders could trigger many lookups
- Requires careful indexing strategy
- Must avoid performance degradation
For most projects, scheduled cleanup is safer and don't forget that the second approach conflict with NOT deploying any custom code to XM XMC best practice.
No comments:
Post a Comment