【发布时间】:2014-06-08 14:52:23
【问题描述】:
在 Google 网站管理员工具中,在“抓取错误/其他”下,我们看到如下 URL 的 400 错误:
/family-tree/<%=tree.user_url_slug%>/<%=tree.url_slug%>
这不是一个真实的网址,也不是我们打算抓取的网址。它是一个下划线/主干模板:
<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>
- 为什么 Google 会在
script块内进行抓取? - 为什么 Google 会忽略
rel="nofollow"属性? - 我们还能做些什么来让 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/$
【问题讨论】:
标签: seo underscore.js google-search-console googlebot nofollow