Website Maintenance Assistant
WordPress plugin that scans your site's database, security, SEO, and performance, then fixes the safe issues in one click — no AI calls, nothing leaves your site.
by Jesson Paloma · github.com/jessonp/website-maintenance-assistant-wordpress-plugin
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/jessonp/website-maintenance-assistant-wordpress-plugin/archive/refs/heads/main.zipReadme
Website Maintenance Assistant
A WordPress plugin that scans your site's database, security, SEO, links, and performance, then tells you what to fix first — with real one-click fixes, not just a list of problems.
Free on WordPress.org (pending review). No external AI calls, no data leaves your site — every recommendation is generated locally from your own scan results.
Why
Most maintenance plugins hand you a wall of technical findings and leave you to prioritize them. This one scores your site's overall health, ranks the top issues by real impact, and lets you fix the safe, well-understood ones in a single click — with a preview of exactly what will change before anything happens.
Features
Five scanners, each measuring real data (no fabricated numbers):
| Scanner | Checks |
|---|---|
| Database | Post revisions, expired transients, spam/trashed comments, autoloaded option bloat |
| Security | Default admin username, debug mode, XML-RPC, outdated plugins (by name), missing security headers, directory listing |
| SEO | Missing/duplicate titles, missing meta descriptions (when an SEO plugin is active), missing image ALT text, multiple H1 headings, search-engine visibility — each with links to the specific pages affected |
| Broken Links | Real HTTP checks against links found in published content (capped and cached, not an exhaustive crawl) |
| Performance | Actual measured CSS/JS payload per plugin/theme via a loopback request, persistent object cache detection, oversized images in the media library |
One-click fixes, each behind a mandatory preview → confirm flow:
- Reversible (Disable XML-RPC, Disable Debug Mode) — get a real Undo, including a safe backup-and-atomic-rewrite of
wp-config.phpfor the debug toggle. - Destructive (Clean Database, Remove Broken Link) — no undo promised; the preview shows exact counts, and re-checks state at confirm-time so it can never silently act on stale data.
Requirements
- WordPress 6.0+
- PHP 7.4+
- Node.js 18+ (only if building from source — the release zip ships a pre-built bundle)
Installation
- Download the latest release zip (or build from source, see below).
- Upload via Plugins → Add New → Upload Plugin in wp-admin, or extract to
wp-content/plugins/. - Activate, then go to Maintenance in the wp-admin sidebar to run your first scan.
Development
git clone <this-repo> wp-content/plugins/website-maintenance-assistant
cd wp-content/plugins/website-maintenance-assistant
npm install
npm run build # one-off production build
npm run dev # rebuild on change
No Composer dependency — the PHP side has zero third-party dependencies and uses a small hand-rolled PSR-4 autoloader (includes/Autoloader.php), so there's no build step required on the PHP side.
The admin UI is a Vue 3 + Tailwind CSS single-page app (assets/src/), built with Vite into a single IIFE bundle (assets/dist/app.js) and enqueued only on the plugin's own admin screens.
Architecture
includes/
Scanners/ Scanner_Interface + one class per scanner, assembled by Scanner_Registry
Fixes/ Fix_Interface + one class per fix, assembled by Fix_Registry
Engine/ Recommendation_Engine (rule-based prioritization) + Health_Score_Calculator
Rest/ REST controllers under the `awma/v1` namespace
Storage/ Options-API-backed repositories for scan reports and fix history
Admin/ wp-admin page registration + asset enqueueing
Support/ Capability checks, Pro-teaser content
Every scanner implements one contract (get_id(), get_label(), is_available(), scan(): Scan_Result); every fix implements another (preview(), apply(), undo()). Adding a new scanner or fix means writing one small class and registering it — nothing else in the system needs to change.
Extension points (for a future Pro tier or third-party add-ons — all currently ungated):
awma_available_scanners, awma_available_fixes, awma_recommendation_rules, awma_health_score_weights, awma_scan_result, awma_fix_allowed, awma_scan_cap_posts, awma_scan_cap_links, awma_required_capability
Roadmap
The free plugin is fully functional as described above. A Pro tier is planned (AI-generated explanations, scheduled scans + email reports, uptime monitoring, Core Web Vitals tracking, white-label reports, multi-site dashboard) but not yet built — there's no payment backend or license server today.
License
GPL v2 or later — see LICENSE.