{"id":12687,"date":"2018-12-07T16:40:56","date_gmt":"2018-12-07T16:40:56","guid":{"rendered":"https:\/\/www.hostinger.com\/tutorials\/?p=12687"},"modified":"2026-03-10T09:31:04","modified_gmt":"2026-03-10T09:31:04","slug":"wordpress-maintenance-mode","status":"publish","type":"post","link":"\/ca\/tutorials\/wordpress-maintenance-mode","title":{"rendered":"WordPress maintenance mode: how to enable and troubleshoot"},"content":{"rendered":"<?xml encoding=\"utf-8\" ?><p>Making constant improvements to your WordPress site can ensure excellent performance and user experience. However, doing so can sometimes result in downtime, which can hurt your online presence. This is where maintenance mode, which creates a temporary page to prevent visitors from seeing a broken website,&nbsp;comes into play.&nbsp;<\/p><p>In this beginner-friendly tutorial, we&rsquo;ll explore different methods to put your WordPress website under maintenance. You&rsquo;ll also learn how to disable maintenance mode and troubleshoot your website if it&rsquo;s stuck in it.<\/p><p class=\"has-text-align-center\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/WordPress-Security-Checklist.pdf\" target=\"_blank\" rel=\"noopener\">Download WordPress security checklist<\/a><\/p><p>\n\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-when-to-put-your-site-in-maintenance-mode\">When to Put Your Site in Maintenance Mode<\/h2><p>Let&rsquo;s look at different scenarios that could benefit from maintenance mode.<\/p><ul class=\"wp-block-list\">\n<li><strong>Major updates<\/strong> &#8210; prevents users from encountering errors due to incompatibility issues in the WordPress core, theme, or plugins.<\/li>\n\n\n\n<li><strong>Website redesign<\/strong> &#8210; helps maintain a consistent user experience when switching to a new theme or making significant design and structure changes.<\/li>\n\n\n\n<li><strong>Performance improvements<\/strong> &#8210; ensures uninterrupted performance during updates and feature testing.<\/li>\n\n\n\n<li><strong>Security audits<\/strong> &#8210; protects visitors&rsquo; data when removing malware and recovering from a hack.<\/li>\n\n\n\n<li><strong>Content updates <\/strong>&#8210; keep your website structure intact when making changes to the content, like adding or deleting pages. Maintenance mode also helps you avoid search engine penalties when making SEO changes, such as updating URLs and meta tags.<\/li>\n\n\n\n<li><strong>Planned downtime<\/strong> &#8210; maintains a professional image and manages visitors&rsquo; expectations by communicating when the website will be back online.<\/li>\n<\/ul><p>To minimize traffic and revenue loss, shorten your WordPress maintenance time by creating a <a href=\"\/ca\/tutorials\/wordpress-staging-environment\">staging environment<\/a>. The duplicate website allows you to test changes without impacting the live site.<\/p><p>Keep in mind that maintenance mode is different from a coming soon page. Maintenance mode is for temporary downtimes on existing sites, while a coming soon page is for promoting and preparing for the launch of a new site.<\/p><p>See our guide for <a href=\"\/ca\/tutorials\/how-to-create-coming-soon-page-wordpress\">creating a coming soon page on a WordPress site<\/a>, which includes easy steps and plugin recommendations for beginners.<\/p><h2 class=\"wp-block-heading\" id=\"h-3-ways-to-enable-wordpress-maintenance-mode\">3 Ways to Enable WordPress Maintenance Mode<\/h2><p>There are four ways to activate WordPress maintenance mode &#8210; from Hostinger&rsquo;s hPanel dashboard, using a maintenance plugin, adding a custom function, and modifying the <strong>.htaccess<\/strong> file.<\/p><p>We&rsquo;ll categorize them by ease of use, so feel free to pick the method that suits you best.<\/p><p>Let&rsquo;s start with the easiest one.<\/p><h3 class=\"wp-block-heading\" id=\"h-1-using-the-hpanel-dashboard-easiest-method-for-hostinger-users\">1. Using the hPanel Dashboard &#8210; Easiest Method for Hostinger Users<\/h3><p>Hostinger users get easy access to maintenance mode. Simply navigate to <strong>WordPress <\/strong>&rarr; <strong>Overview <\/strong>from the hPanel dashboard, and click on the slider next to the <strong>Maintenance mode<\/strong> to activate or deactivate it.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e401d9\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"945\" height=\"676\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/hpanel-maintenance-mode.png\" alt=\"WordPress maintenance mode setting in Hostinger's hPanel\" class=\"wp-image-111244\"  sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>This is the easiest method of the four, as you don&rsquo;t have to install a plugin or code. However, it doesn&rsquo;t have any customization settings, meaning your visitors will see our default maintenance mode page.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e42693\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"482\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/hostinger-coming-soon-page-1024x482.png\" alt=\"Hostinger coming soon page that appears when maintenance mode is enabled\" class=\"wp-image-111245\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Check out our <a href=\"\/ca\/tutorials\/wordpress\">WordPress tutorial<\/a> to see other convenient features that are accessible from the hPanel dashboard.<\/p><p>Another way to enable maintenance mode is to use Hostinger Tools plugin. Hostinger automatically installs it during the WordPress setup process to save you time.<\/p><p>To enable maintenance mode using this plugin, go to <strong>Hostinger <\/strong>&rarr; <strong>Tools <\/strong>from your WordPress dashboard. Then, toggle on the <strong>Maintenance mode<\/strong> option to enable it. You&rsquo;ll also get a link to bypass maintenance mode that you can share with other users.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e4522f\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"396\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/hostinger-tools-1024x396.png\" alt=\"Enabling WordPress maintenance mode using the Hostinger Tools plugin\" class=\"wp-image-111246\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><?xml encoding=\"utf-8\" ?><figure class=\"wp-block-image size-large\"><a class=\"hgr-tutorials-cta hgr-tutorials-cta-wordpress-hosting\" href=\"\/ca\/wordpress-hosting\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/New-WP_in-text-banner-1024x300.png\" alt=\"\" class=\"wp-image-111781\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h3 class=\"wp-block-heading\" id=\"h-2-utilizing-a-plugin-best-for-beginners\">2. Utilizing a Plugin &#8210; Best for Beginners<\/h3><p>For non-Hostinger users, the most convenient way to enable maintenance mode is by using a plugin.<\/p><p>Many maintenance plugins allow you to design a custom maintenance mode page and activate it with just a few clicks. Consider adding these key elements to your maintenance page fora professional look:<\/p><ul class=\"wp-block-list\">\n<li><strong>Maintenance message<\/strong> &#8210; a concise message explaining that the site is currently undergoing maintenance.<\/li>\n\n\n\n<li><strong>Logo and branding<\/strong> &#8210; use image blocks to add your branding elements and create a consistent look.<\/li>\n\n\n\n<li><strong>Countdown timer<\/strong> &#8210; shows the remaining time until the site is live again. Since the <strong>Countdown <\/strong>block is a premium feature, use a <strong>Text <\/strong>block to communicate the estimated downtime.<\/li>\n\n\n\n<li><strong>Subscription form<\/strong> &#8210; allows visitors to sign up to be notified when the site is back online.<\/li>\n\n\n\n<li><strong>Alternate access details<\/strong> &#8210; offers other ways to access the website&rsquo;s services or information during downtime. For example, link your social media accounts so visitors can go there instead.<\/li>\n<\/ul><p>We&rsquo;ll take a closer look at two of the most popular maintenance mode plugins &#8210; <strong>SeedProd<\/strong> and <strong>LightStart<\/strong>.<\/p><h4 class=\"wp-block-heading\" id=\"h-seedprod\"><a href=\"https:\/\/wordpress.org\/plugins\/coming-soon\/\" target=\"_blank\" rel=\"noopener\">SeedProd<\/a><\/h4><p>SeedProd is a freemium WordPress plugin that offers a drag-and-drop builder for creating various page types, including a custom maintenance page. It has plenty of premade templates, so you don&rsquo;t have to start from scratch.<\/p><p>The premium version, starting at <strong>$39.50\/year<\/strong>, gives you access to more template options. Paid users can also design custom 404 and login pages with the plugin.<\/p><p>Follow these steps to set up a WordPress maintenance mode page using SeedProd&rsquo;s free version:<\/p><ol class=\"wp-block-list\">\n<li>Install and activate the SeedProd plugin. If you can&rsquo;t access your WordPress dashboard, consult our <a href=\"\/ca\/tutorials\/wordpress\/how-to-install-wordpress-plugins\">plugin installation guide<\/a> for other methods.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e48721\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"832\" height=\"376\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/seedprod-plugin-banner.png\" alt=\"SeedProd in WordPress plugin directory\" class=\"wp-image-111247\"  sizes=\"auto, (max-width: 832px) 100vw, 832px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"2\" class=\"wp-block-list\">\n<li>Open the <strong>SeedProd <\/strong>tab on the left sidebar of your WordPress dashboard and select <strong>Set up a Maintenance Mode Page<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e4aa49\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"409\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/seedprod-dashboard-1024x409.png\" alt=\"SeedProd dashboard in WordPress, highlighting the option to create a maintenance mode page\" class=\"wp-image-111248\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Choose a free maintenance mode page template from the library. You can unlock more free template options by signing up for SeedProd&rsquo;s newsletter.<\/li>\n\n\n\n<li>As you enter the page editor, customize the template by dragging and dropping elements. Click <strong>Preview <\/strong>to see how the page looks, and hit <strong>Save <\/strong>once you&rsquo;re happy with the final design.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e4cfbf\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"483\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/seedprod-page-builder-1024x483.png\" alt=\"Customizing a maintenance mode page on the SeedProd page builder editor\" class=\"wp-image-111249\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"5\" class=\"wp-block-list\">\n<li>Click the cross symbol on the top right corner of the editor. SeedProd will ask whether you want to enable maintenance mode. Select <strong>Yes, Activate<\/strong> to confirm.<\/li>\n\n\n\n<li>You&rsquo;ll be redirected back to the SeedProd dashboard. Make sure the <strong>Maintenance Mode<\/strong> setting is set to <strong>Active<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e4f297\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"406\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/seedprod-dashboard-maintenance-mode-on-1024x406.png\" alt=\"SeedProd dashboard in WordPress, highlighting the toggle to enable maintenance mode\" class=\"wp-image-111250\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"7\" class=\"wp-block-list\">\n<li>Click <strong>Edit Page<\/strong> to make further changes to the page.&nbsp;<\/li>\n\n\n\n<li>Toggle the setting off to deactivate maintenance mode after completing all your maintenance tasks.<\/li>\n<\/ol><h4 class=\"wp-block-heading\" id=\"h-lightstart\"><a href=\"https:\/\/wordpress.org\/plugins\/wp-maintenance-mode\/\" target=\"_blank\" rel=\"noopener\">LightStart<\/a><\/h4><p>Also known as WP Maintenance mode, LightStart integrates its builder with the WordPress block editor. It&rsquo;s simple to use for beginners, even without drag-and-drop functionality.<\/p><p>While the plugin is free, it fully relies on <a href=\"https:\/\/themeisle.com\/plugins\/otter-blocks\/\" target=\"_blank\" rel=\"noopener\">Otter Blocks<\/a>&rsquo; block-based features. LightStart will automatically install the sister plugin&rsquo;s free version as part of its setup requirement. You can upgrade to the paid version of Otter Blocks starting at <strong>$49\/year<\/strong> to unlock advanced features like animations and visibility conditions.<\/p><p>Here&rsquo;s how to set up a custom maintenance mode page using LightStart:<\/p><ol class=\"wp-block-list\">\n<li>Install and activate the LightStart plugin.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e51945\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"837\" height=\"389\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/lightstart-page-builder.png\" alt=\"LightStart in WordPress plugin directory\" class=\"wp-image-111251\"  sizes=\"auto, (max-width: 837px) 100vw, 837px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"2\" class=\"wp-block-list\">\n<li>Go to <strong>LightStart <\/strong>from the WordPress dashboard and select the <strong>Maintenance mode<\/strong> page type. Check the <strong>image optimization<\/strong> option and hit Continue.&nbsp;<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e53eac\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"753\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/lightstart-page-type-1024x753.png\" alt=\"LightStart page type options\" class=\"wp-image-111252\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Configure the settings within the <strong>General <\/strong>tab as follows:<\/li>\n<\/ol><ul class=\"wp-block-list\">\n<li><strong>Status <\/strong>&#8210; set it to <strong>Activated<\/strong>. Don&rsquo;t forget to have the mode <strong>Deactivated <\/strong>once your website is ready to go live again.<\/li>\n\n\n\n<li><strong>Bypass for Search Bots<\/strong> &#8210; pick <strong>Yes <\/strong>to maintain search engine rankings and avoid SEO penalties due to downtime. Keep in mind that doing so might cause discrepancies between search results and the actual content.<\/li>\n\n\n\n<li><strong>Back end and Front end Role<\/strong> &#8210; decide which roles can access the site&rsquo;s back end and front end.<\/li>\n\n\n\n<li><strong>Robots Meta Tag <\/strong>&#8210; go with the default <strong>index, follow<\/strong> option to keep it consistent with the search bot setting.<\/li>\n\n\n\n<li><strong>Exclude <\/strong>&#8210; add feed, pages, archives, or IP addresses you want to exclude from maintenance mode.<\/li>\n\n\n\n<li><strong>Notice <\/strong>&#8210; set it to <strong>Yes<\/strong> if you want to receive notices during the maintenance period.<\/li>\n<\/ul><ol start=\"4\" class=\"wp-block-list\">\n<li>After saving the new settings, open the <strong>Design <\/strong>tab and import a starter template for your maintenance mode page. To save time, pick a template that comes with the element you need, such as a countdown timer or a subscription form.&nbsp;<\/li>\n\n\n\n<li>A notification popup will appear once the import is complete. Select <strong>Go to page<\/strong> to customize it.<\/li>\n\n\n\n<li>In the WordPress editor, edit the template like any other page. Drag and drop elements from the <strong>Blocks <\/strong>library to add extra elements and features. Hit <strong>Update <\/strong>once you&rsquo;re done.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e56528\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"483\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/lightstart-customization-1024x483.png\" alt=\"Customizing a maintenance mode starter template using LightStart\" class=\"wp-image-111253\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"7\" class=\"wp-block-list\">\n<li>Return to the <strong>LightStart <\/strong>section and open the <strong>Module <\/strong>tab. Here, you can enable Google Analytics tracking to monitor your website traffic during the maintenance period. Remember to <strong>Save settings<\/strong> if you make any changes.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e58b0c\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"660\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/lightstart-module-1024x660.png\" alt=\"LightStart's Module settings, where user can use Google Analytics to track traffic during maintenance\" class=\"wp-image-111254\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"8\" class=\"wp-block-list\">\n<li>Open the <strong>Manage Bot<\/strong> tab and set up the conversation steps to capture leads. Activating the bot without changing messages will prompt it to build an email list. Hit <strong>Save settings<\/strong> to confirm.<\/li>\n<\/ol><h3 class=\"wp-block-heading\" id=\"h-3-manually-best-for-advanced-users\">3. Manually &#8210; Best for Advanced Users<\/h3><p>Installing too many plugins can slow down a WordPress site, so advanced users often choose to enable maintenance mode manually with custom code. This method offers full control over the maintenance mode, letting you customize it to your needs.<\/p><p>There are two ways to configure maintenance mode manually &#8210; with a custom function and by modifying the<strong> .htaccess<\/strong> file.<\/p><p><div><p class=\"important\"><strong>Important!<\/strong>&nbsp; <a href=\"\/ca\/tutorials\/backup-wordpress\">Back up your website<\/a> first before editing code to prevent data loss in case something goes wrong.<\/p><\/div>\n\n\n\n<\/p><h4 class=\"wp-block-heading\" id=\"h-using-a-custom-function\">Using a Custom Function<\/h4><p>This method involves adding WordPress actions and hooks to the theme&rsquo;s <strong>functions.php<\/strong> file to activate the maintenance mode. It&rsquo;s also PHP-based, offering flexibility in triggering and displaying the mode.<\/p><p>However, since it&rsquo;s theme-dependent, you need to replicate the changes in the new theme&rsquo;s file when switching themes.<\/p><p>You can use your web host&rsquo;s<strong> File Manager<\/strong> or an <a href=\"\/ca\/tutorials\/ftp\/filezilla-ftp-configuration\">FTP client<\/a> like <strong>FileZilla<\/strong> to access your website files.<\/p><p>Here&rsquo;s how to activate maintenance mode using a custom function via hPanel&rsquo;s File Manager:<\/p><ol class=\"wp-block-list\">\n<li>Go to <strong>Dashboard <\/strong>&rarr; <strong>File manager <\/strong>from hPanel.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e5b16e\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"507\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/hpanel-dashboard-1024x507.png\" alt=\"hPanel dashboard, highlighting the button to access File Manager\" class=\"wp-image-111255\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"2\" class=\"wp-block-list\">\n<li>Access the root directory (<strong>public_html<\/strong>) and open <strong>wp-content <\/strong>&rarr; <strong>themes<\/strong>. Locate the <strong>functions.php<\/strong> file in your active theme&rsquo;s folder.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e5dcfc\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"436\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/file-manager-functions-1024x436.png\" alt=\"Locating functions.php file using File Manager\" class=\"wp-image-111256\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Double-click on the file and add the following code snippet at the end of the file:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">\/\/ Activate WordPress Maintenance Mode<br><br>function wp_maintenance_mode() {<br><br>if (!current_user_can('edit_themes') || !is_user_logged_in()) {<br><br>wp_die('&lt;h1&gt;Under Maintenance&lt;\/h1&gt;&lt;br \/&gt;We&rsquo;re hard at work improving our site for you. We&rsquo;ll be back online shortly. Thanks for bearing with us!');<br><br>}<br><br>}<br><br>add_action('get_header', 'wp_maintenance_mode');<\/pre><p>Feel free to personalize the HTML message on the fourth line.<\/p><ol start=\"4\" class=\"wp-block-list\">\n<li>Hit <strong>Save <\/strong>and open your website in a browser to ensure maintenance mode is active. The default maintenance page for WordPress should look like this:<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e5ff5e\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"245\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/maintenance-mode-message-1024x245.png\" alt=\"Custom maintenance mode message for WordPress\" class=\"wp-image-111257\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"5\" class=\"wp-block-list\">\n<li>After completing maintenance, remove the code from <strong>functions.php<\/strong> to make the website live again.<\/li>\n<\/ol><p>To prevent website updates from undoing this configuration, set up a <a href=\"\/ca\/tutorials\/how-to-create-wordpress-child-theme\">child theme<\/a> and add the code to its <strong>functions.php<\/strong> file.<\/p><h4 class=\"wp-block-heading\" id=\"h-modifying-the-htaccess-file\">Modifying the .htaccess File<\/h4><p>Unlike the custom function method, modifying the <strong>.htaccess<\/strong> file lets you set server-level rules. This makes it ideal for enabling maintenance mode on WordPress multisite.<\/p><p>Follow these steps to activate maintenance mode using <strong>.htaccess<\/strong>:<\/p><ol class=\"wp-block-list\">\n<li>Create a <strong>maintenance.html<\/strong> file using <strong>Notepad<\/strong>, <strong>TextEdit<\/strong>, or <a href=\"\/ca\/tutorials\/best-code-editors\">code editors<\/a> like <strong>Notepad++<\/strong> or <strong>TextMate<\/strong>. Add this code snippet with the custom message inside:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">&lt;!DOCTYPE html&gt;<br><br>&lt;html lang=\"en\"&gt;<br><br>&lt;head&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta charset=\"UTF-8\"&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;Maintenance Mode&lt;\/title&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;style&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;body {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-family: Arial, sans-serif;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-align: center;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding: 50px;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;h1 {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-size: 50px;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;p {<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-size: 20px;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;\/style&gt;<br><br>&lt;\/head&gt;<br><br>&lt;body&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;h1&gt;Hang Tight!&lt;\/h1&gt;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;p&gt;We&rsquo;re hard at work improving our site for you. We&rsquo;ll be back online shortly. Thanks for bearing with us!&lt;\/p&gt;<br><br>&lt;\/body&gt;<br><br>&lt;\/html&gt;<\/pre><ol start=\"2\" class=\"wp-block-list\">\n<li>Access your website files using your web host&rsquo;s File Manager or an FTP client, then upload <strong>maintenance.html<\/strong> to the <strong>public_html<\/strong> folder.<\/li>\n\n\n\n<li>Locate the <strong>.htaccess<\/strong> file in your root directory. See our guide if you need help <a href=\"\/ca\/tutorials\/locate-and-create-htaccess\">locating or creating a .htaccess file<\/a>.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e62934\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"509\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/file-manager-htaccess-1024x509.png\" alt=\"Locating .htaccess file using File Manager\" class=\"wp-image-111258\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"4\" class=\"wp-block-list\">\n<li>Add the following code snippet to the <strong>.htaccess<\/strong> file above the <strong># END WordPress<\/strong> line:<\/li>\n<\/ol><pre class=\"wp-block-preformatted\">RewriteEngine On<br><br>RewriteBase \/<br><br>RewriteCond %{REQUEST_URI} !^\/maintenance.html$<br><br>RewriteRule ^(.*)$ https:\/\/example.com\/maintenance.html [R=307,L]<\/pre><p>Don&rsquo;t forget to replace <strong>example.com<\/strong> with your own domain name.<\/p><ol start=\"5\" class=\"wp-block-list\">\n<li>Hit <strong>Save <\/strong>and open your website to check whether it redirects you to the maintenance HTML page.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e65acd\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"267\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/maintenance-mode-message-html-1024x267.png\" alt=\"Custom maintenance HTML page for WordPress\" class=\"wp-image-111259\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"6\" class=\"wp-block-list\">\n<li>Remember to remove the code from the <strong>.htaccess<\/strong> file after completing your maintenance tasks.<\/li>\n<\/ol><h2 class=\"wp-block-heading\" id=\"h-is-your-wordpress-site-stuck-in-maintenance-mode\">Is Your WordPress Site Stuck in Maintenance Mode?<\/h2><p>While disabling maintenance mode should be easy, errors can still happen.<\/p><p>Interrupted or incomplete updates, large updates, incorrect file permissions, or server configuration issues can cause your WordPress site to get stuck in maintenance mode.<\/p><p>In most cases, deleting the <strong>.maintenance<\/strong> file in <strong>public_html<\/strong> resolves the error. This solution also applies if the error occurs during website updates. WordPress automatically activates maintenance mode to keep your site from looking broken on the front end.<\/p><p>If you can&rsquo;t find the <strong>.maintenance<\/strong> file, the error might be due to plugin or theme incompatibility. Deactivate all plugins to confirm, then reactivate each plugin to identify the source of the error. Repeat these steps for your themes.<\/p><p>Hostinger users who can&rsquo;t access their WordPress dashboard can deactivate their plugins and themes through hPanel. Head to <strong>WordPress <\/strong>&rarr; <strong>Security <\/strong>and toggle off the <strong>Activate <\/strong>option.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69e1f46e681da\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"458\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/hpanel-plugins-1024x458.png\" alt=\"WordPress plugin management in hPanel\" class=\"wp-image-111260\"  sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>To avoid the maintenance mode error in the future, keep these in mind:<\/p><ul class=\"wp-block-list\">\n<li>Keep your browser tab open when updating WordPress.<\/li>\n\n\n\n<li>Avoid updating plugins and themes in bulk. Instead, enable <a href=\"\/ca\/tutorials\/wordpress-auto-update\">WordPress automatic updates<\/a> to avoid incompatibility issues and reduce security risks.<\/li>\n\n\n\n<li>Insufficient storage space can cause updates to fail and put the website in maintenance mode. If your current hosting plan no longer suits your needs, consider upgrading. <a href=\"\/ca\/cloud-hosting\">Hostinger&rsquo;s Cloud Professional<\/a> plan offers 250 GB NVMe storage, 6 GB RAM, daily and on-demand backups, and unlimited bandwidth for <strong>CA$ 22.39\/month<\/strong>.<\/li>\n<\/ul><?xml encoding=\"utf-8\" ?><div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><a class=\"hgr-tutorials-cta hgr-tutorials-cta-wordpress-cloud-hosting\" href=\"\/ca\/cloud-hosting\" target=\"_blank\" rel=\"noreferrer noopener\"><img loading=\"lazy\" decoding=\"async\" width=\"2048\" height=\"600\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2024\/06\/Cloud-hosting-x-WP_in-text-banner-1.png\" alt=\"\" class=\"wp-image-111788\"  sizes=\"auto, (max-width: 2048px) 100vw, 2048px\" \/><\/a><\/figure><\/div><p>Check out our guide on <a href=\"\/ca\/tutorials\/fix-wordpress-briefly-unavailable-for-scheduled-maintenance\">fixing the WordPress Site Stuck in Maintenance Mode<\/a> issue for more troubleshooting tips.<\/p><h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusion<\/h2><p>When enabled, maintenance mode makes your WordPress private, allowing you to make changes and troubleshoot issues without impacting user experience.<\/p><p>Moreover, notifying visitors about your site&rsquo;s status builds trust and preserves brand credibility.<\/p><p>Let&rsquo;s recap four ways to put your website into maintenance mode:<\/p><ul class=\"wp-block-list\">\n<li>Through Hostinger&rsquo;s hPanel dashboard.<\/li>\n\n\n\n<li>Using a WordPress maintenance plugin.<\/li>\n\n\n\n<li>Adding a custom function to the <strong>functions.php<\/strong> file.<\/li>\n\n\n\n<li>Modifying the <strong>.htaccess<\/strong> file.<\/li>\n<\/ul><p>We hope this article helped you learn how to apply WordPress maintenance mode effectively. If you have any questions, check out our FAQ section or leave a comment below. If you want to learn more about managing a WordPress site, read our comprehensive <a href=\"\/ca\/tutorials\/wordpress-maintenance-tips\">WordPress maintenance tips<\/a>.<\/p><h2 class=\"wp-block-heading\" id=\"h-wordpress-maintenance-mode-faq\">WordPress Maintenance Mode FAQ<\/h2><p>This section answers some of the most common questions about WordPress maintenance mode.<\/p><div class=\"schema-faq wp-block-yoast-faq-block\"><div class=\"schema-faq-section\" id=\"faq-question-1718277110295\"><h3 class=\"schema-faq-question\">Which Tasks Can I Do When My WordPress Website Is in Maintenance Mode?<\/h3> <p class=\"schema-faq-answer\">When your WordPress site is in maintenance mode, you can fix errors, back up the site, perform updates, optimize the database, audit security features, and redesign the site without affecting user experience. However, you can&rsquo;t perform tasks like live content updates, real-time user interactions, transaction processing, or comment moderation, as the site is temporarily inaccessible to visitors&#8203;.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1718277117089\"><h3 class=\"schema-faq-question\">How Do I Redirect Users to a Custom URL During Maintenance Mode in WordPress?<\/h3> <p class=\"schema-faq-answer\">During WordPress maintenance mode, the easiest way to redirect users to a custom URL is to use a plugin like <strong>SeedProd<\/strong> or <strong>WP Maintenance Mode<\/strong>. You can also add the <strong>wp_redirect<\/strong> WordPress function to your theme&rsquo;s <strong>functions.php<\/strong> file to set up a temporary conditional redirect.<\/p> <\/div> <div class=\"schema-faq-section\" id=\"faq-question-1718277122639\"><h3 class=\"schema-faq-question\">Where Can I Get Support for a Specific Maintenance Mode Plugin in WordPress?<\/h3> <p class=\"schema-faq-answer\">You can get support for a specific maintenance mode plugin from its official website or the WordPress support forum. Premium plugins often provide support directly through dedicated support channels like live chat and email. Consider support availability and accessibility when choosing a maintenance mode plugin.<\/p> <\/div> <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Making constant improvements to your WordPress site can ensure excellent performance and user experience. However, doing so can sometimes result in downtime, which can hurt your online presence. This is where maintenance mode, which creates a temporary page to prevent visitors from seeing a broken website,&nbsp;comes into play.&nbsp; In this beginner-friendly tutorial, we&rsquo;ll explore different [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/ca\/tutorials\/wordpress-maintenance-mode\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":115,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"WordPress Maintenance Mode: How to Enable and Troubleshoot","rank_math_description":"Maintenance Mode for WordPress: Explore 3 simple methods to enable it using hPanel, plugins, or manually for efficient site management.","rank_math_focus_keyword":"Wordpress maintenance mode","footnotes":""},"categories":[22692],"tags":[],"class_list":["post-12687","post","type-post","status-publish","format-standard","hentry","category-wordpress"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/wordpress-maintenance-mode","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/ativar-modo-manutencao-wordpress","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/mode-maintenance-wordpress","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/modo-mantenimiento-wordpress","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/wordpress-maintenance-mode","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/wordpress-maintenance-mode","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/wordpress-maintenance-mode","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/wordpress-maintenance-mode","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/modo-mantenimiento-wordpress","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/modo-mantenimiento-wordpress","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/modo-mantenimiento-wordpress","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/ativar-modo-manutencao-wordpress","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/wordpress-maintenance-mode","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/wordpress-maintenance-mode","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/wordpress-maintenance-mode","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/wordpress-maintenance-mode","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/posts\/12687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/users\/115"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/comments?post=12687"}],"version-history":[{"count":77,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/posts\/12687\/revisions"}],"predecessor-version":[{"id":141137,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/posts\/12687\/revisions\/141137"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/media?parent=12687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/categories?post=12687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/ca\/tutorials\/wp-json\/wp\/v2\/tags?post=12687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}