Define a narrow batch
Filter by post type, status, age, maximum word count, and missing featured image.
WordPress maintenance plugin
Preview stale, low-content WordPress posts, export a CSV backup, and move a reviewed batch to Trash without adding a permanent-delete path.
What it does
Post Purge Pro is designed for staging-first cleanup work where administrators need a narrow batch, a backup, and a reversible Trash-only action.
Filter by post type, status, age, maximum word count, and missing featured image.
Preview up to 100 current matches. The plugin revalidates posts before export or cleanup.
Download reviewed fields and original content as CSV, with spreadsheet-formula-looking cells hardened.
Typed PURGE confirmation and browser confirmation are required. Version 1.0.0 never permanently deletes posts.
Validation
Use this after placing the plugin ZIP in the local WordPress harness.
php -l post-purge-pro.php
Get-ChildItem -Recurse -Filter *.php | Where-Object { $_.FullName -notmatch "\\dist\\" } | ForEach-Object { php -l $_.FullName }
php tests/test-rules.php
php tests/test-export.phpdocker compose -f docker-compose.wordpress.yml --env-file .env.wordpress up -d db wordpress phpmyadmin
docker compose -f docker-compose.wordpress.yml --env-file .env.wordpress run --rm wpcli plugin install /workspace/local-artifacts/wordpress/post-purge-pro.zip --force --activate
docker compose -f docker-compose.wordpress.yml --env-file .env.wordpress run --rm wpcli plugin listAcceptance
Use disposable staging posts first. Do not run cleanup against production content until the staging flow is verified.
The ZIP installs and activates through WordPress without breaking admin or public pages.
Tools > Post Purge Pro loads for an administrator and preview does not mutate posts.
CSV backup downloads, cleanup moves posts to Trash only, and test posts can be restored.
Important limitation
This TechMaxxed subsite documents and supports the plugin. The plugin itself runs inside the site owner's WordPress install after the ZIP is installed.