我的网站上有一个链接保护,可以防止搜索机器人扫描它,这种保护基于javascript href在页面加载时替换(最初用'#'编码和前缀,如下所示:
<a href="#real_link_crunched_here">...</a>
我知道谷歌现在可以执行javascript,因此可以关注"受保护"的链接。这是防止谷歌机器人(以及其他机器人)执行javascript的正确方法吗?
@Epsiloncool没有绝对的方法可以阻止机器人做用户可以在浏览器中做的事情。。。要做到这一点,唯一的办法就是通过captcha。您可以绑定到mouseover事件以交换链接,这可能效果更好。
我建议将rel="nofollow"
属性添加到A元素中,至少这样尊重这种操作的机器人就可以做他们需要的事情。
您也可以在页面上有一个表单,并绑定这样的操作来更改帖子url,然后将该表单提交到下一个页面。BOT应该NEVER执行HTTP POST。然而,任何会这样做的机器人都已经忽略了rel=nofollow。
您应该使用robots.txt
文件来告诉合法的机器人哪些URL不需要加载,或者您可以在不需要索引的页面的<head>
块中执行<meta name="robots" content="noindex" />
。
你也可以做<a rel="nofollow">
让谷歌忽略那些链接标签。
如果你正在寻找更先进的"防御"方法,我想你已经有了robots.txt
。如果他们是友好的机器人,他们会在user-agent
字符串中使自己不可更改,但如果不是,他们可能会称自己为internet explorer
并忽略您的robots.txt
。你仍然可以进行图灵测试,我想。。。
我想,你仍然可以在你的首页上放一些非常简单的谜题来消除它们,但这也可能会疏远一些访问者。
如果你想了解一下,下面是不同机器人用户代理的列表:http://www.smart-it-consulting.com/internet/google/googlebot-spoofer/