【问题标题】:How can I hide certain text from search engines?如何从搜索引擎中隐藏某些文本?
【发布时间】:2011-07-05 20:23:45
【问题描述】:

在我的 WordPress 博客中,我在每个帖子上都有“发布 ? 几天前”。我的主页上有 10 个帖子。所以根据大多数关键词分析工具,“几天前”是我博客上的热门关键词,但我不希望它是。如何在搜索引擎中隐藏这些词?

我不想使用 Javascript。我可以轻松地使用 PHP 和 $_SERVER 变量,但我担心我可能会因为伪装而受到惩罚。是否有我可以使用的 HTML 标记或 rel="nofollow" 之类的属性?

【问题讨论】:

  • 这可能有助于检查您博客的 HTML 源代码。你能提供一个链接吗?我只是想确保您在 <h2> 中没有这些词或一些愚蠢的东西。
  • 我投票结束这个问题,因为它是关于 SEO(并且缺乏很多必要的细节),这是 Stack Overflow 的一个离题主题。

标签: search search-engine


【解决方案1】:

来自Is there any way to have search engines not index a certain section of a page?

假设你可以添加类 robots-nocontent 到你的元素 页面,如下所示:

<div class="robots-nocontent">

    <p>Ignore this stuff.</p>

</div>

Yahoo respects this,虽然我 不知道其他搜索引擎有没有 尊重这一点。此时出现Google is not supporting this。 我怀疑您是否通过以下方式加载内容 ajax 你会得到同样的效果 它不在页面上。

没有通用的方法可以做到这一点,并且 我个人不会打扰它。 搜索引擎非常擅长 识别相关内容 页面,即使该内容 可能会出现在关键字中 搜索引擎找到了,没有 意味着它将使页面 与这些关键字相关。

如果您有一个关于“鱼”的页面和 关于“狗”的页面(有链接 到某处关于“鱼”的页面 侧边栏),搜索引擎将 一般能够认出 关于“鱼”的页面更多 与“鱼”相关的比页面 关于“狗”中提到“鱼”的 侧边栏。两者都有可能 页面可能会在某个时候找到, 但通常考虑到主要是一个 该网站的页面显示在 搜索结果,那不是东西 值得担心。

没有必要为此花哨, 搜索引擎很可能只是 如果您尝试(例如,如果 你使用 JavaScript 来隐藏 内容,你永远不知道什么时候搜索 引擎将开始发现 内容不管)。同样,使用 带有 robots.txt 的 iframe 不允许或 AJAX 会经常降低 向用户展示的页面质量(慢 将其降低或使其不那么可用 各种设备),所以除非有 是一个非常非常有力且经过验证的理由 你需要这样做,我会 强烈建议不要打扰 它。

【讨论】:

    【解决方案2】:

    我在wiki 上发现了什么:

    对于Yandex

    <!--noindex-->Don't index this text.<!--/noindex-->
    

    对于Yahoo

    <div class="robots-nocontent">Don't index this text.</div>
    

    对于Google

    <!--googleoff: index--> Don't index this text.<!--googleon: index-->
    

    【讨论】:

    【解决方案3】:

    Linksku,我很确定您不应该担心那段特定的文字。我们的算法在检测样板文本方面做得相对较好。据我从你的问题可以看出,这段文字是样板文件,我们可能已经知道了。

    至于检测 Googlebot 并且不为其提供此文本,您是对的,那将是伪装,您永远不应该这样做。在这种情况下,如果您向我们隐藏该文本,我们也将很难检测到它的样板文件,而您最终会做您想要避免的事情:)

    【讨论】:

    • 您的回答就像在为 Google 工作一样。我们正在使用标准。作为 Stunden 的缩写(这意味着德语中的 Hours)……它是我们网站的热门关键字之一 :(
    • 热门关键词在哪里?你真的在你的网站上排名吗?
    • Google Web Master 工具中有一个概述,它在那里最相关。可能谷歌并没有像其他缩写那样过滤它,因为它也是性传播疾病的缩写。我们目前正在尝试将其包装在一个缩写标签中,并以完整的单词作为标题,并使其更难用隐藏的空格进行解析。当我回到我的电脑时,我可以给你一个截图......
    • 如果您在谈论“关键字”功能,那只是我们获得的网站的基本视图。它对于检测黑客特别有用;例如,如果您在其中看到关键字“伟哥”,但您的网站上不应该出现该关键字,那么这是拥有(或奇怪的 ugc)的好兆头。查看我们看到的关键字和短语的更好方法是搜索分析功能。这可以让您清楚地了解用户如何通过搜索获得您的肯定。
    【解决方案4】:

    我解决了这个问题并将其发布在:http://www.scivillage.com/thread-2580.html

    这应该可行,但我们将不胜感激对其进行更多测试和反馈。

       .x:before{
          content:attr(title);
          display:inline;
       }
    			
    <ul>
      <li><a href="#"><span class="x" title="Homepage"></span></a></li>
      <li><a href="#"><span class="x" title="Contact" /></a></li>
    </ul>

    (我保持类名简短以减少标记蠕变)

    搜索引擎在查找关键字时应该忽略具有空值的 HTML 标签,这应该意味着它会忽略标题属性中写入的内容。 (它假设值是最重要的,如果它是空的,那么检查属性是没有意义的)

    有人建议,由于降低了严格性,可以否定在 HTML5 中使用结束标签,但是有反对建议仍然需要结束标签。

    我建议不要直接在(锚)标签上使用它,因为它们可以用于站点地图(使用#),所以这意味着他们希望标题被蜘蛛化。

    虽然它可能假设任何标题内容都存在通过隐藏元素来膨胀关键字,但我无法确认这一点。

    【讨论】:

      【解决方案5】:

      HTML:

      <div class="hasHiddenText">_</div>
      

      在带有隐藏文本的元素之间留下一个非空白字符是很重要的。

      外部 CSS:

      .hasHiddenText{
      content: "Your hidden text here...";
      /*This ovewrites the default content of the div but it isn't supported by all browsers.*/
      }
      .hasHiddenText::before{
      content: " Your hidden text here...";
      /*Places a hidden text above the div.*/
      }
      

      “隐藏文本”涉及对所有搜索引擎隐藏但对访问者可见的内容。
      您还可以通过使用 \uXXXX 转义来使用下一行和各种 Unicode 字符。要正确显示换行符,请务必添加

      white-space:pre-line;  
      

      财产。

      【讨论】:

        【解决方案6】:

        要从 Google 搜索结果中排除特定文本,您可以添加 data-nosnippet 属性。

        https://developers.google.com/search/reference/robots_meta_tag#data-nosnippet-attr

        来自谷歌documentation

        您还可以使用 data-nosn-p 防止页面文本内容的某些部分显示在 sn-p 中。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-10-23
          • 2021-11-09
          • 2010-09-13
          • 1970-01-01
          • 2011-01-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多