Linux 软件免费装
Banner图

Fruti Media Integrity Audit

开发者 frutilabs
更新时间 2026年10月8日 20:34
PHP版本: 8.1 及以上
WordPress版本: 7.1
版权: GPLv2 or later
版权网址: 版权信息

标签

migration restore media diagnostics missing images

下载

1.0.0 1.0.1

详情介绍:

You moved, restored or copied your site, and some images no longer appear. Before you delete, re-import, regenerate or clean anything, find out what is actually missing. Fruti Media Integrity Audit compares your Media Library with the files that exist in your uploads directory and reports two things: It also counts derived files (the resized and alternate copies that come from your registered image sizes). They are counted, not listed, because they follow their original. It is a diagnostic. It never deletes, moves, renames, imports, regenerates or repairs anything, it does not modify attachment metadata, and it writes nothing to your database. The plugin is deliberately conservative. A file is only reported as an orphan candidate when its own directory is already referenced by an attachment from the current scan window. Everything else is listed as unknown / not classified instead of being called orphaned, because a wrong "orphan" label is worse than no label. Useful after a migration, a backup restore, a host move or an offload/CDN change, and as a sanity check before running any cleanup tool.

安装:

  1. Upload the plugin folder to /wp-content/plugins/, or install the ZIP through Plugins -> Add New -> Upload Plugin.
  2. Activate the plugin.
  3. Go to Tools -> Fruti Media Integrity Audit and press "Run audit".
How to use it
  1. Open Tools -> Fruti Media Integrity Audit.
  2. Press Run audit. The plugin checks the attachment window and scans the uploads window you configure under "Advanced: scan window" (the defaults are safe for most sites).
  3. Read the two result groups. Missing files are checked exactly: WordPress metadata says the file should exist and it does not.
  4. If the notice says the file scan hit its per-run limit, the window is partial - raise the file offset and run again to inspect the rest.
  5. Press Download CSV for this window to export the current results. The CSV is generated on the fly and is never stored.

屏幕截图:

  • The exact list: file, attachment ID, title and an Edit link for every missing file - so you restore the right ones and delete nothing blindly.

常见问题:

I migrated or restored my site and images are missing. What should I do?

  1. Run the audit and read the Missing files list. Those are the files WordPress expects at exact paths - they are what makes images (and their thumbnails) disappear.
  2. Look for the same relative paths in a recent backup, on the old host or in your hosting file manager, and copy the files back to those same paths. Do not delete the attachments: their metadata is still correct, so restoring the file is usually enough.
  3. Treat Orphan candidates as candidates only. Check a few in the Media Library before removing anything, and take a backup first.
  4. Leave Unknown / not classified alone. Those files are outside this scan window or cannot be attributed safely.
  5. Nothing needs to be "repaired" by this plugin: it reports, and you decide with the tool of your choice.

What to do after the report?

The report is a diagnosis; nothing on your site has been changed. Take a full backup before any repair or cleanup, restore genuinely missing files from a backup where you can, verify candidates by hand before deleting, and leave unclassified files untouched. If a migration tool moved your files, fix the files or their paths, not the attachments.

Does this plugin delete or fix anything?

No. It is strictly read-only: no deletion, no import, no thumbnail regeneration, no metadata change, no automatic repair. Fixing is a decision you make with another tool, after reading this report.

Can it see files outside my uploads directory?

No. It only inspects the uploads tree that WordPress itself reports, it never accepts a path from the browser, and symlinks are not traversed.

Why are some files listed as "unknown" instead of orphaned?

Because the plugin refuses to guess. If a file's directory is not referenced by any attachment in the current window, the plugin cannot tell whether the file is unused or simply belongs to a part of the library outside this window, so it reports it as unknown.

What happens on very large media libraries?

Each run is bounded: a limited number of attachments and files are processed per run, nothing is loaded into memory in full, and the screen tells you when the window was partial so you can continue manually. There is no background job and no cron.

Privacy

Everything runs locally inside your own admin request. Filenames, paths and results are never uploaded, never sent to any external service, never logged and never stored in the database. The plugin makes no network requests and collects no telemetry.

更新日志:

1.0.1 1.0.0