No matching questions found.
Try a different keyword.
Safety & Update Concerns
Can running maintenance cause my site to go down?
The app automatically creates a DB backup before updates and checks the HTTP status after each individual plugin update. If any of the following are detected, the offending plugin is immediately rolled back to its previous version (pinpoint rollback) and the site is re-checked to confirm recovery:
β€’ HTTP 5xx server errors (PHP fatal, database errors, etc.)
β€’ HTTP 4xx regressions (a page that was 200 before becomes 404, 403, 401, etc.)
β€’ Site unreachable (connection failure, timeout, DNS issues)
Sites with "Aggressive Auto-Fix Mode" enabled will additionally restore the DB and files together to their pre-update state if the site remains broken after maintenance completes. The risk of a site staying broken is low, but not zero. Please only use this app if you are able to perform manual recovery if needed.
What types of failures does automatic recovery handle?
The app's per-plugin HTTP check detects HTTP 5xx server errors, HTTP 4xx regressions (e.g., 200 β†’ 404), or site unreachable conditions. When any of these is detected, it automatically rolls back the offending plugin to its previous version (pinpoint rollback) and verifies recovery. The same mechanism applies to WordPress core updates. WP-CLI commands run in safe mode (--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.
If a WordPress core update is rolled back due to an issue, what happens to the remaining plugin updates?

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:

  • Rollback succeeded + recovery verified (the most common case) β†’ The remaining plugin updates proceed normally with per-plugin HTTP checks. The core is back to its previous version, and subsequent plugins are updated with their own pinpoint-rollback safety net.
  • Rollback failed, or rollback succeeded but the site still does not return a healthy status β†’ The remaining plugin/theme/language updates are halted and the situation is reported via email. Continuing to update plugins on an already-broken site risks falsely rolling back unrelated plugins, so the app errs on the side of safety and stops.

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.

What is "Aggressive Auto-Fix Mode" and should I enable it?

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

  • You manage multiple client sites as an agency and want reliable unattended recovery during off-hours
  • You want the app to resolve HTTP 500 errors as automatically as possible without waiting for human judgment
  • SSH is configured for the site (this mode has no effect on browser-only sites)

Important notes

  • Automatic theme switching may change the visual appearance: if a theme is identified as the cause, the site is switched to a Twenty series theme. Your client may notice the visual change before you do β€” review the report email and restore as needed.
  • Aggressive by name and by behavior: this mode operates under the assumption that the site is already broken. There is a non-zero risk of unintended restoration when conditions are misjudged.
  • Not foolproof: complex errors may not be resolved automatically. Always review the report email after each maintenance run.
  • SSH required: this mode does not apply to sites configured without SSH.

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.

Will all plugins and themes be updated?
Premium plugins and themes that require activation may not be updated automatically. Any plugins that could not be updated will be listed in the report email.
Are themes also rolled back individually?

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:

  • The end-of-maintenance home-page HTTP check detects 500 / 4xx and reports it via email (the cause cannot be attributed specifically to the theme update β€” the site is flagged as "requires attention")
  • For sites with "Aggressive Auto-Fix Mode" enabled, if a fatal log identifies a theme as the cause, the app will attempt to switch to a default WordPress theme (Twenty series)
  • Theme files themselves are NOT rolled back automatically β€” manual intervention is required

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.

Can rollback still execute when the rolled-back plugin itself is throwing a fatal error?

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:

  • 1. Plugin X is updated (files replaced)
  • 2. HTTP request to the site β†’ fatal β†’ HTTP 500
  • 3. The app runs wp plugin install X --version=OLD --force --skip-plugins --skip-themes
  • 4. WP-CLI bootstraps without loading the broken plugin β†’ file replacement succeeds
  • 5. HTTP request again β†’ site loads with the old plugin version β†’ 200 (recovery verified)

Note: 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.

Can updates be run at night or outside business hours?
There is no built-in scheduler. Please trigger maintenance manually when you want it to run.
How does the screenshot comparison feature work?
When this feature is enabled, screenshots of the homepage are automatically taken before and after updates, and the visual difference is detected. If the difference exceeds 8%, it is flagged and reported as an anomaly.
β€» Sites with carousels or animated content are likely to produce false positives, so this feature is not recommended for such sites.
Where are screenshots saved? Can I share them with clients?
Screenshots are saved in the γ€Œscreenshots」folder on the PC running the app. They are not stored on the server. After maintenance, you can download files from the "πŸ“Έ Screenshots" section in the log detail view (click on any site's log entry).
β€» Post-maintenance screenshots are automatically saved for all sites. Sites with "Screenshot Comparison" enabled will have two images saved (before and after), with automatic diff detection. Images are retained for 90 days by default.
Where are database backups stored?
Backups are saved in two locations: on the server (inside a 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.

Note: the retention count (3 generations) is fixed by design and is not user-configurable.
Are the database backup files on the server safe from unauthorized external access?
Yes β€” the 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.

Both files are generated and maintained by the app automatically. If either is accidentally removed, it will be re-created on the next maintenance run, so the protection cannot silently degrade over time.
Can I use this alongside WordPress's built-in plugin auto-update feature?
There is no technical conflict, but for safety we recommend disabling WordPress's built-in auto-updates and managing all updates through WP Maintenance Manager.

β–  Why no conflict
WP Maintenance Manager only processes plugins that currently have updates available. If WP-Cron already auto-updated a plugin, the app simply skips it. No errors, no race condition.

β–  Why we recommend disabling WP auto-updates
WordPress's built-in auto-update has none of the safety nets that WP Maintenance Manager provides:
・Database backup before every run
・Post-update HTTP check after each plugin
・Pinpoint rollback to the previous version
・Pre / post screenshot comparison

An auto-update triggered by WP-Cron at 3 AM can break the site silently. By the time someone notices in the morning, the previous version is no longer recorded, and automatic recovery is no longer possible.

β–  Important note about excluded plugins
The "Excluded Plugins" setting in WP Maintenance Manager does not control WordPress's built-in auto-updates. To freeze a specific plugin at a particular version, you need to set both:
β‘  Add the plugin to the Excluded Plugins list in WP Maintenance Manager
β‘‘ Open the WordPress Plugins page and click "Disable auto-updates" for that plugin individually

If you only do one, WP-Cron will eventually override the freeze.

β–  Recommended setup
・Default (recommended): Disable auto-updates for all plugins on the WordPress side, and let WP Maintenance Manager handle every update
・Emergency security only: Leave auto-update on for select plugins, with awareness of the risks above
What happens if I press the "Stop" button during maintenance?
Pressing Stop sends a stop signal to the process. The app will finish processing the current site before stopping, so updates are never interrupted mid-way. Sites that have already been processed remain updated; remaining sites are skipped.
β€» After sending the stop signal, it may take a few seconds to tens of seconds before the app actually halts.
Technical Setup
What are the system requirements?

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
How do I get an SSH private key?

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:

  • SiteGround: Site Tools β†’ Devs β†’ SSH Keys Manager β†’ Create β†’ Actions β†’ Private Key β†’ copy & save as a file. Use port 18765.
  • Bluehost: Websites β†’ Manage β†’ Files & Access β†’ Shell Access ON β†’ Manage SSH Keys β†’ generate or register a key.
  • AWS (Lightsail / EC2): Use the .pem key pair downloaded when you created the instance. No extra steps needed.

For full step-by-step instructions, see the "Before You Start" section in the User Guide.

What should I enter in the "Private Key Path" field?

Enter the file path to where you saved the private key on your computer.

  • Mac / Linux: ~/.ssh/your-key.pem
  • Windows: C:\Users\YourName\.ssh\your-key.pem

We recommend moving the downloaded key file into your .ssh folder (create it if it doesn't exist), then entering that path.

What should I enter in the "WP-CLI Path" field?

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.

The connection test says "WP-CLI not found" on my shared host. How do I fix it?

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:

  1. Download wp-cli.phar on your computer and rename it to wp
  2. Open File Manager in your hosting control panel and create a folder called bin in your home directory
  3. Drag and drop the wp file into the bin folder
  4. Right-click the file β†’ "Change Permissions" β†’ set to 755
  5. Enter /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'."

Can I organize the site list by client or project?

Yes β€” two complementary systems are available: categories and tags.

  • Categories β€” A single exclusive label per site. Best for organizing by client or project, with a custom color so you can spot each group at a glance in the list.
  • Tags β€” Multiple cross-cutting labels per site (e.g. EC, needs report, contracted year). Useful for attributes that span across categories.

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.

Can I view the maintenance log history for just one site?

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.

Can I delete logs partially (per site / by period / by selection)?

Yes β€” three flexible options are available:

  • Per site: Open the per-site log view via the "Logs β€Ί" link in the registered-site list, then click "Delete this site's logs". Logs for other sites are kept intact.
  • Filtered results: Filter by status (Success / Error / etc.) or by period (last 7 / 30 / 90 days), then click "Delete filtered results". Only entries matching the filter are deleted.
  • By selection: Tick the checkboxes for individual rows and click "πŸ—‘οΈ Delete Selected". Useful for cleaning up specific entries one-by-one.

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.

What happens to my sites if I delete a category or tag?

A confirmation dialog appears before deletion so your site data stays safe.

  • Deleting a category: Choose whether to reset affected sites to "Unassigned" or move them to another category in bulk (the impact count is shown up front).
  • Deleting a tag: The tag is automatically removed from every site that uses it. Other tags and any other site setting are untouched.

Site data itself (SSH info, WordPress paths, history, etc.) is never affected by category/tag operations.

Can I use it without deep WordPress or server knowledge?
Basic operations can be completed just by following the on-screen prompts. However, SSH configuration is required, which involves enabling SSH in your hosting control panel and making WP-CLI available. Major hosting providers like Xserver and Sakura Internet provide detailed setup guides on their side.

For a step-by-step walkthrough from SSH profile setup to your first maintenance run, see the User Guide.
Can maintenance run without SSH access?
Yes. Without SSH, you can still run maintenance using browser automation (Playwright) mode, which operates through the WordPress admin dashboard. Note that features such as DB backup will not be available in this mode.
Do I need to install any plugins on WordPress?
No. No plugin installation is required whatsoever. The app operates externally without modifying your WordPress installation.
Does it work on both Mac and Windows?
Yes. Installers are available for both Mac and Windows.
What hosting providers are supported?
Any server with SSH enabled is supported, regardless of hosting provider. Confirmed working on Xserver, Sakura Internet, ConoHa WING, Heteml, AWS, Vultr, and more. For servers without SSH, browser automation (Playwright) mode is available. (DB backup and some features are not available in this mode.)
Which browser opens when I launch the app? Can I choose a specific browser?
The app opens your OS's default browser automatically. There is no in-app browser selection setting.

  • 🍎 Mac: Change your default browser in System Settings β†’ Desktop & Dock β†’ Default web browser.
  • πŸͺŸ Windows: Change your default browser in Settings β†’ Apps β†’ Default apps β†’ Web browser.

Once the app is running, copy the URL shown in the address bar of the browser that opened automatically and paste it into any other browser to access the same screen.
Pricing & Billing
Can I start for free?
Yes. The Free plan requires no registration and allows up to 1 site, 3 runs per month β€” completely free. Try it out before deciding on a paid plan.
Is billing monthly or annual?
Both monthly and annual billing are available. Annual billing saves approximately 20% compared to monthly. You can switch between them at any time.
When does the license validity period start?
The license period starts from the moment you enter the license key in the app. Validity is calculated to the end of the month.
Example: Monthly license key entered on March 15 β†’ valid through April 30
β€» The period starts from when the key is entered, not when it was purchased.
Can I cancel anytime? Is the process complicated?
You can cancel immediately at any time. Cancellation is self-service through the customer portal (the email address used at signup is required). You may also contact us to handle it, but there may be a 1–2 day delay. After cancellation, you can continue using the service until the end of your current billing period.
What payment methods are accepted?
Payments are processed via Stripe. Credit cards (Visa, Mastercard, JCB, Amex, etc.), Apple Pay, Google Pay, and many other methods are supported through Stripe's global payment infrastructure.
Operations & Data
How many sites can I manage?
It depends on your plan: Free (1 site), MINI (3 sites), LITE (15 sites), STANDARD (100 sites), BUSINESS (200 sites). For more than 200 sites, please contact us.
Where are DB backups saved?
Backups are saved to your local PC. You can choose any folder and download them with one click.

Backup files also remain on the server inside a 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.

Only the latest 3 generations are kept both on the server and locally β€” older files are automatically removed. The retention count (3 generations) is fixed by design and is not user-configurable. The wpmm_backups/ folder is protected by .htaccess and index.php files to block external access.
Can I share maintenance reports with clients?
Yes. Select sites from the maintenance log screen, preview the report, and download it as a PDF or HTML file (Standard plan and above). Send it to your client as an email attachment. Direct URL sharing is not currently supported.
What are the status badge types in the site list?
There are four status types:
  • Success All updates and checks completed normally.
  • Warning Work completed, but something requires attention β€” e.g. a pending plugin update, an admin dialog requiring action, or an HTTP check timeout.
  • Attention Not an error, but worth noting β€” e.g. HTTP status returned 4xx (such as 404), or a visual diff was detected. A manual check of the site is recommended.
  • Error SSH connection failure, update process error, or HTTP 500+ detected. Prompt investigation is recommended.
How long is the status badge displayed?
The status badge is displayed for 7 days after the last maintenance run. After 7 days, only the date and time are shown and the badge is hidden. Running maintenance again will re-display the badge.

Maintenance log history in the Logs tab is retained for 365 days, after which older records are automatically removed.
Hovering over a status badge shows no details.
Hovering over a status badge should show a quick summary popup, but if no updates were performed or no detail information was recorded, nothing will appear. For full execution details, check the Maintenance Logs tab at the top of the screen.
After restoring a settings backup on a different PC, SSH connections no longer work.
The settings backup contains only the file path to your SSH private key β€” the key file itself is not included in the backup. When restoring on a different PC, you will need to:

β‘  Copy your SSH private key file (e.g. ~/.ssh/id_rsa) from the old PC to the new one
β‘‘ Open the SSH Profile settings in the app and update the "Private Key Path" to the correct path on the new PC (sites reference profiles, so updating the profile applies to all linked sites automatically)

When migrating to a new PC, always copy your SSH private key files manually alongside the settings backup. Sites using password authentication only are not affected.
White-Label Reports
Which plan includes the report feature?
Preview and sample viewing are free on all plans. Downloading as PDF or HTML requires the Standard plan or above. Use the "View Sample Report" button in the Report Settings modal to see what a finished report looks like before upgrading.
Can clients tell this report was generated by WP Maintenance Manager?
No. The report uses your agency's logo, company name, colors, and contact information. There is no mention of WP Maintenance Manager in the output. It appears as your own branded maintenance report.
How do I add my agency logo and branding to the report?
Open Report Settings from the main screen. You can set your agency name, address, email, website, logo image, and accent color. These settings are applied to every report you generate.
What information is included in the report?
Each report includes: execution date/time, site name, update details (WordPress core / plugin / theme version changes), status (Success / Warning / Error), HTTP health check result, and optional before/after screenshots. You can also add a custom greeting and per-site notes directly in the preview screen.
I manage 20+ clients. Can I generate a separate report per client?
Yes. From the maintenance log screen, select only the sites belonging to a specific client and generate a report for that group. You can generate per-client reports as many times as needed. There is no limit on the number of reports.
Can I customize the greeting text or add notes for each site?
Yes. In the preview screen, click Edit Text to customize the greeting message and add a per-site note for any site in the report. Changes are reflected immediately in the preview before you download.
PDF or HTML β€” which format should I use?
Use PDF for formal client delivery β€” it's professional, consistent, and easy to attach to an email. Use HTML if you want to host, embed, or further customize the report internally. Both formats share the same visual design.
Can I include before/after screenshots in the report?
Yes. If screenshot comparison is enabled for a site, before and after images are embedded in the report. You can toggle screenshot inclusion on or off in the preview screen header.
Can I filter the report by date range (e.g. this month only)?
Yes. The preview screen lets you switch between This Month, Last Month, and All Time. You can also manually select specific log entries from the log list to include exactly what you need.
Troubleshooting
Maintenance showed "HTTP 500 detected β€” rolled back". What should I do?
The responsible plugin has been automatically deactivated. If "Aggressive Auto-Fix Mode" is enabled, the DB and files have also been restored to their pre-update state, so your site should be displaying normally. If the mode is OFF, only the plugin was deactivated β€” please verify the site visually. The plugin that caused the issue is listed in the report email. Check the vendor's release notes or wait for the next version before trying to update it again.
Reported as "Warning". Is there a problem with the site?
Not necessarily. Common Warning scenarios include: "a plugin update is still pending", "an action dialog appeared in the admin dashboard", or "a visual diff was detected in the screenshot comparison". Check the details section of the report email and manually review the flagged items.
"Login to WordPress admin failed" is shown.
This occurs when using browser automation (Playwright) mode. Common causes: the admin URL has been changed by a security plugin, two-factor authentication is enabled, or the login URL differs from /wp-login.php. Check that the "WordPress Admin URL" in the site settings matches the current login URL.
Can I use this with SiteGuard WP Plugin or similar security plugins?
Yes, but some plugin settings may affect operation.

The update process itself (WP-CLI over SSH) is not affected, so Core, plugin, and theme updates run as usual. However, the post-update "admin login verification" and the "browser automation (Playwright) update mode" will fail when any of the following settings are enabled (a warning like "Admin login not possible" will appear in the log, but SSH update results are unaffected):

β‘  Image CAPTCHA (e.g. Hiragana CAPTCHA) / Fail Once β€” Automated browser login cannot pass these. If you want the admin-side verification to run as well, please disable these features.
β‘‘ Login page rename β€” When registering a site, enter the renamed URL in the "WordPress Admin URL" field. As long as the correct URL is provided, both updates and verification work normally.
β‘’ Login Lock β€” If your execution IP gets locked out, consider adding it to an IP allowlist on the server side.

* If you operate only with SSH updates (no browser verification), none of the above settings need to be changed.
SSH connection error β€” updates not starting.
Please check the following:
β‘  SSH is enabled in your hosting control panel
β‘‘ The hostname, port number, and username in the site settings have no typos or extra spaces
β‘’ If using SSH key authentication, the key file path is entered correctly

For Xserver, note that the SSH port number is 10022. Your hosting provider likely provides the correct SSH connection details in their documentation.

For a full breakdown of each SSH field, see User Guide STEP 1.
The SSH profile test connection succeeds, but maintenance fails with an SSH error.
Each site references an SSH profile, so updating a profile automatically applies to all linked sites. If you still encounter errors, check the following:

β‘  Open the edit screen for the affected site and verify the correct SSH profile is selected
β‘‘ Confirm the WordPress installation path is correct
β‘’ Re-run the "Test Connection" in the SSH Profile manager

After restoring a backup on a new machine, update the private key path in the SSH profile. The change will automatically apply to all linked sites.
Backup shows "local save failed β€” on server only".
The DB backup on the server succeeded, but the transfer to your local PC failed. Common causes are insufficient disk space on your PC or an SSH connection drop mid-transfer.

The backup file remains on the server inside the 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.
Premium plugins (ACF, WooCommerce extensions, etc.) are not being updated.
Plugins not registered in the WordPress official repository (wordpress.org) are excluded from automatic updates β€” this is a WP-CLI limitation. They will be listed under "Pending Updates" in the report email; please update those plugins manually from the WordPress admin dashboard.
Email notifications are not arriving.
First, check your spam folder. If it's not there, verify that the SMTP host, port, and email address in the app's settings are correct.

If you're using Gmail, you need to set up an "App Password". Regular Gmail passwords will fail authentication. Generate an App Password from your Google Account's security settings and enter it in the password field.

For a full breakdown of the notification settings fields, see User Guide STEP 2.
My antivirus software flagged the app after installing on Windows.
This is a false positive. Some antivirus software may flag apps built with PyInstaller as unknown programs. Please refer to the Install Guide for step-by-step instructions on excluding the app.
The app launched but no browser opens / automation doesn't start.
On first launch, Playwright (the browser automation engine) needs to be downloaded. Please wait a few minutes with an active internet connection. If it still doesn't start, close the app and relaunch it.
It takes a while for the browser to open after launching the app.
This is normal behavior. On Mac in particular, the app performs initialization on startup, so it may take around 15 seconds before the browser opens. Please wait β€” once the browser appears, you can use the app immediately. Subsequent launches will be faster.
On Mac, clicking the app icon after closing the browser tab does nothing.
Closing the browser tab alone does not stop the app's internal server process. Due to macOS behavior, clicking the app icon while the server is still running will not launch a new instance β€” it simply activates the existing process, which can appear as if nothing happened.

Always use the "Quit App" button in the app UI to properly shut down the server before closing. This ensures the next launch works smoothly.

If you already closed the tab without using the Quit button, wait approximately 90 seconds β€” the server will shut down automatically after detecting no activity. You can then relaunch the app normally.
How do I update the app? Do I need to uninstall the current version first?
No uninstall is needed. Simply install the new version on top of the existing one. All your data β€” site settings, logs, and backups β€” will be preserved.

We recommend closing the app before running the update.

Windows: Download and run the new .exe installer. It will overwrite the existing installation automatically.
Mac: Open the new .dmg and drag the .app to the Applications folder. When prompted with "Replace existing item?", click Replace.
License & Account
Entered the license key but "Cannot authenticate" is shown.
Please check the following:
β‘  No extra spaces were included when copying and pasting the key
β‘‘ Your internet connection is active
β‘’ If the key is already in use on another PC, only one PC is allowed per key (per-plan limits apply)

If the issue persists, please contact us via the contact form.
I want to move to a new PC. How do I deregister the old one?
You can deregister using the γ€ŒDeregister This PC」button in the License tab of the app's settings. If the old PC is no longer accessible, please contact us via the contact form and we will handle the deregistration.
How many PCs can I use with the Business plan?
The Business plan supports simultaneous registration on up to 2 PCs. For example, you can use it on both your main Mac and a laptop at the same time.

Note that no duplicate site check is performed between the two registered PCs. Feel free to use the plan flexibly across team members or multiple work locations.

If you need to use a third PC, simply deregister one of the current PCs first, then register the new one.
What happens to my data when the license expires?
All site information, settings, and backup files on your PC remain intact. Nothing is deleted. However, after expiry, maintenance execution reverts to the Free plan limits (1 site, 3 runs per month).
Comparison with Other Tools
Do you have comparison pages with other WordPress maintenance tools (ManageWP, MainWP, etc.)?
Yes β€” we publish detailed comparison pages against the four most-used tools: ManageWP, MainWP, WP Umbrella, and InfiniteWP. The hub page includes an at-a-glance table across 7 dimensions, a 30-second summary of each tool, and a quick decision guide based on what matters most to you.

πŸ‘‰ See the 4-tool comparison hub
How does WP Maintenance Manager compare to ManageWP?
Three main differences:
β‘  No plugin required on client sites (SSH + WP-CLI connection). ManageWP requires the ManageWP Worker plugin on every managed site.
β‘‘ Per-plugin pinpoint rollback built in. ManageWP's "Safe Updates" reverts the entire site if anything breaks.
β‘’ $28/mo for full features at 100 sites (Standard plan). ManageWP's All-in-One Bundle is $150/mo for the same site count.

That said, ManageWP has its own strengths: continuous uptime monitoring, team collaboration features, and a longer brand track record.

πŸ‘‰ See the full vs ManageWP comparison
How does it compare to MainWP, WP Umbrella, and InfiniteWP?
All three differ from WP Maintenance Manager in two key ways: they require a dedicated plugin on each client site, and they don't offer per-plugin automatic rollback. Here's a quick summary of each, with links to the full comparisons:

・MainWP: open source, self-hosted on a WordPress site you provision. Pro $29/mo or $599 lifetime. See vs MainWP β†’

・WP Umbrella: EU-based SaaS, €1.99/site/mo. Strong on continuous uptime monitoring and GDPR-aligned data residency. See vs WP Umbrella β†’

・InfiniteWP: self-hosted, annual add-on licensing (from $147/yr). Hosted version $597/yr for 100 sites. See vs InfiniteWP β†’
Can I migrate from another tool, or run both side by side?
We don't offer automatic site import from other tools. However, adding a single site takes about 30 seconds β€” just enter SSH credentials and the WordPress install path.

Parallel use is fully supported. WP Maintenance Manager connects via SSH and never touches the existing tool's plugin (ManageWP Worker, MainWP Child, WP Umbrella plugin, or InfiniteWP Client) β€” they don't conflict. We recommend starting with our free plan (1 site), then migrating gradually as you build confidence.

For a step-by-step parallel evaluation flow, see the "Try alongside [tool]" section on each comparison page.