【问题标题】:How can I prevent Googlebot from crawling my Underscore client-side templates?如何防止 Googlebot 抓取我的 Underscore 客户端模板?
【发布时间】: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>
  1. 为什么 Google 会在 script 块内进行抓取?
  2. 为什么 Google 会忽略 rel="nofollow" 属性?
  3. 我们还能做些什么来让 Googlebot 远离我们的 Underscore 模板?

更新:如果我能找到正确的模式来保留好页面并阻止坏页面,我愿意使用 robots.txt。例如,我想保留/surnames/Jones/queries,同时阻止/surnames/Jones/queries/&lt;%=url_slug%&gt;。我有成千上万这样的人。看起来像 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


    【解决方案1】:

    只需通过 robots.txt 屏蔽这些内容就可以了

    【讨论】:

    • 我不相信您可以使用robots.txt 阻止页面的部分,而这正是OP 想要的。
    • 更新了关于 robots.txt 的问题——也许这是一个选项。
    猜你喜欢
    • 2010-11-29
    • 2021-03-22
    • 1970-01-01
    • 1970-01-01
    • 2014-11-17
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多