Skip to content
Back to skills

Seo Image Audit

ASecurity

Audit a page's images for SEO and performance — alt-text quality (missing, linked-empty, filename, stuffed, reused), modern formats (WebP/AVIF), responsive srcset/sizes, LCP loading (lazy hero, fetchpriority), CLS-safe dimensions, real byte and pixel budgets read from the image files, and og:image — scored, with ready-to-run conversion commands. Uses DataForSEO for live image-SERP rankings when connected; otherwise audits from page fetch and parsing alone. Trigger when the user says "image se...

  • 9 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added August 31, 2026
developmentpythongoapiperformance

Works with

  • api

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add ZachArticulateV/designer-pro-and-seo --skill seo-image-audit --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Seo Image Audit?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Seo Image Audit
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/zacharticulatev-seo-image-audit/badge)](https://www.skillsdirectory.com/skills/zacharticulatev-seo-image-audit)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: seo-image-audit
description: Audit a page's images for SEO and performance — alt-text quality (missing, linked-empty, filename, stuffed, reused), modern formats (WebP/AVIF), responsive srcset/sizes, LCP loading (lazy hero, fetchpriority), CLS-safe dimensions, real byte and pixel budgets read from the image files, and og:image — scored, with ready-to-run conversion commands. Uses DataForSEO for live image-SERP rankings when connected; otherwise audits from page fetch and parsing alone. Trigger when the user says "image seo", "image audit", "alt text", "image optimization", "convert to webp", "convert to avif", or "image performance".
---

# seo-image-audit

**Family:** seo
**Status:** Stable

## Purpose

The audit half of image SEO (split from generation because the two have different
legal, asset, and API risk). Inventories a page's images and scores each on the
dimensions that affect search and performance. The free path (fetch + parse) is
the whole product; DataForSEO only adds live image-SERP context.

## Triggers

- "image seo" / "image audit" / "image optimization"
- "alt text" / "image metadata"
- "convert to webp" / "convert to avif"
- "image rankings" / "google images"

## Inputs

- Page URL or local HTML/build path (or an image directory)
- Optional: target keyword(s) for alt-text relevance

## Steps

1. **Run the image audit** — on a live page (fetched through the shared SSRF guard) or
   a local build, where `--assets` lets it read real file bytes and pixel dimensions
   from the image headers:
   ```
   python3 "${CLAUDE_PLUGIN_ROOT}/scripts/seo/image_audit.py" --url <URL> --human
   python3 "${CLAUDE_PLUGIN_ROOT}/scripts/seo/image_audit.py" --file page.html --url <URL> --assets dist/ --human
   ```
   Findings by type, each listing the affected images (codes, budgets and scoring:
   `references/seo-image-audit/image-rubric.md`):
   - **Alt** — missing, empty on a linked image (the link loses its name), file name
     as alt, "image of…", over-long, keyword-stuffed, reused across images.
   - **Format** — legacy JPEG/PNG/GIF with no WebP/AVIF alternative.
   - **Responsive** — no `srcset`/`<picture>`; `srcset` without `sizes`.
   - **Loading** — lazy-loaded hero (LCP), several or no `fetchpriority=high`,
     below-the-fold images not lazy.
   - **CLS** — no width+height or `aspect-ratio`.
   - **Size** (`--assets`) — over 500 KB, over the 200 KB hero / 250 KB budget,
     intrinsic pixels > 2.5× the declared width, declared ratio ≠ file ratio. Without
     `--assets` these are listed under `needs_data`, never guessed.
   - **Filename / social** — camera or hash file names; missing or relative `og:image`.
2. **Judge alt text in context** — the script catches the mechanical failures; read the
   remaining alts against what each image shows on *this* page.
3. **Optional enrichment** — if the DataForSEO extension is configured, add image
   SERP rankings; otherwise state, in one line, what it would add.
4. **Deliver** the findings with fixes, the biggest byte/pixel wins first, and the
   emitted `conversions` (ready-to-run `cwebp` / `avifenc` / ImageMagick commands per
   legacy image) — the script prints them; running them needs those tools installed.

## Outputs

- Findings by type with affected images, fixes, and a 0-100 score
- A summary of the biggest performance wins (format + size)
- A short "what paid data would add" note on the free path

## Dependencies

- `scripts/seo/image_audit.py` (required) — the image audit (stdlib header parsing)
- `references/seo-image-audit/image-rubric.md` (required) — codes, budgets, scoring
- Optional: DataForSEO extension (image SERP); `seo-page` (page-level context)

## Notes

Pairs with `seo-image-gen` (the generation half). Actual file conversion
(WebP/AVIF) and metadata injection require Sharp/ImageMagick if you want the skill
to perform the conversion rather than recommend it.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.