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

网站优化
谈目前SEO资料的时效性、正确性与实用性
关于Flash网站的SEO优化
网站如何合理有效的增加外部链接
音乐优化的方法策略
网站内部结构如何优化?
一年前被K的域名还有的救吗?
网站优化方案首先是合理布局首页
做Google也可以5W ip一天 教你摆脱百度
GG AD:为有内容的网站创建良好的用户体验
真实与猜想:探讨搜索引擎的秘密
五个影响关键词优化的因素
频繁换网站主题模板对SEO有什么影响?
搜索引擎优化(SEO)的最高境界是什么?
搜索引擎优化的五大技术难题
二级目录与二级域名优化对比
教你检查网站外链的几个好方法
网站改版,SEOER你该注意些什么
巧用seo获得上万流量的偏门技巧
王通:泡泡网的疯狂SEO分析
如何解决搜索引擎中遇到一些负面影响

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-03   浏览: 338 ::
收藏到网摘: 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 的真实基础。