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.

  1. 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.
  2. 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.
  3. If you want to remove a feature later, you know all the places to find it, just search for it's flag.
  4. 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.