【免费下载链接】claude-seo
Universal SEO skill for Claude Code. 25 sub-skills + 18 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, backlinks, local SEO, maps intelligence, semantic clustering, e-commerce SEO, international SEO, Google APIs, and PDF/Excel reporting. Optional DataForSEO, Firecrawl, and Banana extensions.
本文是 claude-seo 仓库中seo-schema技能的核心参考资料 deprecated-types-2024-2026.md 的技术解读与工程化扩展。文档系统梳理了 Google 在 2024–2025 年清理行动中退役的全部富媒体结果(Rich Results)类型,包括 2025 年 6 月、7 月两批批量退役以及更早的 HowTo、FAQ 退役,并为每种类型给出替代方案决策。读完本文,你将掌握:哪些 Schema.org 类型在 2026 年已不再产生任何 SERP 效果、哪些类型虽然失去富媒体展示但仍值得保留作 AI 引用信号、以及 claude-seo 仓库中校验钩子与脚本是如何把这份策略固化为自动化拦截规则的。
一、背景:为什么需要一份"退役类型权威清单"
Google 自 2023 年起持续缩减结构化数据所能触发的富媒体结果种类。对 SEO 从业者而言,最危险的场景不是"少用了一个类型",而是在页面中继续生成已退役类型的 JSON-LD——它不产生任何搜索功能,却白白占用维护成本,甚至让审核者在分析时误以为页面具备某类富媒体资格。为此,claude-seo 的 seo-schema 技能维护了这份deprecated-types-2024-2026.md参考文档,并确立了明确的行为准则:
每当用户请求生成其中任一类型时,
seo-schema技能必须说明该类型已弃用,并要么引导到仍在线的替代类型,要么明确指出"无替代方案"。
这份清单并非停留在纸面。仓库通过 hooks/validate-schema.py、scripts/schema_ecommerce_validate.py 和 scripts/validate_backlink_report.py 三处代码把同一张表变成了可执行的校验逻辑,并在 tests/test_schema_hook_policy.py 与 tests/test_schema_v2.py 中固化为回归测试。后文将逐一展开。
二、2025 年 6 月 19 日批量退役:五类富媒体结果下线
Google 在 2025 年 6 月 19 日发布《Simplifying our Search rich results》公告(developers.google.com/search/blog,2025 年 6 月),一次性简化了搜索结果的富媒体展示。本次退役是近两年影响面最大的一批,涉及车辆、事实核查、薪资、学习视频、课程五类:
| 类型(@type) | 退役时间 | 说明与处置建议 |
|---|---|---|
Vehicle Listing(VehicleListing/Vehicle) | 2025 年 6 月 | 无替代方案。Google 不再渲染经销商库存富卡片。若商品在线上售卖,改用常规Productschema。 |
Claim Review(ClaimReview) | 2025 年 6 月 | 无替代方案。事实核查富媒体结果(fact-check rich result)曾是 ClaimReview 的主要消费者;失去它后,该标记对 SERP 无任何效果。ClaimReview作为 schema.org 词汇仍然存在,但 Google 已忽略它。 |
Estimated Salary(EstimatedSalary/OccupationalAggregateRating) | 2025 年 6 月 | 无替代方案。单个职位的JobPosting富媒体结果仍然在线。 |
| Learning Video | 2025 年 6 月 | 无替代方案。通用VideoObject富媒体结果仍会渲染。 |
| Course Info 轮播(carousel) | 2025 年 6 月 | 仅轮播变体退役;单结果的Course富卡片仍然在线。当用户要求"Course Info"时,务必先确认其想要的是已死的轮播,还是在线的单结果变体。 |
从源码看这批类型如何被拦截
在 hooks/validate-schema.py 中,这批类型以字典形式硬编码:
deprecated = { "HowTo": "deprecated September 2023", "SpecialAnnouncement": "deprecated July 31, 2025", "CourseInfo": "retired June 2025", "EstimatedSalary": "retired June 2025", "LearningVideo": "retired June 2025", "ClaimReview": "retired June 2025; fact-check rich results discontinued", "VehicleListing": "retired June 2025; vehicle listing structured data discontinued", }一旦检测到这些@type,钩子会将对应错误归入critical桶(见 hooks/validate-schema.py),打印🛑 Schema validation ERRORS (blocking)并以exit code 2阻断本次文件编辑。也就是说,在 Claude Code 中通过 Edit/Write 写文件时,只要 JSON-LD 里出现ClaimReview、VehicleListing等类型,编辑操作会被立即拦下。
电商场景下还有第二道防线:scripts/schema_ecommerce_validate.py 维护了面向 Google 商家列表(merchant listing)的_DEPRECATED_TYPES字典,与钩子版本略有差异——它额外把Course本身也列出并提示"Course 富卡片仍在线,但 Course Info 轮播变体已于 2025 年 6 月退役,请确认适用场景",同时将命中项标记为Critical 严重级别(规则名deprecated-type)。对应测试 test_validate_flags_deprecated_types 用一个{"@type": "ClaimReview"}的载荷验证了该规则必然触发。
三、2025 年 7 月 31 日:Special Announcement 退役
| 类型(@type) | 退役时间 | 说明与处置建议 |
|---|---|---|
Special Announcement(SpecialAnnouncement) | 2025 年 7 月 | 面向 COVID 时代的应急信息卡片已被弃用。无替代方案。 |
这是第二波清理中唯一的退役类型。处置建议:若内容有时间边界,改用Event;否则改用Article或WebPage。在 hooks/validate-schema.py 中它的错误信息为deprecated July 31, 2025,与本文档的退役日期完全一致。
四、更早退役(pre-v2 基线):HowTo 与 FAQ
这一节的作用是"防呆"——让 LLM 在生成 schema 时不会因记忆中的旧知识而建议这些类型。
HowTo(2023 年 9 月退役)
| 类型(@type) | 退役时间 | 说明与处置建议 |
|---|---|---|
| HowTo | 2023 年 9 月 | 桌面端与移动端的富媒体结果均已被移除。词汇仍在 schema.org 中存在,但不产生任何 SERP 功能。 |
值得注意的例外:部分站点仍保留 HowTo 标记用于AI 引用可读性(AI citation legibility)——这是可以辩护的保留理由,但必须标注为"无 SERP 效果"。仓库对此的处置同样明确:scripts/validate_backlink_report.py 在回链报告校验中把检测到 HowTo 标记为 error 级问题:"HowTo schema detected — deprecated Sept 2023. Never recommend."
FAQPage(2023 年 8 月受限,2026 年 5 月 7 日全面退役)
| 类型(@type) | 退役时间 | 说明与处置建议 |
|---|---|---|
| FAQPage | 2023 年 8 月(受限);2026 年 5 月 7 日(全面退役) | 富媒体结果已于2026 年 5 月 7 日面向所有站点全面退役,取代了 2023 年仅针对 gov/health 站点的限制。Rich Results Test 与报告支持将于 2026 年 6 月下线;Search Console API 支持于 2026 年 8 月下线。 |
FAQ 是整份文档中最需要"精细拿捏"的类型,处置策略可以拆成三条:
- 存量 FAQPage 标记为 Info(而非 Critical):它仍作为实体信号辅助 AI/LLM 引用(AI Mode / AI Overviews 实体解析),因此不要建议删除;
- 不要为 SERP 收益新建 FAQPage:不再有 SERP 效果,仅为 AI 引用可见性而做是可以接受的;
- 真正的单问题用户问答页:改用
QAPage。
这条"Info 而非 Critical"的策略在仓库中被刻意做成与其它退役类型不同的行为,并有专门的回归测试守护:见 tests/test_schema_hook_policy.py——test_faqpage_not_blocked断言输入FAQPage时钩子返回码为 0(放行),而test_deprecated_type_still_blocks断言输入ClaimReview时返回码为 2(阻断)。hooks/validate-schema.py 中也有注释明确说明:FAQPage is intentionally NOT flagged,其依据正是本参考文档与 seo-schema/SKILL.md 的 AI 引用价值判断。
五、替代方案决策表:遇到请求时怎么选
当生成 schema 时,优先使用下列替代方案(完整继承自参考文档,并补充了可直接落地的 JSON-LD 骨架):
| 用户请求 | 替代方案 |
|---|---|
ClaimReview | 无——说明富媒体结果已死;若是新闻场景,建议用带dateline的Article。 |
EstimatedSalary | 针对具体岗位使用带baseSalary的JobPosting。 |
LearningVideo | VideoObject(仍然在线)。 |
Course Info轮播 | 单结果Course富卡片(仍然在线)。 |
SpecialAnnouncement | 有时间边界用Event;否则用Article或WebPage。 |
VehicleListing | 使用带车辆特定属性的Product。 |
HowTo(为 SERP 而生) | 无——说明富媒体结果已死;若目标是内容易读性,建议用带清晰<h2>步骤标题的文章结构,排名收益已不再由 schema 驱动。 |
FAQPage(为 SERP 而生) | 无——富媒体结果已于 2026 年 5 月退役。保留标记用于 AI 引用;真正的用户问答页用QAPage。 |
以下是几个高频替代方案的最小 JSON-LD 示例,可直接套用:
JobPosting + baseSalary(替代 EstimatedSalary)
{ "@context": "https://schema.org", "@type": "JobPosting", "title": "Senior Frontend Engineer", "datePosted": "2026-05-01", "hiringOrganization": { "@type": "Organization", "name": "[Company Name]" }, "jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "addressLocality": "[City]", "addressCountry": "[Country]" } }, "baseSalary": { "@type": "MonetaryAmount", "currency": "USD", "value": { "@type": "QuantitativeValue", "minValue": 120000, "maxValue": 150000, "unitText": "YEAR" } } }VideoObject(替代 LearningVideo)
{ "@context": "https://schema.org", "@type": "VideoObject", "name": "[Video Title]", "description": "[Description]", "thumbnailUrl": "[Thumbnail URL]", "uploadDate": "[YYYY-MM-DD]", "contentUrl": "[Video URL]" }Product + 车辆属性(替代 VehicleListing)
{ "@context": "https://schema.org", "@type": "Product", "name": "2024 [Make] [Model]", "image": "[Image URL]", "description": "[Description]", "brand": { "@type": "Brand", "name": "[Make]" }, "vehicleModelDate": "2024", "mileageFromOdometer": { "@type": "QuantitativeValue", "value": 15000, "unitCode": "KMT" }, "offers": { "@type": "Offer", "price": "[Price]", "priceCurrency": "USD", "availability": "https://schema.org/InStock" } }QAPage(替代 FAQPage 用于真实问答页)
{ "@context": "https://schema.org", "@type": "QAPage", "mainEntity": { "@type": "Question", "name": "[Single Question]", "acceptedAnswer": { "@type": "Answer", "text": "[Answer]" } } }六、这套策略在 claude-seo 中的工程化落地
参考文档不只是"写给人看的清单",它被明确标注为seo-schema技能的"权威参考"(authoritative reference),并通过三层机制落地为可执行行为:
1. Skill 层的策略约束
seo-schema/SKILL.md 在"Schema Type Status (as of May 2026)"一节中把全部类型分成四档:
- ACTIVE(可自由推荐):Organization、LocalBusiness、Product(自 2025 年 4 月起含 Certification 标记)、ProductGroup、Article、BlogPosting、NewsArticle、VideoObject、JobPosting、Course、DiscussionForumPosting 等;
- VIDEO & SPECIALIZED(可自由推荐):BroadcastEvent、Clip、SeekToAction、SoftwareSourceCode;
- NO RICH RESULTS — KEEP FOR AI:仅 FAQPage,理由同本文第四节;
- DEPRECATED(绝不推荐):HowTo、SpecialAnnouncement、CourseInfo、EstimatedSalary、LearningVideo、ClaimReview、VehicleListing,以及另两份补充类型 Practice Problem 与 Dataset(2025 年末退役)、Book Actions(曾弃用后撤销,截至 2026 年 2 月仍可用,属历史备注)。
这些规则还同步出现在全局 skills/seo/SKILL.md 中,确保任意子技能生成 schema 时都遵循同一套约束;skills/seo/references/schema-types.md 则提供了完整的类型状态表格与 FAQPage 处置细则。
2. Hook 层的编辑拦截
如前文所述,hooks/validate-schema.py 作为 Claude Code 的 PostToolUse 钩子,在每次 Edit/Write 后自动校验 HTML/JSX/TSX/Vue/Svelte/PHP/EJS 文件(文件扩展名白名单)。除了退役类型,它还会拦截:缺失@context或非 schema.org 上下文、缺失@type、占位符文本([Business Name]、[City]、REPLACE等),并对超过 10 MiB 的文件做跳过保护(hooks/validate-schema.py)。钩子的配置方式在文件头部注释中给出,通过 hooks/run-python-hook.js 桥接调用 Python。
3. 脚本层的深度校验
scripts/schema_ecommerce_validate.py 在退役类型之外,还会校验 Google 商家列表的四组关键属性:hasMerchantReturnPolicy与shippingDetails(商家列表必需)、hasMemberProgram(会员价可见性)、energyEfficiencyClass(欧盟 EPREL 范围内必需,需--eu开关),以及ProductGroup变体建议。用法:
# 从标准输入读取 JSON-LD cat product.json | python scripts/schema_ecommerce_validate.py # 指定文件 + 欧盟能效检查 python scripts/schema_ecommerce_validate.py product.json --eu # JSON 结构化输出(便于接入自动化流程) python scripts/schema_ecommerce_validate.py product.json --json退出码语义:0 为 PASS;1 表示存在至少一个 Critical 或 High 发现;2 表示 JSON 解析失败。相关回归测试覆盖在 tests/test_schema_v2.py 中,且测试文件明确注明:参考文档deprecated-types-2024-2026.md虽然只是文档,但会通过 ecommerce 校验器的deprecated-type规则被间接执行(tests/test_schema_v2.py)。
七、面向实战的迁移检查清单
综合参考文档与仓库实现,给出一份可直接照做的迁移与审查清单:
- 全站扫描 JSON-LD
@type:用seo-schema技能的检测流程(扫描<script type="application/ld+json">、Microdata、RDFa)或 scripts/parse_html.py 提取全部类型,与本文档退役表逐一比对; - 命中退役类型(除 FAQPage 外)立即处置:按第五节决策表替换为替代类型;无替代方案的(ClaimReview、HowTo、SpecialAnnouncement、EstimatedSalary、LearningVideo、VehicleListing)直接移除;
- FAQPage 按 Info 处理:存量标记保留(AI 引用价值),不新建、不删除,优先级低于 Critical;
- 区分"词汇存在"与"富媒体资格":HowTo、ClaimReview 等词汇仍在 schema.org,但 Google 已忽略其对 SERP 的作用——分析报告必须区分这两件事,避免误报"有效 schema";
- 验证时使用 Rich Results Test:注意 FAQPage 的测试支持将于 2026 年 6 月下线,Search Console API 支持于 2026 年 8 月下线,届时 FAQPage 只能靠 hooks/validate-schema.py 这类自有校验器做语法级检查;
- 编辑环节依赖钩子兜底:在 Claude Code 环境中保持 PostToolUse 钩子启用,让
ClaimReview这类输入在写文件阶段即被阻断(exit code 2),从源头杜绝"明知退役仍上线"。
八、主要来源与核验说明
本文档的退役时间线基于以下 Google 官方公告(均为文档中列出的原始出处,未做外部链接跳转):
- 2025 年 6 月:Google Search Central Blog《Simplifying our Search rich results》——宣布 Vehicle Listing、Claim Review、Estimated Salary、Learning Video、Course Info 轮播退役;
- 2025 年 7 月:Google Search Central Blog——宣布 Special Announcement 弃用;
- 2023 年 9 月:Google Search Central Blog 结构化数据变更——HowTo 富媒体结果移除;
- 2023 年 8 月:Google Search Central Blog 关于 HowTo/FAQ 的变更——FAQ 富媒体结果受限;
- 2026 年 5 月 7 日:Google 关于 FAQPage 富媒体结果的文档——面向所有站点全面退役。
参考文档标注的最后核验日期为 2026 年 5 月 25 日(对 developers.google.com)。由于 Google 的策略仍在演进,任何依赖本文结论的自动化策略(尤其是 hook 中的deprecated字典与脚本中的_DEPRECATED_TYPES)都应在 Google 官方公告更新后同步维护,确保 claude-seo 的"退役类型清单"始终与官方保持一致。
【免费下载链接】claude-seo
Universal SEO skill for Claude Code. 25 sub-skills + 18 sub-agents covering technical SEO, E-E-A-T, schema, GEO/AEO, backlinks, local SEO, maps intelligence, semantic clustering, e-commerce SEO, international SEO, Google APIs, and PDF/Excel reporting. Optional DataForSEO, Firecrawl, and Banana extensions.
相关推荐
如何用截图驱动 E2E 测试:Midscene.js 跨平台 UI 自动化 4 步上手指南
如何用截图驱动 E2E 测试:Midscene.js 跨平台 UI 自动化 4 步上手指南 Midscene.js 是一个面向 E2E 测试的 GUI Agen
结构化数据(Structured Data)实战指南:用 Schema.org JSON-LD 解锁搜索富结果
结构化数据(Structured Data)实战指南:用 Schema.org JSON LD 解锁搜索富结果 结构化数据(Structured Data)是面
SEO Machine 的 Schema Markup 技能实战:用 JSON-LD 结构化数据驱动富媒体搜索结果
SEO Machine 的 Schema Markup 技能实战:用 JSON LD 结构化数据驱动富媒体搜索结果 导读 本文围绕 SEO Machine 开源
人工智能AI 应用AI 写作AI 技能AI Agent
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考