首页 > 编程笔记 阅读:83

URL伪静态化对SEO的影响

无论是普通用户还是搜索引擎都更青睐静态页面,为什么呢?下面我们先了解一下搜索引擎及普通用户获取页面信息的过程。

普通用户

通过浏览器发送指定的 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 文件。

对搜索引擎来说,真正的静态与伪静态没有区别。

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注

所有教程

优秀文章