数据库驱动的网站需要将URL静态化,一直以来都是SEO最基本的要求,可以算是个常识性的东西。近几年SEO行业一致认为,URL中带2-3个问号也不是问题,搜索引擎通常都能收录,尤其是权重高点的域名,更多几个问号也不是问题。但无论如何一般还是建议URL静态化。
9月份,Google站长博客发表了一篇讨论动态网址还是静态网址的帖子,却颠覆了这个说法。在这篇帖子里,Google明确建议不要将动态URL静态化,而是保留那种长长的,带问号参数的动态URL。Google黑板报和中文网站管理员博客都做了翻译和转载,大家可以查看。
从留言和我看到的博客来看,有不少人还真觉得有道理,准备按照Google说的做了。
这是比较少见的,我十分不以为然的,Google给的SEO建议。
Google的帖子有几个要点。
一是Google完全有能力抓取动态网址,多少个问号也不是问题。这一点基本靠谱。
第二,动态网址更有助于Google蜘蛛读懂URL含义,并进行鉴别,因为网址中的参数有提示性。比如Google举了这个例子:
URL里的参数都有助于Google理解URL及网页内容。比如language后面跟的参数是提示语言,answer后面跟的是文章编号,sid后面的肯定是session ID。其他常用的包括color后面跟的参数指的是颜色,size后面跟的参数是尺寸等。有了这些参数的帮助,Google更容易理解网页。
而将网址静态化后,这些参数的意义通常就变得不明显了。比如这个URL:
就可能使Google不知道哪个是产品序列号,哪个是尺寸等。
第三,网址静态化很容易弄错,那就更得不偿失了。比如通常动态网址的参数调换顺序,所得到的页面其实是相同的,比如这两个网址很可能就是同一个页面:
保留动态网址,Google还比较容易明白这是一样的网页。而经过静态化后,这样两个网址Google就不容易判断是不是同一个页面,从而可能引起复制内容:
再一个容易搞错的是session ID,也可能被静态化进URL:
这样网站将产生大量URL不同,但其实内容相同的页面。
所以,Google建议不要静态化URL。
但是我还是建议要静态化。原因是:
首先,Google给的建议是从Google自己出发,而没有考虑其他搜索引擎。Google抓取动态网址没问题,并不意味着雅虎,百度,微软等等就都没问题。尤其是中文网站,Google不是老大。
第二,Google所说静态化的坏处,是基于静态化做得不正确的假设上。问题是要做静态化就得做正确,假设会做错是没有什么道理的。有几个人会静态化网址时还把session ID放进去呢?
第三,Google的建议是典型的有利于自己,而不利于用户。带有问号参数的URL可能有助于Google读懂内容,QQ空间一键破解但是显然非常不利于用户在一撇之下理解网站结构及大致内容。看看这两个网址哪个更清晰,更容易读懂,更有可能被点击呢?
显然是第二个。
而且长的动态网址,也不利于记忆,不利于在邮件、社会化网站等地方抄给别人。
总之,虽然Google这么明确的建议保留动态网址,我还是建议SEO正相反,尽量将URL静态化。