Backup v2.5

AJT Backup

After years of managing client sites, I'd seen too many "backup" plugins that produced corrupt archives, couldn't restore, or stored credentials in plaintext. I built one that encrypts at rest (AES-256-GCM), verifies every archive (SHA-256), and supports the cloud providers MSPs actually use.

Scroll

The Problem

Backup was born from frustration. After the third time a "leading" backup plugin produced a corrupt archive in production, I decided to build one that actually verifies what it creates.

🌐

5 Providers

SharePoint, OneDrive, Google Drive, S3, local. One-click OAuth proxy for Microsoft and Google, no app registration. S3 with IAM keys. Because MSPs use Microsoft, not Dropbox.

🔒

AES-256-GCM

Encrypted before upload. GCM provides confidentiality AND authenticity, tampered archives are detected, not just unreadable. Key derived from site constants.

♻️

Restore Engine

One-click restore with pre-restore safety snapshot. Database-only, files-only, plugin-specific, theme-specific. Automatic rollback on failure. Because a backup you can't restore is just a large file.

Integrity Verification

Archive-level AND per-file SHA-256 checksums. Automated dry-run verification on schedule. Know your backups work before the emergency.

📅

Scheduling

Hourly, daily, weekly, custom cron. Retention policies per provider. Incremental support. Background chunked processing, no timeout issues on shared hosting.

🚚

Migration

Site migration package with serialized data replacement, URL rewriting, database prefix handling. Move a site between domains without regex nightmares.

How It's Built

The engineering under the hood.

📊

Cloud Health

Quota monitoring, connectivity checks, provider status. Know when storage is running low before backups fail silently.

🔔

Notifications

Success, failure, warning emails. Detailed summaries. Because a backup that fails silently at 2am is worse than no backup.

📝

Logging

Every operation, timestamps, file counts, sizes, durations, errors. Filterable viewer. When something breaks, you can trace exactly what happened.

🖥️

GLASS Integration

Registers as a GLASS app. Full management inside the admin shell. Badge counts for pending ops. Because backup management shouldn't live in a separate UI.

🧩

Manifests

JSON manifests track every file in every backup. Compare between backups to detect changes. Know exactly what's in each archive without extracting it.

Chunked Processing

Large sites processed in chunks via WP-Cron. No PHP timeout issues. Progress tracking in the admin. Tested on 5GB+ sites with shared hosting.

Part of the Ecosystem

Every AJT plugin shares the same security model, UX system, and licensing infrastructure. They're designed as one architecture that ships as independent packages. Back to the full ecosystem →

Want to Work Together?

I'm always interested in challenging WordPress architecture problems. If you need a plugin built properly, let's talk.

Get in Touch