How to Create a Custom Maintenance Page in WordPress with Free Template

John Turner founder of SeedProd Posted by John Turner on October 25, 2016

Last updated on: October 28, 2016


Default WordPress Maintenance Page

WordPress has it’s own Maintenance Mode it goes into when it performs a core, themes or plugins updates. The picture above shows what you see when WordPress is performing these updates. What most people don’t know is that this is different from what a WordPress Maintenance Mode plugins would do. Learn more about the difference between WordPress’s built in maintenance mode vs what a maintenance mode plugin does. In a nutshell a maintenance plugin will hide your site while you make changes, you still have access to the frontend and wp-admin backend, while the WordPress built in maintenance mode hides the entire site while the software itself is updating, no access to the frontend or backend. Therefore maintenance mode plugins won’t work when WordPress is doing it’s built in maintenance process. Today I’m going to show you how to customize the default maintenance message page which says “Briefly unavailable for scheduled maintenance. Check back in a minute.” to a custom html page and even how to collect emails on this page while your site is down.

How to Create a Custom WordPress Maintenance Mode Page

To create a custom maintenance message for WordPress you simply need to create a file called maintenance.php and upload this file to the root of your wp-content folder. (Learn how to ftp into WordPress) This page will now be used when WordPress is performing updates to your site.

Upload a file called maitenance.php to your wp-content folder.

Upload a file called maintenance.php to your wp-content folder.

One thing to note is you’ll want to make sure you put the correct http status code on this page so search engines know your site is in maintenance mode and will not index your maintenance page. This would be very bad for your SEO. To do this put this line of code on top of your maintenance.php file.

header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 600');

This tells search engines that your site is in unavailable and to try back in 10 minutes. WordPress core, themes and plugins updates usually only take a few seconds to update but we’ll put 10 minutes to be on the safe side. Below that http status code you can now add a custom message or html to create a better looking maintenance page or even add code to collect emails while your site is down.

Free Customizable WordPress Maintenance Mode Page Template

If you don’t know html we have included a download to our free maintenance mode template.

custom wordpress maintenance mode page

Get a free custom maintenance template for your WordPress website to use when WordPress is performing updates.

  • Features Include:
  •   Comes with 6 Background Images or Use Your Own
  •   Easily Customize the Logo, Headline and Description
  •   Collect Emails with MailChimp
  •   Display Links to Your Facebook, Twitter and Email Accounts
  •   Built with Bootstrap, HTML and CCS3
  •   Well Documented

Free Download

Want to create a more customized maintenance page and collect email from different email providers? Checkout, this builder creates custom html coming soon pages which can be repurposed for WordPress Maintenance Mode pages.

If you are looking for a free WordPress Maintenance Mode Plugin to use while you perform updates on your site instead check out Coming Soon Page & Maintenance Mode by SeedProd

John Turner founder of SeedProd

By John Turner

John is the founder of and a WordPress Developer with over 15 years of development experience.

7 thoughts on "How to Create a Custom Maintenance Page in WordPress with Free Template"

  1. Henrique Vianna says:

    That’s the simple solution I was looking for! I also appreciate the tip about sending the proper HTTP headers. Thanks a lot!!

  2. Hi there! Just wondering: I am assuming the background image should not be located in the respective website’s media library? Where would I save a custom image for the background?

    1. John Turner says:

      You can put it wherever just make sure you have the path to it correctly set

  3. alaa nassar says:

    I think you need to refresh the page after 1min.

  4. Amino says:

    Does a maintenance page made by wp plugins work when the database is disconnected?

  5. This is very helpful, thanks so much.

    Does the email capture on this template work automatically? I’ve noticed there is not anything in the action=”” part of the form.

    Can you advise how we can tie into the WordPress mail system so the admin gets an email with any new signups?

    1. I’ve just watched the video regarding mailchimp. Is there anyway of collecting emails without mailchimp?

Leave a Reply

Your email address will not be published. Required fields are marked *

Made with in Charleston, SC USA

Copyright © 2019 SeedProd LLC
Terms & Conditions | Privacy Policy | SeedProd Coupon Code