2. Installation
Install the Plugin
Download the plugin from the Shopware Store or as a ZIP file.
In the Shopware Administration, navigate to Extensions → My Extensions.
Click Upload extension (for ZIP installation) or find the plugin in the list.
Click Install and then Activate.
No database migration is required — the plugin does not create any custom tables.
Getting Started
Navigate to Content → Media Cleanup in the Administration.
Click Start scan to begin the analysis. The scan runs in the background — you can wait for the results or leave the page and return later.
Once the scan is complete, the list of unused media files appears. Results remain valid for 4 hours — page navigation and delete operations do not trigger a full re-scan.
Use the filters (file type, minimum size, age) to narrow down the results.
Select individual files via checkbox or click Select all.
Click Delete selected — a confirmation dialog appears showing the count and total size.
Confirm the deletion. The result (deleted / skipped / failed) will be displayed.
To refresh results, click Rescan.
Setting Up User Permissions
The plugin adds two ACL privileges. To grant access to staff members:
Navigate to Settings → System → Users & Permissions → Roles.
Select the desired role (or create a new one).
Find Media Cleanup in the permissions section.
Assign the required privilege(s):
Read — access to the dashboard and the unused media list
Delete — permission to delete unused media files
Save the role.
Notes
Compatible with Shopware 6.6.x and 6.7.x (PHP 8.2+). Version 2.x supports Shopware 6.7, version 1.x supports Shopware 6.6.
The plugin communicates only with your own Shopware instance — no external services.
The async background scan (from version 1.1 / 2.1) requires a running Symfony Messenger worker. Without an active worker, the scan runs synchronously in the HTTP request — timeout protection for very large media libraries is not active in that case.
Deleted files cannot be recovered. Please review your selection carefully before confirming.
For very large media libraries, consider using the filters to process deletions in smaller batches.
Detection is based on Shopware's native logic: The plugin uses Shopware's built-in unused media detection — the same logic that powers the
media:delete-unusedCLI command. The plugin is not responsible if Shopware classifies a file as unused that is still in use. Always review your selection carefully before deleting.
Support
If you have questions or issues, please use the Shopware support tool or contact us at moritz@momocode.de.
Last updated