Avoiding Deleted Content - Helping Sitecore editors avoid huge mistakes

No one wants to get the call/email that one of your content editors has deleted a critical piece of your Sitecore website. So how do you avoid having editors accidentally delete key components of your Sitecore website? With most Sitecore instances, there are certain items that while part of your website's content, you don't want editors accidentally deleting them. These pages could be:
  • Dynamic pages - used to generate dynamic content from global content items
  • Inferequently edited items such as admin pages, error pages, or setting items
  • Root pages - for instance home node or first level of content
  • Item Buckets - quick way to lose a lot of content
The biggest question for these areas is not whether to lock them down but rather to what level.  Originally my thought was to make all of the above "Protected". You can do this by going to Configure --> Protect Item

However, this means that whenever someone wants to edit the page, they first need to click unprotect item. While not a huge deal, my editors would most likely not appreciate the additional step on regularly used items such as homepage item. So it didn't make sense in all cases. In reality, it's not really a painful addition but we all know our editors (joking).

In cases where the page is frequently updated, I applied security restrictions to not allow deletion of the item.

This leaves editing as is and gives me piece of mind that someone isn't taking out hundreds of pages with a single deletion. 

Protect Items: dynamic pages, infrequently modified pages, and item buckets
Restrict deletion: Frequently modified pages such as root pages