Maintanence Plugin Documentation

SSP — Maintenance Mode (Docs)

SSP Documentation

SSP Maintenance — Mode with Profiles

Admin Screen

The plugin adds a top-level menu item in your WordPress admin called SSP Maintenance (hammer icon). It opens one settings screen with two parts followed by a Design Profiles editor.

Main Controls

  • Enable Maintenance Mode — master on/off (visitors see the maintenance page; admins browse normally).
  • Active Profile — pick which design (Maintenance/Construction) to show to visitors.
  • Preview — opens a safe preview of the current profile without affecting status.

Auto Re-enable

  • Automatically re-enable — when checked, Maintenance Mode turns back on after a period of real admin inactivity.
  • Idle timeout — minutes of inactivity before re-enabling (admin heartbeat pings are ignored).
Tip: Toggle OFF to work on the site, then let it auto-return to ON after the idle period.

Admin Bar Toggle

  • Adds a toolbar item showing Maintenance Mode: ON/OFF.
  • Clicking it flips the status using a nonce-protected link.

Design Profiles

  • Name & Mode — profile label plus Maintenance or Construction badge.
  • Headline & Message — text shown to visitors on the offline page.
  • ColorsIcon, Background, and Text color (WordPress color pickers; stacked layout).
  • Icon picker — choose from wrench, hammer, gear, roller, hardhat, cone, barrier, warning, bolt, clock.
  • Add Profile — creates a new card you can edit; Delete profile removes it from the list.

How It Works

  • Enforcement: When enabled, visitors (non-admins) are served a full-page maintenance screen using the active profile. Admins, AJAX/cron/REST, and wp-login.php are allowed through.
  • Headers: The maintenance response sends 503 Service Unavailable, Cache-Control: no-store, and X-Robots-Tag: noindex, nofollow to prevent caching and indexing. Preview uses 200 OK.
  • Auto re-enable: If status is OFF and the feature is enabled, the plugin flips status back to ON after the configured idle minutes since the last real admin request (heartbeat is ignored).
  • Profiles: Settings (including all profiles) are stored in a single option and the chosen active profile is rendered for visitors.
Note: 503 is correct for short maintenance windows. Avoid leaving sites in 503 for extended periods.

Privacy & Data

  • Storage: The plugin stores its status, idle timer, and profile designs in WordPress options.
  • No tracking: It does not track visitors or set cookies; the page is purely presentational.
  • Search engines: Maintenance responses include noindex, nofollow and 503 headers so temporary outages aren’t indexed.

Troubleshooting

I’m an admin and still see the maintenance page
  • Open a fresh admin page to ensure you’re logged in; try an incognito window for the public view.
  • Make sure status is toggled OFF (toolbar or settings screen).
Visitors still see the live site
  • Purge CDN/page caches; some proxies may serve cached HTML despite no-store.
  • Confirm the correct Active Profile is selected and Enable Maintenance Mode is checked.
Auto re-enable didn’t flip back ON
  • Verify the feature is checked and the idle minutes are set low for testing.
  • Only real admin requests refresh “last activity”; heartbeat pings are ignored by design.
My colors/icons didn’t change
  • Click Save Settings after edits; then use Preview or a logged-out window to verify.
  • Use valid hex colors (e.g., #0B1220).

Test / Verification

  1. Enable Maintenance Mode and choose a profile. Click Save Settings.
  2. Open the site in a private/incognito window — you should see the maintenance screen with your design.
  3. Use the admin-bar toggle to switch OFF, refresh the public window, and confirm normal pages return.
  4. Turn OFF, enable Auto re-enable, set idle to 1–2 minutes, wait past the timeout, then refresh the public window to confirm it’s back ON.
  5. Edit headline, message, icon, and colors; save; use Preview to verify updates.
Tip: Keep one profile for “Maintenance” and another for “Construction” so you can switch designs with the dropdown.