搜索引擎对动态的URL不够友好,URL静态化对SEO非常重要,可能没有几个朋友会反对吧。放眼当下互联网上URL静态化的趋势,应当是可以用越演越烈来形容的。甚至有些站长为了网站的静态化,把自己弄得焦头烂额(当然我不是说,所有的URL静态化都是为了搜索引擎!
一、什么是静态网址?
一个静态网址,顾名思义,就是一个不会发生变化的网址,它通常不包含任何网址参数。
例如:http://www.example.com/archive/123.html
静态页面的特征
1、静态页面的URL链接是以.html、htm、.shtml、.xml为链接后缀;
2、静态页面是存在于服务器上的一个文件,每个网页都是一个独立的文件;
3、客户端加载静态页面时,并没有操作数据库,只是直接提取一个文件。
静态页面优缺点
优点:相比其他两种页面,速度最快。加载速度快,不需要从数据库里面提取数据,不会对服务器产生压力。
缺点:由于数据都是储存在HTML里面,所以导致文件非常大。并且最严重的问题是,更改源代码必须全部更改,而不能改一个地方,全站静态页面就自动更改了。如果是大型网站有比较多的数据,那会占用大量的服务器空间,每次添加内容都会生存新的HTML页面。如果不是专业人士维护比较麻烦。尤其是当信息量增长很快时,因为每一个单独的页面都必须更改编译代码。这也是为什么网站管理员们在处理大型的、经常更新的网站,像在线购物网站、论坛社区、博客或者是内容管理系统时,会使用动态网址的原因。
对于SEO优化:静态页面对于搜索引擎是非常友好的。很多个人网站以及企业网站都很看不起动态页面,说是搜索引擎不会收录动态页面网站,这是不科学的,说不定别人的动态页面网站比你的静态页面收录更多呢。当然前提条件就是,动态URL最好不要带太多的复杂参数,符号等等。搜索引擎对于动态页面的收录方式是一样的,而区别最大的地方,其实就是速度上面的差别,这一点差别是非常微弱的,而大型网站多数是使用静态页面,这是因为对服务器压力比较小。
二、什么是动态网址?
动态页面的特征
1、以ASP、PHP、JSP、ASP.net、Perl、或CGI等编程语言制作的;
2、不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
3、内容存在于数据库中,根据用户发出的不同请求,其提供个性化的网页内容;
4、内容不是存在于页面上,而是在数据库中,从而大大降低网站维护的工作量。
如果一个网站的内容存储于一个数据库,并且根据要求来显示页面,这时就可以使用动态网址。在这种情况下,网站提供的内容基本上是基于模板形式的。通常情况下,一个动态网址看起来像这样:
www.example.com/article/detail?id=31
您可以通过寻找像? = & 这样的符号识别出动态网址。动态网址有一个缺陷是不同的网址可以拥有相同的内容。这样导致不同的用户可能链向含有不同参数的网址,但是这些网址却都含有相同的内容。这也是为什么网络管理员有时候想要将这些动态网址重写成静态网址的原因之一。
动态页面优缺点
优点:空间使用量非常小,一般几万条数据的网站,可能只有几M的文件大小,而使用静态页面少则十几M,多则几十M。因为数据是从数据库里面调用而来,所以如果要更改某些数值,直接更改数据库,那么所有的动态页面,就会自动更新了。这一点相比静态页面好处就大很多了。
缺点:用户访问速度较慢,为什么会访问动态页面较慢呢。这个问题我们就必须从动态页面的访问机制说起了,其实我们的服务器上面有一个解析引擎,当用户访问的时候,这个解析引擎就会把动态页面翻译为静态页面,这样大家就能够在浏览器里面查看源码了。而这个源码就是解释引擎翻译以后的源码。除访问速度较慢以外,动态页面的数据是从数据库里面调用过来的,如果访问人数非常多,服务器压力就会非常大的,不过现在动态程序都是使用了缓存技术。但是总体来讲,动态页面对于服务器的压力比较大一点。同时动态页面的网站一般对服务器高求要比较高一些,同时访问的人越多也会造成服务器压力越大。
在处理动态网址时,希望您能了解以下几点事实:
1、要正确地生成和维护从动态网址到静态化网址的重写转变实际上是一件很难的事情。
2、将原始的动态网址提供给我们会比较安全,请让我们来处理诸如探测和避开那些有问题的参数的事情。
3、如果您想重写网址,请去掉那些不必要的参数,同时请保持它动态网址的样子。
4、如果您想提供一个静态网址代替动态网址,那么您应该切实地生成相应的静态内容。
三、静态URL与动态URL,哪一个对于搜索引擎识别得更好呢?
我们碰到过很多网站管理员,像我们的朋友那样,认为静态或者看起来是静态的网址对于网站的索引和排名是有优势的。这种看法是基于这样一个假设,即认为搜索引擎抓取和分析含有会话标识 (session ID) 和来源追踪器 (source tracker) 的网址时是有问题的。然而,事实是,在这两个方面都有了相当的进展。就点击率来说,静态网址可能略微有些优势,因为用户可以很容易地读懂这个网址。但是,就索引和排名来说,使用数据库驱动网站并不意味着明显的劣势。相比较将参数隐藏以使他们看起来是静态的网址来说,我们更希望网站将动态的网址直接提供给搜索引擎。
现在,让我们来看一些有关动态网址的广为传播的看法,并且来纠正一些蒙蔽网站管理员的假说。
传说:\”动态网址不能被抓取。\”
事实:我们可以抓取动态网址并且解释不同的参数。如果您为了让网址看起来像是静态的,而隐藏那些可以给提供有价值信息的参数,这样做反而会给该网址的抓取和排名带来麻烦。我们的建议是:请不要将一个动态网址改换格以使其看起来是静态的。尽可能地使用静态网址来显示静态内容是可取的,但在您决定展示动态内容的情况下,请不要将参数隐藏起来从而使他们看起来像是静态的,因为这样做会删除掉那些有助于我们分析网址的有用信息。
传说:\”动态网址的参数要少于3个。\”
事实:对于参数的数量是没有限制的。但是,一个好的经验是不要让您的网址太长(这个适用于所有的网址,不论是静态的还是动态的)。您可以去掉一些对于搜索引擎蜘蛛来说不重要的参数,给用户一个好看一点的动态网址。如果您能确定可以去掉哪些参数,我们建议您将动态网址中所有的参数都提供给我们,我们的系统会弄明白哪一些是不重要的。将参数隐藏起来会影响我们正确地分析您的网址,我们也就不能识别这些参数,一些重要信息可能也因此丢失了。
下面一些是我们认为您可能会存在疑问的一些问题。
这是否意味着我应该完全避免重写动态网址?
这是我们的建议,除非您能确保您只是去掉多余的参数,或能够把所有有可能有不良影响的参数完整地删除。如果您把自己的动态网址任意修改使其看起来像是静态的,您要清楚这样做是有风险的,有可能会导致有些信息不能被正常编译和识别。如果您想给您的网站再增加一个静态的版本,请您一定要提供一个真正意义上的静态的内容,比如生成那些可以通过网站相应路径而获取的文件。如果您仅仅是修改了动态网址的表现形式,而没有真正提供静态的内容,那么您有可能适得其反。请直接把标准的动态URL提供给我们,我们会自动找出那些冗余的参数。
如果您有一个像下面这样标准格式的动态网址:foo?key1=value&key2=value2,我们建议您不用改动它,会决定哪些参数可以去掉;或者您可以为用户去掉那些不必要的参数。不过要慎重,仅仅去掉那些不重要的参数。这里有个含有多个参数的动态网址的例子:
www.example.com/article/bin/answer.foo?language=en&answer=3&sid=98971298178906&query=URL language=en – 标明这篇文章的语言 answer=3 – 这篇文章含有数字3 sid=8971298178906 – 会话标识代码是8971298178906 query=URL – 使这篇文章被找到的查询是[URL]
并不是所有的参数都提供额外的信息。所以将这个网址重写为www.example.com/article/bin/answer.foo?language=en&answer=3 可能不会引起任何问题,因为所有不相关的参数都去掉了。
下面是一些经过认为修改而看起来像是静态网址的例子。相比较没有重写、直接提供动态网址来说,这些网址可能会引起更多抓取方面的问题。
www.example.com/article/bin/answer.foo/en/3/98971298178906/URL www.example.com/article/bin/answer.foo/language=en/answer=3/ sid=98971298178906/query=URL www.example.com/article/bin/answer.foo/language/en/answer/3/sid/ 98971298178906/query/URL www.example.com/article/bin/answer.foo/en,3,98971298178906,URL
如果你将动态网址重写成如上所述的示例的话,可能会导致我们很多不必要的抓取,因为这些网址中都含有会话标识 (sid) 和查询 (query) 参数的可变值,这无形中生成了很多看起来不同的 URL ,而他们包含的内容却是相同的。这些格式让我们很难理解通过这个网址返回的实际内容和参数URL以及98971298178906是无关的。不过,下面这个重写的例子却将所有无关的参数都去掉了:
www.example.com/article/bin/answer.foo/en/3
尽管我们可以正确地处理这个网址,我们还是不鼓励您使用这样的重写。因为它很难维护,而且一旦一个新的参数被加到原始的动态网址,那么这个网址就需要马上更新。不这样做的话就会再次导致生成一个隐藏了参数的貌似静态网址的 URL 。所以最好的解决方法是通常将动态网址保持他们原来的样子。或者,如果您去掉不相关的参数,请记住一定要保持这个网址是动态的:
www.example.com/article/bin/answer.foo?language=en&answer=3
四、伪静态URL
伪静态页面优缺点
优点:大家都知道静态页面对SEO有很大益处,对服务器的负载很小,但静态页面的缺点是不能随时更新。对于伪静态的优点,这个并不好讲,伪相比动态网页而言,并没有提到速度上面的提升,相比较而言,因为是“假”静态页面,其实还是一个动态页面,也是同样需要翻译为静态页面的。最大的好处就是让搜索引擎把自己的网页当做静态页面来处理。
缺点:从名称上面就能够看出来缺点,“伪静态”其实就是“假静态”,搜索引擎会不会把他当做是静态页面来处理,这只是我们靠经验靠逻辑去分析的,并不一定准确。或许搜索引擎直接把他认为是动态页面,我们做那么多努力,其实什么也没有换来。
动态URL的站内优化策略
如何让动态URL表现更好,从站内角度提出下面3个要点:
1、导航很重要:
完善的站内导航,有利于Spider高效率的爬行。整站尽可能做到:从首页出发,较重要的位置,不超过3次点击就能到达;最重要的位置,应该在首页出现相应的链接;必要时,可以单独制作一个静态导航页。
2、制作网站地图:
首先网站内应该有一个网站地图页面,将常用位置在这个页面中做上链接,用户可以最快的了解网站结构,搜索引擎Spider可以快速高效的对网站爬行;
3、URL统一、规范:
同一URL出现多个版本(如read.php?id=1和read.php?id=1&page=1),同一位置出现多个URL形式(如list.php?companyname=xxx和list.php?companyid=123),及大小写问题等都可能导致在搜索引擎中出现相似页面,从而影响网站在搜索引擎中的表现。
总之,个人认为动态URL不一定比静态页面差,只要优化得当,在搜索引擎中同样有好的表现。而且很多只能或最好用动态程序的时候(如论坛、订单系统等交互性很强的站点),没必要刻意要求生成HTML,或做成静态页面。