是否可以使用javascript优化导航系统,但是为了搜索引擎,超链接仍然可以抓取?
或者只有在浏览器中未启用javascript或搜索引擎抓取时才调用HTML代码的条件语句?
答案 0 :(得分:4)
你所描述的将以不引人注目的javascript为特征。
看到; http://en.wikipedia.org/wiki/Unobtrusive_JavaScript
您可以通过关闭javascript的搜索引擎和用户以最具语义搜索引擎优化的方式编写您的HTML,然后单独添加您的脚本以添加您的铃声和口哨声。
jQuery这样的框架通常很有用。
例如;
<a href="/about" id="about">About</a>
可以通过包含;
的外部javascript文件获得另一个功能$("#about").click( function() {
//fancy code here
return false;
});
会阻止用户进入/关闭并执行给定的javascript。
基本上这与你的建议相反;相反,javascript仅在可用于增强现有html时使用。
答案 1 :(得分:1)
不确定。除了对SEO有利之外,这种方法对于残障用户来说也更容易获得;如果你工作或者可能有一天在政府或高等教育中工作,你需要知道可访问性,但实际上每个人都应该记住这个问题。
Google“渐进式增强”了解更多信息;这是一个good article。
基本上,您希望创建自己的网站,就像使用普通链接导航一样,然后添加javascript事件处理程序来劫持通常会触发导航的点击。
答案 2 :(得分:0)
如果禁用javascript,则触发事件并不容易,因为运行任何客户端都使用javascript。我为我的网站做的是使用静态html链接,然后使用javascript来改变按下这些链接时发生的情况。
通过这种方式,您可以在某个地方拥有一个链接,该链接仍然可以抓取,并且如果禁用了javascript则可以正常工作,但如果启用了javascript,请使用AJAX方法重新加载部分页面。
答案 3 :(得分:0)
例如,suckerfish是基于嵌套HTML列表的下拉菜单,变为水平菜单。它看起来很干净,并且具有完全可抓取的链接。通常,最好生成HTML然后使用渐进增强功能通过JavaScript将HTML转换为好的东西。
另一方面,如果您生成JavaScript导航,例如作为JSON对象,则应该很容易为Google生成XML sitemap。
“优化”是什么意思?优化速度因为您的导航树很大并且会产生不必要的HTML流量?然后,您应该通过JavaScript和Ajax调用生成导航,以减少加载时间并为搜索引擎提供站点地图。如果你的意思是“漂亮”,那就使用渐进式增强功能。
答案 4 :(得分:0)
基本上主要的是在你的href标签中添加真实的网址,以及一个取消默认的onclick even处理程序。