资源审计
分析 Webflow 站点上的资源以优化 SEO。
重要说明
始终使用 Webflow MCP 工具进行所有操作:
- 使用 Webflow MCP 的
data_assets_tool来获取和更新资源 - 使用 Webflow MCP 的
get_asset_preview(传入资源的asset_id)来分析图片内容 - 使用 Webflow MCP 的
data_sites_tool(操作为list_sites)来列出可用站点 - 使用 Webflow MCP 的
webflow_guide_tool在开始前获取最佳实践 - 不要使用任何其他工具或方法进行 Webflow 操作
- 所有工具调用必须包含必需的
context参数(15-25 个词,以第三人称视角)
操作说明
阶段 1:站点选择与资源发现
- 获取站点:确定目标站点。如果用户未提供站点 ID,则向其询问。
- 获取所有资源:使用 Webflow MCP 的
data_assets_tool从站点获取所有资源(每条资源记录包含其asset_id,用于预览)- 对于包含 50 个以上资源的站点,每次批量处理 20 个
- 显示进度:"正在处理第 1-20 个资源,共 150 个..."
- 检测模式:分析资源命名中的常见模式:
- 相机上传(IMG_、DSC_ 等)
- 截图(screenshot、Screen Shot 等)
- 通用名称(untitled、image-1 等)
- 基于日期的名称(2024-01-10 等)
阶段 2:问题分析与模式识别
- 识别问题:列出所有存在以下问题的资源:
- 未设置替代文本(null 或空字符串)
- 存在替代文本但质量不佳(过短、冗余短语等)
- 文件名不符合 SEO 友好要求
- 重复或高度相似
- 模式检测报告:显示检测到的模式:
🔍 检测到的模式: - 15 个资源以 "IMG_" 开头(相机上传) - 8 个资源包含 "screenshot" - 建议:批量重命名这些模式 - 询问用户偏好:询问用户希望生成:
- 仅替代文本
- 仅 SEO 友好名称
- 两者
- 应用命名模式/模板
阶段 3:分析与建议生成
- 分析资源:使用 Webflow MCP 的
get_asset_preview工具,传入每个资源的asset_id(来自阶段 1),来分析需要更新的资源- 错误处理:如果 Webflow MCP 的
get_asset_preview失败,使用后备方案:- 从现有文件名中提取描述
- 使用带警告的通用占位符
- 继续处理其他资源
- 批量处理以避免超时
- 错误处理:如果 Webflow MCP 的
- 生成带验证的建议:
- 替代文本验证:
- 最多 125 个字符(超过则警告)
- 无冗余短语("image of"、"picture of"、"photo of")
- 必须以标点符号结尾
- 标记通用描述(置信度 < 50%)
- SEO 名称验证:
- 仅允许小写 a-z、0-9、连字符
- 无双重扩展名(.webp.webp)- 先去除现有扩展名
- 最多 100 个字符
- 将空格/下划线替换为连字符
- 无特殊字符
- 替代文本验证:
- 文件夹组织建议:如果检测到模式,建议文件夹结构:
💡 组织建议: - 为 8 张团队图片创建 "team-photos" 文件夹 - 为 15 张产品照片创建 "product-images" 文件夹
阶段 4:细粒度审批与应用
- 展示带细粒度审批的建议:
- 显示带复选框的编号列表
- 允许单独切换:"输入要跳过的编号(例如 '2,4')"
- 选项:"all"、"none" 或特定编号
- 为每个建议显示验证警告
- 提供命名模板(如果有许多相似资源):
🎨 应用命名模式? 1. [category]-[description](例如 team-john-headshot) 2. [description]-[location](例如 office-workspace-desk) 3. 自定义模式... 4. 跳过模式,使用单独名称 - 存储回滚数据:在应用更改前,存储:
- 原始资源名称
- 原始替代文本
- 时间戳
- 修改的资源
- 应用更新:使用 Webflow MCP 的
data_assets_tool仅更新已获批的资源- 显示批量更新的进度
- 优雅处理部分失败
- 分别报告成功和失败
- 提供回滚选项:更改应用后:
📋 回滚可用: 上次更新:2 分钟前修改了 4 个资源 输入 "undo" 以恢复这些更改
示例
用户提示:
对我的站点进行资源审计。
第 1 步:初始审计报告
📊 SEO 资源审计:MCP 演示 #2
总计:4 个资源
🔍 检测到的模式:
- 4 个资源具有通用数字名称(1.webp、2.webp、3.webp、4.webp)
- 所有资源均为 WebP 格式 ✓
⚠️ 缺少替代文本(4 个资源):
├── 1.webp(替代文本为空)
├── 2.webp(替代文本为空)
├── 3.webp(替代文本为空)
└── 4.webp(替代文本为空)
⚠️ 非 SEO 友好名称(4 个资源):
├── 1.webp(通用数字名称)
├── 2.webp(通用数字名称)
├── 3.webp(通用数字名称)
└── 4.webp(通用数字名称)
---
您想要生成什么?
1. 仅替代文本
2. 仅 SEO 友好名称
3. 替代文本和 SEO 友好名称
请选择一个选项(1、2 或 3)。
带验证警告的示例:
📋 建议的改进:
[1] ✓ IMG_1234.jpg
替代文本:"Professional team member headshot with blue background."
新名称:professional-team-member-headshot.jpg
✅ 验证通过
[2] ✓ screenshot-2024.png
替代文本:"Dashboard analytics overview showing user engagement metrics."
新名称:dashboard-analytics-overview.png
✅ 验证通过
[3] ⚠️ untitled-image.webp
替代文本:"Photo"
⚠️ 警告:替代文本过短(< 10 个字符)- 需要更多细节
新名称:untitled-image.webp
⚠️ 警告:无法生成更好的名称(图片预览失败)
[4] ⚠️ TeamPhoto2024!!!.jpg
替代文本:"Image of a person working on laptop in modern office with plants and natural lighting through large windows in the background."
⚠️ 警告:替代文本过长(137 个字符)- 建议缩短以利于屏幕阅读器
新名称:team-photo-2024.jpg
✅ 验证通过(已移除特殊字符)
您想要更新哪些资源?
第 2 步:用户选择选项 3 且图片已分析后
📋 建议的改进:
[1] ✓ 1.webp
替代文本:"Podcast host with headphones and microphone recording Webflow podcast episode in studio."
新名称:webflow-podcast-host-recording-studio.webp
✅ 验证通过
[2] ✓ 2.webp
替代文本:"Professional developer wearing glasses working on laptop with Webflow logo in modern office."
新名称:developer-working-laptop-webflow-office.webp
✅ 验证通过
[3] ✓ 3.webp
替代文本:"Webflow homepage hero section with tagline and email signup form."
新名称:webflow-homepage-hero-section.webp
✅ 验证通过
[4] ✓ 4.webp
替代文本:"Speaker presenting on stage at Webflow Conf with audience watching."
新名称:webflow-conf-speaker-presentation-stage.webp
✅ 验证通过
---
您想要更新哪些资源?
- 输入编号以跳过(例如,输入 "2,4" 跳过项目 2 和 4)
- 输入 "all" 以继续处理所有项目
- 输入 "none" 以取消
第 3 步:用户确认输入 "all" 后
🔄 正在应用更新...
进度:████████████████████ 100%(4/4 个资源)
✅ 更新成功应用!
SEO 资源审计完成:MCP 演示 #2
摘要:
- ✅ 4 个资源更新成功
- ❌ 0 个资源失败
- ⏭️ 0 个资源跳过
已应用的更改:
┌─────────────────────────────────────────────────────────────────┐
│ [1] webflow-podcast-host-recording-studio.webp │
│ ✓ 替代文本已添加 │
│ ✓ 文件名已更新 │
├─────────────────────────────────────────────────────────────────┤
│ [2] developer-working-laptop-webflow-office.webp │
│ ✓ 替代文本已添加 │
│ ✓ 文件名已更新 │
├─────────────────────────────────────────────────────────────────┤
│ [3] webflow-homepage-hero-section.webp │
│ ✓ 替代文本已添加 │
│ ✓ 文件名已更新 │
├─────────────────────────────────────────────────────────────────┤
│ [4] webflow-conf-speaker-presentation-stage.webp │
│ ✓ 替代文本已添加 │
│ ✓ 文件名已更新 │
└─────────────────────────────────────────────────────────────────┘
📋 回滚可用:
上次更新:刚刚修改了 4 个资源
输入 "undo" 以恢复这些更改
---
🎉 您站点的资源现已完全优化,符合 SEO 和无障碍最佳实践!
替代第 3 步:用户选择特定资源(例如 "1,3")
🔄 正在对资源 1 和 3 应用更新...
进度:████████████████████ 100%(2/2 个资源)
✅ 部分更新完成!
摘要:
- ✅ 2 个资源更新成功
- ❌ 0 个资源失败
- ⏭️ 2 个资源跳过(按用户要求)
已应用的更改:
┌─────────────────────────────────────────────────────────────────┐
│ [1] webflow-podcast-host-recording-studio.webp │
│ ✓ 替代文本已添加 │
│ ✓ 文件名已更新 │
├─────────────────────────────────────────────────────────────────┤
│ [3] webflow-homepage-hero-section.webp │
│ ✓ 替代文本已添加 │
│ ✓ 文件名已更新 │
└─────────────────────────────────────────────────────────────────┘
跳过的资源(可稍后再次运行审计):
- [2] 2.webp
- [4] 4.webp
📋 回滚可用:
输入 "undo" 以恢复这 2 项更改
指南
阶段 1:关键验证(必须遵循)
文件扩展名处理:
- 在添加新扩展名前,始终移除现有扩展名
- 错误:
image.webp→new-name.webp.webp - 正确:
image.webp→new-name.webp - 实现:使用不带扩展名的文件名 + 新扩展名
替代文本质量规则:
- 最大长度:125 个字符(无障碍最佳实践)
- 必须以标点符号结尾(句号、感叹号、问号)
- 移除冗余短语:
- ❌ "Image of a person" → ✅ "Person working at desk"
- ❌ "Picture of logo" → ✅ "Company logo on blue background"
- ❌ "Photo showing" → ✅ 直接描述
- 如果过短(< 10 个字符)则标记:⚠️ "过于通用 - 需要更多细节"
- 如果过长(> 125 个字符)则标记:⚠️ "建议缩短以利于屏幕阅读器"
SEO 文件名规则:
- 仅允许:小写 a-z、数字 0-9、连字符
- 最大长度:100 个字符(扩展名前)
- 将空格转换为连字符:
team photo→team-photo - 将下划线转换为连字符:
team_photo→team-photo - 移除特殊字符:
photo!@#$→photo - 转换为小写:
TeamPhoto→team-photo - 移除连续连字符:
team--photo→team-photo - 修剪开头/结尾连字符:
-photo-→photo
阶段 2:批量处理与性能
大型站点处理:
- 包含 50 个以上资源的站点:每次批量处理 20 个
- 显示进度:"正在处理第 1 批,共 5 批(第 1-20 个资源)..."
- 允许用户处理特定批次
- 超时保护:如果 Webflow MCP 的
get_asset_preview耗时超过 30 秒,则跳过至下一批
模式检测: 检测并报告这些模式:
- 相机上传:
IMG_、DSC_、DCIM_、P_ - 截图:
screenshot、Screen Shot、Capture - 通用名称:
untitled、image-1、photo、asset - 日期格式:
2024-01-10、20240110、01-10-2024 - 当 3 个及以上资源匹配某个模式时,建议批量重命名
错误处理:
- 如果 Webflow MCP 的
get_asset_preview失败:- 记录错误(不向用户显示)
- 使用后备方案:从文件名中提取描述
- 用 ⚠️ 警告标记:"从文件名生成(图片预览失败)"
- 继续处理其他资源
- 部分成功处理:
- 分别报告成功和失败
- 显示:"✅ 15 个已更新,❌ 2 个失败,⏭️ 3 个跳过"
- 提供重试失败资源的选项
阶段 3:高级功能
细粒度审批系统:
- 为每条建议编号:
[1]、[2]、[3]等 - 显示勾选状态:
✓或✗ - 接受多种格式:
- "all" - 批准所有
- "none" - 取消操作
- "1,3,5" - 跳过项目 1、3 和 5
- "2-5" - 跳过项目 2 到 5
- 始终显示每条项目的验证状态
命名模板: 当检测到 5 个及以上相似资源时提供模板:
[category]-[description]-[modifier]- 示例:
product-laptop-front-view.jpg
- 示例:
[description]-[location]-[year]- 示例:
team-photo-office-2024.jpg
- 示例:
[type]-[name]-[variant]- 示例:
icon-arrow-blue.svg
- 示例:
文件夹组织: 在检测到以下情况时建议文件夹:
- 5 张及以上包含 "team"、"staff"、"employee" 的图片 →
team-photos文件夹 - 5 张及以上包含 "product"、"item" 的图片 →
product-images文件夹 - 5 张及以上包含 "logo"、"brand" 的图片 →
branding文件夹 - 5 张及以上包含 "screenshot"、"capture" 的图片 →
screenshots文件夹
回滚系统: 在进行任何更新之前,在内存中存储:
{
"timestamp": "2026-01-10T00:45:00Z",
"assets": [
{
"id": "asset-id",
"originalName": "1.webp",
"originalAltText": "",
"newName": "podcast-host.webp",
"newAltText": "Podcast host recording..."
}
]
}
- 在更改后的 5 分钟内提供撤销操作
- 在下次审计开始后清除回滚数据
- 在最终摘要中显示回滚选项
重复检测:
- 比较资源大小(完全匹配 = 可能重复)
- 比较文件名(相似名称 = 潜在重复)
- 报告:"⚠️ 潜在重复项:asset1.jpg (2.4MB) 和 asset1-copy.jpg (2.4MB)"
- 不自动删除 - 让用户决定
通用最佳实践
- 始终使用 Webflow MCP 的
get_asset_preview(使用asset_id,非 URL)来理解图片内容