MediaZard builds a local index of supported WordPress media references. Use it to understand detected uses before replacing or deleting an attachment. A missing reference is not proof that a file is unused.
No Pro code, paid feature gate, license service or subscription is included.
Protection uses supported evidence and current permissions. It cannot guarantee every use is detected or that deletion will not break content.
Open Media > MediaZard > Scan, start a full scan and keep that screen open while batches run. Progress is saved on the server. Pause or return to resume an interrupted run; without JavaScript, use Continue one batch. Closing the screen stops new browser batch requests. Free has no scheduled full scans.
Supported native changes queue bounded targeted updates. Edits while inactive, direct database/file changes, changed attachment mappings and unsupported integrations can require a new full scan. Media Library browsing does not start a site-wide scan.
Administrators with the required attachment permissions can review one attachment or up to 100 explicitly selected attachments. Bulk work runs in groups of at most five. Used items require Delete anyway and additional confirmation. Single permanent deletion requires the attachment ID; bulk permanent deletion requires the displayed DELETE count. Unknown, restricted, busy or recovery-blocked items cannot be confirmed.
Delete anyway can remove media used in content, Elementor, featured images or site identity and break those uses. Permanent deletion uses WordPress APIs, creates no media backup and does not repair content/settings. Cancellation keeps remaining bulk items. Inspect interrupted in-flight items before a fresh review. Direct SQL/file deletion and other code removing guard hooks are outside these safeguards.
Replace local JPEG, PNG, WebP, GIF or AVIF images only when WordPress and the server image editor support the format. Use the exact same extension: .jpg and .jpeg are not interchangeable. The limit is the lower of 32 MiB and the WordPress upload limit; images above 40 million pixels are rejected. Remote/offloaded files, SVG, PDF, audio and video replacement are unsupported.
Successful replacement preserves the attachment ID, original stored URL/path, title, caption, description and alt text, and regenerates metadata/subsizes. A required failure aborts or restores the previous file/metadata. Unresolved recovery blocks new replacement/deletion. Temporary rollback files are transaction recovery, not a general backup service. Separate page, browser or CDN caches may need their own purge; delivered image URLs can include a cache revision.
If an interrupted operation or temporary-file cleanup leaves a recovery record, open Tools > Replacement Recovery, or follow Review recovery on the attachment’s Replace Media screen. Confirm the attachment ID and recovery acknowledgement. Recovery uses the existing verified record to restore an interrupted file/metadata mutation or clear completed temporary backups. It cannot start a new replacement. Use the guided Replace Media workflow for ordinary replacement.
Scanning and reference analysis run inside the site’s WordPress installation. This plugin has no telemetry, analytics, cloud scanning, external license validation or custom remote updater. It does not send scan content, filenames, usage statistics or site identifiers to an external service.
The local database stores attachment IDs, MIME types, original-file sizes, upload-relative paths, detected source IDs/contexts/confidence and scan state. Local options/transients hold pending work, user/session-bound confirmation state, bounded outcomes and short diagnostic codes. The latest protection event includes attachment ID, administrator user ID and UTC time. Replacement recovery can retain local file/metadata snapshots and protected temporary backups until cleanup succeeds.
Admin previews use WordPress media URLs; existing site/CDN configuration and third-party hooks can affect their delivery. Optional LiteSpeed integration requests a local plugin cache purge through WordPress hooks; this plugin makes no separate service request. WordPress’s own update checks, hosting logs and other plugins are outside this statement. MediaZard enables no persistent production debug log.
Deactivation keeps plugin data and invalidates freshness because edits cannot be observed while inactive. Uninstall retains all plugin tables, options, scan progress, pending work, recovery records and media files. Free has no remove-data-on-uninstall setting and performs no automatic purge. WordPress can expire transients normally. If you want to remove retained data, plan a separate backed-up cleanup and resolve recovery records first.