3

我有一个 HTML5 演示站点 ( http://html5beats.com/ ),它使用 JavaScript 来检测某些 HTML5 功能。如果这些功能不存在,我会重定向到“请更改或升级您的浏览器”页面,因为它们对于使网站正常运行至关重要。

问题是一些搜索引擎(特别是谷歌)似乎遵循重定向。这会导致令人讨厌的“您的浏览器不受支持”消息作为我网站的主要搜索结果。

我是否错误地使用了 JavaScript 重定向?我可以做些什么来告诉 Google 和其他搜索引擎哪个页面具有主要站点内容?

4

2 回答 2

3

首先,你应该robots.txt告诉搜索引擎那些你不想列出的页面:

其次,您还可以通过提供站点地图来帮助 Google(和其他搜索引擎)了解您的站点:

第三,您还可以考虑通过navigator.userAgentJavaScript 中的属性捕获 Google bot(和其他网络爬虫)并在这些情况下防止重定向的快速而肮脏的方法:

在最后一种情况下,不要直接比较navigator.userAgent字符串。相反,用于indexOf在用户代理字符串中查找标识 URL,例如:

function upgradeRedirect() {
 if (navigator.userAgent.indexOf("http://www.google.com/bot.html") != -1) return;
 document.location.href = 'upgrade.html';
}
于 2011-05-04T18:40:08.003 回答
1

考虑到他们正在抓取的用户代理,这实际上归结为您为 Googlebot 提供的内容。也许更好的策略是使用常规标题标签等加载常规内容,然后如果用户不支持 html5 并带有一些下载 html5 浏览器的链接,则在页面上弹出模式对话框。这样一来,您的列表对于网站:http://html5beats.com/ 仍然看起来不错。顺便说一句——我真的很喜欢你的网站/想法。

于 2011-05-04T18:43:14.880 回答