文章目录
当AI读取您的网站时,它寻找的东西之一是层级结构。哪个页面是概述?哪个页面是详情?哪个页面属于什么主题?BreadcrumbList schema是您以清晰、结构化的方式回答这些问题的方法。
BreadcrumbList如何工作
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已索引足够多的页面(通常需要一定的域名权重)
常见BreadcrumbList错误
| 错误 | 描述 | 修复方法 |
|---|---|---|
| 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遗漏locale | schema中的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 引用吗?
免费审计