普通用户
通过浏览器发送指定的 URL 请求,Web 服务器收到请求后定位到指定的文件,或者根据程序从数据库中调用相应的数据返回到浏览器。经过浏览器处理后,用户就可以看到一个完整的文件。
搜索引擎
相当于一个客户端,只是搜索引擎是一个比较特殊的客户端。搜索引擎在对指定的 URL 发送访问请求后,也像普通用户一样能得到一个文件。再对该文件进行分析,提取其中的信息并存储。
对于搜索引擎来说,无论是抓取静态页面还是动态页面都不存在任何困难。但是,无论是普通用户还是搜索引擎,获取静态页面的速度相对动态页面更快,这样在同样的时间内就能获取更多的信息。因而,搜索引擎会更重视静态页面,并赋予静态页面更高的权重。
实际上,我们不可能把网站中所有的内容都做成静态页面,但可以对动态页面进行相应的处理,让其对于搜索引擎来说是静态的,这就是常说的动态页面静态化。
常用的方法有 URL 重写及生成静态页面。
为何采用静态化 URL
现在的网站绝大多数是数据库驱动的。页面由程序实时生成,而不是真的在服务器上有一个静态 HTML 文件存在。当用户访问一个网址时,程序根据 URL 中的参数调用数据库数据,实时生成页面内容。因此,动态页面相对应的 URL 原始状态也是动态的,包含问号、等号及参数信息。
搜索引擎在发展初期一般不太愿意爬取和收录动态 URL,主要原因是可能陷入无限循环或收录大量重复内容,造成资源极大浪费。
所以早前的搜索引擎对动态 URL 敬而远之,要想网站页面被充分收录,站长需要把动态 URL 转化为静态 URL。
从 SEO 的角度考虑,URL 静态化有以下三大好处。
1) 网页 URL 静态化有利于搜索引擎收录
对比静态页面和动态页面,搜索引擎更喜欢静态页面,对于静态页面也更好抓取收录,这样对于网站优化有很大的好处,更利于排名。
可以观察新浪、网易、阿里巴巴等大型门户网站,这些网站的页面大多采用静态或伪静态页面来显示,可想而知,连新浪这样的大型门户网站都要对网页 URL 进行静态化处理,这就足以说明网页 URL 静态化能给网站带来极大的好处。
2) 网页静态化有利于网站的稳定性
首先从安全角度来看,静态页面不容易遭受黑客的攻击,黑客从网址中无法看出网站的后台地址、网站的程序、数据库的地址,这样就比动态页面要安全得多。
另外,静态页面不会因为程序、数据库等出问题而影响网站页面的正常打开,可以看出静态页面会使网站更加稳定,增加网站的信任度。
3) 网页静态化有利于提高速度
网站优化中,网站页面打开速度的快慢是权重及排名提升的重要因素,打开速度越快,SEO 优化效果越好。
众所周知,动态页面打开都是要调用数据库内容的,这样就影响了网站页面的加载速度,而静态页面则不用,减少了一些环节,提高了网站反应速度。
怎样静态化 URL
静态化 URL 常见的方法是使用服务器的 URL 重写模块。在 LAMP(Linux+Apache+MySQL+PHP)服务器上一般使用 mod-rewrite 模块,Windows 服务器也有功能相似的 ISAPI Rewrite 等模块。
以 LAMP 服务器为例,要想把网址:
http://www.example.com/SEO.php?id=123
静态化为:
http://www.example.com/SEO/123
需要启用服务器 mod-rewrite 模块,然后在.htacces
文件中写入如下代码:
RewriteRule/SEO/([0-9]+) /SEO.php?id$1
URL 重写代码基于正则表达式,每个网站的动态 URL 结构不同,服务器设置也可能不同,代码也就不同,正则表达式的写法比较复杂,千变万化,通常需要程序员编写。
在写 URL 静态化代码时必须非常小心,写错一个字符、多写一个斜杠等微小的不同都可能造成灾难性的后果。
严格来说,这里所说的 URL 静态化应该称为“伪静态化”,也就是说服务器上还是不存在相应的 HTML 文件,用户访问时还是动态生成页面。只不过通过 URL 重写技术使网址看起来像是静态的。
也有的 CMS 系统可以实现真正静态化。站长增添产品或文章后,系统会自动生成真实存在的静态 HTML 文件。
对搜索引擎来说,真正的静态与伪静态没有区别。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/23554.html