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

网站优化
怎样选择一个适合SEO的CMS系统
张赟:揭露SEO的主心骨 SEO将不再神秘
网站被搜索引擎惩罚的补救方法
精准快捷 SEO推广网站
详细介绍SEO里面的关键字堆砌
2009年SEO作弊和不合理优化方式认定标准
科学有效设置网站名及描述 让你的排名直上
我@soho:如何选择最佳关键词?
Jerry mont:网站优化千万别玩弄小聪明
站点基本优化六部曲,轻松获得好排名
图片搜索优化进阶
分享网站一天被百度收录经验
一定要看的 WordPress 博客 SEO 指南
新站上线一个月百度收录全跟踪
造成百度收录减少的数种原因
浅谈内部链接在SEO中的重要性
贺励激群:普通企业网站如何做好网站优化
关于最近百度大更新的一些思考
标题的魅力 再说标题党之如何写好标题
SEO:Google算法解析系列之HillTop算法

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


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