You can unpublish a WordPress site in a few minutes, but the method you pick decides what visitors and Google see. A maintenance plugin, a password, and the draft status all hide your content in different ways.
We tested each method on a WordPress 7.1.3 and WooCommerce 11.2 test site in October 2026 and read the status code each hiding method returns. Google’s guidance on pausing a website says a full shutdown should be short, and that shapes the advice below.
You get steps with screenshots for taking the whole site offline and hiding it before launch. Later sections cover single pages, a WooCommerce store, and permanent deletion. A table near the end matches each method to your situation.
What It Means to Unpublish a WordPress Site
To unpublish a WordPress site means to stop visitors from seeing it without deleting anything from the server. Your files, database, posts, and settings all stay in place. Only the public view changes, and you can reverse it whenever you want.
In the editor, every post and page can be public, draft, private, or password protected. A whole site has no such switch. You use a plugin or a setting to get the same effect. The table shows what each method does.
| Method | What visitors see | Status code | Best for |
|---|---|---|---|
| Maintenance mode plugin | A holding page | 503 | A live site under repair |
| Coming soon plugin | A holding page | 200 | A site that has not launched |
| Sitewide password plugin | A password form | 200 on the login page | Client previews |
| Discourage search engines | The full site | 200 | Private test copies |
| Draft or private page | A 404 error | 404 | Single pages and posts |
| Delete the site | Nothing | Set by your host | A site you are finished with |

Back Up the Site Before You Change Anything
Take a full backup of your files and database before you switch anything off. A backup is the only way back if a plugin conflict or a bad delete goes wrong. Any backup plugin or your host’s own backup tool will do.
If you run a store, follow our guide to back up the WooCommerce database first. Orders keep arriving until the moment you pause checkout. A fresh copy matters most there.
How to Take a WordPress Site Offline With a Maintenance Mode Plugin
To put a WordPress site in maintenance mode, install a maintenance plugin, build a short holding page, and turn on its toggle. The plugin then answers every visitor with a 503 status while you keep working in the dashboard. Setup takes about five minutes.
Step 1: Install a Maintenance Mode Plugin
Go to Plugins > Add Plugin and search for the plugin by name. We used Website Builder by SeedProd.
Its WordPress.org listing shows 600,000+ active installations and a tested-up-to note of WordPress 7.1.3 as of October 2026. Click Install Now. Then click Activate.
Other maintenance plugins use their own screens. Whichever one you pick, check the status code in Step 3.

Step 2: Build the Holding Page and Switch It On
Open SeedProd > Dashboard and click Setup next to Maintenance Mode. Pick a template, edit the message and click Save. The sample text in our test said “under going”. Fix the wording before you save.
Back on the dashboard, flip the Maintenance Mode toggle until it reads Active. Logged-in admins still see the real site, which we confirmed on the front page in both plugin modes.

Step 3: Check What Visitors and Google Receive
Open the home page in a private window while signed out. You should see your holding page, like the one below. Then check the status code, because a maintenance page must return 503.

Run this command in a terminal, or paste your address into any HTTP header checker:
curl -I https://yoursite.com/
Our test returned these lines:
HTTP/1.1 503 Service Temporarily Unavailable Retry-After: 86400 Cache-Control: no-cache, must-revalidate, max-age=0, no-store, private
The plugin’s default Retry-After value was 86400 seconds (24 hours). Google’s pause guidance asks for your best estimate of the return time in this header. Change the value if your work will take longer.
Maintenance Mode vs Coming Soon: Which Status Code Does Each Send?
Maintenance mode sends a 503 status code, which tells Google the outage is temporary. Coming soon sends a 200 status code, which tells Google the holding page is your real page. Use maintenance mode for a site that is already live and coming soon for one that has never launched.

We tested both modes in the same plugin. Maintenance mode returned 503 with a Retry-After header and coming soon returned 200 with none. A crawler has no hint that a 200 holding page is temporary. It treats the page like any other.
Google tells site owners to return an informational error page with a 503 status when they disable a whole site. That is the maintenance mode behavior.
Tip: If your site is live and ranking, choose maintenance mode every time. Pick coming soon only before launch.
What a 503 Does to Your Google Rankings
A short 503 does not remove your pages from Google, but a long one eventually does. Google’s crawling documentation says already indexed URLs are preserved in the index but eventually dropped. For a full shutdown, Google’s pause guidance says a few days at most.

The same page says content Google receives from a URL that returns a 5xx status is ignored. So your holding page will not replace your listing. The pause guidance adds that robots.txt must stay crawlable and must never return a 503.
Google’s pause guidance lists what not to do. Do not use 403, 404, or 410 status codes to close a site, and do not add a noindex tag or header. That rules out the Discourage search engines setting for a live site, which adds exactly that tag.
Google’s preferred option is different. It recommends you keep the site online, limit what it does, and disable the cart if you sell things. The WooCommerce section below covers that.

WordPress Maintenance Mode Without a Plugin
WordPress has a built-in maintenance mode that turns on when a file named .maintenance exists in your site root. The file needs one line that sets a timestamp. While it exists, every request returns a 503 status, including requests to the dashboard.
Create the file with an FTP client or your host’s file manager and add this line:
<?php $upgrading = time(); ?>
We tested it on WordPress 7.1.3. The home page, wp-login.php, and wp-admin all returned 503, and the home page carried a Retry-After header of 600.
The core function wp_is_maintenance_mode checks that file, and it treats a timestamp older than 10 minutes as maintenance over. Our test file backdated by 700 seconds returned the normal site.
To keep the mode on longer, set the timestamp in the future:
<?php $upgrading = time() + 259200; ?>
A future timestamp kept the site in maintenance mode in our test. You are also locked out of wp-admin while it runs. Keep FTP access ready.
To turn it off, delete the file. The same fix works when WordPress is stuck on “Briefly unavailable for scheduled maintenance” after an interrupted update. A stuck update file ends itself after 10 minutes. Delete it only if the message stays longer.
How to Hide a WordPress Site From the Public Until It Is Ready
To hide a WordPress site from the public until launch, put a password on the whole site with a plugin. Visitors then see a password form, and search engines see a noindexed login page instead of your content. A coming soon page, a staging copy, or a local site also works.
We tested the free Password Protected plugin. Its WordPress.org listing shows 300,000+ active installations and a tested-up-to note of WordPress 7.0.7, and it worked on 7.1.3 in our test. Install it, open Password Protected in the admin menu, and skip the opt-in screen that appears on first use.
Turn on the Password Protected Status toggle, type a password twice, and click Save Changes. Share that password only with the clients and teammates who need to preview the site.

A signed-out visitor now lands on a password form instead of the home page.

Behind that form, the plugin redirected the home page to a login page that returned 200 with a “noindex, follow” robots tag. The REST API returned 401 for a page request. We could not reach any content without the password.
This is the best fit for making a WordPress site private until launch while clients review it. It does not send a 503. Use it on a site that has never been indexed. For a live site, use maintenance mode instead.
Why the Discourage Search Engines Setting Is Not Protection
The Discourage search engines setting only asks crawlers to skip your site, and it does not block anyone from opening it. The WordPress Reading screen documentation says it is up to search engines to honor the request. Anyone with the link still sees everything.
Go to Settings > Reading and tick Discourage search engines from indexing this site under Search engine visibility.

With the box ticked, our test site added a “noindex, nofollow” robots tag to the page head, as the documentation describes since WordPress 5.3. Pages still returned 200 to everyone. The core sitemap at /wp-sitemap.xml returned 404 while the setting was on, and robots.txt did not change.
That robots.txt detail matters. Google’s noindex documentation says a page must not be blocked by robots.txt for noindex to work. Google has to crawl the page to see the tag. Do not add a Disallow rule on top of this setting.
Warning: Untick the box on launch day. A site that stays noindexed after launch will not rank. Our guide to removing the noindex tag in WordPress shows where else it can hide.
Build on a Local or Staging Site Instead
The safest way to hide unfinished work is to build it where the public cannot reach it. A local site runs on your own computer, and a staging site is a private copy on your host. You launch only when the work is done.
Our guide to setting up WordPress with Local WP walks through the local route. Nothing on a local site has a public address. No visitor or crawler can find it.
A staging copy does have an address. Protect it. Add a password with the plugin above and tick the Discourage search engines box as a second layer. Delete the staging site or keep it locked once the real site goes live.
How to Unpublish WordPress Site Pages and Posts
To unpublish WordPress site pages and posts one at a time, open the item and change its status to Draft. The page then returns a 404 error to visitors while you keep every word you wrote. Private and password protected are two other options.
We checked what a signed-out visitor gets for each state. A draft, a private page, and a trashed page all returned 404. A password protected page returned 200 with a password form.
If the old URL had visitors or links, point it at a replacement with a redirect in WordPress.
Switch a Page or Post to Draft
Open the page in the editor and click the Status row in the sidebar. In WordPress 7.1 that opens a Status and visibility panel. Choose Draft and click Save.

Unpublish Several Pages With Bulk Edit
Go to Pages > All Pages and tick the pages you want to hide. Pick Bulk edit from the dropdown above the list and click Apply. Set Status to Draft and click Update.

Make a Page Private or Password Protected
Open the same Status and visibility panel. Private is described there as visible only to site admins and editors. Password protected is a checkbox at the bottom, and it asks for a password you share with the people who need the page.

How to Unpublish a WooCommerce Store
The easiest way to unpublish a WooCommerce store is to keep the site online and stop people from buying. Google recommends this over a full shutdown, and calls disabling the cart the simplest approach. WooCommerce also has a Coming soon mode for store pages.
In WooCommerce 11.2, go to WooCommerce > Settings > Site visibility. Select Coming soon to hide the whole site behind a landing page. Turn on Apply to store pages only to cover the shop, cart, checkout and products while the rest of the site stays public.

A signed-out visitor to our shop page saw the message “Great things are on the horizon”. Admins and shop managers bypass the screen, according to the plugin code. A Share your site with a private link switch lets a client preview the store.

This mode returned a 200 status in our test and added no noindex tag. It suits a store that has not launched.
For an established store, disable buying instead. This one line makes every product not purchasable and the add to cart buttons disappear:
add_filter( 'woocommerce_is_purchasable', '__return_false' );
Add it with a code snippets plugin or a child theme. Do not edit the parent theme files. On our test store the product page kept loading and the add to cart button disappeared, and removing the line reopened the shop.
To hide single products, set them to Draft or Private, or follow our guide to hide private products from your WooCommerce store.
A store with live orders needs a plan for checkout, payment gateways, and emails. A banner alone is not enough. If you want that planned and tested before you pause anything, our WooCommerce development services cover it.
How to Delete a WordPress Site Permanently
To delete a WordPress site permanently, remove its files and its database from your host. Then cancel anything you no longer need. Many hosting panels have a one-click remove option for installed sites. Deletion cannot be undone. Back up first.
- Back up and export: Save the files and the database or use Tools > Export for your content.
- Use your host’s remove option: Open your hosting panel, find the site, and choose Delete or Remove.
- Delete by hand if there is no option: Open the file manager and delete the site folder. Then delete the database in the panel’s Databases section.
- Cancel what you no longer use: Deleting files does not cancel your hosting plan or your domain.
Check the database name in wp-config.php before you delete anything. That way you remove the right one. The domain keeps working after deletion. Point it somewhere else or let it lapse. If the site ranked, redirect its best pages to a new home first.
WordPress.com works differently. Its delete site guide says a deleted site can be restored within 30 days, and that its address can never be reused afterward.
How to Bring the Site Back Online
To bring a WordPress site back online, switch off the maintenance plugin, clear every cache, and test the home page while signed out. Then confirm the status code is 200 and that the Discourage search engines box is unticked. Finish by opening a few inner pages.
Purge your caching plugin and your CDN, because either can keep serving the holding page after the toggle is off. Re-run the header check from Step 3 and look for HTTP 200. Our guide to publishing a WordPress site has the full launch checklist.
Which Method Fits Your Situation
Pick maintenance mode for a live site, a password for a site that has never launched, and the draft status for single pages. Use the Discourage search engines setting only on private test copies. Delete only when you are finished with the site.
| Your situation | Method | Why |
|---|---|---|
| Live site under repair for hours or days | Maintenance mode plugin | Returns 503 with a Retry-After header |
| New site not launched yet | Password plugin or coming soon | Hides the build from the public |
| Client needs to preview | Password plugin | Only people with the password get in |
| One page needs to disappear | Draft status | The content stays saved |
| Store needs to stop selling | Disable the cart | Google’s simplest approach for stores |
| Site is finished for good | Delete files and database | Frees the hosting space |
Conclusion
To unpublish a WordPress site safely, match the method to the job. Maintenance mode returns a 503 and suits a live site for a few days at most. A password hides a site that has not launched, and the draft status removes single pages.
The Discourage search engines setting is only a request. Never rely on it alone. Back up before every change and check the status code after you switch anything on. If you want help keeping updates and backups under control, our WordPress maintenance services can take that work off your plate.
Frequently Asked Questions (FAQs)
Q1. Will maintenance mode hurt my Google rankings?
A short maintenance period with a 503 status should not remove your pages. Google says already indexed URLs are preserved but eventually dropped when server errors continue. Its pause guidance says a full shutdown should last a few days at most.
Q2. What is the difference between unpublishing and deleting a WordPress site?
Unpublishing hides the site from visitors and keeps your files, database, and content. Deleting removes them from the server, and you cannot undo it without a backup. Unpublish first if you might want the site back.
Q3. Do draft posts and pages affect my SEO?
A draft returns a 404 to visitors and crawlers. It cannot rank. If the page was already indexed, it drops out over time. Your other pages are not affected. Redirect the old URL if people still link to it.
Q4. Why does my site still show the maintenance page after I turned it off?
Usually a cache is serving the old holding page. Purge your caching plugin, your CDN and your browser cache. Then test in a private window. Also check that the .maintenance file is gone from your site root.
Q5. How do I unlaunch a WordPress site I already published?
Treat it as unpublishing. Use a maintenance mode plugin for a temporary pause, set single pages to Draft, or delete the site if you are finished. Back up first, whichever route you take.
Q6. Can I unpublish a page without deleting it?
Yes. Set the page to Draft or Private and it stays in your dashboard with all its content. Moving a page to the trash is different, because the trash can be emptied by mistake.
Q7. Is a coming soon page bad for SEO on a new site?
A coming soon page returns 200. Google may index the holding page. That is fine before launch if you replace it with real pages and turn the mode off on launch day. On a live ranking site, use maintenance mode instead.
Q8. How long can I keep WordPress in maintenance mode?
Google says a full shutdown should be a very short period, a few days at most, in its pause guidance. If the work takes longer, keep the site online and disable only the parts you need to stop.
