Answers to common questions about setup, features, pricing, cancellation, and troubleshooting.
Back to Top--skip-plugins --skip-themes), so even if the rolled-back plugin is throwing a fatal error, the rollback itself is guaranteed to execute. Sites with "Aggressive Auto-Fix Mode" enabled will additionally restore the DB and files together to the pre-update state as a last resort if the site is still broken. Note that themes are updated in bulk and are therefore not subject to per-theme rollback. Severe database corruption and browser-only (no-SSH) mode may also fall outside the scope of automatic recovery.
When a post-core HTTP check detects an issue, the app first rolls back the core to its previous version. What happens next depends on the rollback outcome β there are two paths:
In the latter case, please verify and repair the core (via the WordPress dashboard or manual SSH as needed) before re-running maintenance. The execution log will explicitly state "Subsequent updates halted after core rollback", and this is reflected in the report and email notification.
For most use cases, leaving this OFF (default) handles the majority of issues. Turning it ON adds a last-resort comprehensive recovery layer that activates only if the site is still broken after the main maintenance run completes.
| Feature | OFF (default) |
ON |
|---|---|---|
| π¦ At maintenance start | ||
| DB backup before updates | β | β |
| π§ During each update (one plugin at a time + core) | ||
| Pinpoint rollback Post-update HTTP check β 5xx / 4xx regression / unreachable detected β roll back to previous version β verify recovery | β | β |
WP-CLI safe mode --skip-plugins --skip-themes | β | β |
| π Post-maintenance verification | ||
| Home-page HTTP check & screenshot comparison | β | β |
| Identify responsible plugin from fatal logs and deactivate β» Requires SSH to be configured | β | β |
| Email notification (success / attention / error) | β | β |
| β‘ Last-resort recovery (if the site is still broken after the steps above) | ||
| Full DB rollback (restore from backup) | β | β |
| Bulk file rollback for all updated plugins / core β» Premium plugins not on WordPress.org are excluded from file restoration (deactivated only) | β | β |
Force cache flush (wp cache flush + cache directory clear) | β | β |
| Automatic theme switch (to Twenty series temporarily) β» If no Twenty series theme is installed, the switch is skipped and a warning is sent | β | β |
| Additional plugin deactivation (if log analysis finds another cause) | β | β |
| wp doctor health diagnostic | β | β |
When to enable it
Important notes
A good approach: start with it OFF β the rows under π¦ / π§ / π already cover most failures. Turn it ON only when you encounter complex incidents that those layers couldn't resolve.
No. Themes are not subject to per-theme rollback. Theme updates run as a single bulk operation (wp theme update --all), so if the site breaks afterwards, there is no way to identify which specific theme caused the failure.
Plugin and WordPress core updates are run one-by-one with an HTTP check between each, which is why pinpoint rollback works for them. Themes can't be handled the same way by design.
What happens when a theme update breaks the site:
Note: theme-related failures are statistically less than 1/10 the frequency of plugin-related failures in production, which is why this is a deliberate priority trade-off.
Yes β reliably. The app runs all WP-CLI commands with --skip-plugins --skip-themes ("safe mode"), which causes WordPress to skip loading plugins and themes during WP-CLI bootstrap entirely.
As a result, even if the just-updated plugin is throwing a fatal error, the WP-CLI process performing the rollback is unaffected and can complete the file replacement (restoring the previous version) reliably.
The actual sequence:
wp plugin install X --version=OLD --force --skip-plugins --skip-themesNote: PHP-CLI (command line) and PHP-FPM (web) run as separate processes. Even if the web side is completely down due to a fatal, the SSH-side rollback runs independently.
wpmm_backups/ folder within the WordPress installation directory) and locally on the PC running the app. During maintenance, a backup_YYYYMMDD_HHMMSS.sql file is automatically created and downloaded to your local machine via SSH/SFTP. Only the latest 3 generations are kept both on the server and locally β older files are automatically removed so the disk does not fill up over time.wpmm_backups/ folder on the server is protected by two layers of defense, applied automatically..htaccess blocks all requests: On Apache-based hosts (Xserver, Sakura, Heteml, ConoHa WING, and most major shared hosting), the folder includes an .htaccess file that returns 403 Forbidden for everything inside. Even if someone guesses the URL of a SQL file, the server refuses to serve it. The rules are written to work on both Apache 2.2 and 2.4.index.php as an Nginx fallback: For Nginx-based hosts that ignore .htaccess, the folder also contains an index.php that returns 403 Forbidden directly via PHP β providing the same protection through a different mechanism.The app runs on the following environments:
| Item | Windows | Mac |
|---|---|---|
| OS | Windows 10 / 11 (64-bit) | macOS 13.5 Ventura or later |
| CPU | 64-bit processor | Intel / Apple Silicon |
| RAM | 4 GB or more recommended | |
| Required | Internet connection, WordPress 5.0 or later | |
SSH uses a key pair instead of a password. The private key is a file stored on your computer; the public key is registered on the server. Both are required to connect.
How to generate a key on major hosts:
For full step-by-step instructions, see the "Before You Start" section in the User Guide.
Enter the file path to where you saved the private key on your computer.
~/.ssh/your-key.pemC:\Users\YourName\.ssh\your-key.pemWe recommend moving the downloaded key file into your .ssh folder (create it if it doesn't exist), then entering that path.
In most cases, leave it blank. SiteGround, AWS Bitnami images, and most major hosts include WP-CLI by default β leaving this field empty will work automatically.
Only fill this in if you have installed WP-CLI at a custom path, or if the connection test reports "WP-CLI not found." If that happens, see the next FAQ item for a GUI-only fix.
Some shared hosting environments (Bluehost, GoDaddy, ConoHa WING, and similar shared cPanel hosts) don't expose WP-CLI on the non-interactive shell that this app uses, even when WP-CLI is technically installed on the server. No terminal commands are required to fix this β you can drop your own copy of WP-CLI into your home directory using your host's File Manager (browser-based).
Quick overview:
wpbin in your home directorywp file into the bin folder755/home/(your-username)/bin/wp in the app's "WP-CLI Path" field (e.g. /home/user1234/bin/wp)Step-by-step instructions with details are in the User Guide under "What is SSH & WP-CLI?" β Bluehost tab β "If the connection test reports 'WP-CLI not found'."
Yes β two complementary systems are available: categories and tags.
Manage them under β Settings β "Categories & Tags". Assign them in the site add/edit dialog, and filter the list with the dropdowns above the registered-site table.
The tag filter has both OR (any of the selected) and AND (all selected) modes, and works in combination with the text search.
Yes. Click the "π Logs βΊ" link in the "Last Run" column of any row in the registered-site list. The log dialog opens scoped to just that site.
Renaming a site keeps its log history intact. Each site has a stable internal identifier, so logs from before and after a rename appear under the same scope.
Click "Show all logs" at the top of the dialog to leave the scoped view. Older logs (recorded before v1.5.8) don't have the internal identifier, so they fall back to site-name matching.
Yes β three flexible options are available:
In every case, a confirmation dialog shows the **exact number of entries** that will be deleted. "Delete all" only appears when there is no filter at all β kept as the explicit last resort.
A confirmation dialog appears before deletion so your site data stays safe.
Site data itself (SSH info, WordPress paths, history, etc.) is never affected by category/tag operations.
wpmm_backups/ folder within the WordPress installation directory (the folder specified as "WordPress Path" in the site settings), named backup_YYYYMMDD_HHMMSS.sql. You can retrieve them manually via FTP or your hosting control panel's file manager.wpmm_backups/ folder is protected by .htaccess and index.php files to block external access.
~/.ssh/id_rsa) from the old PC to the new one/wp-login.php. Check that the "WordPress Admin URL" in the site settings matches the current login URL.
wpmm_backups/ folder within the WordPress installation directory (the folder set as "WordPress Path" in your site settings), named backup_YYYYMMDD_HHMMSS.sql. Retrieve it manually via FTP or your hosting file manager.
.exe installer. It will overwrite the existing installation automatically..dmg and drag the .app to the Applications folder. When prompted with "Replace existing item?", click Replace.