So I had a little spare time on my hands recently (like most of us have at the moment), and I decided I would look into fixing up a really useful plugin, written by Kevin Jump, called Maintenance Manager which was written for Umbraco 7, so that it would work with Umbraco 8.
The main purpose of this plugin is to be able to take a Umbraco website offline and show a custom page to users, with the ability for backoffice users to still access the site while being logged in (this can be toggled on and off in the backoffice).
So I spent an afternoon last week getting this working for Umbraco 8.6, which I managed to do successfully, and created a pull request to the original package source on GitHub.
Kevin Jump went one step further after my pull request, and added a pretty cool new feature which allows for the content to be frozen, to stop editors changing the content while enabled.
The Umbraco 8 version of Maintenance Manager (v2.0.0) is currently available in the Umbraco packages area:
This can be installed via the packages tab in the backoffice of your Umbraco installation.