我有一个HTML5演示网站(http://html5beats.com/),它使用JavaScript来检测某些HTML5功能。如果不存在这些功能,我会重定向到“请更改或升级您的浏览器”页面,因为它们对于使网站正常运行至关重要。
问题在于某些搜索引擎(特别是Google)似乎遵循重定向。这会导致令人讨厌的“您的浏览器不受支持”消息作为我网站的主要搜索结果。
我是否错误地使用了JavaScript重定向?有什么我可以告诉谷歌和其他搜索引擎哪个页面有主要的网站内容?
答案 0 :(得分:3)
首先,您应该使用robots.txt
告诉搜索引擎那些您不想列出的页面:
其次,您还可以通过提供站点地图来帮助Google(和其他搜索引擎)了解您的网站:
第三,您还可以考虑通过JavaScript中的navigator.userAgent
属性捕获Google僵尸程序(以及其他网络抓取工具)的快速而肮脏的方法,并防止在这些情况下重定向:
在最后一种情况下,不要直接比较navigator.userAgent
字符串。而是使用indexOf
在用户代理字符串中查找标识URL,例如:
function upgradeRedirect() {
if (navigator.userAgent.indexOf("http://www.google.com/bot.html") != -1) return;
document.location.href = 'upgrade.html';
}
答案 1 :(得分:1)
考虑到他们正在抓取的用户代理,它实际上归结为您为Googlebot服务的内容。也许更好的策略是使用常规标题标签等加载常规内容,然后如果用户不支持带有一些链接来下载html5浏览器的html5,则在页面上弹出模式对话框。这样,您的商家信息仍然可以在网站上看到:http://html5beats.com/。顺便说一句 - 我真的很喜欢你的网站/想法。