非列表结构面包屑的正确Microdata语法规范咨询
关于非列表结构下面包屑Microdata的正确用法
嘿,我来帮你把这个面包屑Microdata的问题掰明白~
一、两种结构的区别:WebPage vs BreadcrumbList
你现在用的是WebPage类型下的breadcrumb属性,Google测试工具能通过,说明这个写法是符合schema.org规范的,但和官方示例的BreadcrumbList结构有差异,原因是:
WebPage的breadcrumb属性比较灵活,它可以接受纯文本、简单链接,或者更结构化的列表;- 而
BreadcrumbList是专门为面包屑设计的结构化类型,能明确标记每个面包屑项的层级位置(position属性),搜索引擎能更清晰地理解每一层的关系,对复杂多层级的面包屑更友好。
二、非列表结构下的正确Microdata语法
如果不想用<ul>/<li>,用<div>也能实现标准的BreadcrumbList结构,给你个示例:
<div itemscope itemtype="https://schema.org/BreadcrumbList"> <!-- 第一层面包屑 --> <div itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="/home"> <span itemprop="name">首页</span> </a> <meta itemprop="position" content="1" /> </div> <span class="separator">/</span> <!-- 第二层面包屑 --> <div itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <a itemprop="item" href="/home/category"> <span itemprop="name">数码分类</span> </a> <meta itemprop="position" content="2" /> </div> <span class="separator">/</span> <!-- 当前页(无链接) --> <div itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <span itemprop="name">最新手机评测</span> <meta itemprop="position" content="3" /> </div> </div>
这种写法既不用列表标签,又能提供完整的结构化信息,搜索引擎识别度更高。
如果你想继续用原来的WebPage写法,也没问题,但要确保每个链接的语义清晰:
<div itemscope itemtype="https://schema.org/WebPage"> <div itemprop="breadcrumb"> <a href="/home">首页</a> / <a href="/home/category">数码分类</a> / 最新手机评测 </div> </div>
不过这种写法没法标记每个层级的位置,适合简单的面包屑场景。
三、链接的title和url属性疑问
- url属性:完全不需要额外设置!在Microdata中,
<a>标签的href会被自动识别为item的URL,只要你的href是真实有效的页面地址,搜索引擎就能抓取到对应的链接信息。只有当链接是JS跳转、没有真实href时,才需要手动用<meta itemprop="url" content="xxx">来指定。 - title属性:这是HTML的原生属性,作用是鼠标悬停时显示提示文本,和Microdata的结构化数据完全无关。加不加取决于你的用户体验需求,不是结构化数据的强制要求。
总结一下:两种结构都合规,但BreadcrumbList更推荐;链接不用额外设url属性,title看UX需求来加就好~
内容的提问来源于stack exchange,提问作者Taylor A. Leach
相关产品推荐
相关产品推荐

