Quarantine and Permanent Deletion

Applies to core 0.1.2 and Pro 0.1.0. These cleanup workflows require the compatible Pro add-on and cleanup entitlement. Public purchasing and license activation are not open yet.

Before Cleanup

Back up the database, uploads, and any existing quarantine directory together. Finish the baseline, refresh changed content, and inspect the evidence. Check a small selection on staging before using a large batch. Retain anything whose purpose is uncertain.

Quarantine Unused Media

  1. Open Media Sentry > Unused Media and inspect each candidate's detail and usage evidence.
  2. Select the intended items. Select All Matching includes filtered results beyond the visible page; verify the count.
  3. Choose Quarantine (Pro) and apply the action. This starts file movement immediately, not a preview.
  4. Review the batch status in Quarantine. The selected asset IDs are frozen into the batch; some process immediately and remaining items continue through scheduled workers.
  5. Inspect completed, failed, and remaining counts. A partially successful batch does not mean every selected item moved.
  6. Check affected pages, galleries, responsive images, and product views. Restore any image you discover is needed.

For exact duplicate groups, inspect the keeper and use the exposed Quarantine Redundant Copies or Quarantine Selected action. Similar Images does not qualify for this automatic redundant-copy workflow.

The service checks candidate state, detected references, product/manual protection, file existence, path safety, and the current hash against the saved hash when available. A changed or ineligible item may fail even if it appeared selectable. These checks use supported evidence and do not replace your review of custom integrations.

What Moves

The selected asset file moves to lf-media-quarantine, a sibling of the site's uploads base. For a conventional wp-content/uploads installation this is wp-content/lf-media-quarantine. Customized uploads locations change that location. The service records the original path and hash and marks registered attachments as quarantined.

Quarantine is not a complete archive of every image derivative, remote copy, or cached response. It is not a backup, and it is not a malware scanner. The plugin writes an Apache access-denial file and an empty index; ask the host to verify direct access is blocked, particularly on servers that do not honor .htaccess.

Retention and Permanent Deletion

The default retention period is 30 days. Change it under System > Quarantine Retention, then choose Save Retention. The supported range is 0 to 365 days. A change also affects existing quarantined items; 0 removes the waiting period. No item is deleted automatically when time expires.

  1. Open Quarantine and inspect each item's delete eligibility and age.
  2. Refresh usage evidence after relevant site changes and verify your backup before deletion.
  3. Choose Delete Selected Eligible or Delete All Eligible only for the intended scope.
  4. Enter the required exact confirmation DELETE and submit.
  5. Review batch results and any item-level failures.

Deletion requires the item still be quarantined, a quarantine log, elapsed retention, no detected current references, the expected attachment marker when applicable, and a matching quarantined-file hash. The service removes the quarantined file and calls WordPress attachment deletion for registered attachments, which can also remove associated metadata and derivative files. This is permanent: Media Sentry restore cannot undo it. Recovery then requires a separate backup.

Use Restore and Recovery for reversible recovery and Troubleshooting for failed batches. Installed Pro functionality continues after maintenance expires; see maintenance terms.