有没有办法让搜索引擎忽略特定的文本?

40

我有自己的博客(你可以从我的个人资料中看到它),并且它非常新鲜,谷歌机器人正在解析结果。

对我来说,结果令人震惊。 显然,我网站上最常见的两个单词是“rss”和“feed”,因为我使用文本链接,如“评论RSS”,“帖子Feed”等。 这两个单词将出现在每篇文章中,而其他单词则更加罕见。

有没有办法使这些链接消失在Google的解析中? 我不想让技术链接被索引。 我只想让内容、标题和描述被索引。 除了用图片替换这些文本外,我还在寻找其他方法。

我在Google上发现了一些旧的讨论,追溯到2007年(我认为在3年内许多事情都可能会改变,希望这也是如此)

这个问题不是关于robots.txt以及如何让Google忽略页面。 而是关于使它忽略页面上的小部分,或者将这些部分转换为人类可见但对机器人隐藏的方式。


类似问题:https://webmasters.stackexchange.com/questions/16390/preventing-robots-from-crawling-specific-part-of-a-page - Sybille Peters
1
我投票关闭此问题,因为它不是一个编程问题,并且在Stack Overflow上是离题的。现在,关于网站的非编程问题可以在[webmasters.se]上提问。在这种情况下,该问题已经在那里得到了回答:Preventing robots from crawling specific part of a page - Stephen Ostermiller
1
这里关于使用 googleoffdata-nosnippet 的前两个答案是非常错误的。这两种方法都不能使搜索机器人忽略文本。 - Stephen Ostermiller
3
为了充分披露:许多关于这个问题的管理争论评论已被删除。虽然我们知道收到有关关闭一道12年历史问题的通知可能有点奇怪,但这并不改变这个问题在Stack Overflow上是不合适的(尤其是按照今天的标准),我们仍然执行我们的标准,即使对于旧问题也是如此。关闭一个问题并不是惩罚。另外,Stephen的评论最初措辞不佳,因为正如提到的,当这个问题发布时,Webmasters并不存在。 - Cody Gray
9个回答

19

有一种简单的方法可以告诉 Google 不要索引您文档的某些部分,那就是使用 googleongoogleoff 标签:

<p>This is normal (X)HTML content that will be indexed by Google.</p>

<!--googleoff: index-->

<p>This (X)HTML content will NOT be indexed by Google.</p>

<!--googleon: index-->
在这个例子中,谷歌将不会索引第二段内容。请注意“index”参数,该参数可以设置为以下任何一种:
  • index — — “googleoff: index” 包围的内容将不会被谷歌索引

    anchor — — 在“googleoff:anchor”区域内的任何链接锚文本都不会与目标页面关联

    snippet — — “googleoff: snippet” 包围的内容将不会用于创建搜索结果片段

    all — — “googleoff: all” 包围的内容将全部处理

来源


17
这是针对GSA而非GoogleBot的。来自维基百科:http://en.wikipedia.org/wiki/Noindex 。谷歌主要的索引蜘蛛——Googlebot,据称不会识别这些技术中的任何一种。 - Myster
21
googleongoogleoff 标签只受支持于谷歌搜索设备(当你主机自己的搜索结果时)。因此,这不会避免 Google 爬取该文本。 - Gayan Weerakutti
这是针对评论中@AlexanderMP的第一个链接的链接腐败修复方案:https://web.archive.org/web/20121024043825/http://google.utk.edu/ut-help/googleongoogleoff/ - albert

14

1
你确定它是从索引中排除还是仅从片段中排除?源代码说:“您可以从片段中排除HTML页面的某些部分”。 - Sybille Peters
1
data-nosnippet 不会阻止索引,只是防止文本作为片段的一部分显示在搜索结果中。 - Stephen Ostermiller

10
我在一家美国数千所学校名称的谷歌排名前三的网站上工作,我们做了很多工作来保护我们的SEO。你可以做三件事(它们都可能是浪费时间,继续阅读):
1.将你想要淡化的内容移动到HTML底部,并使用CSS和/或放置在你想让读者看到的位置。这不会隐藏它们,但它们的价值会降低。
2.用图像替换那些链接(你说你不想这样做,但没有解释原因)
3.向爬虫提供一个不同的页面,其中包含这些被剥离的链接。只要内容与浏览器看到的基本相同,这没有什么黑帽子。如果你从爬虫索引的页面版本中剥离RSS链接,就不会有问题。
话虽如此,爬虫很聪明,而且你不是唯一一个充斥着永久链接和RSS链接的网站。他们关心上下文,并寻找标题和正文文本中的术语和短语。他们知道如何确定你的博客是关于技术而不是RSS。我非常怀疑这些链接对你的SEO有任何负面影响。你真正想解决什么问题?
如果你想建立SEO,找出你为读者提供的价值,并写下那些有趣的东西,会引导其他人链接到你的博客,爬虫会理解你是一个人们珍视的信息来源。更多地考虑你的读者看到和理解的内容,而不是你认为爬虫看到的内容。

谢谢。只是如果我写一些奇怪的组合类别名称、两个帖子主题,并加入“rss”和“feed”关键字,就可以使我的博客出现在搜索结果的顶部。如果没有“rss”和“feed”,那么会排在最后面。我会再次阅读规则,并注意与向机器人提供稍微不同内容相关的条款。 - Alex

6
首先,考虑一下这个问题。如果谷歌认为“RSS”是主要关键字,那么可能意味着您的其他内容有些浅显,并需要扩展。也许这应该是您关注的焦点。如果您的其他内容很丰富,我就不会担心这个问题了,因为搜索引擎应该可以从标题和标题中知道页面的内容。只需确保RSS等内容不在标题、粗体或强调标签中。
其次,正如您所提到的,您可能不想使用图像,因为它们没有alt文本,无法被屏幕阅读器访问,如果它们有alt文本或支持文本,则会再次添加关键字。然而,aria live可能会帮助您解决这个问题,但我不是无障碍专家。
选项:
  • Use JavaScript to write that bit of content (maybe ajax it in after load). Search engines like Google can execute JavaScript but I would guess it wont value any JS written content very highly.
  • Re-word the content or remove duplicates of it, one prominent RSS feed link may be better than several smaller ones dotted around the page.
  • Use the css content attribute with pseudo :before or :after to add your content. I'm not sure if bots will index words in content attributes in CSS and know that contents value in relation to each page but it seems unlikely. Putting words like RSS in the CSS basically says it's a style thing not an HTML thing, therefore even if engines to index it they wont add much/any value to it. For example, the HTML and CSS could be:

    <a href="/my-feed.rss" class="add-text"></a>
    
    .add-text:after { content:'View my RSS feed'; }
    
请注意,上述内容在较旧版本的IE中无法正常工作,因此如果您关心这一点,则可能需要添加一些IE版本注释。

我喜欢这种技术,它很干净。 - Lenin Zapata
对于任何对与旧版IE兼容性感兴趣的人,它似乎可以在IE 8 - IE 11上使用:https://caniuse.com/css-gencontent - Roland Pihlakas

4
“googleon”和“googleoff”仅由Google搜索设备支持(当您托管自己的搜索结果时,通常是针对自己的内部网站)。
它们根本不受Google网络搜索的支持。因此,请勿这样做,我认为这不应被标记为正确答案,因为这可能会产生歧义。
现在,要让Google排除页面的一部分,您需要将该内容放置在单独的文件中,例如excluded.html,并使用iframe在主机页面中显示该内容。
iframe标签从另一个文件中获取内容并将其插入主机页面。我认为目前没有其他可用的方法。

2
您唯一可以控制索引机器人的方式,就是通过robots.txt文件。请参考Google在他们解释该文件用法的页面中提供的文档

您基本上可以禁止某些链接和URL,但不一定是关键词。


3
是的,我知道 robots.txt。这已经实施了。俄罗斯搜索引擎提供某些标签,例如<noindex></noindex>,搜索引擎会忽略其中的任何内容。雅虎提供基于类名的一些东西。谷歌有提供什么吗? - Alex

1

除了黑帽服务器端方法之外,你无法做任何事情。你可能想要查看为什么这些词经常出现,并从网站中删除其中一些。

过去,您可以使用JS来“隐藏”东西以避免被Googlebot发现,但现在它解析JS了。(http://www.webmasterworld.com/google/4159807.htm


非常有趣。那么,如果我使用像cufon、Google bot这样的工具进行文本替换,那么它会解析JS,转换文本并忽略它,因为它只是一个画布? - Alex
没有保证,谷歌对机器人的能力和不能做什么都非常保密,因此它可能不起作用。但是,您可以先使用画布而不是让Cufon进行替换。 - Aaron Butacov

1
谷歌爬虫很聪明,但编写它们的人更聪明。人们总是能看到页面中有意义的内容,他们会花时间在一些有好的内容和最罕见独特的博客上。这都是常识,人们如何访问您的博客以及他们花多少时间。谷歌也用同样的方式衡量搜索结果。随着每日访问量的增加和网站内容的改善和每天更新,您的页面排名也会提高。此页面中“Answer”单词重复多次,并不意味着它不会被索引。关键是它对每个人有多有用。希望这能给你一些想法。

这并没有回答问题。 - Sybille Peters

-4

你需要手动从请求的用户代理中检测出“Google Bot”,并向它们提供与正常用户不同的内容。


3
那是可怕的建议。这是让谷歌对你进行惩罚的好方法。 - Aaron Butacov
我不认为情况会那么糟。如果你的网站是基于订阅的,但你仍然希望Google索引内容,该怎么办?我不认为你会被“谷歌惩罚”。 - Chris Diver
1
@Aaron Harun,这不是黑帽SEO,只要您不提供完全不同的内容,它就是完全符合规范的白帽SEO。 - iamgopal
@AaronHarun,这是白帽子。请阅读Christopher的回复以获取更多信息。 - Pacerier

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接