JavaScript重定向会导致不需要的搜索引擎结果
JavaScript redirect causes undesired search engine results
我有一个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/一样。顺便说一句 - 我真的很喜欢你的网站/想法。
相关文章:
- 奇怪的Javascript结果
- Javascript(jQuery)给了我奇怪的结果
- JSONP请求返回结果,但也触发error_callback
- 如何在chrome扩展中存储数据/结果,以及如何使用setTimeout使其只被调用一次
- Javascript,输出结果后页面不断刷新
- 这是使用html快照和谷歌获取的预期结果吗?SEO/SPA
- 将地理编码结果转换为php变量以发布到mysql数据库
- AngularJS/HTML/Bootstrap元素用于动态搜索结果
- JQuery:向多个匹配结果添加换行符的最简单方法
- 实现一个建立在google.com之上的自定义搜索引擎
- 无法在新窗口中打开 javascript 搜索引擎结果
- 如何从搜索引擎中获取搜索结果
- 搜索引擎结果页Url包括搜索值
- 谷歌搜索引擎的结果出现在正常的产品搜索中
- 在搜索引擎结果的主页url下显示子链接
- 制作一个搜索引擎,并根据搜索频率得到结果
- 带有“本地搜索引擎”的谷歌地图;如何显示所有结果
- 油脂猴子-挑选随机词(s)的搜索引擎结果页
- JavaScript重定向会导致不需要的搜索引擎结果
- 如何创建一个搜索框,在多个选项卡中打开来自不同搜索引擎的多个搜索结果