Engineering Notes

Why we built a desktop app on local Flask + browser UI instead of PyQt or Electron

When you double-click WP Maintenance Manager, it opens a browser tab — and the entire UI lives inside that tab. No native window is created. It’s an unusual structure for a first-time user, and the natural question is: “why a browser?” That choice was an intentional design decision when building a Python desktop application. Here’s the comparison that led to it, and the side effects of the choice. Four realistic options For a WordPress maintenance automation tool, four implementation styles were practical: Approach UI Distribution size Dev cost Per-OS extra work Native (Swift / WPF) OS-native windows Small–medium High (separate impl per OS) Heavy PyQt / PySide Qt widgets Medium …

Read more
WordPress Maintenance

Pinpoint rollback — building per-plugin revert with WP-CLI

You batch-update 20 plugins, and one breaks the site. Most WordPress maintenance tools play it safe and roll back all 20 updates (variations on “Safe Updates” or “Atomic Updates”). It’s a reasonable default. But running in production, you start running into cases where you want only the broken one reverted, and the other 19 to keep their updates. Here’s how that design is built on top of WP-CLI. The command that makes it possible — wp plugin install –version=X –force WP-CLI has a powerful command for “install a plugin at a specific version, overwriting whatever’s currently there”: wp plugin install <plugin-slug> –version=1.2.3 –force –skip-plugins –skip-themes What each flag does: –version=1.2.3 …

Read more
WordPress Maintenance

Three gaps the WordPress maintenance industry still hasn’t solved — from a survey of four major tools

WordPress maintenance automation has a long-running market, especially outside Japan. ManageWP, MainWP, WP Umbrella, InfiniteWP — each has more than a decade of history behind it. While building our comparison pages, we surveyed all four side by side. An interesting pattern emerged: three things none of the four tools offer. Each is a gap the industry has long treated as “not feasible,” and there are structural reasons why. Here’s a look at those three unsolved areas — and why they remain unsolved. Gap 1 — Per-plugin updates with HTTP checks between each one In most maintenance tools, plugin updates run in bulk. After the batch, the tool takes a sitewide …

Read more
WordPress Maintenance

After a core rollback, halt the rest — a safety design we arrived at the hard way

In WordPress maintenance automation, you inevitably run into points where you have to decide: keep going, or stop right here? One that took us a long time to get right was this: when a WordPress core update goes wrong and gets rolled back, should the remaining plugin updates continue, or stop? We eventually switched to the “stop” design, but we started with “keep going” — and several traps surfaced only after running it in production. Here’s how the redesign happened. Three cases to separate The outcome of a core update, viewed through a rollback lens, falls into three patterns: Case 1: Core rollback succeeded, site recovered — the site is …

Read more
WordPress Maintenance

InfiniteWP’s Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

Among WordPress maintenance tools, InfiniteWP is one of the most established names. Released by Revmakx in 2011, the tool has been operated continuously for over a decade. It enjoys deep loyalty from agencies that have invested years building operational know-how around it. We at WP Maintenance Manager take a different approach, and our comparison pages outline where the two diverge. But before talking about differences, the strengths of InfiniteWP deserve to be stated honestly. Here are the five points where InfiniteWP fits an agency particularly well. 1. Over a decade of operational track record InfiniteWP’s biggest structural advantage is trust built across more than a decade of continuous operation. Released …

Read more
WordPress Maintenance

WP Umbrella’s Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

Among WordPress maintenance tools, WP Umbrella has built strong traction with EU-based agencies. Launched in 2020 from France, this relatively young SaaS tool has rapidly grown its user base by anchoring its identity around three pillars: strict GDPR operations, EU data residency, and continuous uptime monitoring — all wrapped in a notably modern interface. We at WP Maintenance Manager take a different approach, and our comparison pages outline where the two diverge. But before talking about differences, the strengths of WP Umbrella deserve to be stated honestly. Here are the five points where WP Umbrella fits an agency particularly well. 1. EU data residency and strict GDPR compliance WP Umbrella’s …

Read more
WordPress Maintenance

MainWP’s Strengths and Who It Fits — An Honest Review from a Competing Tool Builder

Among WordPress maintenance tools, MainWP stands out as the leader for agencies with a strong open-source bias. Founded in 2013, fully GPL-licensed, and architected so that the dashboard itself runs on your own WordPress installation, MainWP holds a distinctive position in the market — one shaped by the trust that comes from readable code and self-hosted data ownership. We at WP Maintenance Manager take a different approach, and our comparison pages outline where the two diverge. But before talking about differences, the strengths of MainWP deserve to be stated honestly. Here are the five points where MainWP fits an agency particularly well. 1. Fully open source (GPL) — you can …

Read more
WordPress Maintenance

When WP-CLI fatals on the plugin you came to rescue

A WordPress plugin update breaks the site. You SSH in to roll back the bad plugin with WP-CLI, and you get this: Fatal error: Uncaught Error: … in /path/to/broken-plugin/main.php:42 The plugin you came to fix has now stopped the tool you came to fix it with. It looks contradictory, but it makes sense once you know how WP-CLI starts up — and there’s a flag pair that gets you out. Why WP-CLI itself crashes When you run a rollback command like wp plugin install <name> –version=X –force, WP-CLI internally boots WordPress before doing anything else. Plugin registration and option loading all happen during WordPress’s startup, so a broken plugin gets …

Read more
WordPress Maintenance

‘Command not found’ — and what’s really blocking WP-CLI

“I downloaded wp-cli.phar, uploaded it to ~/bin/wp, SSH’d in, and ran wp. Got -bash: wp: command not found. The file is right there. Why?” If you’ve set up WP-CLI on a shared host using a browser-based file manager, you may have hit exactly this. The file exists, permissions are 755, size is 6.8 MB (matches the official PHAR). And yet it refuses to run. The “command not found” message can hide an entirely different problem underneath. The file is there, but nothing runs After SSHing in, you can confirm the file exists: $ ls -la ~/bin/wp -rwxr-xr-x 1 c1234567 c1234567 7142777 May 8 10:00 /home/c1234567/bin/wp $ wp –info -bash: wp: …

Read more
WordPress Maintenance

Why WP-CLI Won’t Start on Some Shared Hosts — A Field Investigation Across Four Architectures

If you build any kind of WordPress maintenance automation, sooner or later you hit a wall the official WP-CLI install instructions don’t warn you about. The setup is supposed to be simple — drop one file onto the server and make it usable as a command — yet on shared hosting it fails in a different way on every host. This article summarizes what we learned by running a read-only SSH-based diagnostic across four shared hosts — ConoHa WING, Xserver, Sakura Internet, and Heteml — to find out what really separates “WP-CLI runs” from “WP-CLI fails to start.” The “one-liner install” assumption breaks early The official WP-CLI install snippet looks …

Read more