301→302
A temporary redirect where a permanent one belongs. Found by Redirect checker →
redirect loop
The URL redirects back to itself and never settles. Found by Redirect checker →
Audit

Image SEO checker and optimizer

Find images without alt text, oversized files and missing dimensions, then compress them and convert to WebP or AVIF in a separate directory, with redirects and a task for the developer.

Image SEO checker and optimizer

Image pipeline

In the desktop app: find heavy images in a scan, compress, convert to WebP or AVIF, generate 301 redirects and hand the task over.

Image SEO checker and optimizer

Safe by default

Optimisation writes to a separate directory unless in-place mode is requested, which keeps backups.

How it works

Three steps, one saved scan

  1. Find the weak images

    A native crawl records each image's file size, its alt attribute and whether it loads. A Screaming Frog export can be analysed offline with seohead sf run.

  2. Compress and convert

    images-optimize writes WebP or AVIF to a separate directory, never upscales, and makes a backup before any in-place edit.

  3. Hand over the fixes

    sf run --tasks writes a task list for the developer with reproduction steps. Renamed files need 301s from old and new URL pairs via redirects-generate.

What it checks

Checks in this feature

CheckWhat it meansSeverityEvidence
IMG_MISSING_ALTImage has no alt text. Screaming Frog export only: the native crawl does not measure this per image.ImportantImage URL and the pages that use it
IMG_MISSING_ALT_ATTRIBUTEThe img tag has no alt attribute at all, not even alt="". Native crawl.ImportantPage URL with the count of img tags missing the attribute
IMG_OVER_KBImage file is larger than the size threshold, 150 KB by default. Screaming Frog export or native crawl with resource capture.ImportantImage URL, byte size and the limit
IMG_BROKENImage URL answers with a 4xx or 5xx error, so the browser shows nothing. Native crawl.ImportantImage URL, HTTP status and the source page
IMG_MISSING_DIMENSIONSThe img tag does not declare width and height, so layout space is not reserved. Screaming Frog export only.TipImage URL and the source page
IMG_ALT_TOO_LONGAlt text is longer than the configured limit, 100 characters by default. Native crawl.TipImage URL, alt length and the alt text
How to run it

One command

bash
seohead images-optimize --files ./images --output-dir ./optimized --format webp

Install first: installation guide. Every command also runs as an MCP tool for AI agents.

Related checks

From the check registry

IMG_MISSING_ALTIMG_MISSING_ALT_ATTRIBUTEIMG_OVER_KBIMG_MISSING_DIMENSIONS
FAQ

Questions

Image SEO checker and optimizer
No. The checks read pages and images. images-optimize writes to the directory you give it. In-place edits need --in-place and keep backups by default.
No. seohead sf run analyses exports offline. The Screaming Frog CLI is needed only for --crawl mode, and it is a separate licensed install.
No. It reports missing or overlong alt text. You write the description, because only you know what the image shows.
keep, jpeg, png, webp or avif. Quality runs from 10 to 100. Width and height limits never enlarge an image.
IMG_MISSING_ALT and IMG_MISSING_DIMENSIONS. A native crawl does not measure them per image, and it says so in the report instead of reporting them clean.

Check your redirects locally