Image SEO: How to Audit and Optimize Images

AI OVERVIEW

Audit and optimize images for SEO, accessibility, crawlability, speed, alt text, filenames, dimensions, formats, responsive images, and broken URLs.

You've just published a post with an image, but on the live page it's broken and you're staring at a question mark. You right-click, open the image URL, and it loads perfectly. So what's going on?

The image exists. The URL works. Yet the page still won't display it.

Usual suspects when an image loads alone but breaks on the pageA relative src path that resolves differently from the page's location, an HTTP image on an HTTPS page blocked as mixed content, hotlink protection or a CDN rule rejecting the page as referrer, or a lazy loading script that never swaps in the real src.

Problems like this are easy to miss when you check a site one page at a time. Once a site has hundreds or thousands of images, the issues go well beyond one broken file: missing alt text, empty alt attributes, oversized images, wrong dimensions, poor formats, broken image URLs, images blocked from crawling, and images delivered badly to different devices.

A proper image SEO audit checks whether images can be loaded, crawled, understood, accessed, and delivered efficiently, not just whether the URL works when opened directly.

Why Image SEO Matters

Images support a page's content, help users understand a product or concept, and give search engines extra context, including visibility in Google Images. But they also cause problems when they're too large, inaccessible, incorrectly referenced, or impossible to crawl. Heavy images are one of the most common causes of a slow Largest Contentful Paint (LCP).

Oversized

3,000px image shown at 600px

Looks fine to the visitor, but the browser downloads far more data than needed.

Context-free

IMG_48291.jpg, no alt text

Same large file on desktop and mobile, with nothing describing it.

Neither makes the page unusable, but both belong in an audit.

Alt Text

Alt text describes the purpose or content of an image when it can't be seen, and it's read aloud by screen readers. For an image that communicates something useful, the alt attribute should describe what it conveys. Our guide to image optimization covers this in more depth.

Descriptivealt="Technical SEO audit report showing crawl issues"

Specific, useful context for users and search engines.

Keyword-stuffedalt="SEO audit technical SEO audit website SEO audit best SEO audit tool"

Helps no one understand the image.

Avoid keyword stuffingAlt text isn't a place to repeat every keyword you want to rank for. Write it for the image and its role on the page.

Empty Alt vs Missing Alt

These look similar in a crawl but mean very different things, and auditors confuse them constantly.

Descriptive alt
alt="Sales chart, Q3"

Right for informative images.

Empty alt
alt=""

Tells assistive tech to skip it. Right for decorative images.

Missing alt
<img src="...">

No attribute at all. Screen readers may read the filename aloud.

An empty alt is not automatically an SEO problem. The issue is an important image with an empty or missing alt attribute, which leaves users with no alternative description.

Decorative Images

Some images are purely visual: background decorations, separators, icons beside text, and other elements that add no information. These generally shouldn't get descriptive alt text.

<img src="/images/section-divider.svg" alt="">

If the surrounding text already communicates the information, repeating it in alt text just adds noise for screen reader users.

Audit tipDon't flag every empty alt as an error. Check whether the image is informative or decorative first.

Image Filenames

Filenames give context before anyone looks at the image itself.

Descriptiveseo-audit-report.jpg
GenericIMG_29481.jpg

Use short, descriptive filenames with hyphens between words. Avoid repeated keywords and extremely long names. Renaming an image that's already established across the site means updating every reference to it, so filename optimization is easiest before publishing.

Image Dimensions

Dimensions matter because browsers often download the full file even when it's displayed much smaller. A 3,000 × 2,000 image displayed at 600 × 400 wastes most of what's downloaded.

During an audit, compare each image's intrinsic dimensions with its displayed size. Large gaps flag images worth resizing or serving responsively. Also make sure <img> tags declare width and height attributes, so the browser reserves space and the layout doesn't jump as images load (Cumulative Layout Shift).

Responsive Images and srcset

Responsive images let a page offer different files based on device, screen size, and display density. Instead of every visitor downloading the same large file, smaller screens get smaller alternatives, which matters most on mobile connections.

The srcset attribute lists the available sources, and sizes tells the browser how wide the image will display:

<img
  src="/images/seo-audit-800.jpg"
  srcset="
    /images/seo-audit-400.jpg 400w,
    /images/seo-audit-800.jpg 800w,
    /images/seo-audit-1200.jpg 1200w"
  sizes="(max-width: 768px) 100vw, 800px"
  width="800" height="533"
  alt="SEO audit report showing technical issues">
Phone

Gets 400w

Small file for a small screen.

Tablet

Gets 800w

Matches the layout width.

High-DPI desktop

Gets 1200w

Extra detail only where it's visible.

When auditing, check whether large images are served unnecessarily and whether responsive markup is used where it makes sense.

Image Formats

FormatCommon useAudit consideration
JPEGPhotographs and complex imagesCheck compression and dimensions
PNGTransparency or lossless qualityCheck whether the file is unnecessarily large
SVGLogos, icons, vector graphicsScales cleanly at any size
WebPGeneral web imagesOften smaller files for many image types
AVIFModern web imagesVery high compression where support and workflow allow

To serve modern formats safely, the <picture> element lets the browser pick AVIF or WebP and fall back to JPEG:

<picture>
  <source srcset="/images/audit.avif" type="image/avif">
  <source srcset="/images/audit.webp" type="image/webp">
  <img src="/images/audit.jpg" alt="SEO audit report" width="800" height="533">
</picture>

The goal isn't converting every image to one format. The right choice depends on the image, required quality, transparency, browser support, and the site's delivery setup.

Lazy Loading

Lazy loading delays images far below the initial viewport until the user scrolls near them:

<img src="/images/example.jpg" loading="lazy" alt="Example image">
Lazy load

Images well below the fold, such as gallery items, comments, and footer graphics.

Don't lazy load

Hero images and anything visible on first load, especially your LCP image. Consider fetchpriority="high" on it instead.

During an audit, identify where lazy loading is used and whether it fits each image's position and importance. Lazy loading implemented with JavaScript can also hide images from crawlers that don't scroll, so native loading="lazy" is the safer default.

Broken Image URLs

A broken image is one that can't be loaded from the URL the page references. The HTML may contain <img src="/images/missing-image.jpg"> while the file no longer exists. Common causes:

  • Deleted files
  • Renamed directories
  • Incorrect paths
  • CMS changes
  • Migration problems
  • Simple typos

Look for image requests returning error responses and verify that important images actually load. They show up the same way as links to broken resources in a crawl.

Images Blocked From Crawling

An image can appear on a page and still be inaccessible to crawlers because its URL is blocked. If a page references https://example.com/images/product.jpg but that path is off-limits, the crawler can't retrieve it. When important images can't be crawled, check:

  • robots.txt rules
  • Server restrictions
  • Authentication requirements
  • CDN configuration
  • Hotlink protection
  • Other access controls
Don't assumeAn image isn't crawlable just because the HTML contains its URL. A common culprit is a robots.txt rule like Disallow: /wp-content/ or Disallow: /assets/ that blocks the entire image directory.

Image Links

Images can also be links:

<a href="/products/seo-tool">
  <img src="/images/seo-tool.jpg" alt="SEO auditing tool">
</a>

When an image is the only clickable content, its alt text effectively becomes the link's anchor text, describing the destination to users and search engines. During an audit, find linked images and check whether they tell users enough about where the link goes. A linked image with an empty alt is an empty link.

Accessibility

Image SEO and accessibility overlap heavily. Ask these questions during an audit:

  1. Does each informative image have useful alt text?
  2. Are decorative images marked so they can be skipped?
  3. Does linked image content communicate the link's purpose?
  4. Is important information contained only inside an image?
  5. Do images display correctly at different screen sizes?
  6. Are broken images leaving users without important information?

Accessibility isn't just another SEO checkbox. The goal is content that works for people with different needs and browsing conditions. Text locked inside an image is also invisible to many AI tools, so see how to make infographics readable to AI search engines.

How to Audit Images

Start by collecting every image reference found during a crawl, then group the findings so you can see which problems actually need attention.

1. Find every image

Crawl the site and record, for each image:

  • Image URL
  • Source page
  • Alt attribute
  • Image dimensions
  • File size
  • HTTP status
  • Content type
  • Lazy loading status
  • Responsive markup
  • Whether it's linked
  1. 2Check alt attributesSeparate missing alt from empty alt, then decide whether each image is informative or decorative.
  2. 3Check filenamesFlag generic names, overly long names, and names with no useful context.
  3. 4Check dimensions and file sizeFind images much larger than their displayed size or unusually heavy. These are candidates for resizing, compression, or responsive delivery.
  4. 5Check responsive deliveryInspect large images for srcset and sizes. Are mobile visitors getting oversized files?
  5. 6Check formatsFind opportunities to cut file weight without losing required quality.
  6. 7Check lazy loadingMake sure it matches each image's position and importance.
  7. 8Check image URLsFind broken image requests and confirm important images return successful responses.
  8. 9Check crawlabilityConfirm crawlers can retrieve important images. Review robots.txt and other restrictions.
  9. 10Review linked imagesCheck that alt text on linked images describes the destination.
  10. 11Prioritize the fixesNot every image issue deserves the same priority. Use the table below.
FindingWhat to checkTypical action
Broken URLDoes the resource return an error?Restore, replace, or remove the reference
Blocked imageCan crawlers retrieve it?Review access and crawl rules
Lazy-loaded heroIs an above-the-fold image delayed?Load it eagerly; consider fetchpriority="high"
Missing altIs the image informative?Add useful alt text where needed
Empty altIs the image decorative?Keep empty if decorative; describe if informative
Large dimensionsIs the source far larger than displayed?Resize or use responsive delivery
Large file sizeIs compression or a better format possible?Optimize the image
No responsive sourceAre large images sent to small screens?Consider srcset and sizes

Image SEO Audit Checklist

  • Informative images have useful alt text
  • Empty alt attributes are separated from genuinely missing ones
  • Decorative images are marked to be skipped by assistive technology
  • Image filenames are descriptive
  • Source dimensions are compared with displayed dimensions
  • Oversized image files are identified
  • Images declare width and height to prevent layout shift
  • Responsive images are used where appropriate
  • srcset and sizes are implemented correctly
  • Image formats and compression are reviewed
  • Lazy loading skips above-the-fold images
  • Broken image URLs are found and fixed
  • Important images aren't blocked from crawling
  • Images used as links are reviewed
  • Image accessibility is checked
  • Issues are prioritized by impact and the image's role

Audit Images Across the Website

Checking one page is straightforward. Checking every image across a large website is not. Inspecting HTML manually works for a few pages, but it gets tedious fast with hundreds or thousands of URLs and images.

A site crawler collects image data during the same crawl and shows which pages have missing alt attributes, empty attributes, broken image URLs, oversized resources, and other image issues. SiteAuditLint's on-page SEO checks surface these across the whole site, so you can move from checking images page by page to reviewing problems from the crawl report and deciding what to fix first.

The goal isn't to optimize every image a crawler finds. It's to find images that are inaccessible, too heavy, incorrectly referenced, hard to understand, or poorly delivered, and fix the ones that matter.