

The database error page as visitors see it: logo, message, retry button and incident line.
When WordPress breaks, it shows screens of its own that no theme and no plugin can style, because they appear before any of them is loaded:
Offair replaces these three screens with a calm page in your colors, with your logo and your words, and makes them answer with the right HTTP status so that search engines and caches treat the outage as temporary.
It also keeps a history of the outages your visitors ran into, and can email you when the database goes down, then again once the site is back.
This is not a maintenance mode or coming soon plugin. It does not take your site offline and it does not add a page you switch on. It only covers the moments when WordPress itself cannot serve your site.
WordPress looks for three special files in wp-content, called drop-ins: db-error.php, maintenance.php and php-error.php. It loads them itself, before any plugin, which is the only way to show something when the database is down.
The plugin copies one static file shipped in its own folder (dropins/drop-in.php) under these three names. No code is generated. The content of the pages (texts, colors, logo) is saved as a JSON file in wp-content/uploads/offair/, and the drop-in reads it when a page has to be shown. What visitors must not see, such as the alert recipient and the history, is kept next to it in a private folder whose name cannot be guessed, with an .htaccess file that refuses web access on Apache and LiteSpeed. On Nginx, see the FAQ.
The plugin never replaces a db-error.php, maintenance.php or php-error.php it did not add itself. If one already exists, it tells you and waits for your decision.
If you manage your sites with MainWP, the free Offair for MainWP extension shows in your MainWP Dashboard the outages your visitors ran into on all your sites, in one place. An uptime monitor checks your sites from the outside every few minutes. Offair sees the short database outages and the fatal errors on a single page that such checks miss.
Nothing else is needed on the sites: when MainWP Child is active, Offair adds its outages to the regular MainWP synchronization, and only when the dashboard asks for it. The state of the pages already reaches MainWP through the Site Health test.
offair_settings filters the settings before the page content is built.offair_data filters the page content before it is saved for the drop-in.offair_incident_resolved fires once a database outage is over, with the times of the first and last pages shown.offair/db-error.php, offair/maintenance.php and offair/php-error.php in the active theme or its parent. The variable they receive is described in the FAQ, under Can my theme design the pages?wp offair status, generate [--force], remove [--force], preview <db|maintenance|php>, history.Offair is developed and maintained by Nolidev, a WordPress studio in Vannes, France, which uses it on the sites it looks after.