You know how it's super easy to change how a rendering is rendered based on
Sitecore.Context.PageMode? If you've ever wished there was a similar check available for
PageMode.IsIndexCrawlerCrawling, then read on.
This blog post covers how to inject extra metadata text into Experience Editor. One of the great uses of this metadata text it to help content authors see a visual difference between renderings that use local datasources and renderings that use shared datasources.
Sitecore allows us to delete all language versions from an item, so it's possible for items to end up in an invalid state.