Title: Escuder Maintenance
Author: escuder
Published: <strong>November 7, 2026</strong>
Last modified: November 7, 2026

---

Search plugins

![](https://ps.w.org/escuder-maintenance/assets/banner-772x250.jpg?rev=3789922)

![](https://ps.w.org/escuder-maintenance/assets/icon-256x256.png?rev=3789922)

# Escuder Maintenance

 By [escuder](https://profiles.wordpress.org/escuder/)

[Download](https://downloads.wordpress.org/plugin/escuder-maintenance.1.0.0.zip)

 * [Details](https://wordpress.org/plugins/escuder-maintenance/#description)
 * [Reviews](https://wordpress.org/plugins/escuder-maintenance/#reviews)
 *  [Installation](https://wordpress.org/plugins/escuder-maintenance/#installation)
 * [Development](https://wordpress.org/plugins/escuder-maintenance/#developers)

 [Support](https://wordpress.org/support/plugin/escuder-maintenance/)

## Description

Escuder Maintenance lets you prepare a WordPress site without editing your theme.
Turn maintenance on from Settings > Escuder Maintenance, add trusted IPv4 or IPv6
addresses and customize the public page.

Administrators with manage_options can always sign in and view the site. Visitors
sharing an allowed IP can view it without an account. Everyone else receives a standalone
maintenance page with HTTP 503, Retry-After and noindex headers.

Features:

 * Maintenance is off when first activated or reactivated.
 * Up to 200 exact IPv4 or IPv6 addresses; equivalent IPv6 notations are normalized.
 * Add the address WordPress sees with one click.
 * Custom title, plain-text message, Media Library logo, accent and background colors.
 * Administrator-only preview of saved settings, without enabling maintenance.
 * Administration notice and toolbar indicator while maintenance is active.
 * English interface with bundled French and Spanish translations.
 * No external services, trackers, remote fonts, paid features or public author 
   credits.
 * No changes to themes, server rules, media files or WordPress indexing preferences.

#### Important scope

The plugin gates requests reaching its early WordPress init hook: public pages, 
feeds, REST, XML-RPC, Ajax and admin-post handlers. The real WordPress login page,
ordinary administration, cron and WP-CLI keep their normal authentication and permissions.
An allowed IP only bypasses maintenance; it never grants WordPress permissions.

Images, PDFs and other files served directly by Apache, Nginx or a CDN are not protected.
A page cache or another plugin responding before this plugin runs can also bypass
it. Use hosting-level access control when the entire site must be private.

Disable and purge full-page caching before enabling maintenance, and purge again
after changes to maintenance or allowed IPs. Cache-control headers and DONOTCACHEPAGE
cannot erase a page already cached upstream. The plugin does not automatically purge
arbitrary hosting, plugin or CDN caches.

Payment notifications, public Ajax, XML-RPC and other integrations may be blocked
during maintenance. Check your integrations before enabling maintenance on a live
store. There are no automatic webhook exceptions.

## Screenshots

[⌊Maintenance settings with authorized IP addresses, page customization and built-
in guidance (French interface).⌉⌊Maintenance settings with authorized IP addresses,
page customization and built-in guidance (French interface).⌉[

Maintenance settings with authorized IP addresses, page customization and built-
in guidance (French interface).

[⌊The public maintenance page on desktop, using the default French message.⌉⌊The
public maintenance page on desktop, using the default French message.⌉[

The public maintenance page on desktop, using the default French message.

[⌊The public maintenance page on mobile.⌉⌊The public maintenance page on mobile.⌉[

The public maintenance page on mobile.

## Installation

 1. Upload the escuder-maintenance folder to /wp-content/plugins/, or upload the ZIP
    through Plugins > Add New.
 2. Activate the plugin. Maintenance remains off.
 3. Open Settings > Escuder Maintenance with an administrator account.
 4. Add authorized IPs, customize the page and save. Preview shows saved settings.
 5. Disable and purge full-page caches. Enable maintenance and save.
 6. Verify with a signed-out browser from an allowed IP and from another connection,
    such as mobile data.
 7. To reopen the site, uncheck Enable maintenance, save and purge caches.

## FAQ

### Can I lock myself out?

The real wp-login.php page and ordinary administration remain available. Sign in
with an account that has manage_options to view the site or change the IP list. 
Editors, authors and subscribers do not automatically bypass maintenance. If necessary,
deactivate the plugin through WordPress or WP-CLI and purge caches.

For emergency recovery, add define( ‘ESCUDER_MAINTENANCE_BYPASS’, true ); in wp-
config.php before WordPress loads. Remove it or set it to false after recovery. 
This is a server configuration constant, not a query parameter or public bypass 
link.

### What does Add my IP do?

It adds the REMOTE_ADDR address seen by WordPress to the unsaved list. Click Save
changes to apply it. The plugin does not contact an external IP lookup service. 
A public IP may change, and everyone sharing an allowed public IP can view the site.
Ranges, ports and comments are not accepted.

### Does this work behind Cloudflare or a reverse proxy?

Your host must restore the real visitor address from trusted proxies. The plugin
deliberately ignores X-Forwarded-For, Forwarded, CF-Connecting-IP and similar visitor-
supplied headers. Never allow the common IP of a proxy or CDN as a workaround: it
could let every visitor in.

### Are REST, feeds and public Ajax blocked?

Yes, when the request reaches the plugin and the visitor is not authorized. The 
same standalone HTML 503 page is returned, including for APIs. Authenticated administrators
and allowed IPs can pass the maintenance gate, but native permissions and REST nonce
checks still apply. Cron and WP-CLI remain available; scheduled tasks are not paused.
Other plugins handling requests before this gate are outside its control.

### Are uploaded images and PDFs private?

No. Direct static-file URLs are handled by the web server and may remain accessible.
Use server or proxy access control for confidential staging sites.

### Why can I still see the site after enabling maintenance?

You may be signed in as an administrator, using an allowed IP, or seeing a cached
page. Test while signed out on a different network. Disable and purge full-page 
caches at every layer, including the host and CDN. Check whether the emergency bypass
constant is enabled.

### How are languages handled?

The interface follows WordPress and the administrator’s language. Default public
messages follow the request locale; customized title and message are plain text 
in the language you enter. French and Spanish fallback translations are included.
Official WordPress.org language packs take priority. The plugin does not change 
your WordPress language or indexing settings.

### Can I change themes?

Yes. Configuration and the standalone maintenance page are independent of your theme
and page builder.

### What happens on deactivation, reactivation and deletion?

Deactivation stops maintenance and keeps settings. Reactivation keeps the page and
IP list but turns maintenance off, so enabling a plugin cannot unexpectedly close
a site. Deletion through WordPress removes this plugin’s settings and stored IP 
list. It never deletes uploaded logos, pages or media. Purge external caches after
deactivation as well.

### Is multisite supported?

Network activation is deliberately refused. Activate separately on each site if 
needed; settings belong to that site. This first release has not been validated 
on a real multisite network. Deletion removes plugin options across the network.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Escuder Maintenance” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ escuder ](https://profiles.wordpress.org/escuder/)

[Translate “Escuder Maintenance” into your language.](https://translate.wordpress.org/projects/wp-plugins/escuder-maintenance)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/escuder-maintenance/),
check out the [SVN repository](https://plugins.svn.wordpress.org/escuder-maintenance/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/escuder-maintenance/)
by [RSS](https://plugins.trac.wordpress.org/log/escuder-maintenance/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.0

 * Initial release: maintenance page, exact IPv4/IPv6 access list, administrator
   bypass, saved-page preview, recovery constant and bundled French/Spanish translations.

## Meta

 *  Version **1.0.0**
 *  Last updated **1 day ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.4 or higher **
 *  Tested up to **7.1.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [coming soon](https://wordpress.org/plugins/tags/coming-soon/)[ip whitelist](https://wordpress.org/plugins/tags/ip-whitelist/)
   [maintenance](https://wordpress.org/plugins/tags/maintenance/)[under construction](https://wordpress.org/plugins/tags/under-construction/)
 *  [Advanced View](https://wordpress.org/plugins/escuder-maintenance/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/escuder-maintenance/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/escuder-maintenance/reviews/)

## Contributors

 *   [ escuder ](https://profiles.wordpress.org/escuder/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/escuder-maintenance/)