JavaScript重定向会导致不需要的搜索引擎结果

JavaScript redirect causes undesired search engine results

本文关键字:搜索引擎 结果 不需要 重定向 JavaScript      更新时间:2023-09-26

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

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

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

首先,您应该使用robots.txt告诉搜索引擎您不想列出的页面:

  • http://www.google.com/support/webmasters/bin/answer.py?answer=156449

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

  • http://www.google.com/support/webmasters/bin/answer.py?answer=156184

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

  • http://www.useragentstring.com/pages/Crawlerlist/

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

function upgradeRedirect() {
 if (navigator.userAgent.indexOf("http://www.google.com/bot.html") != -1) return;
 document.location.href = 'upgrade.html';
}

这实际上取决于您向Googlebot提供的内容,给定他们正在抓取的用户代理。也许更好的策略是使用常规标题标签等加载常规内容,然后在页面上弹出一个模式对话框,如果用户不支持html5,并提供一些下载html5浏览器的链接。这样,您的列表仍然会像 site:http://html5beats.com/一样。顺便说一句 - 我真的很喜欢你的网站/想法。