By SitemapFixer Team
Updated May 2026

Broken Images and SEO: Find and Fix Them at Scale

Broken images do more than make your pages look unfinished. They create poor user-experience signals, can spike Cumulative Layout Shift, waste crawl budget on dead asset URLs, strip rich-result eligibility from product and recipe pages, and quietly disqualify content from Google Images traffic. The good news: broken images are one of the most fixable categories of technical SEO debt — once you can see them, a single bulk update usually closes most of the gap. This guide covers how broken images hurt SEO, how to find them across an entire site, and how to fix and prevent them at scale.

Audit your whole site for broken images and other crawl issues.Try SitemapFixer Free

What Are Broken Images?

A broken image is any image, source, or CSS background-image reference whose URL no longer returns a valid image. The most common cause is a 404 — the file used to exist at that URL and now does not. Other failure modes: 403 Forbidden (the file exists but permissions block public access), DNS errors (the entire host disappeared, common when CDN domains change), MIME-type mismatches (the URL returns HTML instead of an image), and infinite redirect chains that browsers eventually give up on.

From the user's side, the symptom is the same: a placeholder icon, a broken-image glyph, or empty space where a hero shot used to be. From Googlebot's side, every broken image is a wasted fetch and a missed opportunity to index a useful asset.

How Broken Images Hurt SEO

The damage shows up in four places. User-experience signals degrade — bounce rate climbs, time on page drops, and pages full of broken visuals lose authority cues that affect rankings indirectly. Cumulative Layout Shift (CLS) can spike when broken images sit inside layouts that have not declared explicit width and height; the fallback glyph occupies different space than the original asset would have, and surrounding content jumps. Rich-result eligibility evaporates for Product, Recipe, Article, and Video schema if the referenced image returns a 404 — Google's structured data tester flags missing images as ERROR, not warning.

Finally, Google Images traffic dries up. If your asset URLs broke during a migration, every previously-ranked image gets dropped from the Image Index over the following weeks, and you lose a traffic source most teams forget to monitor.

Image SEO Beyond Just Working: Alt Text and File Names

An image that loads but has no alt text and a meaningless file name (IMG_4521.jpg) is barely better than one that 404s. Both fail to feed Google the context it needs to rank the asset in Image Search. When auditing broken images, audit alt text in the same pass — it is essentially free and amplifies the impact of every fix. See image alt text best practices and how to find missing alt text for the full process. Use descriptive, keyword-relevant file names (red-running-shoes-side-view.jpg) and concise alt text that describes what the image actually shows, not what page it sits on.

Common Causes of Broken Images

Most broken-image incidents trace back to a small set of root causes:

How to Find Broken Images Across Your Site

You need a full-site crawl — spot-checking pages will not surface the long tail. The standard tools:

Fixing Broken Images at Scale

Once you have the list, you have three patterns for fixing them. Pattern A — Re-upload the missing files if the original URLs are still embedded everywhere; restore from backup, S3 versioning, or the CDN's purge log. Pattern B — Bulk URL rewrite when the assets exist at a new location; do a search-and-replace across the CMS database. Pattern C — Replace with new images when the originals are truly gone; use the crawler's CSV export of "Inlinks" to find every page that needs an editorial fix.

For Pattern B on WordPress, a SQL update is the fastest path. Always back up the database first.

-- WordPress: bulk update image URLs in post content UPDATE wp_posts SET post_content = REPLACE( post_content, 'https://old-cdn.example.com/uploads/', 'https://new-cdn.example.com/uploads/' ); -- Also update postmeta (featured images, ACF fields, etc.) UPDATE wp_postmeta SET meta_value = REPLACE( meta_value, 'https://old-cdn.example.com/uploads/', 'https://new-cdn.example.com/uploads/' );

Plugins like Better Search Replace handle serialized data correctly (important for ACF fields and page-builder content), so prefer them over raw SQL when the data structure is complex.

Preventing Image 404s During Site Migrations

The cheapest broken image is the one you never create. For any migration, the rule is simple: preserve image URLs or 301-redirect old to new. If you can keep the same paths (e.g. /wp-content/uploads/2024/03/hero.jpg) on the new system, do it — most CDNs and platforms support custom path mapping.

If paths must change, set up server-level redirects from old to new. An Apache example:

# Redirect all old CDN image URLs to the new CDN RewriteEngine On RewriteCond %{REQUEST_URI} ^/uploads/(.*)$ RewriteRule ^uploads/(.*)$ https://cdn.example.com/uploads/$1 [R=301,L]

Run a full crawl on the staging environment before launch and compare the image inventory against production. Any URL that was valid in production and 404s on staging is a launch-blocker.

Hotlinking Risk: When External Images You Embed Break

Embedding images from someone else's server (hotlinking) is fragile and a quiet long-term liability. The remote owner can rename, delete, or block your referrer at any time, and you will not know until traffic notices. They can also swap the image content underneath you — a tactic occasionally used for embarrassing pranks.

The fix: download external images you depend on (with permission, where licensing requires it) and host your own copies. For licensed stock photography, this is usually allowed. For news clippings or third-party charts, link to the source and re-host a screenshot or cite the original with proper credit instead of embedding.

Schema Markup and Broken Images

Structured data has hard requirements around images. Product schema requires at least one valid image. Recipe schema requires images for the recipe and (recommended) for the result. Article schema requires a publisher logo and an article image to be eligible for Top Stories carousels. Video schema requires a thumbnailUrl that resolves.

If any of those image URLs 404, Google's Rich Results Test will flag the page as ineligible, and you will see the rich-result loss show up in GSC's Enhancements reports within days. After every broken-image fix-up pass, re-run rich-result tests on your top pages to confirm eligibility was restored.

Ongoing Image Health Monitoring

Broken images are not a one-time fix — they accumulate naturally as content ages, plugins update, and CDNs change. Build a monitoring loop:

Treat broken images the same way you treat broken links — a small, ongoing tax that compounds if ignored, and disappears entirely with a regular maintenance pass.

Find every broken image on your site
SitemapFixer crawls your full site, flags broken images, and tracks fix progress over time.
Run a Free Audit

Related Guides