【问题标题】:Stop Google from javascript execution阻止 Google 执行 javascript
【发布时间】:2012-03-28 16:04:53
【问题描述】:

我的网站上有一个链接保护,以防止搜索机器人扫描它,这种保护基于页面加载时的 javascript href 替换(最初编码并以“#”为前缀,如下所示:

<a href="#real_link_crunched_here">...</a>

我知道 Google 现在可以执行 javascript,因此可以跟踪“受保护”链接。 防止谷歌机器人(以及其他机器人)执行javascript是否正确?

【问题讨论】:

标签: javascript seo bots


【解决方案1】:

@Epsiloncool 没有绝对的方法可以阻止机器人执行用户可以在浏览器中执行的操作……执行此类操作的唯一方法是通过验证码。您可以绑定到鼠标悬停事件以换出链接,然后可能效果更好。

我建议将 rel="nofollow" 属性添加到 A 元素,至少尊重此类操作的机器人可以做他们需要的事情。

可以在页面上也有一个表单,并绑定此类操作以更改帖子 url,然后将该表单提交到下一页。 BOT 应该从不进行 HTTP POST。但是,任何愿意的机器人都已经忽略了 rel=nofollow。

【讨论】:

  • 顺便说一句,机器人可以绕过验证码。
  • @ceejayoz,我知道......同样,这是接近用户驱动解决方案的唯一方法......而且,机器人无法轻松完成所有类型的验证码。它们并不都是经过混淆的数字。
【解决方案2】:

您应该使用robots.txt 文件告诉合法机器人不要加载哪些网址,或者您可以在您不想编入索引的页面的&lt;head&gt; 块中执行&lt;meta name="robots" content="noindex" /&gt;

您也可以通过&lt;a rel="nofollow"&gt; 让 Google 忽略这些链接标签。

【讨论】:

  • Robots.txt 方法不适合,我不想禁用整个页面,而只是阻止链接跟踪。 Metatags 和 rel 也是一个坏主意,因为并非所有扫描机器人都遵循这些规则。我需要绝对隐藏该链接以防止扫描。
  • 您将永远无法阻止所有机器人。恶意机器人通常会尽可能具体地伪装成真实用户,因此您无法阻止它们。
【解决方案3】:

如果您正在寻找更高级的“防御”方法,我猜您已经有一个robots.txt。如果他们是友好的机器人,他们会让自己在user-agent 字符串中被发现,但如果不是,他们可能会称自己为internet explorer 并忽略你的robots.txt。我猜你仍然可以进行图灵测试......

你仍然可以在你的起始页上放置一些非常简单的谜题,以摆脱它们,我猜,但这也可能会疏远一些访问者。

以下是不同机器人用户代理的列表,如果您想了解一下: http://www.smart-it-consulting.com/internet/google/googlebot-spoofer/

【讨论】:

    猜你喜欢
    • 2016-06-14
    • 1970-01-01
    • 2018-08-27
    • 2012-04-18
    • 2017-05-07
    • 1970-01-01
    • 2021-01-11
    • 2019-10-20
    • 1970-01-01
    相关资源
    最近更新 更多