Google蜘蛛运行网页中JS和CSS样式

关键词: Google 蜘蛛 运行 网页 JS CSS 样式

旧观念

  在我的既有观念中,搜索引擎的网页爬虫/蜘蛛/机器人(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 的真实基础。
来源:http://www.hackhome.com/InfoView/Article_205289.html

评论(0)网络
阅读(55)喜欢(0)不喜欢(0)网站排名及优化