I really like the way chrome://flags/ works. Basically it is an internal listing of features in Chrome which you can easily turn on and off.
I think this is the way websites should work too. However, on a website this functionality shouldn't be exposed to users. Instead, it should be something the team building the site can leverage. There should be a configuration file where all these flags can be set, and then in the rendering code there are checks against the flags.
By designing things this way, you get added flexibility.
- If the site is about to launch for the first time, and a feature is buggy but not absolutely essential, you can quickly turn it off and make the product launch-able.
- If a feature gets hacked or some 3rd party plug-in breaks, you can turn it off while you figure out the fix, with the rest of the site remains operational.
- If you want to remove a feature later, you know all the places to find it, just search for it's flag.
- Some sites have other modes for partners which require a subset of functionality. In this case you could point to a different configuration file to accommodate it, or have the config files cascade.
It's hard to consider ever turning off a feature, but sometimes it's necessary. So you might as well prepare for it.