AEO Saigon
操作指南

BreadcrumbList Schema:帮助AI和Google理解您网站的结构

文章目录

当AI读取您的网站时,它寻找的东西之一是层级结构。哪个页面是概述?哪个页面是详情?哪个页面属于什么主题?BreadcrumbList schema是您以清晰、结构化的方式回答这些问题的方法。

BreadcrumbList是从首页到当前页面的"导航节点"列表。它做两件事:

1. 在Google SERP上:

代替原始URL,用户看到美观的层级链:example.vn › blog › huong-dan › breadcrumb-schema → CTR提升。

2. 对AI搜索:

AI理解:这篇文章属于"指南"主题,是"博客"的子集——当回答关于结构化数据的问题时,这是合适的引用来源。

完整JSON-LD BreadcrumbList

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Trang chủ",
      "item": "https://example.vn/vi"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://example.vn/vi/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Hướng dẫn",
      "item": "https://example.vn/vi/blog/huong-dan"
    },
    {
      "@type": "ListItem",
      "position": 4,
      "name": "BreadcrumbList Schema: Giúp AI và Google Hiểu Cấu Trúc Website"
    }
  ]
}

注意最后一个item没有item字段(URL)——这是当前页面,不需要链接。

Next.js App Router实现

// lib/schema/breadcrumb.ts
const siteUrl = process.env.NEXT_PUBLIC_SITE_URL!;

interface BreadcrumbItem {
  name: string;
  href?: string;
}

export function generateBreadcrumbSchema(
  items: BreadcrumbItem[],
  locale: string
): object {
  return {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    itemListElement: items.map((item, index) => ({
      "@type": "ListItem",
      position: index + 1,
      name: item.name,
      ...(item.href && {
        item: `${siteUrl}/${locale}${item.href}`,
      }),
    })),
  };
}

不同页面类型的面包屑

服务页面

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Trang chủ", "item": "https://example.vn/vi" },
    { "@type": "ListItem", "position": 2, "name": "Dịch vụ", "item": "https://example.vn/vi/dich-vu" },
    { "@type": "ListItem", "position": 3, "name": "AEO cho E-commerce" }
  ]
}

产品页面(电商)

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Trang chủ", "item": "https://shop.vn" },
    { "@type": "ListItem", "position": 2, "name": "Thời trang", "item": "https://shop.vn/thoi-trang" },
    { "@type": "ListItem", "position": 3, "name": "Áo nam", "item": "https://shop.vn/thoi-trang/ao-nam" },
    { "@type": "ListItem", "position": 4, "name": "Áo polo cotton" }
  ]
}

SitelinksSearchBox schema

SitelinksSearchBox允许Google在用户搜索您品牌时显示内联搜索框:

{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "@id": "https://example.vn/#website",
  "url": "https://example.vn",
  "name": "AEO Saigon",
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.vn/tim-kiem?q={search_term_string}"
    },
    "query-input": "required name=search_term_string"
  }
}

Google激活站点链接搜索的条件:

  • 网站有搜索结果相关的正常运作搜索栏
  • 搜索URL使用query参数正常工作
  • Google已索引足够多的页面(通常需要一定的域名权重)
错误描述修复方法
URL与结构不匹配面包屑声明的路径与实际URL不同将面包屑items与URL slug同步
使用相对URL/blog而非https://example.vn/blog始终在item中使用绝对URL
最后一个item有URL当前页面不需要URL删除最后位置的item字段
position不连续1, 2, 4(跳过3)确保position从1开始连续递增
缺少第一个item面包屑从分类开始,跳过首页始终将首页作为第一个item
i18n遗漏localeschema中的URL没有/vi/在每个URL item前添加locale

对AI搜索的影响

BreadcrumbList schema以很少有人想到的方式影响AEO:

  • 主题聚类:AI识别出/blog/huong-dan/*是"技术指南"集群,与/blog/kien-thuc/*"理论知识"集群不同。在回答实践问题时,AI优先选择/huong-dan/
  • 权重传递:AI理解分类页(/blog/huong-dan)是子文章的"父级权威"。如果分类页有良好的schema和许多子文章,分类页从AI那里获得更高的权重。
  • 引用精度:AI可以引用"ABC的指南部分"而非仅仅"ABC网站"——更具体,更可信。

BreadcrumbList是最容易实现但最常被忽视的schema之一。一次正确实现,从SEO(富媒体结果)和AEO(AI上下文)中长期获益。

常见问题

BreadcrumbList schema对AEO有影响吗?

有——通过两种方式。首先,BreadcrumbList帮助AI理解内容层级:/blog/huong-dan/aeo-la-gi是/blog/huong-dan的子页面,是/blog的子页面。AI使用这个信号来确定父主题和引用时的上下文。其次,Google在搜索结果中显示面包屑而非原始URL——用户看到清晰的路径,CTR提升。高CTR帮助AI接收到更强的相关性信号。

BreadcrumbList应该在page还是layout中声明?

在每个page中声明,而非layout。每个页面有独自的面包屑路径(例如:博客文章有3-4级;首页只有1级)。如果在layout中声明,则无法对每个页面进行自定义。在Next.js App Router中:在每个page.tsx中创建generateBreadcrumbSchema()函数,传入generateMetadata或直接在JSON-LD script中渲染。

多少级面包屑合适?

3-4级最为理想。例如:首页 → 服务 → 电商AEO → 案例研究。太少(1-2级)没有提供足够的层级上下文。太多(5+级)使URL和结构不必要地复杂。如果网站结构扁平(只有2级)——仍应声明,Google会显示域名和分类。

SitelinksSearchBox是什么,是否应该使用?

SitelinksSearchBox是允许Google在品牌搜索结果中直接显示搜索框的schema。用户可以直接从Google SERP搜索网站内容。如果网站有运行良好的搜索栏,建议使用。非强制——Google可以在没有schema的情况下自动添加站点链接搜索。

BreadcrumbList schema和URL结构需要匹配吗?

需要——必须完全匹配。如果URL是/blog/huong-dan/aeo-la-gi,则BreadcrumbList必须准确反映结构:item 1 = /、item 2 = /blog、item 3 = /blog/huong-dan、item 4 = /blog/huong-dan/aeo-la-gi。不能声明与实际URL不同的面包屑。Google会检查这种一致性,如有矛盾将忽略它。

AEO Saigon

位于胡志明市的答案引擎优化(AEO)机构 — 帮助企业网站被 AI 引用。 关于 AEO Saigon →

想让您的网站也这样被 AI 引用吗?

免费审计