【发布时间】:2012-11-15 06:51:55
【问题描述】:
我注意到 Pinterest 和其他一些网站允许用户选择是否不希望自己的名字被搜索引擎索引。我想在我们的网站上做类似的事情。本质上,我想允许用户在有人在 Google/etc 上搜索他们的名字时,他们的留言板上的 cmets 不会出现。
不确定是否相关,但我们正在使用 Ruby on Rails。
谢谢,
【问题讨论】:
标签: html seo hide search-engine
我注意到 Pinterest 和其他一些网站允许用户选择是否不希望自己的名字被搜索引擎索引。我想在我们的网站上做类似的事情。本质上,我想允许用户在有人在 Google/etc 上搜索他们的名字时,他们的留言板上的 cmets 不会出现。
不确定是否相关,但我们正在使用 Ruby on Rails。
谢谢,
【问题讨论】:
标签: html seo hide search-engine
没有标准的方法告诉搜索引擎一个页面应该只被部分索引。您可以禁止索引(noindex 值用于 meta-robots 元素或 HTTP 标头X-Robots-Tag)或抓取(robots.txt 文件中的Disallow)整个页面,但不是特定部分。
一个例外是从外部源包含的内容本身被阻止抓取(例如,iframe 元素)。
当然,您可以使用一些“技巧”,例如利用搜索引擎无法(或不想)索引使用 JavaScript 插入的某些元素或内容的优势。但这可能随时中断。搜索引擎会变得更好,将来可能会开始为此类内容编制索引。
可能的解决方案(但没有权衡):
权限系统:使这些特定用户的帖子只有注册用户才能阅读,因此搜索引擎根本看不到它们。权衡:如果用户(不允许将其内容/名称编入索引)引用此类受限帖子的文本,则它会再次出现在搜索索引中。
当这样的特定用户在那里发布时,不允许对整个页面进行索引。权衡:此线程没有搜索引擎结果
匿名化这些特定用户的名称。取舍:社区可能会受到影响。
一般来说,我会尽量避免实现这样的功能(或至少不依赖它)。 或者它是一个公共板,或者它是一个私人板。如果需要,我只允许线程启动器使用它。当用户创建一个新线程时,他可以选择它是私有线程还是公共线程。如果是私有线程,则整个页面将获得noindex(或更好:权限限制)。所有其他用户都会被告知他们是在私人线程还是公共线程上发帖。所以如果有人想保持“私密”,他只会在私密线程中发帖。
【讨论】:
使用服务器根目录中的robots.txt 告诉机器人是否要索引您的网站。 http://www.robotstxt.org
如果您只想隐藏网站的一部分,可以使用googleon 和googleoff 标签,如下:http://perishablepress.com/tell-google-to-not-index-certain-parts-of-your-page/
还请记住,robots.txt 只是机器人的指南。它不会在物理上禁止他们或任何人进入您的网站。
【讨论】:
googleon/googleoff 不适用于通常的 Google bot/search。这是only for Google Search Appliance。所以你不能用它来标记你的部分内容不被谷歌索引。