Home / Blog / Uninstall leftovers the WordPress.org review still misses
Receiving QA · WordPress

Uninstall leftovers the WordPress.org review still misses

Deactivation is not uninstall. If your plugin leaves data behind without an explicit keep-data choice, users discover it the hard way.

Published September 3, 2026

Many plugin teams test activation, settings, and one happy path, then call it done. Uninstall gets skipped until a support thread says “I removed your plugin and my database is still full of your stuff.”

WordPress.org review catches many important issues, but uninstall residue is still a practical risk you should verify with human QA in wp-admin before release.

What “leftovers” usually means

  • Options rows in wp_options with your prefix still present after uninstall.
  • Cron events still scheduled, continuing to fire against code that is now gone.
  • Custom tables left behind unintentionally.
  • Uploads and temp files never removed or documented.
  • User capability / role changes that are not reverted.

Some data retention is valid when users explicitly choose it. Silent retention by default is the problem.

Why static checks are not enough

Static review can confirm your uninstall file exists. It cannot prove the full install → use → deactivate → delete path behaves correctly in a realistic environment with actual state.

That final path needs a human run with a checklist and recording.

A practical uninstall QA brief

  1. Start in a fresh sandbox with your plugin installed and activated.
  2. Create residue on purpose: save settings, run any setup wizard, create plugin-owned records, and trigger scheduled tasks if possible.
  3. Deactivate and delete via wp-admin plugins screen.
  4. Verify cleanup checklist: options keys, custom tables, scheduled cron, uploads/temp files, and role/cap changes.
  5. Record evidence: where each check passed or failed, with timestamps.

Use isolated sandboxes so every tester starts from the same state: WordPress plugin sandboxes.

Keep-data toggle: make it explicit

If your plugin has legitimate reasons to preserve data, gate it behind a clear setting (for example, “Keep data on uninstall”). Then test both branches:

  • Keep-data off: uninstall should remove plugin-owned artifacts.
  • Keep-data on: uninstall should preserve exactly what you document, no more.

Ambiguous behavior creates support debt and harms trust.

Submission format that is easy to review

Ask testers for structured evidence, not essays:

  • Completed / blocked outcome.
  • Checklist row per artifact class (options, cron, tables, files, roles).
  • Timestamp to each failure in recording.
  • Severity and reproducibility notes.

This lets you approve or reject quickly and rerun the same brief after fixes.

On QATested

QATested WordPress plugin testing gives each tester an isolated wp-admin so uninstall checks are comparable. Post the uninstall brief, require recording, and review against one checklist. Related: what Plugin Check can’t see in real wp-admin · briefing conflict tests · post a Structured QA test.

Related

WordPress plugin testingWordPress plugin sandboxesWhat Plugin Check can’t seeBrief testers for plugin conflictsTest a plugin with real users
QATested

End-user product testing for SaaS and web apps. Catch warts before customers do — or validate the improvement you just shipped.

Products
  • QA Testing
  • Usage Learnings
  • Deploy API
  • Product tour
  • Pricing
  • FAQ
Solutions
  • WordPress plugins
  • Mobile apps & web
  • For teams & agencies
  • UX consulting
Get started
  • Post a test
  • For developers
  • For testers
  • Sign in
Company
  • Blog
  • Roadmap
  • Trust
  • Contact

QATested LLC · Doing business as QATested

192 N Wells St #3151, Chicago, IL 60606, United States

hello@qatested.io

QATested LLC operates QATested (qatested.io), a self-serve marketplace where software developers pay to post structured QA tests and independent testers earn guaranteed pay for approved submissions. Payments are processed through Stripe.

© 2026 QATested LLC. All rights reserved.

Privacy Terms Refunds Cookies Tester agreement