2010-04-27 52 views
1

是否有可能使用JavaScript优化导航系统,但为了搜索引擎,超链接仍然可以被抓取?SEO友好的JavaScript和CSS链接?

或许调用HTML代码,只有当JavaScript是不是在浏览器中启用的条件语句或当被搜索引擎抓取?

回答

0

这并不容易,如果JavaScript被禁用,因为运行任何客户端使用JavaScript来触发事件。我为我的网站做的是使用静态HTML链接,然后使用JavaScript来更改当这些链接被按下时发生的事情。

这样你就可以有一个链接的地方,那就是仍然抓取,如果禁止javascript工作正常,但如果启动Javascript使用AJAX方法重新加载页面的部分。

4

你所描述的将会以不引人注意的javascript为特征。

参见; http://en.wikipedia.org/wiki/Unobtrusive_JavaScript

你写你的HTML在可能的搜索引擎和用户最语义搜索引擎友好的方式关闭JavaScript,然后单独添加脚本添加您的花俏。

甲框架如jQuery常常是有用的。

例如;

<a href="/about" id="about">About</a> 

可以通过外部JavaScript文件给出另一个函数,该文件包含;

$("#about").click(function() { 
    //fancy code here 
    return false; 
}); 

这会阻止用户被带到/ about并执行给定的javascript代替。

本质上,这是你的建议的反面;相反,只有在可用于增强现有html的情况下才会使用javascript。

1

当然。除了对搜索引擎友好以外,这种方法对残疾用户来说也更容易获得;如果你工作或者有一天可能在政府或高等教育工作,你需要了解无障碍环境,但实际上每个人都应该牢记这个问题。

谷歌“渐进式增强”了解更多信息;这里是一个good article

基本上你想创建你的网站,就好像它是使用正常的链接导航,然后添加JavaScript事件处理程序劫持通常会触发导航的点击次数。

0

suckerfish例如,是下拉基于嵌套HTML列表的菜单,变为水平的菜单。它看起来不错,干净,并有完全可抓取的链接。一般来说,最好生成HTML,然后使用渐进式增强功能,通过JavaScript将HTML变成漂亮的东西。

另一方面,如果您生成JavaScript导航,例如作为JSON对象,则应该很容易为Google生成XML sitemap

你是什么意思的“优化”?针对速度进行了优化,因为您的导航树很大,会产生不必要的HTML流量?然后,您应该通过JavaScript和Ajax调用生成导航,以减少加载时间并为搜索引擎提供站点地图。如果你的意思是“漂亮”,那么使用渐进增强。

0

基本上主要的事情是在你的href标签中添加真实的URL,以及一个onclick甚至处理程序来取消默认。