Give your WordPress site its first task.
Connect the site you already have, add your agent to Slack or Telegram, and tell it what you need.
Connect your siteStart with 500 free credits. No credit card needed.
A WordPress maintenance mode plugin puts up a holding page that stays until you switch it off. Core WordPress has its own maintenance screen, which it creates during updates. The two work separately and need different fixes. Choose a plugin for the job you have, then check the HTTP status visitors get as well as the page they see.
Most people searching for a maintenance mode plugin want one of two things. Some want a holding page up while they change something. Others want to get rid of a maintenance screen they never turned on. These are different problems, and WordPress uses a different mechanism for each.
Start by working out which one you have. The rest of this page covers choosing the right kind of plugin, checking that it tells search engines the right thing, and knowing when maintenance mode is the wrong tool.
A plugin gives you a holding page you control, and it stays up until you switch it off. WordPress core only has a maintenance state tied to updates. When you update core, a plugin or a theme, WordPress writes a hidden file called .maintenance to the site root. Visitors then see “Briefly unavailable for scheduled maintenance. Check back in a minute.” The updater normally deletes the file when the update ends.
A plugin’s maintenance mode is a saved setting. LightStart’s documentation says its mode is switched on and off manually in the plugin settings. Other plugins work the same way. As a result:
.maintenance does not turn off a plugin’s mode.wp maintenance-mode activate, deactivate and status commands control core’s maintenance mode, not a plugin’s setting.You can usually tell them apart by eye. Core shows one plain line of text. A plugin shows a designed page with its own heading, a logo, and sometimes a countdown or a signup form. The 503 response code explained article has a table of which screen comes from which source.
An update was interrupted before WordPress could delete .maintenance. Common causes include closing the browser tab, a timeout, low memory or disk space, wrong file permissions, and updating many plugins at once. Kinsta’s documentation lists bulk updates as a risk.
WordPress’s Advanced Administration Handbook gives the fix. First, make sure no update is still running. Then delete .maintenance from the folder that holds wp-config.php, which is often public_html. You can do this with your host’s file manager or over SFTP. The file name starts with a dot, so you may need to turn on “show hidden files.”
Deleting the file only takes the screen down. Your plugin or core files may still be half-updated. Go to Dashboard, then Updates, and run whatever didn’t finish, one item at a time. Our guide to fixing a failed WordPress update covers what to do if the update fails again.
Core treats the file as expired once its timestamp is ten minutes old, according to the wp_is_maintenance_mode() reference. So if the screen lasts for hours, the file may not be the only cause. Common culprits are a cached copy of the 503 page, a site broken by the half-finished update, or a plugin’s own screen.
If the site keeps getting stuck, another plugin may be interfering with the updater. In one WordPress.org support thread, updates stalled again and again, and clearing caches didn’t help. A moderator traced it to a starter-templates plugin that was blocking updates. The fix was to deactivate that plugin, update it, reactivate it, and then update everything else. Retrying the same bulk update without finding the cause just recreates the lock.
Pick the lightest tool that does the job. Plugins in this category range from a single switch to a full page builder, and the extra weight only pays off when you use it. Install bands below are from the WordPress.org directory.
| The job | What you need | Example from the directory |
|---|---|---|
| A 20-minute update window | An on/off switch and a 503 status | Slim Maintenance Mode (10,000+ installs): no settings page, and only administrators see the site |
| A branded holding page for an established business | A logo, a message and access rules | Maintenance by WebFactory (1,000,000+): a 503 status and a temporary page you edit in its settings |
| A client reviewing work while the public sees a notice | A bypass by role or link | CMP by NiteoThemes (200,000+), recommended in r/Wordpress threads for its client bypass link |
| A pre-launch page with a signup form | A page builder and form handling | LightStart (400,000+), described on WordPress.org as a drag-and-drop page builder |
Practitioners in WordPress.org and Reddit threads keep asking for the same three things: a plain switch for update windows, preview access for clients, and the option to use an existing WordPress page as the holding page. The third request usually ends with someone suggesting custom code. Test before you trust any feature list, including the one above. Bypass rules and paid tiers change between versions.
If you are writing the message itself, our coming soon text examples cover the difference between a launch announcement and a notice that the site is down.
Usually there are two reasons: you are logged in, or a cache is serving an old copy.
You are logged in. Administrators bypass the holding page, and on some plugins any logged-in user does. Owners who test while signed in often decide the plugin “won’t publish.” Test in a private window or on another device. Note whether your plugin’s bypass applies to administrators only or to every logged-in account. On a store, every customer who logs in counts as a logged-in user.
A cache is serving the old page. This can be a page cache plugin, your host’s server cache or a CDN. It explains both “I turned it on and nothing happened” and “I turned it off and visitors still see it.” In one resolved WordPress.org thread, the maintenance page stayed up after the plugin was deleted, and there was no .maintenance file. The cause was caching. LightStart’s FAQ advises turning off cache plugins while its mode is on, or clearing the cache after every change. Purge every layer each time you switch the mode on or off.
On LightStart, check the exclusions too. Its documentation says exclusions match parts of URLs, so excluding / matches every page and opens the whole site. If you use a custom login URL, add it to the exclusions, or you may lock yourself out of the login page.
Visitors read the page. Search engines read the status code. A page can look like a maintenance notice and still return 200 OK. Search engines then treat it as the site’s real content.
Google Search Central gives specific guidance for closures:
Retry-After header and show a short, helpful page.noindex to signal a temporary closure.A coming-soon page for a site that has never launched is a different case. It is common practice to serve it with a 200 status so it can be indexed as the real front page. Google’s closure guidance covers existing sites, not pre-launch pages.
Check the response, not the preview. Open your browser’s developer tools, select the Network tab, and load a deep page (not the homepage) while logged out. Or run:
curl -I https://example.com/some-page/
The first line should read HTTP/2 503 (or HTTP/1.1 503). Look for a retry-after line too. LightStart’s changelog includes a fix for a 503 problem in its selected-page mode, which is a good reminder that a correct-looking screen doesn’t prove a correct status.
On a simple brochure site, you often don’t need a plugin. Core already blocks visitors for the few seconds each update takes. On a store, or any site where a half-updated page could take a payment or a booking, use maintenance mode on purpose.
WooCommerce’s update guide sets out the order:
Step 7 is the one people skip. When the holding page comes down, all you have confirmed is that it’s gone. Load the checkout as a customer, then clear caches so nobody gets served the maintenance page.
Not everyone wants to run this routine every month. SiteSelf handles plugin and core updates on request through chat: before it starts, it says what is about to change and whether that can be undone, and afterwards it reports what it checked on the live page.
A maintenance plugin is meant for short, planned pauses that visitors will notice. It doesn’t fit these jobs:
Stop and call your host if the maintenance screen turns into “Error establishing a database connection” or 500-range errors that keep coming back. Learn WordPress’s debugging material for site owners treats those as signs of a wider server problem, not a plugin setting.
For a plugin, switch it off in the plugin’s settings, save, and purge every cache. For core’s update screen, delete the .maintenance file from the folder that holds wp-config.php, or run wp maintenance-mode deactivate. Then finish the interrupted update.
Not from the dashboard. Core’s only maintenance state is the temporary one it creates during updates. Developers sometimes write a small template or a server rule instead. That works, but someone has to maintain it, so most owners use a lightweight plugin.
A short closure with a 503 status and a Retry-After header is what Google recommends for one or two days. Problems come from long closures, a holding page served with 200 OK, or using noindex or robots.txt to hide the site. Check the status code before you leave it running.
Coming soon is for a site that hasn’t launched yet. Maintenance mode is a temporary outage on a site that already has visitors and search rankings. Practitioners on Reddit warn against using coming-soon mode on an established site, because it can cause indexing problems.
Yes, if the plugin supports a bypass link or role-based access. Many plugins let only logged-in users through, so a client would need an account. Test the bypass with a real non-admin account before you send the link.
No. The plugin runs inside WordPress, so an attack against PHP or the server reaches the site before the plugin loads. Use your host’s controls or a static page for that.
Explainers
A 503 response code means a server is temporarily refusing requests. It doesn’t tell you which server or why. On WordPress the same code can come from core during an update, a maintenance plugin, exhausted PHP workers, a firewall rule or a CDN passing on an error, so read the headers and the scope before you change anything.
Read article ›Explainers
A 301 tells Google a URL has moved for good. Google says the redirect itself costs no PageRank. Traffic drops after a URL change usually come from how the redirects were done: old URLs nobody redirected, redirects that send visitors to the wrong page, and rules that chain or loop.
Read article ›Explainers
On WordPress, a landing page builder is a choice between four kinds of tools, and for a single campaign page the block editor you already have is often enough. Whichever builder you pick, it will matter less than what happens after you publish: the Reading setting, caches, store pages, indexing, and who keeps the page up to date.
Read article ›Connect the site you already have, add your agent to Slack or Telegram, and tell it what you need.
Connect your siteStart with 500 free credits. No credit card needed.