一句话结论:
validator.schema.org对 HowTo 依旧给绿勾,但 Google 早在 2023 年就撤掉了这个富结果,2026 年 5 月连官方文档都删了——教程页该换成Article/TechArticle,把署名和日期拿回来。
背景:一个"合法但不生效"的标记
这是结构化数据里最难自查的一类失败:不是写错,是写了没用。
典型现场是这样的:四年前某任内容团队给所有带有序列表的文章模板加上了 "@type": "HowTo",从此每篇教程页都在输出一份 HowTo JSON-LD。它长得没错——name 有,step 数组有,每个 HowToStep 的 position 也对;丢进 Schema Markup Validator 一片绿。可 Search Console 里 HowTo 的展现量三年前就归零了,富结果测试工具甚至不再识别这个类型。
问题出在两张表的分工上,这是排查这类问题必须先掰清的一件事:
| 工具 | 它回答的问题 | 现在还会识别 HowTo 吗 |
|---|---|---|
| Schema Markup Validator(validator.schema.org) | 你的标记是否符合 schema.org 词汇表 | 会——HowTo 仍是合法的 schema.org 类型,所以照样"通过" |
| Google Rich Results Test(search.google.com/test/rich-results) | 你的标记是否有资格拿到 Google 富结果 | 不会——HowTo 已不是支持类型,什么都不报 |
所以"validator 给绿勾"只能证明语法合法,不能证明有任何收益。把绿勾当验收证据,是这类沉默失败最常见的来源。
时间线摆出来更清楚(均据 Google Search Central 与公开记录):
| 时间 | 发生了什么 |
|---|---|
| 2023-08 | HowTo 富结果从移动端结果中移除 |
| 2023-09-13 | HowTo 富结果从桌面端移除 |
| 2023 年下半年起 | HowTo 从 Rich Results Test 与 Search Console 报告中移除,之后无对应增强报告 |
| 2025-11-05 | Google 宣布自 2026 年 1 月起停止支持一批结构化数据类型(Course Info、Claim Review、Estimated Salary、Learning Video、Special Announcement、Vehicle Listing、Practice Problem) |
| 2026-05 | Google 从 Search Central 移除 How-to 结构化数据文档及其案例 |
| 2026-05-07 | FAQ 富结果在搜索中全面移除,Search Console 与 Rich Results Test 支持随后在 6 月、API 支持在 8 月跟进 |
结论很直白:Google 正在系统性退出"教程型 / 问答型"SERP 增强件,HowTo 是第一批。2026 年为了拿富结果去打 HowTo,属于给一个已下线近三年的功能做优化。
同时要接受一个反向事实:保留过期的 HowTo 不会因此被降权。Google 的立场是未使用的结构化数据本身不构成问题。所以这件事不是"救火",而是"清理 + 把该拿的拿回来"。
落地清单:从 HowTo 换到 TechArticle
以下步骤与代码取自 aitoolsguidebook 2026 年 6 月发布的 HowTo 清理指南(原文按"最便宜的先做"排序),我按可用于本站改造的顺序重排。
1. 先确认标记确实在线上,且是模板吐的
抽 5 个教程页看渲染后的 HTML:
for url in /tutorial/setup /tutorial/install /tutorial/deploy /tutorial/cleanup /tutorial/upgrade; do
echo "=== $url ==="
curl -s "https://example.com$url" | grep -A1 '"@type": "HowTo"' | head -5
done
判读规则:每个 URL 都有 → 模板/主题是源头;只有部分有 → 是文章级开关或插件规则。 这两种走完全不同的修法,先分清再动手。
同时统计基线:全站有多少页在输出 HowTo(用带结构化数据提取的爬虫,或直接 grep 渲染 HTML)。这个数字是后面验收清理进度的唯一依据。
2. 模板里把生成器换掉
Astro / Next / Eleventy 这类站点,找输出 JSON-LD 的那段代码改 @type:
// 改造前:模板把所有带步骤的文章都标成 HowTo
const jsonLd = {
"@context": "https://schema.org",
"@type": "HowTo",
"name": article.title,
"step": article.steps.map((s, i) => ({
"@type": "HowToStep",
"position": i + 1,
"name": s.heading,
"text": s.body,
})),
};
// 改造后:改为 Article / TechArticle,补上真正驱动展现的字段
const jsonLd = {
"@context": "https://schema.org",
"@type": "Article",
"headline": article.title,
"datePublished": article.publishedAt,
"dateModified": article.modifiedAt ?? article.publishedAt,
"author": { "@type": "Person", "name": article.author },
};
注意改造后必须补 author、datePublished、dateModified——这三项才是署名与日期展现的实际驱动字段。只把 @type 换个名字、其余照旧,等于什么也没拿回来。
3. 完整可用的 TechArticle 片段
对确实在讲"怎么做"的页面,用这个结构(含 publisher 与主页面指向):
{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "Deploy a Static Site to Cloudflare Pages",
"datePublished": "2026-01-12",
"dateModified": "2026-05-10",
"author": { "@type": "Person", "name": "Jane Lee" },
"publisher": {
"@type": "Organization",
"name": "Example Inc",
"logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" }
},
"mainEntityOfPage": "https://example.com/tutorial/deploy-cloudflare"
}
字段口径:headline、datePublished、author、publisher 必填;dateModified、mainEntityOfPage、image 强烈建议。publisher.logo 建议给 112×112 以上的绝对 URL,否则部分校验器会报图片尺寸不合规。
4. CMS 插件侧同步关掉
- Yoast:独立的 HowTo block 已废弃,逐篇移除残留的 HowTo block,确认 schema 图里不再有 HowTo 节点;
- Rank Math:Titles & Meta / 单篇 Schema 面板里删除或改写 HowTo schema,或直接关掉 HowTo 模板;
- Schema Pro:删掉针对教程模板的那条 HowTo 规则。
改完必须看渲染后的页面确认,不能只信后台开关——插件版本差异会导致"开关关了、前端还在输出"。
5. 逐页重新验证
重新爬一遍:结构化数据提取结果里应只剩 Article(或 TechArticle),HowTo 归零,同时 itemtype="https://schema.org/HowTo" 这类 microdata 属性也要一起清掉——只删 JSON-LD 不删 microdata,解析器照样会读到。
然后抽若干代表性 URL 丢进 Rich Results Test:能看到 Article、看不到 HowTo(它已经不支持,本来也不会报)。最后走 URL Inspection → Request indexing,让 Google 重新抓取。
6. 加一条 CI 拦截,防止复发
在仓库里留一份"schema registry":一个文件列出站点会输出的每个 @type、用途、由哪个模板负责。再加一条每周跑的 CI 检查,grep 渲染后的 HTML,命中已废弃类型就报警。
结果:这是清理项,不是增长项
必须如实说:这一步没有可量化的搜索收益。HowTo 富结果自 2023 年 9 月起就不再出现,Search Console 里也不会有"增强报告"消失这种信号可看。原文没有给出任何 CTR、曝光、点击的量化数据,我也不替它编。
能观察到的只有三件定性事实:
- 语义对齐了。改造后 JSON-LD 描述的是页面真实内容(标题、作者、发布与更新时间、所属站点),不再出现"页面正文里没有的 8 个步骤"这种陈旧数据——那种标记属于误导性标记,风险不在降权,在审计时说不清。
- 拿回署名与日期展现所需的字段。Article / TechArticle 是 Google 仍支持的、能带来作者行与日期标签的类型,这是 HowTo 从来没单独提供过的东西。
- Article 富结果不再被吞。当 HowTo 被嵌在 Article 外层(或反过来)时,解析器可能只挑中其中一个类型——经常挑错的那个,结果是 Article 的署名/日期一起消失。拆掉嵌套后这个隐性损失才停止。
复盘:3 条动作 + 2 条红线
动作:
- 先分清"模板吐"还是"逐篇开",前者改模板一处,后者要写迁移脚本按 URL 列表批处理,两者混着修会漏;
- 换类型时同时补字段,
@type换了但author/datePublished缺了,等于白改; - 把"废弃 schema 检查"写进 CI,别指望下次有人记得——FAQ 富结果 2026-05-07 刚被移除,Practice Problem 2026-01 已停支持,这份名单只会变长。
红线:
- 别把 validator.schema.org 的绿勾当验收证据。它只验词汇表合法性,不验 Google 是否还支持。判断能不能拿富结果,只看 Rich Results Test 与 Search Console 的增强报告。
- 别为了"Recipe 还有富结果"就给非菜谱内容套 Recipe。原文明确点出这是违反 Google 内容准则、有手动处置风险的做法;教程页该用 Article / TechArticle,菜谱才用 Recipe。
标注
- Schema.org 版本:Schema.org 现行版,查询于 2026-11-14(官网版本页本次访问超时,未取到具体版本号,按未标注版本号处理;HowTo 与 Article / TechArticle 词汇在该版本文档中均为有效类型);
- 验证工具:Schema Markup Validator(validator.schema.org)、Google Rich Results Test、Search Console「搜索结果呈现 / 增强报告」;
- 主要来源:aitoolsguidebook《HowTo Schema Is Deprecated But Your Template Still Emits It》(2026-06 内容,检索于 2026-11-14);Google Search Central 文档更新记录(2025-11-05 类型停支持公告、2026-05 How-to 文档移除、2026-05-07 FAQ 富结果移除);
- 数据口径:本文不含量化效果数据,来源原文亦未提供;所有结论为定性观察;
- 复盘时间:2026-11-14。