/digital-marketing-pro:image-seo-audit
Purpose
Perform a dedicated image optimization audit that evaluates all images on a page or site for SEO, performance, and accessibility. Produces a prioritized optimization list sorted by file size impact.
Input Required
- URL: Page or site to audit
- Scope: Single page or site-wide crawl (default: single page)
Process
- Load brand context: Read active brand profile for industry context.
- Discover images: Find all
<img>, <picture>, CSS background-image, and <source> elements.
- Alt text audit: Check presence, quality, keyword inclusion, length (10-125 chars). Flag: missing, filename-only ("image.jpg"), keyword-stuffed, non-descriptive ("click here").
- File size audit: Apply tiered thresholds by image category — thumbnails (<50KB target, >200KB critical), content images (<100KB target, >500KB critical), hero/banner (<200KB target, >700KB critical).
- Format audit: Check for modern formats. Recommend WebP (97%+ support) or AVIF (92%+ support) over JPEG/PNG. Check for
<picture> element with format fallbacks. Note: JPEG XL restored in Chromium (Nov 2025) but not yet in Chrome stable — monitor, don't recommend yet.
- Responsive images: Check for
srcset and sizes attributes, appropriate resolution for device pixel ratios.
- Lazy loading: Verify
loading="lazy" on below-fold images. Flag loading="lazy" on above-fold/hero images (directly harms LCP).
- fetchpriority: Check for
fetchpriority="high" on LCP/hero images. Check for decoding="async" on non-LCP images.
- CLS prevention: Check for
width and height attributes or aspect-ratio CSS on all <img> elements. Flag images without dimensions.
- File naming: Check for descriptive, hyphenated, lowercase file names vs generic names (IMG_1234.jpg).
- CDN usage: Check if images are served from a CDN (different domain, CDN headers, edge caching).
- Score and prioritize: Sort by file size savings impact (largest first).
Recommended Picture Element Pattern
<picture>
<source srcset="image.avif" type="image/avif">
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="Descriptive alt text" width="800" height="600" loading="lazy" decoding="async">
</picture>
Hero/LCP Image Pattern
<img src="hero.webp" fetchpriority="high" alt="Hero image description" width="1200" height="630">
Do NOT lazy-load above-fold/LCP images. Do NOT add decoding="async" to LCP images.
Output
Image Audit Summary
| Metric |
Status |
Count |
| Total Images |
— |
XX |
| Missing Alt Text |
issues |
XX |
| Oversized (>200KB) |
issues |
XX |
| Wrong Format (not WebP/AVIF) |
issues |
XX |
| No Dimensions (CLS risk) |
issues |
XX |
| Not Lazy Loaded (below-fold) |
issues |
XX |
| No fetchpriority on LCP |
issues |
XX |
Prioritized Optimization List
Sorted by estimated file size savings (largest first):
| Image |
Current Size |
Format |
Issues |
Est. Savings |
| hero.jpg |
450KB |
JPEG |
No WebP, no fetchpriority |
~300KB |
| ... |
... |
... |
... |
... |
Recommendations (prioritized)
- Convert X images to WebP format (est. XX KB total savings)
- Add alt text to X images
- Add width/height dimensions to X images
- Enable lazy loading on X below-fold images
- Add fetchpriority="high" to LCP image
- Compress X oversized images
- Implement
<picture> element with AVIF/WebP fallbacks
Agents Used
- seo-specialist — Image optimization analysis, CWV impact assessment
Scripts Used
- tech-seo-auditor.py — Fetch page and analyze image elements
1---2name: image-seo-audit3description: "Audit every image on a page for SEO, performance, and accessibility — alt text quality, tiered file-size thresholds, WebP/AVIF format adoption, srcset/sizes responsiveness, lazy loading, fetchpriority on the LCP image, and width/height for CLS — producing an optimization list sorted by file-size savings. Triggers on \"/digital-marketing-pro:image-seo-audit\", \"audit our image SEO\", \"check alt text across the page\", \"why are our images so heavy\", \"should we switch to WebP\". Fetches and analyzes the page via tech-seo-auditor.py and reads the brand profile for industry context."4argument-hint: "[URL]"5user-invocable: true6---78# /digital-marketing-pro:image-seo-audit910## Purpose1112Perform a dedicated image optimization audit that evaluates all images on a page or site for SEO, performance, and accessibility. Produces a prioritized optimization list sorted by file size impact.1314## Input Required1516- **URL**: Page or site to audit17- **Scope**: Single page or site-wide crawl (default: single page)1819## Process20211. **Load brand context**: Read active brand profile for industry context.222. **Discover images**: Find all `<img>`, `<picture>`, CSS `background-image`, and `<source>` elements.233. **Alt text audit**: Check presence, quality, keyword inclusion, length (10-125 chars). Flag: missing, filename-only ("image.jpg"), keyword-stuffed, non-descriptive ("click here").244. **File size audit**: Apply tiered thresholds by image category — thumbnails (<50KB target, >200KB critical), content images (<100KB target, >500KB critical), hero/banner (<200KB target, >700KB critical).255. **Format audit**: Check for modern formats. Recommend WebP (97%+ support) or AVIF (92%+ support) over JPEG/PNG. Check for `<picture>` element with format fallbacks. Note: JPEG XL restored in Chromium (Nov 2025) but not yet in Chrome stable — monitor, don't recommend yet.266. **Responsive images**: Check for `srcset` and `sizes` attributes, appropriate resolution for device pixel ratios.277. **Lazy loading**: Verify `loading="lazy"` on below-fold images. Flag `loading="lazy"` on above-fold/hero images (directly harms LCP).288. **fetchpriority**: Check for `fetchpriority="high"` on LCP/hero images. Check for `decoding="async"` on non-LCP images.299. **CLS prevention**: Check for `width` and `height` attributes or `aspect-ratio` CSS on all `<img>` elements. Flag images without dimensions.3010. **File naming**: Check for descriptive, hyphenated, lowercase file names vs generic names (IMG_1234.jpg).3111. **CDN usage**: Check if images are served from a CDN (different domain, CDN headers, edge caching).3212. **Score and prioritize**: Sort by file size savings impact (largest first).3334## Recommended Picture Element Pattern3536```html37<picture>38 <source srcset="image.avif" type="image/avif">39 <source srcset="image.webp" type="image/webp">40 <img src="image.jpg" alt="Descriptive alt text" width="800" height="600" loading="lazy" decoding="async">41</picture>42```4344## Hero/LCP Image Pattern4546```html47<img src="hero.webp" fetchpriority="high" alt="Hero image description" width="1200" height="630">48```4950Do NOT lazy-load above-fold/LCP images. Do NOT add `decoding="async"` to LCP images.5152## Output5354### Image Audit Summary5556| Metric | Status | Count |57|--------|--------|-------|58| Total Images | — | XX |59| Missing Alt Text | issues | XX |60| Oversized (>200KB) | issues | XX |61| Wrong Format (not WebP/AVIF) | issues | XX |62| No Dimensions (CLS risk) | issues | XX |63| Not Lazy Loaded (below-fold) | issues | XX |64| No fetchpriority on LCP | issues | XX |6566### Prioritized Optimization List6768Sorted by estimated file size savings (largest first):6970| Image | Current Size | Format | Issues | Est. Savings |71|-------|-------------|--------|--------|-------------|72| hero.jpg | 450KB | JPEG | No WebP, no fetchpriority | ~300KB |73| ... | ... | ... | ... | ... |7475### Recommendations (prioritized)761. Convert X images to WebP format (est. XX KB total savings)772. Add alt text to X images783. Add width/height dimensions to X images794. Enable lazy loading on X below-fold images805. Add fetchpriority="high" to LCP image816. Compress X oversized images827. Implement `<picture>` element with AVIF/WebP fallbacks8384## Agents Used8586- **seo-specialist** — Image optimization analysis, CWV impact assessment8788## Scripts Used8990- **tech-seo-auditor.py** — Fetch page and analyze image elements