Maintenance & Coming Soon Redirect Animation
Maintenance & Coming Soon Redirect Animation
Description
This super lightweight plugin is intended primarily for developers, designers and site administrators that need to allow clients to preview the site before being available to the public or to temporarily hide it while undergoing major updates.
Any logged-in user with WordPress administrator privileges will be allowed to view the site regardless of the settings in the plugin. The exact privilege can be set using a filter hook – see FAQs.
The behaviour of this can be enabled or disabled at any time without losing any of the settings configured in its settings pane. However, deactivating the plugin is recommended versus having it activated while disabled.
When redirect is enabled, it can send a different header types.
A list of IPv4 and IPv6 addresses can be set up to completely bypass maintenance mode. IPv4 Class C wildcards are also supported. This option is useful when needing to allow a client’s entire office to access the site while in maintenance mode without needing to maintain individual access keys.
Access keys work by creating a temporary cookie on the user’s computer that will be checked against when maintenance mode is active. When a new key is created, a link to create the access key cookie will be emailed to the email address provided. Access can then be revoked either by disabling or deleting the key.
Whitelisted User Roles – user roles who see the site, instead of under maintenance page
Whitelisted Users – users who see the site, instead of maintenance page
Password Access – allow visitors to preview the site with a shared password. Password access lasts for 24 hours in each browser.
Custom Maintenance Pages – select a published page from its post list actions to use it as the maintenance page, with an option to exclude individual public posts from maintenance mode.
Custom Login URL – optionally restrict direct access to wp-login.php and use a custom login URL instead.
Animations :
Animation on the web is not only fun, but engaging in such a way that it has converted site visitors into customers even before will be available to the general public and it will make them eagerly await its launch.
You can either choose your animation from the library or upload your own; this animation will be shown in front of your site when it is undergoing maintenance.
The included Lottie Animation (WP Loti) Gutenberg block lets you insert an animation from the plugin library into posts and pages, with autoplay, loop, width, and height controls.
Notes :
✔ This plugin will override any other maintenance plugin you use.
✔ All settings are auto-updated , you don’t need to save anything .
WP-CLI Commands :
Note : before you begin run these commands make sure you have wp-cli installed on your server and your are in your WordPress site Root folder
✔ To install the plugin via wp-cli : sudo wp plugin install maintenance-coming-soon-redirect-animation --allow-root
✔ To activate it : sudo wp plugin activate maintenance-coming-soon-redirect-animation --allow-root
✔ To deactivate it : sudo wp plugin deactivate maintenance-coming-soon-redirect-animation --allow-root
✔ To uninstall it : sudo wp plugin uninstall maintenance-coming-soon-redirect-animation --allow-root
Note : before you can uninstall the plugin you have to deactivate it first
✔ To Update the plugin : sudo wp plugin update maintenance-coming-soon-redirect-animation --allow-root
Installation
- Unpack the download package.
- Upload the
maintenance-coming-soon-redirect-animationfolder to your plugins directory (usually/wp-content/plugins/). - Activate the plugin through the
Pluginsmenu in WordPress. - You can turn on the maintenance mode in one click from Top bar icon.
- For more customization , go to
Settingspage from the link in the activation notice or through theMaintenanceSettings panel just below the dashboard icon.
Screenshots

Welcome screen after installation / Maintenance Mode Disabled

Header Type Tab

Unrestricted IP adresses Tab

Send an Access key to specific user

Access key link email

Access keys Tab Updated / Access key is activated for the user

Password Access / Empty input , Set password or generate one to allow visitor preview access

Generated Password with Strength Meter

Show/Hide Password , Copy Password to the clipboard

Active or Selected Animation

Upload an animation from Media library

Selected animation from the animations Library

Animations for different purposes : Update, security, not found, coming soon, under construction ..

Animations for different purposes : Update, security, not found, coming soon, under construction ..

Animations for different purposes : Update, security, not found, coming soon, under construction ..

Maintenance message displayed under animation

Extra Tab : Whitelisted User Roles & Whitelisted Users / Custom Login Url

Maintenance Front Page

Maintenance Front Page - Password Access

Maintenance Front Page - Custom Login Form

Maintenance Front Page - Developer console message explanation

Make any post as maintenance page or exclude it from maintenance mode

Make any page as maintenance page or exclude it from maintenance mode

WP-CLI Commands

Update plugin through WP-CLI

Site Health Status
Faq
There is a filter which allows you to programatically bypass the redirection block:
wploti_matches
This allows you to run pretty much any test you like, although be aware that the whole redirection thing runs before the $post global is set up, so WordPress conditionals such as is_post() and is_tax() are not available.
This example looks in the $_SERVER global to see if any part of the URL contains “hello-world” ( default wordpress post for example )
function my_wploti_matches( $wploti_matches ) {
if ( stristr( $_SERVER['REQUEST_URI'], 'hello-world' ) )
$wploti_matches[] = "<!-- hello-world -->";
return $wploti_matches;
}
add_filter( "wploti_matches", "my_wploti_matches" );
You can follow the same process for pages, posts, categories, taxonomies, custom post types ,etc.
By default, Maintenance & Coming Soon Redirect Animation uses the manage_options capability, but that is normally only applied to administrators. As it stands, a user with a lesser permissions level, such as editor, is able to view the admin side of the site, but not the front end. You can change this using this filter :
wploti_user_can
This filter is used to pass a different WordPress capability to check if the logged-in user has permission to view the site and thus bypass the redirection, such as edit_posts. Note that this is run before $post is set up, so WordPress conditionals such as is_post() and is_tax() are not available. However, it’s not really meant for programatically determining whether a user should have access, but rather just changing the default capability to be tested, so you don’t really need to do anything other than the example below.
function my_wploti_user_can( $capability ) {
return "edit_posts";
}
add_filter( "wploti_user_can", "my_wploti_user_can" );
Reviews
Efficient Maintenance Tool & perfect downtime handling
By soufyanesfr on May 8, 2026
The plugin delivers a clean maintenance and coming soon solution with minimal performance overhead. It supports IP whitelisting and access keys for controlled access, while redirect logic is handled efficiently without bloating the database. WP‑CLI compatibility and lightweight code structure make it developer‑friendly, and the animation layer adds polish without compromising speed.
A solid choice for projects requiring secure downtime handling.
Beauty in simplicity
By mounaissar on April 24, 2026
This plugin makes it easy to place a coming soon page as I build my site without complication
Outstanding Plugin – Simple, Elegant, and Reliable!
By omhidan on February 1, 2026
This plugin exceeded my expectations. Setting up a professional “Maintenance” and “Coming Soon” page took only secondes, and the smooth animations make the experience feel modern and engaging. I especially appreciate the thoughtful features like IP whitelisting and access keys, which allow me to keep other developers working while the site is under maintenance. Everything works seamlessly out of the box, yet it still offers enough flexibility for customization. Lightweight, intuitive, and powerful, exactly what a WordPress plugin should be. Highly recommended for anyone who values both functionality and design!
Effortless Maintenance Mode with Engaging Animations
By lukabains on November 28, 2025
Lightweight yet powerful plugin, giving developers and site admins full control over maintenance mode with customizable animations that keep visitors engaged. Its flexibility with access keys, IP whitelisting, and WP‑CLI commands makes it a reliable tool for managing site updates without disrupting client access.
A Must-Have for Any WordPress Site!
By idrisstyebi on October 29, 2025
This plugin is a gem—lightweight, intuitive, and incredibly effective. I had a professional-looking “Under Maintenance” page up and running in seconds, with smooth animations that add a touch of elegance. It’s perfect for client projects and personal sites alike. The customization options are thoughtful, and everything just works out of the box.
lightweight and powerful
By hanifmahdi on September 28, 2025
lightweight yet powerful tool for managing site downtime with professionalism.
Solid Plugin
By saligomez on September 11, 2025
This is a reliable and well-designed plugin. The only feature I find missing is the ability to exclude specific pages from maintenance mode, along with a clear way to indicate which pages are excluded. Adding this functionality would make it even more versatile.
Nice Plugin
By rodymoses on September 10, 2025
First time building a site and this plugin made it easy to set up a coming soon page.
The Best
By girankirin on September 9, 2025
This is the best maintenance plugin you can install for a WordPress Website
I have an "Under Maintenance" page in less than 20 sec.
By mark@easyitme.com on August 6, 2025
After installation, one just needs to click the "Enable Maintenance Mode". Just ONE click and you have a working Maintenance page. Awesome. And the animations are modern and fitting! Well done!
Changelog
2.4.1
- Fixed login issue when using a custom URL with maintenance mode disabled
- Private login form now hidden if access to
wp-login.phpis not restricted - Made the private login form optional (feature request)
- Added automatic custom URI generation
- Added “Copy” button to easily copy the new URL to clipboard
1.1.1
- First Final release. No Changes Yet.
1.1.2
- Fix Maintenance Status not showing in Top admin bar front
2.0.0
- Redesign Ui to tabs style
- New font added as primary font
- Fixed some styles issues on large screens
- Changed plugin icons
- Added feature : Whitelisted User Roles – user roles who see the site
- Added feature : Whitelisted Users – users who see the site
- Added feature : Administrator can upload & use his own JSON or gif Animation
- Added notice in login screen if Maintenance Mode is enabled.
- Added submenus
- Replace message input with wysiwyg Editor
- New Added headers
2.0.1
- Fix Gif animations
- Update readme file
2.3.0
- Resolved critical security vulnerabilities to ensure a safer user experience.
- Fixed potential exploits related to user access and IP whitelisting.
- Enhanced plugin security by sanitizing and validating all user inputs.
- Enhanced plugin security by restricting access to plugin settings for non-admin users.
- Improved protection against unauthorized access to plugin settings.
- Added feature: Logging system to track maintenance mode activations and deactivations.
- Fixed issue: Animation uploader now properly validates file types and sizes.
- Fixed issue: Improved compatibility with the latest WordPress versions.
- Fixed issue: Resolved conflicts with other maintenance plugins.
- Performance improvements: Reduced plugin load time and memory usage.
- Documentation: Updated FAQs and installation instructions for clarity.
2.3.1
- Fixed issue: “Headers already sent” warning resolved by refactoring plugin boot sequence.
- Enhanced plugin security by reducing premature execution and improving header handling logic.
- Code improvements: Cleaned up the main class constructor for better maintainability and clarity.
- Improved translation loading sequence to align with WordPress 6.7+ lifecycle.
- Improved performance and compatibility across themes and server configurations.
2.3.2
- Fixed issue: Access key authentication now works correctly when using temporary access URLs.
- Enhanced authentication by replacing cookie-based storage with more reliable PHP sessions.
- Eliminated browser dependency issues that could affect access key functionality.
- Fixed bug: Resolved issue where valid access keys were not bypassing maintenance mode properly.
2.3.3
- Fixed issue: Variable naming now complies with WordPress coding standards.
- Code improvements: Added proper prefix to global variables to prevent potential conflicts.
- Enhanced compatibility with WordPress Plugin Check requirements.
2.4.0
- Added IPv6 detection, storage, and unrestricted-address matching. IPv4 Class C wildcards remain supported.
- Added the Lottie Animation (WP Loti) Gutenberg block with animation, autoplay, loop, width, and height controls.
- Fixed temporary access keys by using secure, 24-hour cookies that work reliably after following emailed access URLs.
- Added shared password access for visitor previews.
- Added the ability to use any published page, post, or public custom post type as the maintenance page, plus per-post maintenance exclusions from post list actions.
- Added optional custom login URLs that can restrict direct requests to wp-login.php.
- Improved maintenance-page access panels and page chrome handling.
- Added New animations
2.4.1
- Fixed login issue when using a custom URL with maintenance mode disabled
- Private login form now hidden if access to
wp-login.phpis not restricted - Made the private login form optional (feature request)
- Added automatic custom URI generation
- Added “Copy” button to easily copy the new URL to clipboard