{"id":90010,"date":"2026-03-18T10:00:00","date_gmt":"2026-03-18T10:00:00","guid":{"rendered":"https:\/\/blaminhor.com\/?p=90010"},"modified":"2026-02-13T16:32:33","modified_gmt":"2026-02-13T15:32:33","slug":"wordpress-maintenance-mode","status":"publish","type":"post","link":"https:\/\/blaminhor.com\/p\/m\/news\/wordpress-maintenance-mode\/","title":{"rendered":"How to Put Your WordPress Site in Maintenance Mode the Right Way"},"content":{"rendered":"\n<p>You need to update your site&rsquo;s design, migrate some content, or fix a bug that&rsquo;s visible to visitors. You want to show a \u00ab\u00a0we&rsquo;ll be right back\u00a0\u00bb page while you work. Sounds simple \u2014 but getting <strong>WordPress maintenance mode<\/strong> right involves more than just showing a message.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Why the HTTP Status Code Matters<\/h2>\n\n\n\n<p>There are two different scenarios, and they require two different HTTP responses:<\/p>\n\n\n\n<p><strong>Maintenance mode<\/strong>: Your site is temporarily down for updates. Search engines should know this is temporary and come back later. The correct HTTP response is <strong>503 Service Unavailable<\/strong>.<\/p>\n\n\n\n<p><strong>Coming soon mode<\/strong>: Your site isn&rsquo;t launched yet. It&rsquo;s a normal page that happens to say \u00ab\u00a0coming soon.\u00a0\u00bb The correct response is <strong>200 OK<\/strong>.<\/p>\n\n\n\n<p>Sending the wrong code can hurt your SEO. A 503 on a coming-soon page tells Google something is broken. A 200 on a maintenance page tells Google to index your placeholder text.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Enable WordPress Maintenance Mode<\/h2>\n\n\n\n<p>Activate the <strong>Maintenance Mode<\/strong> module in <a href=\"https:\/\/wp.blaminhor.com\">Blaminhor Essentials<\/a>. The settings let you choose exactly how the maintenance page behaves.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Choose Your Mode<\/h3>\n\n\n\n<p>Select between <strong>Maintenance<\/strong> (503) or <strong>Coming Soon<\/strong> (200). The correct HTTP status code is sent automatically.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Customize the Page<\/h3>\n\n\n\n<p>Set a headline, a message, a background color, and a text color to match your brand. No HTML editing required \u2014 just fill in the fields.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Control Who Can Access the Site<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Whitelist user roles<\/strong> \u2014 Typically Administrators, but you can add Editors or any other role.<\/li>\n\n\n\n<li><strong>Whitelist IP addresses<\/strong> \u2014 Useful if you want your entire office to access the site without logging in.<\/li>\n\n\n\n<li><strong>Login link<\/strong> \u2014 Optionally show a link to <code>wp-login.php<\/code> so authorized users can log in from the maintenance page.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">The Admin Reminder<\/h3>\n\n\n\n<p>When maintenance mode is active, a persistent notice appears at the top of every admin page. This prevents the most common mistake: finishing your work and forgetting to turn off <strong>maintenance mode<\/strong> while your site stays invisible to the world.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">When to Use Maintenance Mode<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>During a major theme or design change.<\/li>\n\n\n\n<li>While migrating content or restructuring URLs.<\/li>\n\n\n\n<li>During a database update or cleanup.<\/li>\n\n\n\n<li>Before launching a new site (use Coming Soon mode).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">A Simple Tool for a Simple Need<\/h2>\n\n\n\n<p>Maintenance mode doesn&rsquo;t need to be complicated. A clear message, the right HTTP code, and access control for authorized users \u2014 that&rsquo;s all it takes.<\/p>\n\n\n\n<p>Included in <a href=\"https:\/\/wordpress.org\/plugins\/blaminhor-essentials\/\">Blaminhor Essentials<\/a>, available for free.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Set up a maintenance or coming soon page with the right HTTP status code. Whitelist users by role or IP address.<\/p>\n","protected":false},"author":1,"featured_media":90041,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[80],"tags":[],"class_list":["post-90010","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-projects"],"_links":{"self":[{"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/posts\/90010","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/comments?post=90010"}],"version-history":[{"count":2,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/posts\/90010\/revisions"}],"predecessor-version":[{"id":90062,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/posts\/90010\/revisions\/90062"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/media\/90041"}],"wp:attachment":[{"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/media?parent=90010"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/categories?post=90010"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blaminhor.com\/p\/m\/news\/wp-json\/wp\/v2\/tags?post=90010"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}