robots.txt限制搜索引擎为隐私索引指定的关键字

时间:2009-11-27 04:48:41

标签: search-engine privacy robots.txt

我有一个大型的个人名录目录,以及我希望在搜索引擎中尽可能索引的通用公共可用和类别特定信息。在网站上列出这些名称并不是人们关注的问题,但有些人不希望在他们自己“谷歌”时出现在搜索结果中。

我们希望继续在页面中列出这些名称并仍然为页面编制索引但不在搜索引擎中索引指定的名称或关键字。

这可以逐页完成,还是设置两个页面可以更好地解决这个问题:

可用选项:

    如果user-agent = robot / search engine ,
  • PHP 可以审核关键字
  • htaccess 将机器人限制为非审查内容,但允许使用第二个审查版本
  • 元标记定义不进行索引的单词?
  • JavaScript 可以隐藏机器人中的关键字,但可以隐藏

3 个答案:

答案 0 :(得分:1)

我将通过选项告诉你一些我能看到的问题:

PHP:如果您不介意信任user agent,这将很有效。我不确定一些搜索引擎会如何对他们的机器人显示的不同内容做出反应。

htaccess:您可能需要将机器人重定向到其他页面。您可以使用url参数,但这与使用纯PHP解决方案没有什么不同。机器人会将重定向到的页面编入索引而不是您要访问的页面。您可以使用重写引擎来实现此目的。

元标记:即使您可以使用元标记让机器人忽略某些单词,也不能保证搜索引擎不会忽略它,因为没有设置“标准”对于元标记。但这并不重要,因为我不会让机器人使用元标记忽略某些单词或短语。

JavaScript:没有机器人我曾经听说过在查看某个页面时执行(甚至读取)JavaScript,所以我认为这不起作用。您可以使用JavaScript向用户显示您想要隐藏的内容,机器人将无法看到它,但禁用JavaScript的用户也不会看到。

我会去PHP路线。

答案 1 :(得分:0)

您可以通过添加ROBOTS meta

告诉机器人跳过索引特定页面的索引
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

更新:限制我能想到的特定单词索引的方法是:

  1. 使用JS将这些内容添加到页面中(见下文)。
  2. 将模块添加到服务器,该模块将从呈现的页面中删除这些单词。
  3. JavaScript可能是这样的:

    <p>
      <span id="secretWord">
        <SCRIPT TYPE="text/javascript">
        <!-- 
           document.write('you can protect the word by concating strings/having HEX codes etc')
        //-->
        </script>
      </span>
    </p>
    

    服务器模块可能是最佳选择。在ASP.NET中,它应该相当容易。虽然不确定PHP。

答案 2 :(得分:0)

您的帖子中不清楚的是,您是希望保护您的姓名和关键字免受Google或所有搜索引擎的侵害。谷歌一般表现良好。您可以使用ROBOTS meta tag来阻止对该网页编制索引。但它不会阻止忽略ROBOTS标签的搜索引擎索引您的网站。

您未建议的其他方法:

  • 使用客户端JavaScript获取页面内容。
  • 强制用户在显示文本之前执行CAPTCHA。我推荐使用reCAPTCHA包,它易于使用。

在所有这些中,reCAPTCHA方法可能是最好的方法,因为它也可以防止有害生物的蜘蛛。但这对您的用户来说是最繁重的。