代码之家  ›  专栏  ›  技术社区  ›  Alex

有没有办法让机器人忽略某些文本?

  •  25
  • Alex  · 技术社区  · 14 年前

    我有我的博客(如果你愿意,你可以从我的个人资料中看到),它很新鲜,还有谷歌机器人的解析结果。

    结果令我震惊。显然,我网站上最常见的两个词是“rss”和“feed”,因为我使用文本作为链接,如“comments rss”、“post feed”等。这两个词将出现在每一篇文章中,而其他词将更罕见。

    有没有办法让这些链接从谷歌的解析中消失?我不希望技术链接被索引。我只希望内容、标题和描述被索引。我要找的不是用图像替换文本。

    早在2007年,我就在谷歌上发现了一些旧的讨论(我想在3年内,很多事情都可能发生变化,希望也是这样)。

    这个问题不是关于robots.txt以及如何让谷歌忽略页面。它是要让它忽略页面的小部分,或者以一种人类可以看到和机器人看不到的方式转换这些部分。

    9 回复  |  直到 6 年前
        1
  •  15
  •   mgraph    10 年前

    有一种简单的方法可以告诉Google不要索引部分文档,那就是使用 googleon googleoff :

    <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 _157;参数,可设置为以下任一项:

    • 指数 __包围的__ googleoff: index _157;将不被索引 谷歌

      anchor __内任何链接的锚定文本 googleoff: anchor 艾氏面积 不会与目标页关联

      snippet __包围的__ googleoff: snippet _157;将不使用 为搜索结果创建代码段

      all __包围的__ googleoff: all _

    source

        2
  •  8
  •   Christopher Pickslay    14 年前

    我在一个谷歌排名前三的网站上工作,在美国有成千上万的学校名,我们做了很多工作来保护我们的SEO。你可以做三件主要的事情(都可能是浪费时间,继续阅读):

    • 把你想淡化的东西移到HTML的底部,使用CSS和/或把它放在你想让读者看到的地方。这不会对爬虫者隐藏它,但他们会低估它的价值。
    • 用图片替换那些链接(你说你不想这样做,但不解释为什么不这样做)
    • 为爬虫提供不同的页面,去掉这些链接。只要内容与浏览器所看到的基本相同,这就没有什么黑帽子可言了。如果你提供的页面与用户看到的页面有很大的不同,搜索引擎会叮嘱你,但是如果你从页面爬行器索引版本中删除了RSS链接,你就不会有问题。

    也就是说,爬虫是聪明的,你不是唯一一个充满了永久链接和RSS链接的网站。他们关心上下文,在标题和正文中查找术语和短语。他们知道如何确定你的博客是关于技术而不是RSS的。我非常怀疑这些链接对你的搜索引擎优化有任何负面影响。你到底想解决什么问题?

    如果你想建立SEO,找出你提供给读者的价值,并写下它。说一些有趣的事情,引导别人链接到你的博客,爬虫会理解你是一个信息源,人们重视。多想想你的读者所看到和理解的,少想想你所看到和理解的。 认为 爬虫看见了。

        3
  •  1
  •   JYelton Melchior Blausand    14 年前

    您对索引机器人的唯一控制是robots.txt文件。见 this documentation ,通过google on链接 their page explaining the usage of the file .

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

        4
  •  1
  •   Aaron Butacov    14 年前

    除了黑帽服务器端方法之外,您什么都做不了。你可能想看看为什么你经常使用这些词,然后把它们从网站上删除。

    过去你可以使用JS来“隐藏”GoogleBot的东西,但现在你不能解析JS了。( http://www.webmasterworld.com/google/4159807.htm )

        5
  •  1
  •   Dan Knight    11 年前

    首先考虑这个问题。如果谷歌认为“rss”是主要的关键词,这可能意味着你的其他内容有点肤浅,需要扩展。也许这应该是你关注的焦点。如果你的其他内容很丰富,我不会担心这个问题,因为搜索引擎应该从标题和标题中知道页面是关于什么的。只需确保RSS等不在标题、粗体或强标记中。

    其次,正如您正确地提到的,您可能不希望使用图像,因为没有alt文本的屏幕阅读器无法评估它们,如果它们有alt文本或支持文本,那么您可以重新添加关键字。不过,aria live可能会帮助您解决这个问题,但我不是无障碍性专家。

    选项 :

    • 使用javascript来编写这部分内容(可能在加载后使用ajax)。像谷歌这样的搜索引擎可以执行javascript,但我想它不会对任何JS编写的内容有很高的价值。
    • 重新修改内容或删除内容的副本,一个突出的RSS提要链接可能比在页面上散布的几个较小的链接要好。
    • 使用带有pseudo:before或:after的css content属性添加内容。我不确定bots是否会为CSS中的内容属性中的单词编制索引,并知道内容相对于每个页面的价值,但似乎不太可能。把rss这样的词放在css中,基本上说它是一种样式,而不是HTML,因此即使引擎对其进行索引,也不会给它增加太多/任何价值。例如,HTML和CSS可以是:

      <a href="/my-feed.rss" class="add-text"></a>
      
      .add-text:after { content:'View my RSS feed'; }
      

    请注意,上述内容在旧版本的IE中不起作用,因此如果您对此感兴趣,可能需要一些IE版本注释。

        6
  •  1
  •   Usman Ahmad    10 年前

    谷歌爬虫是聪明的,但编程的人是最聪明的。人类总是在网页上看到有意义的东西,他们会花时间在博客上,这些博客有一些很好的内容,而且是最罕见和独特的。 这都是常识,人们如何访问你的博客,他们花了多少时间。谷歌用同样的方法测量搜索结果。你的页面排名也会随着每日访问量的增加和网站内容的改善而增加,并且每天都在更新。 此页有多次重复的“答案”字。这并不意味着它不会被索引。它是对每一个人有多有用。 我希望它能给你一些建议

        7
  •  0
  •   Charles    14 年前

    不,真的没有那样的东西。有各种各样的服务器端技术,但是如果谷歌发现你向它的机器人提供的文本与你给网站访问者的不同,它会惩罚你。

        8
  •  0
  •   VishalQuery    6 年前

    “googleon”和“googleoff”只有google搜索设备支持(当您托管自己的搜索结果时,通常是为您自己的内部网站)。

    谷歌的网络搜索根本不支持它们。所以请不要这样做,我认为这不应该被标记为一个正确的答案,因为这可能会造成歧义。

    现在,要让Google排除部分页面,您需要将该内容放在单独的文件中,如excluded.html,并使用iframe在宿主页面中显示该内容。

    iframe标记从另一个文件中获取内容并将其插入主机页。我想到目前为止还没有其他可行的方法。

        9
  •  -1
  •   iamgopal    14 年前

    您必须从请求的用户代理手动检测“google bot”,并向他们提供与您通常为用户提供的内容稍有不同的内容。