网站结构优化中的蜘蛛陷阱有哪些?

leixue 搜索引擎优化研究 2012-08-14 09:11:02 阅读(...) 评论(2)

有一些网站设计技术对搜索引擎来说很不友好,不利于蜘蛛爬行和抓取,这些技术被称为蜘蛛陷阱。常见的应该全力避免的蜘蛛陷阱包括如下这些。

 

1、Flash
在网页的某一小部分使用 Flash 增强视觉效果是很正常的,比如用 Flash 做成的广告、图标等。这种小 Flash 和图片是一样的,只是 HTML 代码中的很小一部分,页面上还有其他以文字为主的内容,所以对搜索引擎抓取和收录没有影响。

但是有的网站整个首页就是一个大的 Flash 文件,这就构成了蜘蛛陷阱。搜索引擎抓取的 HTML 代码只有一个连向 Flash 文件的链接,没有其他文字内容。搜索引擎是无法读取 Flash 文件中的文字内容和链接的。这种网站整个就是一个 Flash 的网站,可能视觉效果做得精彩异常,可惜搜索引擎看不到,不能索引出任何文字信息,也就无从判断相关性。

有的网站喜欢在首页放一个 Flash 动画片头(Flash Intro),用户访问网站看完片头后被转向到真正的 HTML 版本的文字网站首页。搜索引擎不能读取 Flash,一般也没办法从 Flash Intro 跟踪到 HTML 版本页面。
虽然搜索引擎在这方面有新的突破,但是做网站就请不要考验蜘蛛的能力。

 

2、Session ID
有些网站使用 Session ID(会话 ID)跟踪用户访问,每个用户访问网站时都会生成独特唯一的 Session ID,加在 URL 中。搜索引擎蜘蛛的每一次访问也会被当成一个新的用户,URL 中会加上一个不同的 Session ID,这样搜索引擎蜘蛛每次来访问时所得到的同一个页面的 URL 将不一样,后面带着一个不一样的 Session ID。这也是最常见的蜘蛛陷阱之一。

搜索引擎遇到这种长长的 Session ID,会尝试判断字符串是 Session ID 还是正常参数,成功判断出 Session ID 就可以去掉 Session ID,收录正常 URL。但也经常判断不出来,要么不愿意收录,要么收录多个带有不同 Session ID 的 URL,内容却完全一样,形成大量复制内容,这两种情况对网站优化都不利。

通常建议跟踪用户访问应该使用 cookies 而不要生成 Session ID。或者程序判断访问者是搜索引擎蜘蛛还是普通用户,如果是搜索引擎蜘蛛,则不生成 Session ID。跟踪搜索引擎蜘蛛访问是没什么意义的,蜘蛛既不会填表,也不会把商品放入购物车。

 

3、各种跳转
除了后面会介绍的 301 转向以外,搜索引擎对其他形式的跳转都比较敏感,如 302 跳  转、JavaScript 跳转、Flash 跳转、Meta Refresh 跳转。

有些网站用户访问首页时会被自动转向到某个目录下的页面。如果是按用户地理位置  转向至最适合的目录,那倒情有可原。但大部分这种首页转向看不出任何理由和目的,这样的转向能避免则避免。

如果必须转向,301 转向是搜索引擎推荐的、用于网址更改的转向,可以把页面权重从旧网址转移到新网址。其他转向方式都对蜘蛛爬行不利,原因泪雪在前面的关于黑帽 SEO 中已经写到过了,黑帽 SEO 经常使用转向欺骗搜索引擎和用户。所以除非万不得已,尽量不要使用 301 转向以外的跳转。

 

4、框架结构
如果作为站长的你不知道什么是框架结构( Frame),那么恭喜你,你已经避免了这个蜘蛛陷阱,根本没必要知道什么是框架结构。如果你在网站设计中还在使用框架结构,我的建议是立即取消。

使用框架结构设计页面,在网站诞生初期曾经挺流行,因为对网站的页面更新维护有一定方便性。不过现在的网站已经很少使用框架了,不利于搜索引擎抓取是框架越来越不流行的重要原因之一。对搜索引擎来说,访问一个使用框架的网址所抓取的 HTML 只包含调用其他 HTML 文件的代码 t 并不包含任何文字信息,搜索引擎根本无法判断这个网址的内容是什么。虽然蜘蛛可以跟踪框架中所调用的其他 HTML 文件,但是这些文件经常是不完整的页面,比如没有导航只是正文。搜索引擎也无法判断框架中的页面内容应该属于主框架,还是属于框架调用的文件。

总之,如果你的网站还在使用框架,或者你的老板要使用框架结构,唯一要记住的是,忘记使用框架这回事。和 Flash -样,别浪费时间研究怎么让搜索引擎收录框架结构网站。

 

5、动态 URL
动态 URL 指的是数据库驱动的网站所生成的、带有问号、等号及参数的网址。一般来说动态 URL 不利于搜索引擎蜘蛛爬行,应该尽量避免。下面对动态 URL。及其静态化还有更详细的讨论。

 

6、JavaScript 链接
由于 JavaScript 可以创造出很多吸引人的视觉效果,有些网站喜欢使用 JavaScript 脚本生成导航系统。这也是比较严重的蛛蛛陷阱之一。虽然搜索引擎都在尝试解析 JS 脚本,不过我们不能寄希望于搜索引擎自己去克服困难,而要让搜索引擎跟踪爬行链接的工作尽量简单容易。

据我观察,虽然有的搜索引擎在技术上可以获得 JavaScript 脚本中包含的链接,甚至可以执行脚本并跟踪链接,但对一些权重比较低的网站,搜索引擎觉得没有必要,不会费那个劲。所以网站上的链接必须使用最简单标准的 HTML 链接,尤其是导航系统。用 css 做导航系统一样可以实现很多视觉效果。

JavaScript 链接在 SEO 中也有特殊用途,那就是站长不希望被收录的页面(比如没有排名意义的页面,重复内容页面等),不希望彻底权重的链接,可以使用 JavaScript 脚本阻挡搜索引擎爬行。

 

7、要求登录
有些网站内容放在需要用户登录之后才能看到的会员区域,这部分内容搜索引擎无法看到。蜘蛛不能填写用户名、密码,也不会注册。

 

8、强制使用 Cookies
有些网站为了实现某种功能,如记住用户登录信息、跟踪用户访问路径等,强制用户使用 Cookies,用户浏览器如果没有启用 Cookies,页面显示不正常。搜索引擎蜘蛛就相当于一个禁用了 Cookies 的浏览器,强制使用 Cookies 只能造成搜索引擎蜘蛛无法正常访问。
以上是泪雪这么久以来的一个对于蜘蛛陷阱的总结,虽然这里只写到了 8 点,最常见的、最容易大家忽略的地方写到了,当然还有一些细节的优化,泪雪就没怎么写了。以后如果还有值得写出来的,泪雪还是会写的。好了,不算太长也不算太短,时间也差不多了。就写到这里了。

除非注明,否则均为泪雪博客原创文章,禁止任何形式转载

本文链接:https://zhangzifan.com/website-spider-trap.html

发表评论

  1. 5不出来
    1楼
    5不出来 7年前 (2012-08-14)

    总结的不错啊,厉害,虽然你提出的这八点我都不知道是干什么的……

    • 泪雪
      回复
      泪雪 7年前 (2012-08-16)
      回复 @5不出来 :呵呵 谢谢!