2

在谷歌网站管理员工具,根据检索错误/其他,我们看到一个400错误针对URL是这样的:如何防止Googlebot抓取我的Underscore客户端模板?

/family-tree/<%=tree.user_url_slug%>/<%=tree.url_slug%> 

enter image description here

这是不是一个真正的URL,或者说,我们预期的URL被抓取。这是一个下划线/骨干网的模板:

<script type="text/template" class="template" id="template-trees-list"> 
    <% _.each(trees, function(tree) { %> 
    <a href="/family-tree/<%=tree.user_url_slug%>/<%=tree.url_slug%>" rel="nofollow"> 
     <%= tree.title %> 
    </a> 
    <% }); %> 
</script> 
  1. 为什么谷歌的script块的内部爬行?
  2. 为什么Google会忽略rel="nofollow"属性?
  3. 我们还有什么可以让Googlebot远离我们的Underscore模板吗?

更新:如果我能找到正确的模式,可以保留好的页面并阻止不良页面,我愿意使用robots.txt。例如,我想保留/surnames/Jones/queries,同时阻止/surnames/Jones/queries/<%=url_slug%>。我有这样的数千人。看起来像Googlebot may support basic patterns,但不是完整的正则表达式。

更新2:好了,这不,在根源得到的,它似乎有点脆作为一个长期的解决方案,但我在GWT测试,下面的robots.txt模式将工作:

User-agent: Googlebot 
Disallow: /*url_slug%%3E$ 
Disallow: /*url_slug%%3E/$ 

回答

1

只是通过robot.txt阻止这些,你会被罚款

+1

,我不相信你可以阻止*部分* robots.txt的页面,这是OP想要什么的。 – idbehold

+0

更新了关于robots.txt的问题 - 也许这是一个选项。 – richardkmiller