Recently I've been experimenting with the way Sitecore detects what sites are included in an instance. When Sitecore starts up, by default it looks in the “Sites” node of the web.config and builds up a list of in-memory Site objects which are kept for the lifetime of the application. I was intrigued to see that, like many Sitecore subsystems, a provider approach is used. This means we’re able to replace the default behaviour with one of our own.