Siteimprove Errors Generated by Removing the Default Sitecore Home Item

Part of a Sitecore multisite implementation is defining a more sophisticated Information Architecture and removing out of the box content would be a logical step in this process to clean things up. No issues were seen or logged when /sitecore/content/Home was deleted, but Siteimprove had some issues and generated SiteImprovePush errors once the module was installed.


So, let's look at the issue from the beginning. As you can see here, we have a simple tree, and the standard Home item which appears to be useless. We're not using it, so deleting it was a logical step. There's been no issues for as long as I can remember, and I've never seen a log entry complaining about this. What's the worry about? 

Recently, we installed Siteimprove for one of our projects and thought something must be wrong when the overlay wasn't appearing. The usual documentation was reviewed once again, but nothing looked wrong. While investigating, I noticed Multilist fields are no longer working and the general layout of the Content Editor was off. Now I'm getting concerned. Thankfully looking at the browser console revealed the error of “SiteImprovePush is not defined”. 

VM595 jsnlog.min.js:1 : Uncaught ReferenceError: SiteImprovePush is not defined
i.cerror @ VM595 jsnlog.min.js:1
i.sendLogItemsConsole @ VM595 jsnlog.min.js:1
i.sendBatch @ VM595 jsnlog.min.js:1
i.log @ VM595 jsnlog.min.js:1
n.log @ VM595 jsnlog.min.js:1
n.error @ VM595 jsnlog.min.js:1
window.onerror @ VM595 jsnlog.min.js:1
error (async)
(anonymous) @ VM595 jsnlog.min.js:1
VM742:1 Uncaught ReferenceError: SiteImprovePush is not defined
    at eval (eval at scSitecore.evalScriptTags (Sitecore.js:1318), <anonymous>:1:1)
    at scSitecore.evalScriptTags (Sitecore.js:1318)
    at scSitecore.process (Sitecore.js:1141)
    at scRequest.resume (Sitecore.js:1901)
    at scRequest.handle (Sitecore.js:1802)
    at scRequest.execute (Sitecore.js:1770)
    at scSitecore.postRequest (Sitecore.js:894)
    at VM606 Content Editor.js:410

Now we have something to check on stackoverflow! Nothing came up so I contacted their support, and after a few rounds of troubleshooting we concluded that due to the missing home item, Shell is losing context. This was confirmed in /sitecore/admin/showconfig.aspx as seen below. You can see Shell will need this item at times.  Changing the value to site1's Home proved more difficult than just restoring the original, which I set to protected and added a note.

site name="shell" virtualFolder="/sitecore/shell" physicalFolder="/sitecore/shell" rootPath="/sitecore/content" startItem="/home"

So, after restoring the item, all is well and the Siteimprove overlay appeared, and Content Editor was back to normal. You download the standard Home item here in case you deleted it too.