2014-12-23 23 views
1

我是新增丰富网页代码数据标记,我遇到了Google Rich Snippet测试工具的一个奇怪问题。我使用Google建议的data-vocabulary.org标记。Google Rich Snippet工具中的数据词汇表Breadcrumb - 网址与HTML

我使用的是使用的语言为雨的定制引擎的电子商务平台,并为所有的产品,我加载(和可视化)的导航条是这样的:

<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丰富的代码片段工具中,如果我直接从URL加载页面,那么面包屑路径无法正确加载。它只承认主页面包屑,但错过了其他两个。 (如果我忽略if语句,Google也会识别最后一个面包屑,但跳过for循环中的中间两个)

Rich Snippet Testing Tool - URL Test

但是,在产品页面的页面源代码html中,元素具有正确的标记,并且如果我将页面源代码html直接放入Google的工具中,它将按预期工作。

某种程度上,Google直接抓取网站时获取的html响应与我浏览器中的html响应不同。我感到困惑,并且无法找到关于此的任何信息。

任何帮助将不胜感激。

谢谢。

回答

0

哦,有什么奇迹可以提问。我想到了。问题在于我使用的电子商务网站如何定义page.breadcrumbs。

这取决于实际用户的面包屑。但是,如果让Google抓取产品页面,那么以前没有任何页面访问,所以没有导致痕迹的痕迹。这就解释了为什么页面源html是正确的,因为我确实遵循了面包屑路径。