我是丰富的代码段数据标记新手,我遇到了Google Rich Snippet测试工具的一个奇怪问题。我使用Google提出的data-vocabulary.org标记。
我使用的是使用语言雨作为自定义引擎的电子商务平台,对于所有产品,我加载(并可视化)面包屑跟踪,如下所示:
<div class="breadcrumbs no-underline">
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
<a itemprop="url" href="{{ '' | url }}" title="{{ 'Home' | t }}">
<span itemprop="title">{{ 'Vintagious Home' | t }}</span>
</a>
</span>
{% for breadcrumb in page.breadcrumbs %}
{% if breadcrumb.title != product.title %}
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
> <a title = "{{ breadcrumb.title }}" itemprop="url" href="{{ breadcrumb.url | url }}">
<span itemprop="title"> {{ breadcrumb.title }}</span>
</a>
</span>
{% endif %}
{% endfor %}
</div>
在我的网站中,这可以按预期工作。请参阅示例this page,其中正确加载了跟踪。但是,在Google的丰富网页摘要工具中,如果我直接从网址加载网页,则导致路径导线无法正确加载。它只识别主页面包屑,但错过了其他两个。 (如果我省略if语句,Google也会识别最后一个痕迹,但跳过for循环中的两个)
Rich Snippet Testing Tool - URL Test
然而,在产品页面的页面源html中,元素具有正确的标记,如果我将页面源html直接放在Google的工具中,它就会按预期工作。
不知何故,Google直接抓取网站时获得的html响应与浏览器中的html-response不同。我很困惑,也找不到任何关于此的信息。
非常感谢任何帮助。
谢谢。
答案 0 :(得分:0)
哦,想知道问题可以做些什么。我想到了。问题在于我使用的电子商务网站如何定义page.breadcrumbs。
这取决于实际用户的面包屑。但是,如果让Google抓取产品页面,则之前没有页面访问,因此没有面包屑。这解释了为什么页面源html是正确的,因为我确实遵循了面包屑路径。