Image SEO in WordPress: What Plugins Handle and What They Can't
WordPress solves the delivery half of image SEO almost by itself. The half it cannot solve is the reason most WordPress media libraries are full of IMG_4471.jpg with empty alt text.

WordPress runs a large share of the web, and it is genuinely good at the technical side of image handling — better than most hand-rolled setups. Responsive srcset generation, multiple derivative sizes, lazy loading, modern format support: all of it happens without a plugin, and the plugin ecosystem covers what remains.
Which makes the state of the average WordPress media library curious. Open one on a site that has been running five years and you will find hundreds of files named IMG_4471.jpg, Screenshot-2024-11-03-at-14-22-19.png and final-final-v3.jpg, most with an empty alt attribute. Every plugin is installed. The problem is not the plugins — it is that this particular work is not the kind a plugin can do.
What WordPress already does for you
Worth knowing so you stop paying for it twice.
Responsive images. Since 4.4, WordPress generates a srcset and sizes attribute from the derivative sizes it creates on upload. A phone gets a small file without you configuring anything. This is the single largest performance win in image handling and it is already on.
Multiple derivative sizes. Thumbnail, medium, large and any theme-registered sizes are produced at upload time. This is also why upload dimensions matter: derivatives are generated from the original, so a huge original produces work rather than problems.
Lazy loading. Core adds loading="lazy" to images below the fold and, since 5.9, deliberately skips the first images to protect Largest Contentful Paint. This heuristic is decent but not infallible — if your hero comes from a page builder or a custom field, verify it is not being lazy-loaded. That single attribute is one of the most common LCP regressions there is; our post on images and Core Web Vitals covers why it costs so much.
Modern format support. Recent versions handle WebP uploads and can generate WebP derivatives. AVIF support has been arriving progressively. See our format comparison for which to actually use.
What plugins add — and where the value really is
The optimisation plugin market is crowded and the differences are smaller than the marketing suggests. Sorted by how much they matter:
| Capability | Do you need a plugin? | Notes |
|---|---|---|
| Compression / re-encoding | Yes, useful | Core does not aggressively compress; this is the main honest reason to install one |
| Bulk conversion to WebP/AVIF | Yes, useful | Prefer plugins that serve modern formats without changing URLs |
| Max upload dimension limits | Yes, high value | Stops 4000 px uploads at the source; often overlooked |
| CDN delivery | Maybe | Your host may already provide it |
| Image entries in sitemap | Usually included in your SEO plugin | Verify by opening the XML rather than assuming |
| Responsive srcset | No — core does it | Plugins claiming this add nothing |
| Lazy loading | No — core does it | A second implementation can conflict with core's |
| Alt text generation | Optional | Useful first draft; not a substitute for a human pass |
| Filename rewriting on upload | Rarely offered, genuinely valuable | The one gap most plugins leave |
The two rows worth acting on are max upload dimension and filename handling. The first is a two-minute setting that prevents most WordPress performance complaints. The second is the gap the ecosystem has largely not filled.
The two things plugins cannot do
Google Search Central's image documentation puts descriptive filenames and alt text near the top of what it uses to understand an image. Both are per-file human decisions, and that is not a software limitation to be engineered away — it is what the work is.
Filenames. WordPress uses the uploaded filename to build the URL. If your camera named it IMG_4471.JPG, that is your URL. A plugin can slugify and lowercase it, but it cannot know the photo shows a walnut dining chair from the front, because that information exists only in your head. The rename has to happen before upload, because afterwards it changes a live URL — see the filename guide for the naming pattern and why post-hoc renaming is a trap.
Alt text. Vision-model plugins will produce something plausible: "a wooden chair on a white background". Accurate, and nearly useless — it does not know this is the walnut variant, the front view, one of six angles on the page. Repeating a near-identical description across all six is worse for a screen reader user than a specific one for each. Our alt-text guide covers the judgement calls, including when the right answer is alt="".
Embedded metadata, third on the list, is worse off than either: WordPress derivatives and most optimisation plugins strip EXIF, so business name and copyright fields frequently do not survive to the served file. If provenance matters to you, check the plugin's strip setting — EXIF metadata for SEO covers which fields are worth keeping, and geo-tagging images for local SEO covers the GPS fields specifically, which are the first casualty of an aggressive strip setting.
WooCommerce adds three specific problems
If the site sells things, three WordPress-specific behaviours are worth checking, because the defaults are unhelpful at exactly the scale where they hurt.
Variation images duplicate. WooCommerce lets each variation carry its own image, and stores routinely attach a separate upload per variation even when the variations look identical. Six sizes of one shirt in one colour become six copies of one photograph, splitting whatever image-search equity that file accumulates. Attach distinct images only where the appearance genuinely differs.
Gallery images inherit poor alt text. The product gallery pulls alt text from the media library, and if it was never filled in the gallery renders with empty attributes across every product. Because the gallery is the highest-intent image block on the site, this is the worst place for the default to be blank.
Product schema image values come from the theme. Whether your Product structured data emits absolute, crawlable image URLs depends on the theme or SEO plugin generating it. Validate one product URL rather than assuming — a broken image value can cost rich-result eligibility, and it is invisible in the WordPress admin. Our product image SEO post covers the requirement in detail.
Migrating an existing library without losing anything
The tempting project — bulk-convert 4,000 media files to WebP and rename them properly — is also the most common way to destroy image visibility on a WordPress site. Every changed filename is a changed URL, so the old path 404s and the new one starts from zero. Image indexing is slow to recover, so the damage is measured in months.
Two safe patterns as of July 2026.
Convert without renaming. Serve modern formats through content negotiation, a CDN, or a plugin that delivers WebP at the original URL. Every existing URL keeps resolving and keeps its history. This gets you the entire performance benefit with none of the risk, and it is the right default.
Rename only what is worth it, with redirects. If filenames are genuinely bad and the pages matter, do it in small batches: your top 50 pages by traffic, 301-redirect each old image path, then resubmit the sitemap so discovery happens on your schedule. Leave the long tail alone — the payoff on a page nobody visits does not justify the risk.
What to avoid entirely: renaming and converting in the same pass, doing thousands at once, or trusting a plugin's bulk-rename feature without confirming it writes redirects.
Concrete settings, not a plugin recommendation:
- Cap upload dimensions at roughly 2560 px on the long edge. Nothing on a website needs more, and this alone fixes most speed complaints.
- Enable compression, keep originals. Lossy at a high quality setting — roughly 82 for WebP. Retaining originals means a future re-encode does not compound artefacts.
- Serve modern formats without changing URLs. Content negotiation or CDN-side conversion preserves image-search history. A bulk rename-and-convert throws it away.
- Verify core lazy loading did the right thing. View source on your homepage and confirm the hero image has no
loading="lazy". Page builders and theme headers frequently break the heuristic. - Check EXIF stripping against whether you care about copyright and provenance fields.
- Confirm image entries in your sitemap by opening the XML — see the image sitemaps guide.
- Rename before upload, always. This is the habit that matters more than any setting on this list.
Steps 1 to 6 are configured once and then apply to every future upload. Step 7 is a decision per file, forever, which is why it is the one that lapses.
Where the per-file gap gets closed
The structural point is that WordPress plus a decent plugin solves the delivery half of image SEO very well and cannot touch the descriptive half. The descriptive half is what determines whether an image appears in search at all.
For images you are creating rather than photographing, that gap can be closed upstream: SEOpix generates the image with a descriptive filename, alt text and EXIF block already written, so what you upload to WordPress arrives named and described. Nothing to rename afterwards, and no post-upload alt-text backlog — the file enters the media library in the state you would have had to edit it into.
For photographs you took yourself, the discipline is unavoidable: rename before upload, write real alt text in the media modal, and accept that it takes two minutes per image. At volume across many locations or clients, the bulk workflow guide covers how teams keep this from collapsing.
Do the two settings today — upload dimension cap and hero lazy-load check. They take five minutes between them and each is worth more than switching optimisation plugins. If the naming and describing is the part that keeps sliding, ten images a month are free and the pricing page has the volume tiers.
Frequently asked questions
Does WordPress handle image SEO automatically?+
It handles most of the technical delivery automatically — responsive srcset generation, multiple sizes, lazy loading on below-the-fold images, and WebP support in recent versions. It does not and cannot handle the descriptive layer: filenames, alt text and embedded metadata all still require a human decision per file.
Which image SEO plugin should I install?+
For compression and format conversion, any of the established optimisation plugins will do the job — the differences between them are marginal for most sites. What no plugin does well is write meaningful alt text, so choose based on compression behaviour, whether it keeps original files, and whether it can serve modern formats without changing your URLs.
Can a plugin write my alt text for me?+
Several will generate alt text with vision models, and it is better than an empty attribute. The limitation is that it describes pixels without knowing intent — it cannot know the photo shows your new storefront or which of six product angles this one is. Treat generated alt text as a first draft that gets a human skim, not as a solved problem.
Should I rename files after uploading them to WordPress?+
Avoid it once a URL is live. Renaming a media file changes its URL and, unless your plugin handles redirects, breaks the old path and discards whatever image-search history it had. Rename before upload — that is the only cost-free moment — or accept the existing names for old files and fix the habit going forward.
Does WordPress strip EXIF metadata from uploads?+
WordPress itself preserves the original file, but the resized derivatives it generates commonly lose most metadata, and many optimisation plugins strip EXIF deliberately to save bytes. Since resized derivatives are what actually get served, embedded metadata frequently does not survive to production. Check the plugin setting if provenance or copyright fields matter to you.
Why is my WordPress site slow despite an image plugin?+
Usually because the plugin compresses without resizing. A 4000-pixel-wide photograph compressed to 300 KB is still a 4000-pixel image being scaled down in the browser. Set a maximum upload dimension, confirm the theme requests an appropriately sized srcset candidate, and check that the hero image is not lazy-loaded.
Do I need an image sitemap if I use an SEO plugin?+
Most major SEO plugins add image entries to the sitemaps they generate, so a separate one is usually unnecessary. Worth verifying rather than assuming: open your sitemap XML and check that image entries actually appear, since the behaviour varies by plugin and by configuration.
Let SEOpix handle the metadata
Filenames, alt text, EXIF fields and GPS coordinates written automatically as each image is generated. Start with 10 free images a month — no credit card required.


