1

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

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

这可以逐页完成还是设置两个页面是更好的解决方法:

可用选项:

  • 如果 user-agent=robot/search engine, PHP可以审查关键字
  • htaccess将机器人限制为未经审查的内容,但允许使用第二个审查版本
  • 元标签定义词不索引?
  • JavaScript可以对机器人隐藏关键字,但可以通过其他方式查看
4

3 回答 3

1

我将浏览选项并告诉您一些我可以看到的问题:

PHP:如果你不介意相信user agent这会很好。我不确定某些搜索引擎将如何对为其机器人显示的不同内容做出反应。

htaccess:您可能需要将机器人重定向到不同的页面。您可以使用 url 参数,但这与使用纯 PHP 解决方案没有什么不同。该机器人将索引它重定向到的页面,而不是您希望访问的页面。您也许可以使用重写引擎来解决这个问题。

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

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

我会走PHP路线。

于 2009-11-27T05:23:02.233 回答
0

您可以通过添加ROBOTS meta告诉机器人跳过索引特定页面:

<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">

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

  1. 使用 JS 将它们添加到页面(见下文)。
  2. 将模块添加到将从呈现页面中删除这些单词的服务器。

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。

于 2009-11-27T05:14:04.370 回答
0

从您的帖子中不清楚的是,您是否要保护您的姓名和关键字免受 Google 或所有搜索引擎的侵害。谷歌通常表现良好。您可以使用ROBOTS 元标记来防止该页面被编入索引。但它不会阻止忽略 ROBOTS 标签的搜索引擎将您的网站编入索引。

您没有建议的其他方法:

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

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

于 2010-03-01T16:19:20.310 回答