JavaScript在SEO中是一个很头疼的问题,一方面我们在网页制作中需要使用JavaScript来实现绚丽的特效,而一方面 JavaScript又会对搜索引擎的抓取分析造成不好的影响。Google的官方文档中很清楚的说明,如果在html中过多的使用 JavaScript、Cookie、会话 ID、框架、DHTML 或 Flash 等复杂功能会使搜索引擎抓取工具在抓取网站时可能会遇到问题。
不仅是Google,yahoo在官方文档中也有类似的强调:
尽量使用搜索引擎能够识别的文本信息,避免过多的JavaScript、Cookie、框架、DHTML 或 Flash 等复杂技术。
百度虽然没有明确的说明,但是经过大量的实践,百度也是无法对JavaScript进行识别的。
这样就造成了一个问题,网页中过多的JavaScript代码无疑是对搜索引擎分析网页内容增加难度,如果网页中的链接也是有不少JavaScript组成的话,那么搜索引擎甚至无法顺着链接去抓取网页。
这样的话,过多的使用JavaScript就造成了以下的影响:
1、对搜索引擎分析网页内容造成了干扰。2、影响关键词密度。3、严重妨碍搜索引擎抓取网页。4、影响由链接产生的网页权重分布,这一点在PageRank上通常会有体现。
对抓取和链接权重所造成的影响,还可以用外链来弥补,但是第一第二点却是不容易挽救的。
如何在不影响网页效果而又对搜索引擎友好的前提下使用JavaScript,从而不影响SEO效果呢?
1、绝对避免导航及其他链接使用JavaScript。导航和链接是搜索引擎抓取网页的赖以生存之本,如果搜索引擎无法抓取网页,则代表了网页不会出现在索引结果中,也就无从谈起排名了。
2、尽量避免对内容使用JavaScript。尤其是与关键词相关部分的内容,应该尽量避免使用JavaScript来展现,否则毫无疑问是要降低关键词密度的。
3、实在需要使用JavaScript的部分,将这部分JavaScript脚本放在一个或几个.js文件中,这样能够避免干扰到搜索引擎的抓取和分析。
4、实在不能放在.js文件中的部分JavaScript脚本,将它们放在html代码的底端,</body之前,这样使搜索引擎分析网页时最后才会发现它,降低对搜索引擎的干扰。
以上的一些方法是消除JavaScript对搜索引擎的不利影响。其实反过来说,一个事物通常有利也有弊。JavaScript的使用也是这样,不一定使用 JavaScript就一定是不好的,在一定程度上去利用JavaScript,反而对SEO有很好的作用,也就是正面的作用。
我们有说到搜索引擎无法对JavaScript进行识别(虽然Google目前做到了对少量简单的JavaScript代码做出辨别,但那也应该只是 Document write之类的简单代码)。
那么换一个角度来说,我们完全可以利用JavaScript来过滤一些垃圾信息。
何谓垃圾信息?从SEO的角度来说就是不仅对搜索引擎抓取分析没用,还会对关键词密度造成干扰等不利的信息。通常这些“垃圾”信息包括:广告、版权申明、大量导出链接、与内容不相关的信息等等。我们可以将这些垃圾信息通通扔进一个或数个.js文件中,从而降低对页面实质内容的干扰,提高关键词密度,向搜索引擎展示页面内容的核心。