seo-images

seo-images

热门

面向SEO和性能的图像优化分析。检查alt文本、文件大小、格式、响应式图片、懒加载、CLS预防、图片SERP排名(通过DataForSEO)以及图片文件优化(WebP/AVIF转换、IPTC/XMP元数据注入)。当用户提到“图片优化”、“alt文本”、“图片SEO”、“图片大小”、“图片审计”、“优化图片”、“图片元数据”、“图片SERP”、“转换为webp”或“图片文件优化”时使用。

1.2万Star
1752Fork
更新于 2026/7/20
SKILL.md
只读
名称
seo-images
描述

面向SEO和性能的图像优化分析。检查alt文本、文件大小、格式、响应式图片、懒加载、CLS预防、图片SERP排名(通过DataForSEO)以及图片文件优化(WebP/AVIF转换、IPTC/XMP元数据注入)。当用户提到“图片优化”、“alt文本”、“图片SEO”、“图片大小”、“图片审计”、“优化图片”、“图片元数据”、“图片SERP”、“转换为webp”或“图片文件优化”时使用。

图片优化分析

检查项

Alt文本

  • 所有<img>元素上存在(装饰性图片除外:role="presentation"
  • 描述性:描述图片内容,而非“image.jpg”或“photo”
  • 在自然的前提下包含相关关键词,避免关键词堆砌
  • 长度:10-125个字符

好的示例:

  • "专业水管工修理厨房水槽龙头"
  • "红色2024款丰田凯美瑞轿车前视图"
  • "现代办公室会议室中的团队会议"

差的示例:

  • "image.jpg"(文件名,非描述)
  • "水管工水管水管服务"(关键词堆砌)
  • "点击这里"(非描述性)

文件大小

按图片类别的分级阈值:

图片类别 目标 警告 严重
缩略图 < 50KB > 100KB > 200KB
内容图片 < 100KB > 200KB > 500KB
主图/横幅图片 < 200KB > 300KB > 700KB

建议在保证质量的前提下压缩至目标阈值。

格式

格式 浏览器支持 使用场景
WebP 97%+ 默认推荐
AVIF 92%+ 最佳压缩,较新
JPEG 100% 照片的备选
PNG 100% 带透明度的图形
SVG 100% 图标、Logo、插图

推荐使用WebP/AVIF替代JPEG/PNG。检查是否使用<picture>元素并提供格式备选。

推荐的<picture>元素模式

使用渐进增强,优先使用最高效的格式:

<picture>
  <source srcset="image.avif" type="image/avif">
  <source srcset="image.webp" type="image/webp">
  <img src="image.jpg" alt="描述性alt文本" width="800" height="600" loading="lazy" decoding="async">
</picture>

浏览器将使用第一个支持的格式。当前浏览器支持:AVIF 93.8%,WebP 95.3%。

JPEG XL:新兴格式

第三方报告和维基百科描述了一个基于Rust的JPEG XL解码器,已在Chrome 145稳定版(2026-02-10)中随chrome://flags/#enable-jxl-image-format标志发布,但默认未启用;未从Google官方来源获取确认。由于默认支持未确认,目前尚不适合生产环境网页交付。请继续使用AVIF/WebP搭配JPEG备选,并持续关注。

响应式图片

  • srcset属性用于多尺寸
  • sizes属性匹配布局断点
  • 根据设备像素比提供合适分辨率
<img
  src="image-800.jpg"
  srcset="image-400.jpg 400w, image-800.jpg 800w, image-1200.jpg 1200w"
  sizes="(max-width: 600px) 400px, (max-width: 1200px) 800px, 1200px"
  alt="描述"
>

懒加载

  • 对首屏下方图片使用loading="lazy"
  • 不要对首屏/主图使用懒加载(会损害LCP)
  • 检查原生懒加载与基于JavaScript的懒加载
<!-- 首屏下方 - 懒加载 -->
<img src="photo.jpg" loading="lazy" alt="描述">

<!-- 首屏上方 - 立即加载(默认) -->
<img src="hero.jpg" alt="主图">
检测到的懒加载方法(lazy_method字段)

scripts/parse_html.py通过每个图片条目上的lazy_method字段对每张图片的懒加载机制进行分类。五个值:

lazy_method 检测到的信号 常见技术栈
native loading="lazy" HTML属性 现代浏览器,纯HTML
perfmatters data-perfmatters-src/-srcset 或类 perfmatters-lazy WordPress + Perfmatters插件
ewww data-ewww-src / data-eio 或类 lazyload-eio WordPress + EWWW Image Optimizer
js-generic data-src / data-lazy-src / data-original / data-srcset 或类 lazyload/lazyloaded/lazy Lazysizes, vanilla-lazyload, jQuery插件
none 未检测到属性或类信号 页面未对该图片使用懒加载

审计图片SEO时,报告lazy_methodloading,以便用户了解其网站是否使用了JS驱动的懒加载器(此时原生loading="lazy"属性有意缺失,并非退化)。

LCP图片的fetchpriority="high"

为主图/LCP图片添加fetchpriority="high",以在浏览器网络队列中优先下载:

<img src="hero.webp" fetchpriority="high" alt="主图描述" width="1200" height="630">

关键: 不要对首屏上方/LCP图片使用懒加载。在LCP图片上使用loading="lazy"会直接损害LCP分数。仅对首屏下方图片使用loading="lazy"

非LCP图片的decoding="async"

对非LCP图片添加decoding="async",防止图片解码阻塞主线程:

<img src="photo.webp" alt="描述" width="600" height="400" loading="lazy" decoding="async">

CLS预防

  • 所有<img>元素上设置widthheight属性
  • 使用aspect-ratio CSS作为替代
  • 标记缺少尺寸的图片
<!-- 好 - 设置了尺寸 -->
<img src="photo.jpg" width="800" height="600" alt="描述">

<!-- 好 - CSS宽高比 -->
<img src="photo.jpg" style="aspect-ratio: 4/3" alt="描述">

<!-- 差 - 无尺寸 -->
<img src="photo.jpg" alt="描述">

文件名

  • 描述性:blue-running-shoes.webp而非IMG_1234.jpg
  • 连字符分隔,小写,无特殊字符
  • 包含相关关键词

CDN使用

  • 检查图片是否通过CDN提供(不同域名,CDN头部)
  • 对图片密集型网站推荐使用CDN
  • 检查边缘缓存头部

输出

图片审计摘要

指标 状态 数量
图片总数 - XX
缺少Alt文本 XX
过大(>200KB) ⚠️ XX
格式错误 ⚠️ XX
无尺寸 ⚠️ XX
未懒加载 ⚠️ XX

优先级优化列表

按文件大小影响排序(节省空间最大的优先):

图片 当前大小 格式 问题 预估节省
... ... ... ... ...

建议

  1. 将X张图片转换为WebP格式(预估节省XX KB)
  2. 为X张图片添加alt文本
  3. 为X张图片添加尺寸
  4. 对X张首屏下方图片启用懒加载
  5. 压缩X张过大图片

图片SERP分析

当DataForSEO MCP可用时,使用竞争数据增强图片审计。

/seo images serp <keyword>

将页面图片与Google图片SERP排名进行交叉引用。

工作流程:

  1. 通过serp_google_images_live_advanced获取Google图片结果(深度=100)
  2. 提取:顶级域名、图片类型、alt文本模式
  3. 输出竞争对手图片SERP格局

输出:

排名 域名 标题/Alt 图片URL 页面URL
1 example.com "蓝色跑鞋..." .../shoes.webp /products/...

分析包括:

  • 域名主导度:哪些网站占据最多图片位置(按数量前10)
  • Alt文本模式:排名靠前图片中的常见标题/alt模式
  • 格式分布:WebP vs JPEG vs PNG在顶级结果中的分布
  • 机会评分:你有页面排名但无图片展示的关键词

如果DataForSEO MCP不可用,告知用户并建议安装扩展。


图片文件优化

优化图片文件以提升SEO:格式转换、元数据注入、压缩。

/seo images optimize <path>

优化图片文件以适应网络和SEO。转换为WebP/AVIF,注入IPTC元数据,压缩,并生成响应式变体。

使用的工具(按优先级排序):

  • exiftool -- EXIF/IPTC/XMP读写(安装:sudo apt install libimage-exiftool-perl
  • cwebp -- WebP转换(安装:sudo apt install webp
  • ImageMagick convert -- 格式转换、调整大小(大多数系统预装)
  • FFmpeg -- 格式转换的备选(预装)

运行前: 使用which exiftool cwebp convert ffmpeg检查哪些工具可用。

格式转换

将图片转换为现代格式并保留元数据:

# WebP(推荐默认) - 保留元数据
cwebp -q 82 -metadata all input.jpg -o output.webp

# 通过ImageMagick转换WebP(cwebp未安装时的备选)
convert input.jpg -quality 82 output.webp

# 通过FFmpeg转换AVIF(编码较慢,压缩最佳)
ffmpeg -i input.jpg -c:v libaom-av1 -crf 30 -still-picture 1 output.avif

# 响应式变体(400w, 800w, 1200w)
convert input.jpg -resize 400x -quality 82 image-400.webp
convert input.jpg -resize 800x -quality 82 image-800.webp
convert input.jpg -resize 1200x -quality 82 image-1200.webp

元数据注入(用于Google图片展示的IPTC)

Google图片在搜索结果中显示IPTC创作者、信用行和版权。
不是排名因素,但可以改善Google图片展示和品牌归属。

使用exiftool(推荐):

# 读取所有元数据
exiftool image.jpg

# 注入IPTC + XMP元数据以支持Google图片富结果
exiftool \
  -IPTC:ObjectName="产品照片描述" \
  -IPTC:Caption-Abstract="详细图片描述" \
  -IPTC:By-line="品牌名称摄影" \
  -IPTC:Credit="品牌名称" \
  -IPTC:CopyrightNotice="版权所有2026 品牌名称" \
  -IPTC:Source="brandname.com" \
  -XMP:Title="产品照片描述" \
  -XMP:Description="详细图片描述" \
  -XMP:Creator="品牌名称摄影" \
  -XMP:Rights="版权所有2026 品牌名称" \
  image.jpg

# 批量注入到目录中的所有图片
exiftool -overwrite_original \
  -IPTC:By-line="品牌名称" \
  -IPTC:CopyrightNotice="版权所有2026 品牌名称" \
  *.jpg *.webp *.png

使用ImageMagick(备选):

identify -verbose image.jpg | head -50

convert input.jpg \
  -set comment "产品照片描述" \
  -set IPTC:2:80 "品牌名称摄影" \
  -set IPTC:2:116 "版权所有2026 品牌名称" \
  output.jpg

注意:WebP原生支持EXIF和XMP,但不支持IPTC。对于WebP文件,使用XMP字段替代IPTC。exiftool会自动处理此转换。

AI生成图片:DigitalSourceType(Merchant Center要求)

对于由生成式AI生成的产品图片,Google Merchant Center要求IPTC DigitalSourceType: TrainedAlgorithmicMedia元数据。这是一个运营政策要求,而非排名因素:缺少此标签的AI生成图片的Feed可能被拒绝。

主要来源(Merchant Center AI生成内容政策):
https://support.google.com/merchants/answer/14743464
(ai-optimization-guide未记录DigitalSourceType/IPTC/Merchant标签。)

审计命令:

# 审计目录中IPTC标签(统计:缺失、AI、拍摄等)
claude-seo run iptc_ai_label.py audit ./images/ --json

# 审计单张图片
claude-seo run iptc_ai_label.py audit ./hero.webp --json

# 向图片注入AI标签
claude-seo run iptc_ai_label.py inject ./ai-hero.webp \
    --source-type trainedAlgorithmicMedia

# 其他词汇值:
#   compositeSynthetic               (拍摄+AI元素混合)
#   algorithmicMedia                 (纯算法创建,非来自采样训练数据)
#   compositeWithTrainedAlgorithmicMedia(例如在真实媒体上进行AI修补/扩展)
#   digitalCapture                   (完全拍摄的照片)

原始exiftool等效命令(用于临时使用):

# 手动注入
exiftool \
  -XMP-iptcExt:DigitalSourceType="https://cv.iptc.org/newscodes/digitalsourcetype/trainedAlgorithmicMedia" \
  ai-generated-product.jpg

# 审计:查找目录中缺少标签的图片
exiftool -if 'not $XMP-iptcExt:DigitalSourceType' \
  -filename -DigitalSourceType *.jpg *.webp *.png

Google提取这些IPTC DigitalSourceType值:

  • trainedAlgorithmicMedia:完全AI生成(对扩散模型产品图片使用此值)
  • compositeSynthetic:混合拍摄+AI生成元素
  • algorithmicMedia:纯算法创建,来自采样训练数据
  • compositeWithTrainedAlgorithmicMedia:训练算法媒体与其他媒体的合成(例如在真实照片上进行AI修补/扩展)
  • digitalCapture:完全拍摄的照片(注意:digitalCapture不在Google的提取值列表中,但是一个有效的IPTC值)

来源信号(面向消费者): SynthID水印和C2PA内容凭证是AI媒体识别的新兴信号。将产品表面覆盖视为可能变化,除非从当前Google拥有的来源验证。
这是检测/透明度,不是除IPTC DigitalSourceType之外的额外必需Merchant Feed字段。

可授权图片: 要获得可授权徽章,提供结构化数据(ImageObject,包含license属性和acquireLicensePage用于“获取此图片”链接)或嵌入的IPTC照片元数据(授权方URL / 权利声明)。交叉引用seo-schema以获取ImageObject标记。

发现说明: 图片发现现在包括视觉搜索扩展,涵盖Lens / AI Mode / Circle to Search(Gemini多模态场景/对象理解),因此图片通过场景、对象和材料呈现,而不仅仅是alt文本。尚未有新的已发布图片SEO杠杆;保持描述性alt文本和清晰的结构化数据。

当对AI生成资产运行/seo images optimize时,提示用户确认来源类型并自动注入匹配的IPTC值。

对于AI生成的产品标题和描述,Google Merchant Center还要求在Feed中单独指定和标记AI生成的文本。这在Feed层而非页面层执行,在交叉引用seo-ecommerce时标记此点。

元数据审计

# 使用exiftool快速审计
exiftool -IPTC:all -XMP:all -EXIF:ImageDescription image.jpg

# 批量审计 - 查找缺少IPTC创作者的图片
exiftool -if 'not $IPTC:By-line' -filename *.jpg *.webp *.png

完整优化流程

为获得最大图片SEO效果,对每张图片运行以下流程:

  1. 审计现有元数据exiftool -IPTC:all -XMP:all image.jpg
  2. 注入IPTC/XMP元数据:创作者、版权、描述
  3. 转换为WebPcwebp -q 82 -metadata all image.jpg -o image.webp
  4. 生成响应式变体:400w, 800w, 1200w
  5. 验证元数据保留exiftool image.webp
  6. 生成<picture> HTML:AVIF > WebP > JPEG备选链

对Google图片而言什么重要 vs 什么不重要

因素 影响 设置位置
Alt文本 关键(排名) HTML <img alt="">
文件名 (排名) 文件系统(描述性,连字符分隔)
页面上下文 (排名) 周围HTML内容
文件大小/速度 (通过CWV间接影响) 压缩 + 格式转换
IPTC创作者/版权 (仅展示) 图片文件元数据
EXIF相机数据 与SEO无关
IPTC关键词 Google忽略这些

错误处理

场景 操作
URL无法访问 报告连接错误及状态码。建议验证URL并检查网站是否需要身份验证。
页面未找到图片 报告未检测到<img>元素。建议检查图片是否通过JavaScript或CSS背景图片加载。
图片位于CDN或需要身份验证 注意无法直接访问图片文件进行大小分析。报告可用元数据(来自标记的alt文本、尺寸、格式)并标记不可访问的资源。
exiftool未安装 回退到ImageMagick处理元数据。建议:sudo apt install libimage-exiftool-perl
cwebp未安装 回退到ImageMagick或FFmpeg进行WebP转换。建议:sudo apt install webp
DataForSEO MCP不可用 跳过图片SERP分析部分。注明扩展未安装。