返回技术文章
SchemaTechArticle结构化数据SEOArticleBreadcrumbList

TechArticle 结构化数据工程:图片、日期、作者与面包屑怎样保持同源

TechArticle 不是字段越多越好。本文用一套可测试的数据流说明,怎样让正文首图、Open Graph、JSON-LD、可见日期、组织作者和 BreadcrumbList 始终描述同一篇真实文章。

妙蛙 GEO 研究团队9 分钟

TechArticle 最危险的错误不是少一个字段,而是网页、社交卡片和 JSON-LD 各说一套事实:正文已经有代表图,结构化数据仍只有 Logo;页面只展示发布日期,Sitemap 却每天声称更新;署名是组织研究团队,机器数据却虚构一个个人专家。可靠实现的核心是“同源”——每个机器可读字段都从用户实际看到的数据生成,并由渲染测试验证。结构化数据可以帮助理解与富结果资格,但不会因为字段更多就自动获得 AI 引用。

TechArticle 需要同源的四组字段:代表图片、发布与更新日期、作者与出版者、面包屑层级
TechArticle 需要同源的四组字段:代表图片、发布与更新日期、作者与出版者、面包屑层级

一、先设计数据流,再决定写哪些字段

文章系统通常有四个输出面:正文 HTML、页面 metadata、JSON-LD、Sitemap/RSS。最稳妥的架构不是在四处复制值,而是让数据库文章记录与 Markdown 正文成为事实源,再由共享函数派生输出。

以代表图为例,本站文章编辑规范要求图片必须独占一行:

![完整说明文字](/article-images/example/01-evidence-map.png)

渲染器只识别这种语法并输出 <figure><img><figcaption>。那么页面元数据也应该调用同一套解析规则:找到“渲染器真正会展示的第一张图”,再把这张图写入 Open Graph、Twitter card 和 TechArticle image。如果 metadata 用另一套更宽松的正则,可能会抓到一张行内图片;机器数据说它存在,读者却根本看不见。

二、代表图不是 Logo,也不是任意附件

Google 的 Article 指南把 image 定义为能代表文章内容的图片,并要求图片可抓取、可索引、与页面相关。全站 Logo 能说明出版者是谁,不能说明某篇文章讲什么。

一套稳健的代表图处理应满足五点:

  1. 图片真实出现在正文里,并靠近相关文字。
  2. URL 是公开的 HTTP/HTTPS 地址,不依赖登录或临时签名。
  3. alt 与图注能独立说明图里表达的关系,而不是只写“图 1”。
  4. 图片尺寸足以用于搜索和分享卡片,不是 50 像素的小图标。
  5. Open Graph、Twitter 与 TechArticle 指向同一张图,避免预览结果漂移。
Markdown 正文的第一张可见图片,派生为 figure、Open Graph、Twitter 和 TechArticle image 的单一数据流
Markdown 正文的第一张可见图片,派生为 figure、Open Graph、Twitter 和 TechArticle image 的单一数据流

这不是说每篇文章必须只有一张图。正文可以有多张证据图;代表图只是其中最适合概括页面的一张。Google 对 Article 的最佳实践还建议准备多种比例的高分辨率图片,但如果站点目前只有一张真实代表图,先准确提供这一张,比用裁切错误或无关的占位图凑数组更可靠。

三、三个日期字段不能互相冒充

datePublished:第一次公开的时间

它应该在文章首次发布后稳定不变。重发旧文章时,如果导入脚本把 published_at 改成今天,列表顺序、文章页日期、RSS 与历史记录都会一起失真。

dateModified:内容最后一次实质变更

正文、结构化数据、主要图片或重要内链发生显著变化时,修改时间可以更新。只改版权年份、构建产物哈希或部署时间,不应被包装成文章内容更新。

Sitemap lastmod:给抓取系统的可核验提示

Google 明确表示,只有在 lastmod 持续准确且可被页面变化验证时才会使用它。最省事的错误做法是每次请求 Sitemap 都写当前时间;短期看起来“很新”,长期会让信号失去可信度。

datePublished 记录首次公开,dateModified 记录真实内容变更,Sitemap lastmod 提示可核验更新,页面 time 对读者可见
datePublished 记录首次公开,dateModified 记录真实内容变更,Sitemap lastmod 提示可核验更新,页面 time 对读者可见

可见页面也要表达同一事实。发布日期使用语义化 <time datetime="…">;只有修改日期跨越发布日期且确实对应内容改动时,再显示“更新于”。这样搜索引擎、读者和内部审计看到的是同一条时间线。

四、组织署名也需要可消歧

没有公开个人资料时,不应该为了 E-E-A-T 或 Schema 完整度虚构作者姓名、头像、职务和个人主页。Article 的 author 可以是 Person,也可以是 Organization。

组织作者至少要回答三件事:

  • 可见署名是什么,例如“妙蛙 GEO 研究团队”;
  • 哪个公开页面解释这支团队的编辑与复核责任;
  • 它与出版公司的关系是什么。

本站采用组织署名,author.url 指向编辑政策,parentOrganization 指向稳定的公司实体 ID;publisher 则单独指向天津思必得科技有限公司,并使用公开 Logo。这样不会把品牌、研究团队和法定主体硬合并成一个名字,也不会凭空造一个“专家作者”。

完整的作者数据仍必须与页面可见署名一致。机器数据里出现一个读者看不到的人名,违反的不只是内容策略,也违反结构化数据应代表可见内容的基本规则。

五、面包屑要同时服务读者与机器

BreadcrumbList 表达的是页面在站点层级里的位置。技术文章最简单的层级通常是:

首页 → 技术文章 → 当前文章

页面顶部应有真实可点击的“首页”和“技术文章”链接;JSON-LD 再用相同名称和 URL 输出三个 ListItem。面包屑不是把关键词重复三遍的地方,也不该指向不存在的伪栏目。

可见面包屑与 JSON-LD 同时存在有两个好处:读者能回到上级,爬虫也拿到稳定层级。至于搜索结果最终是否展示面包屑,仍由搜索系统决定。

六、一份最小而完整的 TechArticle 图

下面是结构关系,不是可以无脑复制的字段清单:

{
  "@type": "TechArticle",
  "@id": "文章URL#article",
  "headline": "页面可见标题",
  "datePublished": "首次发布时间",
  "dateModified": "最后实质修改时间",
  "image": ["正文真实可见的代表图"],
  "author": { "@type": "Organization", "url": "编辑政策页" },
  "publisher": { "@id": "全站稳定的公司实体ID" },
  "mainEntityOfPage": { "@id": "文章URL" },
  "isPartOf": { "@id": "全站稳定的网站实体ID" }
}

同页再输出 BreadcrumbList。若文章没有真实代表图,就不应该把 Logo 冒充代表图;若没有证据支持修改日期,就保留发布日期;若没有个人作者,就使用真实组织。完整性必须服从真实性。

《Schema 结构化数据在 GEO 里还有用吗?2026 年的实测结论》讨论 Schema 的作用边界;本文补的是工程层:怎样避免机器数据与页面事实分叉。

七、测试什么,才算真的上线

源码里出现 TechArticle 字符串不能证明输出正确。至少要对渲染 HTML 检查:

  • 页面只有一个 H1,canonical 指向自身;
  • 首图在正文可见,图片 URL 返回 200;
  • og:image、Twitter image 和 TechArticle image 指向同一张代表图;
  • datePublished 与页面发布日期一致;
  • dateModified 与数据库真实更新时间一致,跨日时页面可见;
  • BreadcrumbList 的名称和 URL 与可见面包屑一致;
  • JSON-LD 可以解析,不含原始 citation 占位标签;
  • 没有虚构评分、作者或效果数字。

这套测试只能证明发布合约成立。它不能证明搜索引擎已经重新抓取,也不能证明页面会获得富结果或 AI 引用。后续发现与处理要交给《一篇技术博客怎样被发现:Sitemap、RSS、IndexNow 与主题内链的四路发布链》里的分层验证。

边界声明

  • TechArticle、BreadcrumbList 和 Open Graph 用于描述页面与分享预览,不是生成式 AI 排名保证。
  • Google 的 Article 属性多为建议项;字段合法也不保证富结果展示。
  • 本文的代码结构来自妙蛙 GEO 当前文章系统实践,不代表所有 CMS 必须使用相同正则或数据模型。
  • 日期只在真实内容变化时更新;本文不建议用自动刷新制造新鲜度。

本文事实资料来自 Google Search Central Article 与结构化数据通用指南、Google Sitemap 指南,以及 Schema.org TechArticle 与 BreadcrumbList 规范。实现案例来自妙蛙 GEO 当前文章系统。

本文由妙蛙 GEO 研究团队撰写,使用 AI 辅助进行资料整理与语言校对,文中事实、来源和结论均经人工复核。

继续阅读

相关技术文章

SchemaSchema 结构化数据在 GEO 里还有用吗?2026 年的实测结论

Google 官方已明确表示结构化数据不是生成式 AI 搜索的必需项,且不存在专用 schema。本文区分'对排名有用''对 AI 引用有用''对品牌实体有用'三件事,给出可执行的取舍。

Google AI ModeGoogle AI Mode 把旅行搜索推进到预订:GEO 的目标不能再只看引用

Google 8 月 27 日把航班价格跟踪、积分与里程价格、酒店预订带入 AI Mode。本文拆解开放网页、合作伙伴实时数据与交易入口的三层关系,以及旅行品牌怎样重设 GEO 衡量口径。

RedditReddit 出现在 83.9% 的 Google 论坛结果里:但这不是 AI 引用率

Ahrefs 8 月 27 日公布大样本研究,称 Reddit 出现在全球 83.9% 的 Google“讨论和论坛”模块中。本文复核 1.45 亿条美国结果的分母、平台集中度与外链结论,并解释它为什么不能替代 AI 引用监测。