For the complete documentation index, see llms.txt. This page is also available as Markdown.

1. Description

Unused media files accumulate in every Shopware store over time — especially after product imports, layout changes, or manufacturer logo updates. While Shopware includes the media:delete-unused CLI command, most merchants don't have server access to run it.

Media Cleanup Dashboard brings this functionality directly into the Shopware Administration: a visual dashboard that safely identifies, displays, and deletes unused files — no command-line access required.

Start view with "Start scan" button

Features at a Glance

Dashboard with File List

The dashboard displays all unused media files in a paginated list — with a preview thumbnail (or a file-type icon for PDFs, videos, etc.), file name, type, size, and upload date. A summary bar at the top shows the total file count and combined storage size at a glance.

Async Background Scan

As of version 1.1 / 2.1, the scan runs asynchronously in the background — no HTTP timeout, even for very large media libraries. Results appear immediately once the scan completes. Results are cached for up to 4 hours: page navigation and delete operations never trigger a full re-scan. The Rescan button refreshes results on demand at any time.

Result list with unused media files after the scan

Bulk Selection and Safe Deletion

Select individual files via checkbox or use "Select all" — even across multiple pages. Before any deletion, a confirmation dialog shows the number of files and total size. A progress indicator is displayed during deletion; the result (deleted / skipped / failed) is reported in detail when complete.

In addition, the plugin performs a real-time last-mile verification immediately before every deletion — checking whether a file has been re-assigned since the scan — so no actively used files are ever deleted.

Confirmation dialog before deleting

Filters and Sorting

Filter the list by file type (image, video, document, other), minimum file size, or upload age. Sort by file name, file size, or date — ascending or descending. A single click resets all active filters.

File type filter "Image" applied

User Permissions (ACL)

The plugin adds two separate privileges:

  • momo_media_cleanup:read — access to the dashboard and the unused media list

  • momo_media_cleanup:delete — permission to delete unused media files

Staff can review the list without having delete access.

Technical Details

Property
Value

Shopware compatibility

6.6.x and 6.7.x

PHP

8.2+

External services

None — the plugin communicates only with your own Shopware instance

Database migrations

None — the plugin does not create any custom tables

Background scan

Async via Symfony Messenger (requires a running worker)

Last updated