Skip to content

Find Missing Images on Your Website

14 April 2026 · 4 min read

Missing images don't announce themselves. There's no alert, no error email, no dashboard metric that spikes. The image just doesn't load, the alt text renders (if you wrote it), and the layout shifts slightly in a way that looks intentional to someone who doesn't know what was supposed to be there.

This is exactly what makes them hard to find. You visit the homepage - the images load. You check the product pages - fine. The missing images are on the blog post from 2020, the team page that got reorganized last quarter, the resources section nobody updated in a year. Pages that still get traffic, just not from you.

Where missing images come from

CMS media library mismatches

Every WordPress, Drupal, or headless CMS installation has a media library. When you migrate content to a new environment - whether that's a new server, a new CMS, or a new hosting setup - the media library needs to move too. It often doesn't, at least not completely. References to /wp-content/uploads/2019/brochure.jpg work in production. They 404 in staging. After a migration, they can start 404-ing in production too.

CDN URL changes

Moving your assets from one CDN to another, or from local serving to a CDN, requires updating all references. Hardcoded URLs in blog content, in CSS background images, in HTML templates - these don't update themselves. A find-and-replace at migration time gets most of them. The rest become a growing list of broken assets.

The case sensitivity problem

This one bites teams repeatedly. Your image file is named Hero-Image.JPG. The reference in your template is hero-image.jpg. On macOS and Windows (case-insensitive file systems): works fine. On Linux (case-sensitive file system, which is what almost every production server runs): 404.

You develop on a Mac, test on a Mac, deploy to Linux. It worked every time you tested it. The first time anyone opens the page in production, the image is missing.

Deleted files that are still referenced

Someone cleaned up the media library and deleted some "unused" images. One of them was on a product page that isn't in the main navigation but still ranks in search. The page looks fine in the CMS preview (which shows a placeholder). In a browser, it's a broken image.

Missing images found across site
URLIssueStatusFound on
/wp-content/uploads/2020/07/team-photo.jpgErrorMissing asset404/about
https://old-cdn.example.net/products/item-456.webpErrorMissing asset404/products/item-456
/Images/Logo.PNGErrorMissing asset404/email-signup
/assets/blog/2021/featured.jpgErrorMissing asset404/blog/2021/article-title
/img/icons/arrow-right.svgWarningMissing alt text-/features

Missing alt text: a related problem

An image can load successfully but still be effectively missing for screen reader users - and for Google's image indexing - if it has no alt text. Alt text is how assistive technology describes images to people who can't see them. It's also the primary signal Google uses to understand what an image depicts and whether to surface it in image search.

The WCAG AA accessibility standard (the baseline most organizations target) requires meaningful alt text on all informative images. Decorative images should have an empty alt attribute (alt=""), not a missing one.

Alt text for SEO vs accessibility have different requirements. For SEO, descriptive text that includes relevant keywords helps Google understand the image. For accessibility, the goal is to convey what the image communicates to a sighted user - not to describe it literally. "Bar chart showing 40% increase in revenue from Q1 to Q4" is better than "image of a bar chart."

Finding missing images across your whole site

Browser-based tools show you what's broken on the page you're currently looking at. That's useful for debugging a specific page - it's useless for finding images broken on pages three levels deep in your site structure.

A crawler covers your entire site: it fetches each page, extracts every src attribute on image tags and CSS url() references, and checks each one. Missing images appear in the results with the page they're on, making it straightforward to identify the source and fix it in the right place.

Try it now - it's free, no account needed

Up to 1,000 pages. Results in minutes.