蜘蛛会抓取识别JS、CSS、JSON,对SEO有什么影响

自媒体 投稿&转载 1674浏览

这是一个存在多年、经常出现但又从来没有标准解决办法的问题:搜索引擎爬虫(尤其是百度)抓取JS、CSS、JSON文件,robots屏蔽依然抓取的情况。

这就引出了几个问题:

1、爬虫抓取JS、CSS是干什么的?

2、爬虫能否执行JS?

3、爬虫抓取JS对SEO有什么影响?

针对以上问题,我说下自己的看法:

第一个,爬虫抓取CSS,用于判断页面元素的重要程度,及保证快照显示的完整性;抓取JS,用于发现新链接,及判断是否存在作弊的情况

第二个, 会执行JS,但不确定所有的JS是否都会执行。像网上好多人说的“搜索引擎会直接忽略JS、iframe什么的,只抓取纯文本信息”,这从实际情况上站不住脚啊,如果搜索引擎对JS、iframe鸟都不鸟,那内些做黑帽的同学岂不爽死了(不懂为什么爽?请看前两篇关于黑帽的文章,你就懂了!)

第三个,这个不知道。某些情况下,可能会占用抓取配额,不过我经历的几个存在蜘蛛抓取JS的站,流量上并没有什么异常。

说到这,我的现在工作的站在上半年出现过这种情况,百度疯狂的抓json,robots屏蔽各种无效,然而流量上并没有下降等异常状况,本来依我的心理承受能力是根本不会在乎这种情况的┏ (゜ω゜)=☞,但是一查json的抓取比例着实让我菊花一紧,接近40%,是的,你没有看错,40%,假设百度一天抓100万页面,40万都是json这玩意。

然后发现日志中百度的抓取总量跟百度站长工具的抓取频次对不上,几次检查后发现,日志中的抓取总量 = 百度工具的抓取频次 + 日志中json的抓取总量。也就是说,对于百度给出的抓取频次数据,抓取json的部分是没有计算在内的,等于说是附赠的抓取。从这点看,应该对SEO没什么影响,不存在占用抓取配额的问题么,但看抓取比例总是非常蛋疼,还是决定解决下这个情况。

经过排查,发现有些页面包含一个功能:当页面被请求时先判断来访用户是否登录,如果登录则返回该用户历史访问的其他产品,如果未登录,则返回指定的内容。返回的内容转换成一个json文件(没错,就是百度疯狂抓的那个),然后传递到前台的js,js通过解析json文件,将解析json后的数据显示在前端界面。

用的是异步加载,从业务逻辑上看,对该页面的任何访问者,如果不执行这个js,相当于页面没加载完。

json路径是明文写在js里的,也不知道百度是把json的路径识别出来了还是执行js了,反正只要抓了包含这个功能的页面,都会顺带抓对应的json文件。

综上,预定的解决办法有两种:

第一种是直接把这个功能对应的JS删了

第二种是面对搜索引擎访问,不返回这个js。所以蜘蛛根本看不到,也就不会抓了

最后因为这个功能上线多月,但数据表现一直不好,点击率低,直接把这个功能砍了.......然后转天在看日志,json抓取量为0......

 

推荐阅读

js实现内容超出一定高度后折叠 点击展开收起

200px以外的部分内容被隐藏,底部显示蒙版图层和查看全文按钮。类似的效果请见csdn的博客内容页。#渐变{宽度:100%;高度:50px位置:绝对;底部:0;左:0;背景:-moz-linear-gradient;背景:-WebKit-gradie......

JavaScript实现选项卡切换效果

我一直比较喜欢可以切换的标签页,也就是说在同一个位置可以容纳多个容器,也就是可以容纳更多的内容,没有冗余。我认为这是一个不影响用户体验的可扩展SEO项。网上看如何实现,转载参考。//指定DOM元素类名的方法。单击它以添加活动的...

纯css实现轮播和点击切换效果(无JS)

接下来,根据需要设置ul的长度。这里,首先制作三个切换窗口,因此ul的宽度被设置为容器宽度的300%,li是每次切换时显示的子元素,宽度被设置为所显示容器的100%。所有多余的部分都被隐藏起来,这样我们就可以通过修改ul的margin-left属性的......