JavaScript对SEO的影响及优化方法

SEO分析及问题

对几个站点的SEO做了分析诊断,最直观的问题就是因为是通过Wordpress实现的。包括前端性能、代码精简等内部优化上都做得很差。尤其是网站JavaScript的使用,JS在SEO优化中是近年越来越重要的问题。无论是异步加载还是增加页面互动,现在的网站几乎无法避免使用JS脚本。JavaScript使用不当的话会对SEO造成非常大的影响。

搜索引擎处理JS

简单说明Google爬取步骤,传统爬取HTML页面时,Google bot下载HTML页面,从源代码中提取URL网址,并快速访问这些URL。然后下载CSS文件,将下载下来的资源送到Google的Indexer,检索页面。而当爬取JavaScript所产生的网站内容时,Google bot下载HTML页面,在源代码中找不到链接,因为JavaScript未被执行。然后下载CSS及JavaScript文件,使用WRS(渲染器,Indexer的一部分)解析、编译并执行JavaScript,从外部API、资料库获取资料,Indexer可以索引内容。最后,Google发现新的链接,并将其加入爬取排队队伍之中。

重要链接不要用JS

搜索引擎爬行、抓取页面是靠跟踪链接的。如果重要链接需要运行JS脚本才能调用或解析出来,那搜索引擎就可能无法跟踪。不是说链接就不能用JS调用,甚至很多时候,网站的公共底部部分会通过js实现,但重要的、想被收录的页面至少还要有最普通的格式链接提供抓取入口。

慎用按需加载、瀑布流

图片按需加载,甚至文字内容按需加载,是很多网站经常使用的方法,在一定程度上有利于提高页面速度。但要注意,用JS实现按需加载时,是否需要用户互动才能加载,比如点击"更多"链接,或者向下拉页面,搜索引擎蜘蛛是不会做这些动作的,所以就可能看不到按需加载后的内容。无论按需加载的是更多本页内容,还是更多其他页面列表,都可能造成爬行、索引问题。列表页面使用瀑布流也是很多网站的选择,用户已经习惯,根源上是学习社交媒体的展示。但是,社交媒体网站经常是主动屏蔽搜索引擎的,不想让搜索引擎索引。如果你的网站内容想被充分索引,尽量避免使用瀑布流,如果使用瀑布流,要设计提供搜索引擎可以跟踪链接的其他入口。

网页打开和响应速度

通常使用JS会拖慢页面打开和响应速度。下载JS文件还不算太大问题,主要是浏览器执行JS有可能会很耗费设备资源,JS可能会执行好几秒钟,可能会造成脚本阻塞,这对用户来说是相当糟糕的体验。所以,尽量删除执行时间过长的JS,执行超过1-2秒的脚本需要慎重考虑。尽量合并JS脚本,减少