如何告诉谷歌机器人跳过部分HTML?

时间:2012-01-11 14:49:44

标签: html css seo

有很多关于相反情况的信息,当人们尝试使用HTML时,谷歌机器人可以看到,但用户看不到,在我的情况下,我需要相反的事情 - 隐藏一些来自谷歌的HTML机器人。问题是如何?

Flash不是答案,
宁愿不要使用花哨的ajax东西(主要是因为我需要它,而不是准备好文件),
robots.txt也不是答案,因为它适用于网址,而不是网页的一部分。 任何特殊的CSS /简单的JavaScript都可以使用,是否有任何特殊的html标签?

6 个答案:

答案 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页面的链接,该页面将更深入地描述它。

Excluding Unwanted Text from the Index

答案 3 :(得分:2)

如果你可以使用PHP,只要输出你的内容,如果不是Googlebot:

// if not google
if(!strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot")) { 
    echo $div;
}

这就是我如何解决这个问题。

答案 4 :(得分:0)

简单,使用您不希望Google查看的文字创建图片

答案 5 :(得分:0)

  • 通过Ajax调用加载您的内容
  • 但是创建一个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的内容。