Linux 软件免费装
Banner图

EvoMedia - Link-Safe Media Replace, Convert & Cleanup

开发者 gfxproductions
更新时间 2026年7月30日 17:08
PHP版本: 8.1 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

media library replace image webp avif regenerate thumbnails

下载

1.2.0 1.1.0 1.3.0 1.3.1

详情介绍:

WordPress will not let you change the file behind an existing attachment. You delete, re-upload, then hunt down thirty broken images by hand. EvoMedia replaces the file in place, keeps the attachment ID, and rewrites every reference to it across your whole database - post content, postmeta, and the serialized structures page builders and custom fields store their data in. That last part is the whole point. An image URL is not only in your post content. It is buried inside Elementor's JSON, inside ACF fields, inside WooCommerce gallery meta - all of it serialized, where a naive search-and-replace corrupts the data and takes the page down with it. EvoMedia unserializes, replaces, and re-serializes each value, so the byte lengths stay correct and nothing breaks. The same engine then lets it do something no image optimizer does: convert a JPEG to WebP and keep the attachment, renaming photo.jpg to photo.webp and repointing every reference at the new file. Other plugins keep the original and add a parallel file served through an .htaccess rule, a <picture> tag or a CDN. EvoMedia changes the actual file on your disk. There is no rewriting layer at page-render time - nothing to break when you switch hosts, and nothing to un-install later. And once your library grows, EvoMedia helps you see into it: an index of where every image is actually used, so you know what is safe to remove - plus reports of the duplicate and orphaned files quietly wasting your disk. Everything runs on your own server, through Imagick or GD. No account, no API key, no credits, no monthly quota, no upload limit. Your images are never sent anywhere. What it does Why the serialization matters Try this with any other tool: put an image in an Elementor section, then rename the file. Elementor stores its layout as a serialized PHP array inside postmeta, and every string in it is prefixed with its own byte length. Change photo.jpg to photo.webp with a plain SQL replace and the recorded length no longer matches the string. PHP refuses to unserialize it. The section disappears. EvoMedia walks the structure, replaces the value, and lets PHP recompute the lengths. This is why it can offer replace, format conversion and (in the Pro add-on) renaming at all - and it is the part that took the longest to get right. Take control of the sizes WordPress generates Every upload, WordPress quietly creates a stack of resized copies - thumbnail, medium, large, and hidden HiDPI versions - whether your theme uses them or not. EvoMedia lists every registered size with a live count of how many images in your library have it, lets you turn off the ones you don't need (only new uploads and regenerations are affected - files already on disk are left alone), and regenerates your whole library to match with a single button and a progress bar. Core sizes are flagged, so you never switch off one the theme relies on by accident. Know which images you can actually delete Every library accumulates images nobody uses, and the reason they are never cleared out is that you cannot tell which ones they are. Deleting the wrong one takes a page down. EvoMedia scans your posts, pages, custom fields and site settings and records where each image is referenced - including the ones page builders name by ID with no URL to search for, and the ones held in a category image, an author profile or your site logo. Each image then carries a count you can sort by, and opening it lists the exact places, with the size each one uses. It reports only what it can prove. An image referenced solely from a theme file, a stylesheet or an external service cannot be seen from the database, and every list says so rather than pretending otherwise. An image that has not been scanned yet shows "?" and never "0" - because "nobody uses this" and "nobody has looked" are different answers, and confusing them is how cleanup tools delete pictures that were still on a page. Built to coexist Media plugins break each other. EvoMedia is written to notice what else is installed: Requirements PHP 8.1 or later, and either Imagick (recommended) or GD. Which output formats you can use depends on your host's image driver - WebP and AVIF are common, JPEG XL is rare; the System Info page tells you exactly what your server can do. EvoMedia Pro Every WordPress library quietly fills with weight nothing uses: the same photo uploaded three times, sub-sizes your theme never touches, the full-resolution originals WordPress keeps beside every large image, and files left orphaned by years of renames and imports. It swells your backups, slows every migration, and quietly runs up your storage bill - and it never gets cleaned out for one reason: you cannot safely tell what is still in use. The free EvoMedia shows you exactly where all that waste is. EvoMedia Pro is what clears it - built on the same link-safe engine, so it does the one thing other cleanup plugins get dangerously wrong: it never removes anything your site still needs. Before it deletes a single file, the Pro re-checks your live content at that moment, not some stale scan. An image still used anywhere is left alone. A resize that would break a page is refused, and shows you which posts to fix first. Merging duplicates moves every reference - in posts, meta and page-builder data, by URL and by ID - onto the copy you keep before the others go. You get the disk space back without the broken images. EvoMedia Pro installs alongside this plugin and needs it to run. It is available from the author at store.gfxproductions.com. None of that code is in this plugin. This plugin is not a trial and has nothing locked, disabled or limited. There is no licence check, no upsell nag, no counter, no expiry, and no cap on how many images you may process. Everything it ships, it does.

安装:

  1. Upload the evomedia folder to /wp-content/plugins/, or install it through Plugins → Add New.
  2. Activate it through the Plugins menu.
  3. Go to EvoMedia → Format Conversion to choose your target format and quality.
  4. Upload an image, or select existing ones and run a bulk conversion.
Visit EvoMedia → System Info first if you are unsure whether your server supports WebP.

屏幕截图:

  • Media Usage: build an index of where every image is used, and get a report of any pages still asking for image files your library no longer has.
  • Image Sub-sizes: for every size, how many copies exist, how much disk they take, and how often each is actually used.
  • Duplicate Images: pictures your library holds more than once, compared byte for byte, with the disk space you would reclaim.
  • Orphaned Files: files left in your upload folders that no library item claims, each with a preview.
  • Replace media: current file and new file side by side, before you commit.
  • Upload settings, reachable from the WordPress uploader without leaving the page - including the optional resize-on-upload cap.
  • System Info, with a one-click report and a check-for-updates button.

升级注意事项:

1.3.1 Media Usage now counts images placed through WPBakery grids and galleries, which were previously reported as unused. Rebuild the usage index after updating to refresh the counts. 1.3.0 Fixes two bugs that left unused files on your server when sub-sizes were regenerated, and one that could half-undo a rename. Adds Media Usage, duplicate detection, an orphaned-file report and an optional resize-on-upload cap: see what every image is actually doing before you delete it. 1.2.0 Choose which image sub-sizes WordPress generates, and Replace now clears leftover page-builder crops. 1.1.0 First public release.

常见问题:

Will converting break the images already used in my posts?

No. EvoMedia keeps the attachment and updates WordPress's own metadata, so everything that renders through WordPress keeps working. And if a replace changes the file's name or its format, every reference in posts and postmeta is rewritten to match - serialized data included.

Will replacing an image change its URL?

Only if you ask it to. Keep the current file name and the URL stays identical: nothing anywhere needs updating. Choose the uploaded file's name, or a different format, and EvoMedia rewrites every reference for you. Be aware that if other websites link straight to the old file, those links will break - that is unavoidable once the filename changes.

Can I go back to the original file?

Yes. Tick "Backup originals before converting" and the original is archived before each conversion. Restore it from the Backup Status column, per image or in bulk.

Which output formats can I choose?

Whichever your server's image driver can actually encode - commonly WebP, AVIF and JPEG, and JPEG XL on the rare host whose Imagick was built with it. Only formats your server can write are listed: nothing is shown that you cannot select and use immediately, and nothing your server supports is held back. The System Info page reports exactly what your image driver can do.

If I turn off an image size, does it delete the copies I already have?

No. Turning a size off only stops WordPress generating it for new uploads and regenerations - the files already on disk are left exactly as they are. (Reclaiming that disk space by deleting a size's existing files is a job for the Pro add-on.)

Is it safe to turn off the thumbnail, medium or large sizes?

Those are WordPress core sizes, flagged with a warning, because themes and the responsive-image system often rely on them. WordPress falls back to a nearby size if one is missing, but layouts can shift - so turn off a core size only if you know your theme doesn't use it. The extra HiDPI copies (1536×1536, 2048×2048) are usually the safest to drop.

What does "Regenerate all images" do?

It rebuilds every image's sub-sizes to match your current settings - (re)creating the sizes you have on and dropping the ones you turned off. It never deletes files and only touches the sub-sizes, never your originals.

Can EvoMedia shrink images that are too big when I upload them?

Yes. Turn on "Resize on upload" in the upload panel to cap every incoming image at 2560px and drop the oversized full-size original WordPress would otherwise keep beside it. It is off by default, so nothing changes until you switch it on. (The Pro add-on lets you set your own maximum dimensions, and resize images already in your library.)

How do I find images that nothing uses?

Build the index from EvoMedia → Media Usage. Every image then carries a "Used in" count in the Control Center that opens to show the exact posts, custom fields and site settings referring to it, and which size each one uses. A count of 0 means nothing on your site points at it. An image that has not been scanned yet shows "?" and never "0", so you are never told an image is unused just because it has not been looked at. (Deleting unused images in bulk is a feature of the Pro add-on; the free build shows you what is safe to remove.)

Is it safe to delete duplicate or orphaned files?

The free build only lists them. Duplicates are compared byte for byte, not guessed from their size, so nothing is called a duplicate until the contents match; entries that merely share one file on disk are listed apart. Orphaned files are looked for only in the year and month folders WordPress itself creates, and any file your content still references by name is flagged as still in use. Removing them is the Pro add-on's job, and it re-scans and re-checks each file at the moment of deletion, so nothing in use is ever taken off disk.

Why does it convert the file instead of serving a WebP copy?

Because a parallel copy has to be delivered by something: an .htaccess rule, a <picture> tag rewrite, or a CDN. That layer can fail silently, breaks when you move host, and leaves orphaned files behind if you ever remove it. EvoMedia converts the file itself and repoints every reference at it. What is on disk is what is served, by WordPress, with no help from anything.

What happens to my images if I deactivate the plugin?

Nothing. Converted files stay where they are and keep being served. EvoMedia does not proxy or rewrite anything at page-render time.

I use WP Offload Media. Why are the Replace buttons missing?

Because your files live in a remote bucket, and rewriting them locally would leave your site pointing at stale objects. EvoMedia detects the offload plugin and steps aside. If you know what you are doing, the evomedia_allow_with_offload filter overrides this.

Are there any limits, caps or trials?

None. No image quota, no counter, no expiry, no licence key, and no feature switched off waiting to be unlocked. Everything in this plugin works from the moment you activate it.

Does it send my images anywhere?

No. Conversion runs on your own server through Imagick or GD. The plugin makes no network requests of any kind.

更新日志:

1.3.1 1.3.0 1.2.0 1.1.0