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

4c8rllxm  于 2023-02-14  发布在  其他
关注(0)|答案(7)|浏览(146)

有很多关于相反情况的信息,当人们试图有HTML的东西,这是可见的谷歌机器人,但不可见的用户,在我的情况下,我需要相反的事情-隐藏一些HTML从谷歌机器人。问题是如何?
闪光不是答案
不喜欢使用花哨 AJAX 的东西也(主要是因为我需要它马上,而不是在文档准备好),
robots.txt也不是一个答案,因为它只在url上工作,而不是页面的一部分。任何特殊的css/simple javascript都可以工作吗?有任何特殊的html标记吗?

vfwfrxfs

vfwfrxfs1#

也许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>
iqxoj9l9

iqxoj9l92#

创建一个Div,从一个html文件加载Div( AJAX )的内容,该文件位于一个受robot保护的目录中。示例:/index.html
在标题上的某个位置。(选中http://api.jquery.com/jQuery.ajax/

$.ajax({
  url: '/hiddendirfrombots/test.html',
  success: function(data) {
    $('#hiddenfrombots').html(data);
  }
});

......在身体的某个地方

<div id="hiddenfrombots"></div>

创建一个目录“hiddenfrombots”并将以下内容放入根目录.htaccess

User-agent: *
Disallow: /hiddenfrombots/
wgx48brx

wgx48brx3#

这应该可以实现这个技巧:

<!--googleoff: index-->
<p>hide me!</p>
<!--googleon: index-->

欲了解更多信息,请查看谷歌页面的链接,该页面对它进行了更深入的描述。
从索引中排除不需要的文本

72qzrwbm

72qzrwbm4#

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

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

这就是我解决这个问题的方法。

ngynwnxp

ngynwnxp5#

  • 通过 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的内容。

zsohkypk

zsohkypk6#

根据Google文档

<p>This text can be shown in a snippet
<span data-nosnippet>and this part would not be shown</span>.</p>

data-nosnippet添加到divspansection可防止内容显示在搜索结果中。

8i9zcol2

8i9zcol27#

很简单,创建一个带有你不想让Google看到的文本的图像

相关问题