WP Maintenance v2

Scheduled maintenance panel for WordPress websites: backups, security audits with hardening actions, per-site updates and integrations. FastAPI backend, Vue 3 frontend, and custom WordPress connector.

Published

The problem

Keeping a WordPress site running isn't about writing content: it's about keeping watch. Backups have to be taken and must be restorable, updates must not break anything, the audit must tell the truth, and there must be a way to show the client that the site is fine. Generic tools focus on the agency; I wanted a tool focused on maintenance, with each client site treated on its own.

Three attempts

This is the version that made it. The first idea was an autonomous AI assistant to manage everything; it grew until maintenance was no longer the focus. The second attempt was a complete SaaS platform with a portal, ticketing system, and plans. Both paths taught the same lesson: they assembled many things except the one that was needed. The third attempt began with the opposite question: what is maintenance, and nothing else? From this emerged a small, stable, auditable system designed to grow only with what is needed.

How it works under the hood

Three pieces: a FastAPI backend with a pure JSON API, a Vue 3 frontend with TypeScript, and a custom WordPress connector installed on each site. The portal communicates with the connector over HTTP, with every request signed using HMAC-SHA256, a timestamp, and an anti-replay window. The connector makes no outbound calls; it only listens to its portal. Each site has its own analytics (Umami) and monitoring (Uptime Kuma) configuration because maintenance is tailored to each client. Backups are created on the website, downloaded to the panel, and transferred to an external destination, with honest statuses: a backup is not "done" until it is in its destination, and a network outage never leaves a half-finished zip masquerading as a good backup.

Security you can trust

The audit relies on explicit rules, with no AI: PHP version, extra administrators, inactive plugins, wp-config permissions, two-factor authentication for every administrator, and automatic updates. Wherever possible, the tool acts with one click: installing and activating 2FA, and forcing automatic updates. The connector has passed two external security audits, and the project wraps up with a complete test suite: PHP tests, Python tests, and the frontend build are all green.

Where it goes next

The connector is at version 1.9.0, and the panel already manages real websites. Next comes only what will always be needed, and nothing more: more sites, a better audit, and no feature that doesn't serve maintenance.