seoskills.sh
Catalog/On-Page SEO/Image SEO Auditor

Image SEO Auditor

Crawls each page's images and checks alt-text quality, descriptive filenames, next-gen formats, explicit dimensions, an…

Updated

New

Use this skill

$ npx skills add seoskills.sh/image-seo-auditor
Category
Repository
seoskills.sh
GitHub stars
License
MIT

About this skill

Image SEO Auditor is a On-Page SEO skill for AI agents, published in the seoskills.sh catalog. Reach for it when your work involves titles, meta tags, headings, internal linking, and content structure that ranks. Install it with one command and it runs inside your own agent, so the work happens in your workflow, not a separate SEO tool.

SKILL.md

Image SEO Auditor

AGENT ROLE: Autonomous image-audit agent. Inspect each page's <img>/<picture> elements against the image-SEO checklist and emit the JSON in references/output.schema.json. Audit what the markup declares; do not download image bytes unless explicitly enabled.

OBJECTIVE

For each page, report images with missing/duplicate/poor alt text, non-descriptive filenames, legacy formats, missing dimensions, and absent lazy-loading — the on-page image signals that affect SEO, accessibility, and Core Web Vitals.

INPUTS

  • urls (REQUIRED string[]) OR sitemap_url.
  • check_bytes (OPTIONAL bool, default false): if true, HEAD each image to get content-length for oversize detection (adds requests).
  • oversize_kb (OPTIONAL, default 200): byte threshold when check_bytes.
  • max_pages (OPTIONAL, default 1000).

AUTHENTICATION / RUNTIME

  • No API key. Keyless HTTPS GET (page) + optional HEAD (image), UA seoskills-image-audit/1.0, honor robots.

EXPECTED TOOL CALLS

  • Run scripts/image_audit.py --urls a,b,c [--check-bytes].
  • Per page: GET; extract each <img> (src/srcset/alt/width/height/loading) and <picture><source> formats. IF check_bytes: HEAD each unique image URL.

PROCEDURE (deterministic, per image)

STEP 1 — EXTRACT {src, alt (present? empty? text), width, height, loading, format}; resolve <picture>/srcset to the effective format set. STEP 2 — CHECK and collect issues per image:

  • ALT_MISSING: no alt attribute (decorative images should have alt="" — an explicitly empty alt is OK, a missing attribute is not).
  • ALT_EMPTY_NON_DECORATIVE: alt="" on a likely-content image (large, in-content) — info-level.
  • ALT_GENERIC: alt like "image", "photo", filename, or a stuffed keyword string.
  • NON_DESCRIPTIVE_FILENAME: filename is IMG_1234, a hash, or numeric-only.
  • LEGACY_FORMAT: JPEG/PNG with no WebP/AVIF alternative in <picture>/srcset.
  • MISSING_DIMENSIONS: no width/height attributes (CLS risk).
  • NO_LAZY_LOADING: below-the-fold images without loading="lazy" (best-effort; first ~2 images exempt).
  • OVERSIZE (only if check_bytes): content-length > oversize_kb. STEP 3 — DUPLICATE ALT: within a page, flag identical non-empty alt reused across different images. STEP 4 — SCORE image_score per page; EMIT per-page image issues sorted by count, with a page-level summary.

RATE LIMITS & ERROR HANDLING

  • Crawl: ≤ 5 concurrent pages, ≥ 150ms per host. IF check_bytes: cap image HEADs at 5 concurrent, dedupe by URL. Timeout 10s.
  • Per-page failure → {url, status:"unreachable"}; per-image HEAD failure → mark that image size_unknown, do not flag OVERSIZE.

MISSING / INSUFFICIENT DATA

  • Distinguish alt MISSING (no attribute — a real issue) from alt="" (intentional decorative — acceptable). Never conflate them.
  • Above/below-the-fold is heuristic (DOM order) — mark lazy-loading findings heuristic=true.
  • Do not judge alt-text quality beyond the generic/stuffed checks; alt copywriting is the author's job.

OUTPUT

One JSON object per references/output.schema.json. No prose.

FILES

  • scripts/image_audit.py — image extraction, per-image checks, optional byte HEAD, scoring.
  • references/output.schema.json — output contract.

Not using the CLI? Copy the SKILL.md and paste it straight into ChatGPT, Claude, or any agent.

Embed a badge

seoskills.sh install badge

More in On-Page SEO

On-Page SEOcoreyhaines31/marketingskills

schema

When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user mentions "schema markup," "structured data," "JSON-LD," "rich snippets," "schema.org," "FAQ schema," "product schema," "review schema," "breadcrumb schema," "Google rich results," "knowledge panel," "star ratings in search," or "add structured data." Use this whenever someone wants their pages to show enhanced results in Google. For broader SEO issues, see seo-audit. For AI search optimization, see ai-seo.

59.2K installs
On-Page SEOcoreyhaines31/marketingskills

schema-markup

When the user wants to add, fix, or optimize schema markup and structured data on their site. Also use when the user mentions "schema markup," "structured data," "JSON-LD," "rich snippets," "schema.org," "FAQ schema," "product schema," "review schema," "breadcrumb schema," "Google rich results," "knowledge panel," "star ratings in search," or "add structured data." Use this whenever someone wants their pages to show enhanced results in Google. For broader SEO issues, see seo-audit. For AI search optimization, see ai-seo.

56.2K installs
On-Page SEOagricidaniel/claude-seo

seo-schema

Detect, validate, and generate Schema.org structured data. JSON-LD format preferred. Use when user says "schema", "structured data", "rich results", "JSON-LD", or "markup".

5.6K installs
On-Page SEOagricidaniel/claude-seo

seo-images

Image optimization analysis for SEO and performance. Checks alt text, file sizes, formats, responsive images, lazy loading, CLS prevention, image SERP rankings (via DataForSEO), and image file optimization (WebP/AVIF conversion, IPTC/XMP metadata injection). Use when user says "image optimization", "alt text", "image SEO", "image size", "image audit", "optimize images", "image metadata", "image SERP", "convert to webp", or "image file optimize".

5.4K installs
On-Page SEOagricidaniel/claude-seo

seo-image-gen

AI image generation for SEO assets: OG/social preview images, blog hero images, schema images, product photography, infographics. Powered by Gemini via nanobanana-mcp. Requires banana extension installed. Use when user says \"generate image\", \"OG image\", \"social preview\", \"hero image\", \"blog image\", \"product photo\", \"infographic\", \"seo image\", \"create visual\", \"image-gen\", \"favicon\", \"schema image\", \"pinterest pin\", \"generate visual\", \"banner\", or \"thumbnail\".

4.8K installs
On-Page SEOagricidaniel/claude-seo

seo-drift

SEO drift monitoring: capture baselines of SEO-critical elements, detect changes, and track regressions over time. Git for SEO: baseline, diff, and track changes to your on-page SEO. Use when user says "SEO drift", "baseline", "track changes", "did anything break", "SEO regression", "compare SEO", "before and after", "monitor SEO changes", or "deployment check".

4.4K installs