YITH Maintenance Mode: The No-Nonsense WordPress Under Construction Plugin
Picture this: you're migrating hosting, changing your theme, updating WooCommerce, or fixing the database. And right then, customers land on your site. They see broken layouts. They think: "Site's dead." And they leave. For good. The maintenance mode was invented precisely to prevent this. YITH Maintenance Mode is one of the best free tools for the job.
Here's the thing: many webmasters ignore placeholder pages, thinking they're "something for beginners." Big mistake. A well-crafted maintenance page doesn't just retain your audience — it builds your brand. While competitors slam the door on visitors, you show: "We'll be right back, and it'll be awesome."
What is YITH Maintenance Mode and Why You Need It
YITH Maintenance Mode is a free WordPress plugin that replaces your entire frontend with a custom placeholder page. Every URL — whether it's the homepage, /contact, or /shop — displays the same maintenance page. One exception: administrators. If you're logged into the admin panel, the site appears normally.
The plugin is built by the YITH team — the same folks behind YITH WooCommerce Wishlist, YITH Booking, and a dozen other popular plugins. This isn't some garage project. It's a product from a studio with 1,000,000+ active installations on WordPress.org.
Plugin features:
- Complete replacement of the public-facing site with a maintenance page
- Custom logo, title, message, and background image
- Built-in email newsletter subscription form
- Countdown timer until launch
- Color scheme customization for the placeholder
- Whitelist of IP addresses and user roles that bypass maintenance
- Social network links on the maintenance page
- 100% WPML compatible
Installation and Activation
The plugin installs like any other from the WordPress repository. Three steps:
- In admin: Plugins → Add New → search "YITH Maintenance Mode"
- Click "Install," then "Activate"
- After activation, a new menu item appears: YITH → Maintenance Mode
You can also install manually: download the ZIP from wordpress.org/plugins, upload through "Plugins → Add New → Upload Plugin." But for most users, searching from the admin panel works fine.
After activation, the plugin does NOT automatically enable maintenance mode. This is convenient — you can calmly set up the look and text while the site continues operating normally. Only toggle it on when everything is ready.
Interface and Settings: A Detailed Breakdown
The settings page is divided into logical sections. Let's break down each one.
General Settings
The most important section. Two key elements:
The Enable Maintenance Mode toggle — the master switch. When set to "No," the plugin does nothing. Switch to "Yes" and the entire public site is instantly replaced by the maintenance page. The admin panel remains accessible as usual.
The Roles allowed to bypass maintenance field — select which user roles see the site normally. Default is "Administrator." You can add "Editor," "Author," or any custom role. If your team is working on content — give editors access.
Maintenance Page Design
This is where you style the placeholder:
- Logo — upload a logo via the standard WordPress media uploader
- Logo tag — HTML tag for the logo (default h1)
- Page title — the page title tag (shown in browser tab)
- Title — main heading on the page (e.g., "Site Under Maintenance")
- Message — custom text. Supports HTML. Typically: "We'll be back soon," "Update in progress," "Opening June 1st"
- Background image — background image for the page
- Background color — fallback background color
- Title font color — heading color
- Text font color — body text color
- Border color for newsletter — border color for the subscription form
By the way, you can put anything in the Message field: HTML tables, YouTube videos, social links. Just don't overload it with heavy elements — the maintenance page should load instantly.
Newsletter Form
Perhaps the most underrated feature. The plugin lets you embed an email collection form on the maintenance page. While the site is closed, you're building a subscriber base. Then — launch an email campaign and instantly bring your audience back.
Form settings:
- Enable — toggle the form on/off
- Action — URL to process the form (integrate with Mailchimp, SendPulse, GetResponse)
- Request method — POST or GET
- Email label — text above the input field
- Submit label — button text
- Email name — name attribute for the field (for integration with email services)
- Hidden fields — hidden form fields (for passing extra parameters to your email service)
Countdown Timer
The timer adds a dynamic counter of days, hours, minutes, and seconds until launch. Visitors see: "Site opens in 3 days 12 hours 45 minutes." This creates anticipation and intrigue.
Countdown settings:
- Enable — toggle on/off
- Countdown date — date and time in YYYY-MM-DD hh:mm format
- Countdown title — text above the timer
- Colors — colors for digits, separators, and labels
Social Networks
While the site is unavailable, visitors need somewhere to go for updates. Social media is ideal. The plugin supports:
- Twitter (X)
- YouTube
- Google+ (historical, but still in settings)
- Flickr
Each network gets a link to your profile. Clickable social icons appear on the maintenance page.
Custom CSS
A field for your own CSS. If the standard settings aren't enough — write custom styles here. You can change fonts, margins, button rounding. But remember: inline styles and class attributes are overkill here — use tag-based selectors.
Complete Settings Reference Table
| Section | Setting | Type | Description |
|---|---|---|---|
| General | Enable Maintenance Mode | Toggle | Enable/disable maintenance mode |
| General | Roles allowed | Multi-select | Roles that see the site without placeholder |
| Design | Logo | Image upload | Logo on the maintenance page |
| Design | Logo tag | Text field | HTML tag for logo (h1, p, div) |
| Design | Page title | Text field | Title tag in page head |
| Design | Title | Text field | Heading on the page |
| Design | Message | Text field (HTML) | Main text of the maintenance page |
| Design | Background image | Image upload | Page background |
| Design | Background color | Color picker | Background color (no image fallback) |
| Design | Title font color | Color picker | Heading color |
| Design | Text font color | Color picker | Body text color |
| Design | Border color for newsletter | Color picker | Newsletter form border color |
| Newsletter | Enable | Toggle | Show subscription form |
| Newsletter | Action | URL | Form handler URL |
| Newsletter | Request method | Select | POST or GET form submission |
| Newsletter | Email label | Text field | Label above email field |
| Newsletter | Submit label | Text field | Submit button text |
| Newsletter | Email name | Text field | Name attribute for email field |
| Newsletter | Hidden fields | Text field | Hidden form inputs |
| Countdown | Enable | Toggle | Show countdown timer |
| Countdown | Countdown date | Date/time | Site launch date and time |
| Countdown | Countdown title | Text field | Title above the timer |
| Social | Facebook, Twitter, etc. | URL | Links to social profiles (up to 8) |
| Advanced | Custom CSS | Text field | Custom CSS rules |
Comparison: YITH Maintenance Mode vs Alternatives
The WordPress maintenance plugin market is fairly saturated. But YITH stays on top. Let's compare it with competitors on key parameters.
| Feature | YITH Maintenance Mode | WP Maintenance | SeedProd | Coming Soon Page | Minimal Coming Soon |
|---|---|---|---|---|---|
| Price | Free | Free | Freemium (from $39/yr) | Free | Free |
| Active installs | 200,000+ | 1,000,000+ | 1,000,000+ | 100,000+ | 30,000+ |
| Countdown timer | Yes | No | Yes (Pro) | No | No |
| Subscription form | Yes | No | Yes (Pro) | No | Limited |
| Social networks | 8 networks | No | All major (Pro) | Customizable | Links only |
| Design customization | Colors, logo, bg, CSS | HTML template | Drag & drop builder (Pro) | Colors, logo, CSS | Minimal |
| Role-based access | Yes | Admin only | Yes (Pro) | Admin only | Admin only |
| IP-based access | No (custom code) | No | Yes (Pro) | No | No |
| WPML compatibility | 100% | Partial | Partial | No | No |
| URL whitelist | No | No | Yes (Pro) | No | No |
| Google Analytics | Via code | No | Yes (Pro) | No | No |
| SEO page title | Yes (Page title) | No | Yes | Yes | No |
| Regular updates | Yes | Rare | Frequent | Rare | Rare |
Notice WP Maintenance — it leads in install count but is functionally much simpler. No timer, no subscription form, no social links. YITH offers more audience engagement tools while remaining free.
SeedProd's Pro version leaps ahead with its visual builder, but that's a completely different price range. For free use, YITH is the sweet spot.
Typical Use Cases
Scenario 1: Building a New Site
You're building a WordPress site that isn't ready yet. Instead of hiding it behind .htaccess or a server password, install YITH Maintenance Mode. Visitors see your logo, a "Site in development" message, and a subscription form. By launch day, you already have an email list of interested people.
Here's how to set it up:
- Upload your logo, write a heading like "Opening Soon!"
- In Message, describe what the site will do
- Enable the countdown timer with your launch date
- Set up the subscription form via Mailchimp
- Add social links so people can follow progress
- Toggle maintenance mode on
\u{201c}On projects with long development cycles, I always install YITH Maintenance Mode. The countdown timer and subscription form actually work. On one landing page, we collected 300+ emails before launch — simply because people were curious about what was coming.
Scenario 2: Major Update
You're updating WooCommerce, changing themes, or migrating hosting. The process will take a couple of hours. Enable maintenance mode and write: "Maintenance in progress. Back in 2 hours." Done.
For this scenario, the subscription form and timer aren't essential. A logo and a short message are enough. But keep the social links — let people follow your Telegram or Twitter for update completion news.
Scenario 3: A/B Testing or Brand Relaunch
You're closing the old site and preparing a new one. A week before launch, enable YITH Maintenance Mode with a timer and special offer: "Site closed for rebranding. Opening June 1st. Subscribe and get 20% off your first order."
This mechanic works in ecommerce and service businesses. People love exclusivity. A closed door + a discount promise = high subscription conversion.
Email Service Integration: Step-by-Step Guide
The subscription form in YITH Maintenance Mode is a powerful tool, but setup takes 5 extra minutes. Let's walk through it using Mailchimp — the most popular service.
- In Mailchimp, create a signup form (Audience → Signup forms → Embedded forms)
- Copy the action URL from the form's HTML code. It looks something like:
https://username.us1.list-manage.com/subscribe/post?u=xxx&id=yyy - In YITH settings → Newsletter, paste this URL into the Action field
- Request method — POST
- In Email name, enter the name attribute of the email field from Mailchimp's HTML (usually EMAIL)
- To pass subscriber name: add a hidden field in Hidden fields and create an extra input in the maintenance page HTML
- Test with a real email address
Integration with SendPulse, GetResponse, and UniSender follows the same pattern — they all have external form mechanisms via action URLs.
Common Problem: Timer Freezes After Caching
If you use server-side caching (WP Rocket, LiteSpeed, W3 Total Cache), the maintenance page may get cached and the timer will "freeze." Solution: exclude the maintenance page from the cache.
For WP Rocket:
- Settings → Advanced Rules → Never Cache URL(s)
- Add a slash:
/ - Save and clear cache
Why /? Because in maintenance mode, every URL shows the same page. Excluding the root excludes everything.
If you use a
SEO Implications of Maintenance Mode
When your site is in maintenance mode, search engines see the placeholder page. A few hours won't matter. But weeks? Potential problems.
What YITH does right:
- Sends HTTP 200 status (not 503)
- Lets you set a custom title tag via Page title
This cuts both ways. A 200 means the page is normal — search engines will index it. If your placeholder just says "Site under maintenance" — that's what goes into the index.
For short-term work (under a day), this isn't a problem. For extended maintenance, add informative text with keywords to the Message field. Something like: "Camera store temporarily closed for updates. Returning soon with new prices and promotions."
FAQ
How do I show the site only to myself and a placeholder to everyone else?
By default, YITH Maintenance Mode shows the real site to administrators. Log into the admin panel and you see the normal site. Everyone else gets the placeholder. If you're not an administrator, go to General Settings → Roles allowed and add your role.
How do I add custom HTML to the maintenance page?
The Message field supports HTML. Insert any tags: tables, images, YouTube iframes, buttons. The plugin outputs the content as-is. For complex layouts, use the Custom CSS field.
How to give a client access to see the site but not the admin panel?
Create a new role via the User Role Editor plugin (or in functions.php). Assign this role to the client. Then in YITH Maintenance Mode → General Settings → Roles allowed, check this new role. The client will see the site but not the admin panel.
Why isn't the countdown timer updating?
The cause is almost always server caching. Exclude the homepage from caching in your caching plugin settings. If using a CDN, temporarily enable development mode. Also verify the date is in YYYY-MM-DD hh:mm format.
Can I use YITH Maintenance Mode on a multisite network?
Yes, the plugin works with WordPress Multisite. Settings need to be configured for each site individually. Activate the plugin at network level or per-site depending on your needs. WPML is also supported for multilingual maintenance pages.
How to make specific pages accessible while maintenance mode is active?
Out of the box — you can't. Every URL shows the placeholder. Workarounds: add a URL parameter (e.g., ?preview=true) and check for it in your theme code via $_GET. Or use SeedProd Pro which has URL whitelisting.
How to add Google Analytics or Yandex Metrica to the maintenance page?
Paste the tracking code into the Message field as HTML. Alternatively, add it via your theme's functions.php with a hook targeting the head section. This lets you track how many people saw the closed site and where they came from.
What happens to WooCommerce orders during maintenance mode?
The store is completely inaccessible from the frontend. Customers cannot browse products, add to cart, or place orders. The WooCommerce admin works as usual — you can see and manage all orders. That's why you should notify customers via email before enabling maintenance.
The plugin conflicts with my theme — what should I do?
Clear browser and server cache, disable other maintenance plugins, check the browser console for JavaScript errors. If the issue persists — contact YITH support; they typically reply within 1-2 days.
Can I set up different placeholders for different languages?
Yes, thanks to 100% WPML compatibility. Switch languages in the admin panel via the WPML switcher and configure the maintenance page content for each language separately. All fields — title, message, social buttons — can be set per language.
Advanced Settings via Code
For developers, there are hooks and filters that extend plugin functionality. Not many, but they're useful.
Programmatically Enable Maintenance Mode
If you need to enable maintenance on a schedule or via an external command — use filters:
// Force enable maintenance mode
add_filter('yith_maintenance_mode', '__return_true');
// Exclude specific URLs from maintenance
add_filter('yith_maintenance_mode_is_active', function($is_active) {
if (strpos($_SERVER['REQUEST_URI'], '/preview') !== false) {
return false;
}
return $is_active;
});
[/codeblock]
Changing the HTTP Status
By default, the plugin returns 200. For SEO, it may be better to return 503 Service Unavailable:
add_action('send_headers', function() {
if (class_exists('YITH_Maintenance_Mode') && YITH_Maintenance_Mode()->is_active()) {
status_header(503);
header('Retry-After: 3600');
}
});
[/codeblock]
Retry-After tells search engines when to come back. The value is in seconds.
Post-Maintenance Checklist
You've finished the work and turned off the placeholder. What next? A three-point checklist:
- Clear cache — server, browser, CDN. If the maintenance page was cached, visitors will keep seeing it even after disabling.
- Check frontend in incognito mode — open the site in browser incognito mode and browse main pages. Make sure the placeholder is gone everywhere.
- Send an email to subscribers — if you collected emails via the form on the maintenance page, let those people know the site is open. This is your warmest audience.
And yes, make sure the plugin is actually turned off. Sometimes the toggle sticks, or cache keeps serving the old version.
Final Verdict
YITH Maintenance Mode is a solid free plugin for creating a WordPress maintenance page. Unlike alternatives, it doesn't just "close the site" — it builds communication with visitors: a countdown timer, a subscription form, social links. Everything needed to retain your audience during downtime.
Key strengths: free, regularly updated, WPML integration, flexible role configuration, works out of the box. Main weakness: no URL whitelist and no built-in integration with specific email services — you need to copy action URLs manually.
If you want a simple yet functional maintenance mode tool — YITH Maintenance Mode covers 95% of typical scenarios. If you need a visual page builder with A/B testing — look at SeedProd (paid). But for most sites, YITH is more than enough.
Tap to react



