FEATURE REQUEST Maintainence mode
it would be great if we could have a mechanism to put the site into maintenance mode. A checkbox and a message field in the general settings might be enough.
How would that work? Would we just show a message on the front-end? But CMS logins and access would work as usual?
You could probably write a plugin that did that for every page that included viewer_functions.php. It wouldn't work for stand-alone pages though because the CMS has no ability to run code there.
Could you just have a check-box somewhere that says "Under Maintenance". Then, add some code on every page that says "if under_maintenance !='' then include a
<meta http-equiv="refresh" content="0;URL='http://www.example.com/undermaintenance.php'" />
That would work, but you'd want to set some headers to prevent search engines from indexing that page:
// Let search engines know we're only down temporarily and they should check back later
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 7200'); // in seconds
Most shopping carts and CMS have a maintenance mode that just shows the home page with a tempoary message. There is still access to the backend. A logged in admin can still view the site in all its glory. I don’t think it should be a plugin, but part of the core.
When an admin is viewing the homepage, there is a banner saying the site is in maintenance mode.
Cubecart is a good example.
I like doing this via htaccess. You can redirect all traffic to go to a temporary page, but allow yourself (and others) to bypass the redirect by IP address.
Here is a great breakdown:
You are missing the point. There are many ways to do it manually, editing files on my development machine then copying them to the server.
What I am asking for is a built in way to do it directly from thebadmin area.
Do what specifically? That's the problem. It's difficult for us to consider change requests like this because they're very vague. It's unlikely that anything we'd initially build would meet your requirements. If it can't be specified manually then it can't be done automatically. Because what will I automatically do?
It's likely that all the vendors that implement this feature do it in different ways and the actual requirements of the request are unspecified. There are many variables... Do we limit access to the cms or the website, or both? Do we limit access based on IP? Do we show a banner above the page or an alternative to the entire page? Can users direct link to images and pdfs? And what's the effective difference between click "activate/deactivate" on a maintenance mode plugin vs a checkbox in the CMS?
My recommendation would be to focus on the exact requirements and maybe consider custom programming to get this done. I'm guessing you have some undefined requirements that are uniquely specific to your particular site or project and we don't know what those are.