What I can show you
I do not publish reviews I cannot verify, and I have no customer outcomes to show you yet. Rather than fill that space with something invented, here is the other thing I can offer: the testing this software goes through before it ships, published as the raw output, so you can read it instead of taking my word for it.
This is me testing my own software. None of it is a customer outcome, and none of it makes any claim about results on your site.
The runs, 2026-10-22
- Google Drive backup, 177 checks, plugin 6.55.3
- OneDrive backup, 139 regression groups, plugin 5.50.7
- Licensing, 34 suites, plugin 10.52.8
- Restore drills on a real database, Google Drive backup
- Restore drills on a real database, OneDrive backup
- Every suite on every PHP version it runs on, from the oldest each plugin supports to 8.5
- Bodholdt Tickets 1.6.22, Bodholdt Atelier 1.10.9, Bodholdt Contact 5.3.4 and Bodholdt Backup Pro 1.1.5, installed and run on PHP 8.4 and 8.5
- Every first-party PHP file parses, 555 files
The runs above cover all seven plugins: Bodholdt Backup for Google Drive, Bodholdt Backup for OneDrive, Bodholdt Licensing, Bodholdt Tickets, Bodholdt Atelier, Bodholdt Contact and Bodholdt Backup Pro. These runs tested the versions named above, which were the current releases on 22 October 2026. I change a version on this page only when I publish a new run.
Why the names matter more than the numbers
A pass count tells you almost nothing. What a check is actually named tells you whether anyone thought hard about the failure. A few real lines from the files above:
- same-size SQL swap after lazy addFile cannot enter the signed member set
- unchanged incremental source reproof catches same-size mtime-restored byte drift
- source authority reproof catches same-byte inode-number-reuse replacement
- failed database export removes its partial SQL image
- an archive collision refusal names both colliding members
Those are all about a backup that looks fine and is not. That is the failure that matters, because you find it on the day you need the backup.
What runs, and how often
Every push runs the full suites for both backup plugins on PHP 7.4, 8.3, 8.4 and 8.5, and the Licensing suites on PHP 8.0, 8.3, 8.4 and 8.5: from the oldest version each plugin says it supports to the two newest. Testing only on the newest PHP would tell me nothing about the sites most likely to break. Bodholdt Tickets, Bodholdt Atelier, Bodholdt Contact and Bodholdt Backup Pro run their own tests on PHP 8.4 and 8.5 as well. Each one is installed in a throwaway WordPress, every screen it adds is opened and every job it schedules is run, and any PHP warning from its own files fails the run.
Alongside them, restore drills stand up a real database and a real WordPress in containers and restore into them, rather than pretending with mocks: 62 checks per plugin for restore and rollback; 22 that a database with a foreign key and binary data comes back exactly, after a clean restore and after a rollback; three separate states for the international-character warning; and nine file-relocation families checked for release-gate violations.
What this is not
It is not proof the software is free of defects, and I would not claim that. It is a record of what I check and what those checks are called, dated, in my own words, published whether the numbers flatter me or not. When I do have a customer willing to say something about their own experience, it will appear with their name and their permission, and never otherwise.