Auditing Every Image on Your Site in an Afternoon
A crawl-based audit that finds the six image defects worth fixing, sorts them by the pages that actually matter, and produces a list someone can work through — rather than a 400-row report nobody opens.

A checklist tells you what a good page looks like. An audit tells you which of your pages are not that, and there is usually a gap between the two that nobody has measured.
The gap accumulates in predictable ways. A migration renames a directory. A theme change starts serving a hero at twice the necessary size. A contractor uploads sixty product photographs straight from a camera. Nobody notices, because each individual page still renders.
This is a repeatable process for finding all of it in one sitting, and — more importantly — for producing a list short enough that it actually gets worked through.
The six defects worth looking for
Everything an image audit finds falls into one of six categories. Anything outside them is usually a preference dressed up as a problem.
| Defect | How you find it | Cost to fix | Why it matters |
|---|---|---|---|
| Oversized files | Crawler, sorted by file size | Low — batch re-encode | Page speed, Core Web Vitals |
| Missing or wrong alt text | Crawler, alt attribute column | Medium — needs judgement | Accessibility, image understanding |
| Undescriptive filenames | Crawler, image URL column | Medium — needs redirects if changed | One of few textual signals |
| Broken images | Crawler, 4xx responses | Low | Visible breakage on live pages |
| Images not indexable | robots.txt, sitemap, rendered HTML check | Varies | Absent from Google Images entirely |
| Duplicate images across many URLs | Crawler, grouping by image URL | High — needs new assets | Near-identical pages compete with each other |
The right-hand column is why prioritisation matters. Broken images and blocked directories are outages. Undescriptive filenames on a page nobody visits are housekeeping.
Setting up the crawl
The crawler does most of the work. Screaming Frog's SEO Spider is the standard choice and is free up to 500 URLs, which covers a great many business sites entirely; any crawler that reports images with their attributes will do.
Configure it to render JavaScript before you start. This is the setting people skip and it changes the result completely: on a site where images are inserted by script, a plain HTML crawl reports almost no images at all, and you will spend an hour diagnosing a problem that does not exist. If the crawl finds images in rendered mode and none in HTML mode, that is itself a finding — it means discovery depends on rendering, which is one of the more common reasons images never appear in image search.
Then pull four exports:
- All images, with source URL, file size, and the page each appears on.
- Images missing alt text.
- Images returning a non-200 status.
- Pages with the largest total image weight.
That is your raw material. Everything after this is sorting.
Pass one: outages
Start with what is actually broken, because it is fast and it is visible to users.
Broken images. Any image returning 404 or 403 is either a wrong path or a permission problem. Fix the reference or restore the file. If there are dozens with a common prefix, a directory moved and you have found a migration defect.
Blocked paths. Open your robots.txt and read it properly. Disallow rules on image directories are extremely common, usually inherited from a template or added years ago to control crawl budget. An image in a disallowed directory cannot be indexed, no matter how well it is optimised. This single check has explained more "our images never show in Google" reports than every other cause combined; the full ordered list of causes is worth having open while you work through it.
Mixed content and protocol errors. Any image loading over HTTP on an HTTPS page will be blocked by the browser. The crawl finds these instantly.
Pass two: weight
Sort the all-images export by file size, descending, and look at the top fifty.
You are not looking for a magic number. You are looking for a mismatch between the file and its job. A 900KB hero on a landing page is worth attention; a 900KB downloadable print asset is fine. The question for each is: what dimensions is this displayed at, and what dimensions is it served at?
The most valuable single finding here is usually a template defect — one oversized image repeated across hundreds of pages, because a theme references a full-resolution original in a thumbnail slot. Fixing one template line fixes the whole site.
For the rest, batch re-encoding is a mechanical fix, and the format question has a settled answer for most sites: WebP for nearly everything, with the AVIF trade-off worth understanding before you commit a pipeline to it.
Then check the pages where images dominate total weight against real performance data. PageSpeed Insights on a handful of representative templates tells you whether the hero image is the Largest Contentful Paint element, which converts an abstract weight problem into a measured one.
Pass three: alt text
This is the pass that needs a human, and it is where audits usually stall.
The missing-alt export will be long. Do not work through it in order. Instead:
Split it by page value first. Your top twenty pages by traffic or revenue, then everything else.
Within those pages, split by image role. Meaningful images — the ones conveying information a reader would lose without — need real alt text. Decorative images should carry an empty alt attribute, deliberately. An empty alt is a correct answer, not a gap, and a crawler cannot tell the difference. This is why an audit that treats every empty alt as a defect produces four hundred rows of work, most of which would make the site worse if completed.
Then check the alt text that already exists. This is the half people skip. Keyword-stuffed alt text, filename-derived alt text (DSC_0041), and alt text duplicated across every image in a gallery are all worse than the empty attribute they replaced. The practical rules for writing and testing alt text include a quick test for whether what you wrote is actually useful.
Pass four: filenames and duplication
Two related findings from the same export.
Filenames. Scan the image URL column for camera defaults, CMS-generated hashes and generic names. If the platform preserves uploaded filenames, this is a fixable signal; if it replaces them with identifiers, skip this pass entirely and put the effort into captions.
A caution: renaming an existing indexed image changes its URL, which loses whatever equity it had unless you redirect. For images already earning image-search impressions, leave them alone. Apply the naming discipline to new uploads and to images that are earning nothing.
Duplication. Group the export by image URL and look for the same file appearing across many pages. Some of this is correct — a logo, an icon set. What matters is the case where a set of near-identical pages, such as location or service variants, all carry the same image. Those pages are already fighting to look distinct, and identical imagery does not help. It is also the specific case that most often justifies generating fresh imagery per page rather than reusing one asset.
Pass five: coverage
Two checks that use Search Console rather than the crawl.
Image impressions. In the Performance report, set Search type to Image. If a site with hundreds of images shows near-zero image impressions over three months, the problem is discovery rather than quality, and passes one and five are where the answer is.
Sitemap comparison. Compare the images found by your crawl against those in your sitemap, if you publish image entries. Large discrepancies usually indicate JavaScript-dependent images the sitemap generator never saw.
Producing a list someone will finish
The output of the audit is not the exports. It is a single sheet with these columns: page, defect, fix, owner, done. Nothing else.
Populate it in this order:
- Every outage from pass one, regardless of page.
- Every template-level defect, because those are one fix each with site-wide reach.
- All defects on your top twenty pages, completed page by page.
- Batch fixes that can be done mechanically across everything — re-encoding, format conversion.
- Everything else, explicitly marked as backlog.
Categories one through four are usually an afternoon of work plus a couple of days of implementation. Category five is where audits go to die, and labelling it honestly is the thing that keeps the rest moving.
When the top pages are clean, the per-page image SEO checklist becomes the standard for anything published from that point on, and the next audit is a spot check rather than an excavation.
What the audit cannot tell you
Worth stating, because audits invite over-reading.
A crawl reports what is present, not what is appropriate. It cannot tell you that a technically flawless image is the wrong image for the page, that a photograph is five years out of date, or that forty location pages carry the same picture for a reason nobody remembers. It also cannot distinguish a decorative image correctly carrying an empty alt attribute from a meaningful one missing it — that judgement is the reason a human still reviews the list.
And it cannot tell you what to do with the pages it finds nothing wrong with. A page with compressed, correctly named, accessible images may still have no image worth looking at. That is a content decision, and it sits outside every tool in this process.
What good looks like afterwards
Not perfection. A site where no image is broken, no directory is blocked, no template serves a file three times larger than its slot, the pages that matter have accurate alt text, and new images arrive already named and sized correctly.
That last clause is the one that determines whether you do this again in six months. Debt that is generated upstream regenerates. SEOpix produces images with descriptive filenames, correct dimensions and metadata already written in, which removes most of the audit's findings before they are created — see what each plan includes, or start free and check the output against the defect table above.
Frequently asked questions
What tools do I need to audit a site's images?+
A crawler that reports images and their attributes, a performance tool, and Search Console. Screaming Frog's SEO Spider is the usual crawler and is free up to 500 URLs, which covers most small business sites entirely; PageSpeed Insights or Lighthouse handles the performance half. Everything else is a spreadsheet.
How often should image audits be repeated?+
Once properly, then quarterly as a spot check, and always after a redesign, a CMS migration or a CDN change. The full audit is a one-off exercise that finds accumulated debt; the recurring version exists to catch new debt, which mostly arrives in bulk when something structural changes.
Is missing alt text worth fixing across an entire site?+
Yes, but not indiscriminately. Missing alt text on meaningful images is an accessibility gap with legal exposure in several jurisdictions and should be fixed. Missing alt text on genuinely decorative images is correct — those should carry an empty alt attribute, and filling them with keywords makes the page worse for the people the attribute exists to serve.
How large is too large for an image file?+
There is no universal number, because it depends on dimensions and role. A workable audit threshold is to flag anything over about 200KB for review and anything over 500KB as a probable defect, then judge each against what it is doing — a full-width hero legitimately weighs more than a thumbnail, and the real question is whether the served dimensions match the displayed ones.
Should I fix every issue the audit finds?+
No. Sort by page value first and fix the top pages completely rather than fixing one defect class everywhere. A site's most valuable twenty pages carrying clean images beats four hundred pages each missing something, and the second approach never finishes anyway.
Can this be automated?+
The finding can be almost entirely automated — crawling, flagging oversized files, listing empty alt attributes and comparing against the sitemap are all mechanical. The judging cannot, because deciding whether an image is decorative or meaningful, and whether alt text is accurate, requires looking at it. Automate the list; keep a human on the verdict.
Does an image audit help rankings directly?+
Rarely as a direct effect. What it does is remove failure — images that cannot be indexed, pages made slow by oversized files, accessibility gaps — and surface the pages where a genuine improvement is available. Treat it as debt clearance rather than as a growth tactic, and its value is easy to defend.
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.


