有很多关于相反情况的信息,当人们尝试使用HTML时,谷歌机器人可以看到,但用户看不到,在我的情况下,我需要相反的事情 - 隐藏一些来自谷歌的HTML机器人。问题是如何?
Flash不是答案,
宁愿不要使用花哨的ajax东西(主要是因为我需要它,而不是准备好文件),
robots.txt也不是答案,因为它适用于网址,而不是网页的一部分。
任何特殊的CSS /简单的JavaScript都可以使用,是否有任何特殊的html标签?
答案 0 :(得分:8)
也许base64编码服务器端然后在客户端解码可以工作?
代码:
<!-- visible to Google -->
<p> Hi, Google Bot! </p>
<!-- not visible from here on -->
<script type="text/javascript">
document.write ("<?php echo base64_encode('<b>hey there, user</b>'); ?>");
</script>
它如何看待机器人:
<!-- visible to Google -->
<p> Hi, Google Bot! </p>
<!-- not visible from here on -->
<script type="text/javascript">
document.write (base64_decode("B9A985350099BC8913=="));
</script>
答案 1 :(得分:4)
创建一个Div, 从位于受机器人保护的目录中的html文件加载Div(ajax)的内容。 例。 /index.html
标题上的某处。 (查看http://api.jquery.com/jQuery.ajax/)
$.ajax({
url: '/hiddendirfrombots/test.html',
success: function(data) {
$('#hiddenfrombots').html(data);
}
});
... 在身体的某个地方
<div id="hiddenfrombots"></div>
创建一个目录“hiddenfrombots”并将followin放在根.htaccess
中User-agent: *
Disallow: /hiddenfrombots/
答案 2 :(得分:4)
这应该做的伎俩:
<!--googleoff: index-->
<p>hide me!</p>
<!--googleon: index-->
有关更多信息,请查看Googles页面的链接,该页面将更深入地描述它。
答案 3 :(得分:2)
如果你可以使用PHP,只要输出你的内容,如果不是Googlebot:
// if not google
if(!strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot")) {
echo $div;
}
这就是我如何解决这个问题。
答案 4 :(得分:0)
简单,使用您不希望Google查看的文字创建图片
答案 5 :(得分:0)
但是创建一个JS文件(例如:noGoogleBot.js),其中包含实现ajax调用的函数:
$.ajax({
url: 'anything.html',
success: function(data) {
$('#anywhere').html(data);
}
});
然后在你的robots.txt
中User-agent: *
Disallow: /noGoogleBot.js
所以使用noGoogleBot中的函数加载的所有div都将被阻止。 Googlebot(或任何其他抓取工具)将忽略noGoogleBot.js的内容。