背景: 我的网站允许注册用户上传和分享视频。
在主页上有一个“用户名”和“密码”字段,以便注册用户可以根据需要登录。
此外,在每个视频页面上,都有用于选择比特率和 Flash 播放器的文本链接。
(有关两者的示例,请参见http://videoflier.com/和http://videoflier.com/movies/1360488842878341996730。)
或在谷歌上搜索“site:videoflier.com”来看看我在说什么。
我的问题: 当谷歌或任何搜索引擎索引它时,他们当然会看到登录文本和设置视频比特率的链接(看起来像“190 234 [698] 1247 kbps | osflv [jwplayer] flowplayer”)
(在谷歌搜索“site:videoflier.com”以查看示例。)
它看起来像这样:
纸板飞机 videoflier.com/movies/1352509017371554759177 纸板飞机 作者 jesseg 190 234 [698] kbps | osflv jwplayer [flowplayer] 这是用纸板和胶带制成的模型飞机。它配备了遥控...
(请注意比特率和播放器选择看起来如何丑陋和浪费空间。)
到目前为止,我尝试以干净整洁的方式解决问题 (以及为什么我不喜欢其中任何一个。)
使用图片代替文字:我希望我的网站快速高效,所以如果我不需要,我不想使用图片作为文字。
有一个单独的设置页面:我希望该站点快速且易于使用。
robots.txt:如果搜索引擎无法读取页面,那么它就不会知道如何找到它们!
使用 CGI 隐藏搜索机器人的东西这是我所拥有的最好的想法 - 但我真的不想做一个肮脏的 hack,而且我的 CGI 似乎没有通用的方法来识别机器人。谷歌自己使用了几个不同的用户代理字符串,实际上没有一个包含“机器人”这个词。大多数包含“Googlebot”但不是全部。谁知道其他搜索引擎使用什么。
当然,我理解(谷歌也做出了这样的声明)为什么他们使用看起来像普通网络浏览器的代理字符串——因为不诚实的人试图向搜索引擎发送完全不同的内容来进行广告欺诈。
但我真的不想必须运行一个不断变化的黑名单来尝试识别所有可能的搜索引擎。听起来太像打击垃圾邮件了。此外,我只是想隐藏登录和比特率列表,以便搜索结果更易于阅读。
javascript: Javascript 会带来自己的问题(浏览器兼容性问题、可访问性等)。当它是完成这项工作的最佳工具时,我会使用它,但当我可以拥有它时,我真的很喜欢纯净的 HTML。
在一个理想的世界里:我希望我有一个类似于 <NOBOT>username:password:</NOBOT> 的 HTML 标签——但据我所知,什么都不存在。理想情况下,这个虚构的标签也会阻止搜索引擎返回基于隐藏项目的结果。将“密码”这个词输入谷歌的人肯定不是试图找到我的网站——然而谷歌可能会仅仅因为它上面有一个登录字段而返回它。
架构.org?我最初对 schema.org 抱有希望,因为它允许在 HTML 的范围内指定数据类型。不幸的是,据我所知,它的所有类别和事物都是针对以下事物的:它似乎没有“忽略”或“管理对象”选项。
也许更全面的答案是将 schema.org 广泛用于其他所有内容,以便搜索引擎已经知道从哪里获取他们的作者、描述和标题文本,然后他们可能会跳过管理控制链接。
非常感谢,
杰西·戈登