当前位置: 首页 > 图文教程 > 网站运营 > 网站优化 > Google蜘蛛爬虫运行网页中的JS脚本和CSS样式

网站优化
搞好seo内部链接是第一步
个人网站 站外链接的几个方法
Google Ad Planner的数据来源的简单分析
Matt Cutts 谈外部链接
内部资料:抄袭重复内容对网站排名的影响
SEO网站优化的5要数据
搜索引擎与中彩票的关系
搜索引擎优化,网站内容是重中之重
Google定义隐藏页面
SEO要细心分析统计数据 合理优化网站页面
网站被降权的站长们,你的网站是否恢复了排名?
Alexa排名系统进行了一次完美的切换
谈谈近期研究SEO的一点经验心得
五个小窍门让你创作出有利于SEO的文章
百度何时会给你开罚单 网站被降权
新站提前被百度收录需要注意的几点
百度优化之如何有效利用智能匹配
Google工程师 讲述网页搜索排名背后的技术
B2C网站卓越、当当成功利用SEM进行品牌推广
谷歌:哪些Flash文件和里面的内容能被更好的索引

网站优化 中的 Google蜘蛛爬虫运行网页中的JS脚本和CSS样式


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-03   浏览: 359 ::
收藏到网摘: n/a

旧观念

在我的既有观念中,搜索引擎的网页爬虫/蜘蛛/机器人(Crawler/Spider/Robot)只抓取页面的 HTML 代码,对于内部或外部的 JS 与 CSS 代码是一律无视的。所以我们也经常会说,Ajax 不利于搜索引擎的抓取,不利于 SEO。

因为在我们看来,搜索引擎爬虫毕竟不是功能强大的浏览器,它无法运行 JS,也无法渲染 CSS。那些五彩缤纷的页面,在爬虫眼中不过是纯粹的文本流(或包含了结构标记的文本信息流)而已。

然而,近期看到的两则关于 Google 的新闻,彻底颠覆了我对搜索引擎爬虫的认知。

新闻一

一段来自 Google 资深工程师 Matt Cutts 的视频震惊了我。Matt 告诫我们,不仅文本与背景同色、字体大小设置为 0、用 CSS 隐藏文字等等这些伎俩已经是小儿科了,而且 Google 现在还可以识别通过 JS 来隐藏文字的作弊方法。

在视频中,一段隐晦的 JS 代码将某元素的 .style.display 属性设置为 'none',试图隐藏那些只打算提供给搜索引擎、而不展示给用户的文字。Matt 表示,这种作弊方式现在已经瞒不了 Google 了。

新闻二

新闻二更加恐怖,据说 Google 可以抓取 Ajax 内容!该文表示,给 URL 的 hash 部分加上特定的标识符(即 domain.com/#abc 改为 domain.com/#!abc),会让 Googlebot 领悟到该 URL 是一个 Ajax 页面(而非页面中的锚点),并进行抓取。

你可能对 Google 的这一技术改进没多少兴趣,但你肯定注意到了问题的本质:Googlebot 可以抓取 Ajax 内容,也就是说,Googlebot 完全有能力运行页面中的 JS,而且功能完善!

爬虫与浏览器

如果这两则新闻都是真的,那么,从某种意义上说,爬虫的行为和能力已经与浏览器越来越接近了。这也意味着,搜索引擎爬虫将抓取更多的内容(包括 JS 和 CSS 文件),网站的流量负载将会加大。

另一方面,爬虫在抓取页面的过程中也将产生更多的资源消耗——毕意仅仅处理文本信息的资源开销要远远小于完整地渲染页面和运行客户端程序。

因此,我目前仍然对这两则新闻半信半疑。难道这是 Google 放出的烟幕弹?或者是好事者炮制的假新闻?如果 Googlebot 真的已经具备了运行 JS 或渲染 CSS 的能力,那么为了将资源开销控制在合理的范围内,或许 Google 会在内部启用黑/白名单机制?

站长们

如果担心爬虫对主机流量的侵蚀,或许可以考虑在 robots.txt 文件中禁止爬虫对 *.js*.css 文件的抓取。不过暂不确定这样做是否存在不良的副作用。

或许也有人会担心,正常的页面布局有时候也需要使用一些隐藏文字的手段,比如 【CSS 图代文】、【隐藏模块的 hx 标识信息】等等。这样会不会被 Google 判定为作弊呢?

我相信对于像 Google 这样“聪明”的搜索引擎来说,它即然有能力让爬虫运行 JS 和 CSS,它也必然有能力来判断什么是作弊、什么是正常的布局需要。所以我觉得站长们大可不必惊慌,平常该怎样就怎样,身正不怕影斜,规则总是用来约束那些“不法之徒”的。

所以,对于某些 SEOer 来说,这似乎是个坏消息。如果他们还在考虑是否还有新的作弊方案,那么我觉得意义不大。很显然,SEO 作弊手段的生存空间将越来越小,与此同时,网站自身内容的价值才是 SEO 的真实基础。