Title: EvoMedia &#8211; Link-Safe Media Replace, Convert &amp; Cleanup
Author: gfxproductions
Published: <strong>20 de julio de 2026</strong>
Last modified: 27 de agosto de 2026

---

Buscar plugins

![](https://ps.w.org/evomedia/assets/banner-772x250.png?rev=3615455)

![](https://ps.w.org/evomedia/assets/icon-256x256.png?rev=3615455)

# EvoMedia – Link-Safe Media Replace, Convert & Cleanup

 Por [gfxproductions](https://profiles.wordpress.org/gfxproductions/)

[Descargar](https://downloads.wordpress.org/plugin/evomedia.1.4.0.zip)

 * [Detalles](https://es.wordpress.org/plugins/evomedia/#description)
 * [Valoraciones](https://es.wordpress.org/plugins/evomedia/#reviews)
 *  [Instalación](https://es.wordpress.org/plugins/evomedia/#installation)
 * [Desarrollo](https://es.wordpress.org/plugins/evomedia/#developers)

 [Soporte](https://wordpress.org/support/plugin/evomedia/)

## Descripción

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, ACF fields and WooCommerce gallery meta, all
of it serialized, where a naive search-and-replace corrupts the data and takes the
page down with it. The section below explains why.

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 with us, no
credits, no monthly quota, no upload limit. The one thing that can ever leave your
server is optional and switched on by you – enter your own API key and EvoMedia 
can ask OpenAI, Google or Anthropic to write the alt text of an image you press 
the button on. With no key it makes no network requests at all.

#### What it does

 * **Replace media, safely** – upload a new file over an existing attachment. Keep
   the current file name and the URL never changes; or adopt the uploaded file’s
   name; or change format entirely. Every reference across posts and postmeta is
   rewritten, serialized data included. Optionally back up the current file first,
   edit the title, set the date.
 * **Convert to WebP, AVIF or JPEG** – whichever your server can encode, automatically
   on upload or in bulk across your existing library, with progress feedback. The
   System Info page shows exactly which formats your image driver supports.
 * **Fix the alt text, and see what is missing** – read and correct the alt text
   of any image straight from the list, and switch to a view that shows only the
   ones that have none. Optionally have a model write the first draft from the picture,
   with your own API key from OpenAI, Google or Anthropic, in the language you choose–
   the suggestion waits in the editor until you accept it.
 * **Manage image sub-sizes** – pick which of WordPress’s resized copies get generated
   on upload, and switch off the ones your theme never uses so WordPress stops making
   them: faster uploads and less clutter from here on. See a live count of how many
   images in your library have each size, and regenerate the whole library to match
   in one click. WordPress core sizes are flagged, so you never turn one off by 
   mistake.
 * **Resize oversized uploads** – optionally cap every incoming image at 2560px 
   and drop the full-size original WordPress would otherwise keep beside it, so 
   oversized photos never bloat your library. Off by default; nothing changes until
   you switch it on from the upload panel.
 * **See where every image is used** – build an index of your content, then read
   a count on each image showing how many places refer to it. Open it to see the
   exact pages, posts, custom fields and site settings, and which size each one 
   uses. Sort by it to bring the unused ones together, and get a report of pages
   asking for files your library no longer has.
 * **Find duplicate images** – spot pictures your library holds more than once, 
   compared byte for byte rather than guessed from their size, with the disk space
   the extra copies are wasting. Entries that merely share one file on disk are 
   listed apart, because deleting one of those would take the file the others use.
 * **Find orphaned files** – list files sitting in your monthly upload folders that
   no Media Library item claims, each with a preview. Only the year and month folders
   WordPress itself creates are scanned, so caches, page-builder folders and backups
   are never touched, and any file your content still asks for by name is flagged
   as still in use.
 * **A record of every rewrite** – when Replace renames a file it rewrites the references
   to it across your posts, custom fields and site settings; that history is listed,
   so you always know what changed and where.
 * **Backup and restore** – the original is archived before every conversion, and
   can be restored or deleted per image or in bulk.
 * **Compression quality** – one slider, from 10 to 100. A master switch turns the
   engine off without deactivating the plugin.
 * **Control Center** – your whole library on one screen: sort, search, preview,
   download, see each file’s format, size and backup state.
 * **System Info** – a one-click report of what your server can actually do, and
   of every other plugin EvoMedia has to coexist with.

#### Write the alt text, or have it written

Alt text is the one field on an image that is always in use. A theme may never print
a caption or a description, but the alt attribute goes out with every image WordPress
renders, is what a screen reader announces, and is what a search engine reads the
picture through. It is also the field nobody fills, because WordPress offers it 
one image at a time behind a modal.

EvoMedia puts it under the file name in the Control Center, where you can read it
and correct it without leaving the list, and adds a view that shows only the images
that have none – with the count beside it, so you know how big the job is before
you start.

And if you want help writing them, you can bring an API key from OpenAI, Google 
or Anthropic and let a model describe the picture. The suggestion lands in the open
editor and waits: nothing is stored until you accept it, because a sentence written
straight into sixty alt attributes is how a library fills with confident nonsense
nobody read. You choose which language the answer comes back in, so a site selling
into another country is not stuck with the language it is written in.

There is no service of ours in the middle, no account to create with us, and no 
markup: the request goes from your server straight to the provider, on your key 
and your bill. Leave the key empty and nothing about this ever runs.

#### 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. 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.

The same honesty applies to sizes. The count tells you an image is in use; it cannot
always tell you which sub-size, because page builders store the image and choose
the size while the page is being drawn. The Image Sub-sizes panel says so where 
you would act on it, rather than letting a confident number imply more than it knows.

#### Built to coexist

Media plugins break each other. EvoMedia is written to notice what else is installed:

 * **WPML and Polylang** – a translated picture is an attachment of its own pointing
   at the same file, which is how it carries a translated title and alt text. EvoMedia
   keeps every language sibling in sync, and its duplicate report tells a translation
   set apart from a real duplicate instead of listing half your library as a fault.
 * **Page builders** – Elementor and friends store their data as slashed JSON inside
   postmeta. EvoMedia writes exact bytes rather than letting WordPress re-escape
   them.
 * **Cloud offload** – if WP Offload Media, Cloudinary, Media Cloud, WP-Stateless
   or S3 Uploads is active, EvoMedia refuses to touch the files rather than corrupt
   your remote bucket, and tells you why.

#### External services

Everything EvoMedia does runs on your own server, with one exception that you switch
on yourself: writing alt text with AI.

If, and only if, you enter an API key in Settings, pressing the AI button on an 
image sends **that image and a short text instruction** to the provider you chose,
so it can describe the picture; the answer comes back as suggested alt text. Nothing
is sent until you press the button, nothing is sent in the background, and no service
of ours sits in the middle – the request goes from your site straight to the provider,
on your key and your account.

One provider is used at a time, and only the one you switch on is ever contacted:

 * **OpenAI** – [terms](https://openai.com/policies/terms-of-use), [privacy](https://openai.com/policies/privacy-policy)
 * **Google Gemini** – [terms](https://ai.google.dev/gemini-api/terms), [privacy](https://policies.google.com/privacy)
 * **Anthropic Claude** – [terms](https://www.anthropic.com/legal/commercial-terms),
   [privacy](https://www.anthropic.com/legal/privacy)

Leave the key empty, or remove it, and the plugin makes no network requests at all.

#### 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 fills with weight nothing uses – the same photo uploaded
three times, sub-sizes your theme never touches, the full-resolution originals beside
every large image, the leftovers of years of renames. It swells your backups, slows
every migration and 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 where all that waste is. [EvoMedia Pro](https://store.gfxproductions.com)
is what clears it, and it does the one thing other cleanup plugins get dangerously
wrong: **it never removes anything your site still needs.** Before deleting a file
it re-checks your live content, not a stale scan. A resize that would break a page
is refused, naming the posts to fix.

 * **Reclaim the space unused images waste** – the free «Used in» count shows which
   pictures nothing points at; the Pro removes them, singly or in bulk, re-checking
   live first and refusing to delete a file another entry shares.
 * **Collapse duplicate uploads into one** – three uploads of one photo is three
   times the disk. The Pro merges the set onto the copy you keep, repointing every
   reference first. Reversible.
 * **Clear orphaned files** – the leftovers of old renames and imports that no library
   item claims, often the heaviest files on your disk. Deleted only after a fresh
   re-scan, never while your content still asks for them.
 * **Strip the oversized «-scaled» originals** – WordPress keeps a full-resolution
   copy beside every image over 2560px, often several megabytes each and invisible
   in the admin. Clear them library-wide, keeping the image people see.
 * **Delete the sub-sizes you turned off** – the free stops generating them; the
   Pro removes the copies already on disk library-wide, and can regenerate a single
   size for every image in one pass.
 * **Resize on your own terms** – your own maximum on upload instead of the fixed
   2560px cap, and shrink any single image from the Control Center: proportional,
   never enlarging, and refusing rather than breaking a page.
 * **Rename without breaking anything** – rename from the Media Library and every
   reference is rewritten, serialized page-builder and ACF data included. Reversible.
 * **Alt text for a whole library** – the free writes one image at a time from the
   picture alone. The Pro writes a whole selection at once, can write from the page
   each image appears in, and on WPML or Polylang writes each language in its own
   language.
 * **And more** – JPEG XL uploads where the server supports them, and a backups 
   manager for your archived originals.

EvoMedia Pro installs alongside this plugin and needs it to run. It is available
at [store.gfxproductions.com](https://store.gfxproductions.com).

**None of that code is in this plugin.** This is not a trial and has nothing locked
or limited: no licence check, no upsell nag, no counter, no expiry, no cap on how
many images you may process. Everything it ships, it does.

## Capturas

[⌊The Control Center: your whole library, now showing where each image is actually
used - sort by it to surface what nothing points at.⌉⌊The Control Center: your whole
library, now showing where each image is actually used - sort by it to surface what
nothing points at.⌉[

The Control Center: your whole library, now showing where each image is actually
used – sort by it to surface what nothing points at.

[⌊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.⌉⌊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.⌉[

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.⌉⌊Image Sub-sizes: for every size, how many 
copies exist, how much disk they take, and how often each is actually used.⌉[

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.⌉⌊Duplicate Images: pictures your library
holds more than once, compared byte for byte, with the disk space you would reclaim
.⌉[

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.⌉⌊Orphaned Files: files left in your upload folders that no 
library item claims, each with a preview.⌉[

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.⌉⌊Replace
media: current file and new file side by side, before you commit.⌉[

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.⌉⌊Upload settings, reachable from the
WordPress uploader without leaving the page - including the optional resize-on-upload
cap.⌉[

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.⌉⌊System Info,
with a one-click report and a check-for-updates button.⌉[

System Info, with a one-click report and a check-for-updates button.

## Instalación

 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.

## FAQ

### 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. The AI button on an image is greyed out until you enter a provider 
key, which is a setting you have not filled in yet rather than a feature we are 
holding back – everything else, alt text editing included, works the moment you 
activate it.

### Does it send my images anywhere?

Conversion, resizing, renaming, replacing and every other operation run on your 
own server through Imagick or GD, and send nothing anywhere.

The one exception is the alt text generator, and only if you set it up. You bring
your own API key from OpenAI, Google or Anthropic; from then on, pressing the AI
button on an image sends that image and a short instruction to the provider you 
chose, and their answer comes back as a suggestion. Nothing is sent until you press
it, nothing is sent for the images you never press it on, and there is no service
of ours in between – the request goes from your server straight to them. Leave the
key empty and the plugin makes no network requests of any kind, exactly as it did
before.

### Do I need an API key to fix alt text?

No. Reading and correcting alt text, and the view that lists the images without 
any, work with no key and no account – that is most of the job, and it is all yours.
The key is only needed if you want a model to write the first draft for you.

### What does the AI cost, and who pays?

You do, directly to the provider whose key you used. There is no markup, no credits
to buy from us and no plan: the request goes from your site to them, on your account,
and what it costs is between you and them. One image is one request, so nothing 
can run away with your money by accident – and free tiers are small, so if you plan
to describe a whole library, check your provider’s limits first.

## Reseñas

No hay valoraciones para este plugin.

## Colaboradores y desarrolladores

«EvoMedia – Link-Safe Media Replace, Convert & Cleanup» es un software de código
abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

 *   [ gfxproductions ](https://profiles.wordpress.org/gfxproductions/)

[Traduce «EvoMedia – Link-Safe Media Replace, Convert & Cleanup» a tu idioma.](https://translate.wordpress.org/projects/wp-plugins/evomedia)

### ¿Interesado en el desarrollo?

[Revisa el código](https://plugins.trac.wordpress.org/browser/evomedia/) , echa 
un vistazo al [repositorio SVN](https://plugins.svn.wordpress.org/evomedia/) o suscríbete
al [registro de desarrollo](https://plugins.trac.wordpress.org/log/evomedia/) por
[RSS](https://plugins.trac.wordpress.org/log/evomedia/?limit=100&mode=stop_on_copy&format=rss).

## Registro de cambios

#### 1.4.0

 * New: alt text is now readable and editable straight from the Control Center, 
   under each file name, and a new view lists only the images that have none – with
   the count beside the link, so you can see how big the job is before starting 
   it. Emptying the field removes the record rather than storing a blank one, so«
   empty» and «absent» stay one answer to one question.
 * New: optional alt text generation. Bring your own API key from OpenAI, Google
   Gemini or Anthropic and a model writes a first draft from the picture. The suggestion
   appears in the open editor and is never stored until you accept it. Nothing is
   sent anywhere until you press the button, no key means no network requests at
   all, and there is no service of ours in between – the request goes from your 
   server straight to the provider, on your account.
 * New: you choose the language the model answers in, rather than being given the
   language the site happens to be written in. Handy for a shop that sells into 
   another country.
 * New: on a phone or a narrow window, the Control Center and the sub-size list 
   are readable again. Every cell now carries its column name, the header row that
   had collapsed into a block of labels is gone, and rows of buttons wrap instead
   of running off the edge.
 * Fixed: the confirmation for deleting a backup said «the selected item(s)» whether
   you had picked one or fifty. It now names the backup file when you delete one,
   counts them when you delete several, and says what is actually lost: that copy
   is what Restore brings back, so removing it is what makes the conversion or replacement
   permanent.

#### 1.3.3

 * Fixed: on a site running WPML or Polylang, every translated image was reported
   as a duplicate. A translated picture gets an attachment entry of its own pointing
   at the same file – that is how it carries a translated title and alt text – and
   the duplicate report counted each one as a fault. On a bilingual library that
   was more than half the media: one real site showed 271 of its 428 files that 
   way. Translation sets are now recognised, labelled «one file, N languages», counted
   apart from real duplicates and folded out of the way, so what is left on screen
   is what actually needs your attention.
 * Fixed: files whose names differ only in upper and lower case, such as Photo.jpg
   and photo.jpg, were merged into a single group. On Linux, where almost every 
   WordPress site runs, those are two separate files – so the report described a
   set that did not exist.
 * Fixed: replacing the same image more than once kept the very first backup rather
   than the file being replaced. Restore then handed back the picture from two rounds
   earlier, silently, while the checkbox promised to back up the current file. Each
   replace now refreshes it. Backups taken before a conversion are untouched by 
   this: that copy is the original the Restore button exists to bring back.
 * Fixed: while the usage index was rebuilding, images it had not reached yet were
   reported as used 0 times – which reads as «safe to delete» – instead of «?». 
   During a rebuild the counts now say they are unknown, as they already did before
   the first build.
 * Fixed: starting a second rebuild of the usage index while one was running left
   both unfinished and the table half empty. A rebuild now refuses to start while
   another is in progress, and the lock releases itself if the browser closes mid-
   run.
 * New: the Replace dialog now explains what «Back up the current file» actually
   keeps – and what it does not: the oversized full-resolution original goes either
   way. It also remembers whether you had it ticked, instead of clearing it every
   single time.
 * New: the Image Sub-sizes panel warns that usage figures are per image, not per
   sub-size. Page builders store an image and choose the size while drawing the 
   page, and a lightbox often opens a different size from the one on show – so «
   Used in» can tell you an image is in use without being able to tell you that 
   this particular size is.
 * Changed: confirmation dialogs are now the plugin’s own, matching the rest of 
   the interface, with buttons that name the action rather than reading OK and Cancel.

#### 1.3.2

 * Fixed: with a search typed in the Control Center, the «select all» checkbox also
   ticked the rows the search had hidden, so a bulk action such as Convert ran over
   the whole library instead of the images on screen. Selection now covers only 
   the rows you can see, and rows are unselected as a search hides them.
 * Fixed: «Regenerate all images» rebuilt the sub-sizes of images WordPress serves
   through a «-scaled» copy under the wrong names, leaving a second complete set
   of files beside the one your pages link to. Those images are now left alone.
 * New: «Regenerate all images» asks before it starts, listing by name the images
   it will leave alone and why, with the choice to go ahead or cancel. When it finishes
   it says what it did – how many were rebuilt and how many were left alone – rather
   than only «Completed».
 * Fixed: replacing an image WordPress serves through a «-scaled» copy left the 
   new file carrying that suffix, describing a scaled copy that no longer existed.
   The replacement now takes the plain name, and every link to it is updated.
 * New: the Replace dialog says beforehand what will happen to the full-resolution
   original WordPress kept – naming the file with its dimensions and size – so nothing
   is lost unannounced.
 * New: a «N images selected» count beside the bulk actions, so you can always see
   how many images an action is about to touch.

#### 1.3.1

 * Fixed: images shown through a WPBakery grid or gallery (for example vc_media_grid
   or vc_gallery) were not counted in Media Usage. These list their pictures in 
   an «include» attribute the scanner did not read, so every image in such a grid
   showed as used nowhere – exactly the kind of false «unused» that must never be
   trusted for deletion. They are now detected. After updating, rebuild the usage
   index to refresh the counts.

#### 1.3.0

 * Fixed: regenerating sub-sizes lost the link to WordPress’s full-size original.
   The file stayed on disk with nothing pointing at it – invisible in the admin,
   taking up space, and holding a filename that later renames then had to work around.
   This affected «Regenerate all images» and restoring from a backup, so a library
   that has been regenerated since 1.2.0 may have originals stranded this way; they
   are safe to leave, but they are only reachable over FTP. New regenerations no
   longer do this.
 * Fixed: regenerating sub-sizes for an image WordPress had scaled on upload created
   a second full set under different filenames and abandoned the first, leaving 
   six unused files per image. Regeneration now keeps the filenames it found, so
   the existing copies are replaced rather than duplicated – and pages that embedded
   the old URLs keep working.
 * New: Media Usage. Build an index of where every image is used, then see a per-
   image count in the Control Center that opens to list the exact pages, posts, 
   custom fields and site settings referring to it – and which size each one uses.
   The column is sortable, so unused images group together.
 * New: the Image Sub-sizes panel now shows, for every size, how many times it is
   actually used and how much disk it occupies – so you can tell an unused 4 MB 
   size from one your theme depends on before switching it off.
 * New: a broken references report, listing pages that ask for image files your 
   library no longer has.
 * New: an image that has never been scanned shows «?» rather than «0». Nothing 
   here will ever tell you an image is unused because it has not been looked at 
   yet.
 * New: replacing an image larger than WordPress’s 2560px limit now offers to resize
   it, keeping the filename so your links stay valid. Replace deliberately never
   resizes on its own, which until now left oversized replacements at full size.
 * New: Resize on upload. Cap every incoming image at 2560px and drop the oversized
   original it would otherwise keep beside it, from the upload panel – off by default,
   so nothing changes until you ask for it.
 * New: the Replace dialog says when the file you picked has a name another attachment
   already owns, and what your replacement will be called instead.
 * New: Recent Reference Changes. When a replace changes a file’s name it rewrites
   the references to it across your posts, custom fields and site settings – that
   history is now listed, so you always know what changed.
 * New: Duplicate Images. Finds pictures your library holds more than once, comparing
   files byte for byte rather than guessing from their size, and shows how much 
   disk the extra copies take. Library entries that share a single file on disk 
   are listed separately, because deleting one of those destroys the file the others
   use.
 * New: Orphaned Files. Lists files sitting in your monthly upload folders that 
   no Media Library item claims. Only the year and month folders WordPress creates
   are examined, so caches, page-builder folders and backups are never touched –
   and any orphan your content still asks for by name is flagged as still in use
   rather than offered for removal.
 * Fixed: undoing a rename or replace could restore only part of it. Where one operation
   had rewritten the same page more than once – the main filename and then each 
   sub-size – the page was put back to an intermediate state and the result was 
   still reported as a success.

#### 1.2.0

 * New: Image Sub-sizes – choose which of WordPress’s resized copies get generated
   for every upload, see a live count of how many images in your library have each
   size, and regenerate the whole library to match in one click. WordPress core 
   sizes are flagged.
 * New: WordPress’s own Media Settings screen now greys out the sizes you have switched
   off in EvoMedia, with a link back to the panel that manages them.
 * New: a «Check for updates» button on the System Info page, with each version 
   row showing whether it is up to date.
 * Fixed: after a same-name Replace, on-demand crops created by page builders (WPBakery,
   Elementor, Avada) kept the old image while the builder’s cache kept serving it,
   so the new picture never appeared. These leftover crops are now cleared – and
   any crop that is another attachment’s own file is left untouched.

#### 1.1.0

 * First public release.
 * Replace media: swap the file behind an existing attachment, keeping its ID and
   URL, with an optional backup of the current file, an editable title, and a date
   option.
 * Control Center: sortable columns, search, per-format colour badges, and an image
   preview lightbox.
 * Upload settings moved into a slide-out panel, reachable straight from the WordPress
   uploader.
 * New System Info page, with a one-click report to paste into a support ticket.
 * Compatibility: WPML and Polylang sibling sync; page-builder-safe metadata writes;
   cloud offload plugins detected, with media actions disabled rather than corrupting
   your bucket.
 * Fixed: replacing an image larger than 2560px left the site’s references pointing
   at WordPress’s full-size original instead of the served file.
 * Fixed: admin thumbnails kept showing the previous image after a replace, until
   a hard refresh.
 * Fixed: two elements of the Replace dialog were displayed even when they should
   have been hidden.

## Meta

 *  Versión **1.4.0**
 *  Última actualización **hace 15 horas**
 *  Instalaciones activas **Menos de 10**
 *  Versión de WordPress ** 6.0 o superior **
 *  Probado hasta **7.1**
 *  Versión de PHP ** 8.1 o superior **
 *  Idioma
 * [English (US)](https://wordpress.org/plugins/evomedia/)
 * Etiquetas:
 * [Alt Text](https://es.wordpress.org/plugins/tags/alt-text/)[AVIF](https://es.wordpress.org/plugins/tags/avif/)
   [media library](https://es.wordpress.org/plugins/tags/media-library/)[replace image](https://es.wordpress.org/plugins/tags/replace-image/)
   [webp](https://es.wordpress.org/plugins/tags/webp/)
 *  [Vista avanzada](https://es.wordpress.org/plugins/evomedia/advanced/)

## Valoraciones

Aún no se han enviado valoraciones.

[Tu valoración](https://wordpress.org/support/plugin/evomedia/reviews/#new-post)

[Ver todas las reseñas](https://wordpress.org/support/plugin/evomedia/reviews/)

## Colaboradores

 *   [ gfxproductions ](https://profiles.wordpress.org/gfxproductions/)

## Soporte

¿Tienes algo que decir? ¿Necesitas ayuda?

 [Ver el foro de soporte](https://wordpress.org/support/plugin/evomedia/)