做网站SEO使用动态URL、静态URL还是伪静态URL及它们之间的区别
我们说url的动态、静态、伪静态三种形式,其实从严格分类上来说,伪静态也是动态的一种,只是表现形式为静态。
动态URL
动态页面的特征
1、以ASP、PHP、JSP、ASP.net、Perl、或CGI等编程语言制作的;
2、不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
3、内容存在于数据库中,根据用户发出的不同请求,其提供个性化的网页内容;
4、内容不是存在于页面上,而是在数据库中,从而大大降低网站维护的工作量。
动态页面优缺点
优点:空间使用量非常小,一般几万条数据的网站,可能只有几M的文件大小,而使用静态页面少则十几M,多则几十M。因为数据是从数据库里面调用而来,所以如果要更改某些数值,直接更改数据库,那么所有的动态页面,就会自动更新了。这一点相比静态页面好处就大很多了。
缺点:用户访问速度较慢,为什么会访问动态页面较慢呢。这个问题我们就必须从动态页面的访问机制说起了,其实我们的服务器上面有一个解析引擎,当用户访问的时候,这个解析引擎就会把动态页面翻译为静态页面,这样大家就能够在浏览器里面查看源码了。而这个源码就是解释引擎翻译以后的源码。除访问速度较慢以外,动态页面的数据是从数据库里面调用过来的,如果访问人数非常多,服务器压力就会非常大的,不过现在动态程序都是使用了缓存技术。但是总体来讲,动态页面对于服务器的压力比较大一点。同时动态页面的网站一般对服务器高求要比较高一些,同时访问的人越多也会造成服务器压力越大。
对于SEO优化:很多个人网站以及企业网站都很看不起动态页面,说是搜索引擎不会收录动态页面网站,这是不科学的,说不定别人的动态页面网站比你的静态页面收录更多呢。当然前提条件就是,动态URL最好不要带太多的复杂参数,如:符号等等。搜索引擎对于动态页面的收录方式是一样的,而区别最大的地方,其实就是速度上面的差别,这一点差别是非常微弱的,而大型网站多数是使用静态页面,这是因为对服务器压力比较小。
静态URL
静态页面的特征
1、静态页面的URL链接是以.html、htm、.shtml、.xml为链接后缀;
2、静态页面是存在于服务器上的一个文件,每个网页都是一个独立的文件;
3、客户端加载静态页面时,并没有操作数据库,只是直接提取一个文件。
静态页面优缺点
优点:相比其他两种页面,速度最快。加载速度快,不需要从数据库里面提取数据,不会对服务器产生压力。
缺点:由于数据都是储存在HTML里面,所以导致文件非常大。并且最严重的问题是,更改源代码必须全部更改,而不能改一个地方,全站静态页面就自动更改了。如果是大型网站有比较多的数据,那会占用大量的服务器空间,每次添加内容都会生存新的HTML页面。如果不是专业人士维护比较麻烦。
对于SEO优化:静态页面对于搜索引擎是非常友好的。
伪静态URL
伪静态页面优缺点
优点:大家都知道静态页面对SEO有很大益处,对服务器的负载很小,但静态页面的缺点是不能随时更新。对于伪静态的优点,这个并不好讲,伪相比动态网页而言,并没有提到速度上面的提升,相比较而言,因为是“假”静态页面,其实还是一个动态页面,也是同样需要翻译为静态页面的。最大的好处就是让搜索引擎把自己的网页当做静态页面来处理。
缺点:从名称上面就能够看出来缺点,“伪静态”其实就是“假静态”,搜索引擎会不会把他当做是静态页面来处理,这只是我们靠经验靠逻辑去分析的,并不一定准确。或许搜索引擎直接把他认为是动态页面,我们做那么多努力,其实什么也没有换来。
总结
静态url: 不方便管理,修改麻烦, seo优化相当好。
动态url : 方便管理,修改简单, seo没优势。
伪静态: 结合两者的优势. 方便管理, seo有优势。
相关推荐
-
Apache服务器中使用.htaccess实现伪静态URL的方法
很多朋友可能是空间也就是虚拟主机,自己就没有权限来管理apache的httpd.conf文件了,自然就不太可能可以在这上面写静态规则了,下面我们可以让主机商开启支持.htaccess方法,这样就可以自己写了. 首先配置服务器启动重写模块 打开 Apache 的配置文件 httpd.conf . 将#LoadModule rewrite_module modules/mod_rewrite前面的#去掉. 保存后重启Apache 写重写规则 举例说明,test.php里的代码为 <?php $id=
-
SEO优化之URL优化
很多初学者在看一些SEO教程时可能经常见到,优化就要将网站URL静态化,甚至将这一点列入非常重要的行列.个人不赞成此观点,选择动态URL还是静态页面,只要根据网站需要就可以了. 为什么很多SEOer强调使用静态页面? 早期由于搜索引擎Spider的不完善,网站程序不合理,或部分人故意造成一种蜘蛛陷阱(spider traps),导致Spider爬行时进入一个死循环.搜索引擎为避开这种死循环,减少对动态URL的读取,特别是带"?"符号的URL. 随着搜索引擎的完善,这种现象目前已经基本得
-
seo标题标签分析
排在搜索引擎搜索结果前几页的网页或网站中,一般是这个网页或网站的标题标签(Title Tag)中包含着搜索关键词.所以,反过来,要让自己网页或网站排到搜索结果的前列,网页的标题标签(Title Tag)非常重要. 网页的标题标签(Title Tag)要怎么写才是最优化?要领如下几点: 1.网页的标题标签有效长度是64个字节,汉语是32个字.长出来的部分无益有弊.为什么网页的标题标签太长反而不好? 2.标题标签中务必出现这个页面的关键词,或者关键字词组.关键词和关键字词组的位置也有关系.同样条件下
-
不用SEO 网站取得成功的经验探讨
1.自我合理的定位与特色 要善于选择他人从未涉及过的话题,不必受制于"关键字搜索",也不能一味迎合Google用户的需求.另外,还需要转换看问题的角度,这样你会发现即使相当拥挤成熟的领域也有新天地,例如我的第一个博客就是关于SEO 2.0话题的.笔者根据对网站的bitjob.net 和168qd.com 研究实践分析,以及对seo方法的研究,以下经验和大家分享.不足之处请指正. 2.使用Wordpress架设站点 使用对搜索引擎友好的WordPress,就可以省去考虑"页面优
-
真正可用的IIS的ISAPI-Rewrite伪静态URL图片防盗链规则写法
网站程序的URL伪装法.服务器端的收费插件法和ISAPI-REWRITE的规则过滤法等,考虑自身网站结构和钱包的困难问题,最终选择了后者,即现在流行用来做伪静态的ISAPI Rewrite书写规则来实现 经测试四种情况正常,即站内链接正常,白名单里的链接正常,盗链者链接屏蔽,搜索引擎链接正常. 详细如下: 一.完全屏蔽所有盗链来源的写法(如已有其它规则,则置于已有规则的上面) 复制代码 代码如下: RewriteCond Host: (.+) RewriteCond Referer: (?!ht
-
seo实用小技巧
那么我对这个网页都作了些什么呢?好,我们先说网页的本身! 1.我在整个网页中没有使用H1---H6: 如果在网页中使用H1包着标题,那么这是很重要的,但我没有! 2.我没有设计META中的KEYWORDS等比较重要的东西: 如果META好好优化一下,可以大大提升关键字的比重!我也没有! 3.布局方面我也没有用什么常说的DIV+CSS: 如果用DIV+CSS来作,可以使代码非常的清XI,我也没有作! 4.我的代码混乱: 这个同上吧! 不用多说,如果说优化的话,那么以上四点是有很多的优化空间的:我没
-
伪静态URL中文乱码问题解决方法
在 ISAPI_Rewrite 1.3 版本时,只要对URL进行UrlEncode操作,就可以正常接收中文,但是换为 3.1版后, 采用GB2312 的接收页面就是乱码了. 换用了ISAPI_Rewrite 3.x后发现编码后的字符会变成乱码,如果直接使用中文不编码,则会被格式化为GBK字符串.解决方法是在RewriteRule 规则的最后添加 NU 参数即可恢复正常,关于ISAPI_Rewrite中文变乱码解决方法如下: 1.在传输URL时,对中文进行urlencode,这样是没错的. 2.如
-
Apache中使非伪静态url跳转到伪静态url的方法
如何使用.htaccess使非伪静态页面301跳转到伪静态页面然后再跳转?这是一个比较蛋疼的跳转.因为不小心就会搞成死循环导致页面无法打开.好在问题最终解决了.记录并分享出来,给需要的朋友借鉴借鉴. 规则如下: RewriteRule ^article-([0-9]+).html$ /article.php?id=$1&r=1 [L] RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ [NC] RewriteRule ^article.php$ /article
-
做网站SEO使用动态URL、静态URL还是伪静态URL及它们之间的区别
我们说url的动态.静态.伪静态三种形式,其实从严格分类上来说,伪静态也是动态的一种,只是表现形式为静态. 动态URL 动态页面的特征 1.以ASP.PHP.JSP.ASP.net.Perl.或CGI等编程语言制作的: 2.不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页: 3.内容存在于数据库中,根据用户发出的不同请求,其提供个性化的网页内容: 4.内容不是存在于页面上,而是在数据库中,从而大大降低网站维护的工作量. 动态页面优缺点 优点:空间使用量非常小,一般几万
-
asp.net URL重写简化版 速学URL重写
在 asp.net 里实现 URL重写(URLRewriter)的一个最简单的方法. 参考了 (作者 Scott Mitchell 翻译:Janssen )的大作,虽然没有完全看明白,但是也照猫画虎地做了一个,颇有"成就"感.写出来分享一下. 原作里讲了很多的原理,这里就不说了(其实我也不懂).这里就写操作过程吧.目的是实现一个最简单的能实现 URL重写 的程序. 1.需要设置一下IIS里的站点属性. 2.修改web.config的内容. 复制代码 代码如下: <system.w
-
通用PHP动态生成静态HTML网页的代码
我们知道,PHP读取MYSQL动态显示,在访问量大的情况下,会有很多性能问题,如果租用别人的虚拟主机,则会因为CPU消耗过多而被限制CPU,导致网页无法访问.我这里给出一个PHP动态生成HTML的方法,可以极大降低服务器CPU负荷. 首先设置.htaccess文件,将动态调用的参数转换为静态的HTML的URL地址,例如将在post目录下的文件,转发到根目录的wp-post.php文件中,加入的语句类似: RewriteRule ^post/([a-z0-9\-]+\.html)$ wp-post
-
PHP 动态生成静态HTML页面示例代码
temp.html 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-eq
-
Django项目中动态设置静态文件路径的全过程
目录 前言 一.修改BASE_DIR: 二.修改模板文件路径(TEMPLATES中的DIRS的值): 三.修改国际化文件路径,由于LOCALE_PATHS默认不存在,需要自己在合适位置添加,如下图所示: 四.修改公共文件路径,如下图所示: 五.修改STATIC_ROOT文件路径,如下图所示: 六.修改多媒体路径,如下图所示: 总结 前言 Django项目需要在settings.py文件中设置各种文件的路径,例如:媒体文件(media)的路径.静态文件(static files)的路径.模板文件(
-
ASP.NET中URL Routing和IIS上URL Rewriting的区别
前言 前面有2篇帖子提到了关于URL Routing的特性,但是发现有很多人误会URL Routing就是URl Rewriting,其实2个虽然都提供相似的功能(提高友好的URL方便搜索引起收录),但是2者的原理和运行周期是完全不一样的,本篇文章我们就来分析一下具体有什么不同. 例子 在分析原理之前,我们先来做一个例子测试一下(IIS URL Rewrite模块需要IIS7的支持). 1.为Customer/1的URL建立对应的MVC程序 首先建立一个普通的MVC3程序,建立一个简单的Cust
-
linux生成(加载)动态库静态库和加载示例方法
动态库的生成: 1./*mysum.c*/ 复制代码 代码如下: #include <stdio.h>#include "src.h" int sum(int a,int b){return (a+b);} 2./*mysum.h*/ 复制代码 代码如下: #ifndef __SRC_H__#define __SRC_H__ int sum(int a,int b); #endif 3./*main.c*/ 复制代码 代码如下: #include <stdio.h&g
-
ASP.NET动态生成静态页面的实例代码
最近突然想把项目中新闻管理模块做成静态页,在网上找到很多很好的文章,在这里记录一下,现在只是实现静态页面的生成并没有实现分页功能.其主要原理就是读取数据库的数据然后替换掉静态模板页的内容.首先制作一个模板页,暂时命名为template.htm,示例代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-trans
-
Android Fragment(动态,静态)碎片详解及总结
Android Fragment(动态,静态)碎片详解 一.Fragment的相关概念(一)Fragment的基础知识 Fragment是Android3.0新增的概念,中文意思是碎片,它与Activity十分相似,用来在一个 Activity中描述一些行为或一部分用户界面.使用多个Fragment可以在一个单独的Activity中建 立多个UI面板,也可以在多个Activity中使用Fragment. Fragment拥有自己的生命 周期和接收.处理用户的事件,这样就不必在Activity写一
随机推荐
- VBScript提交表单提示-对象不支持此属性或方法
- startJVM错误Unable to load native library: libjvm.so解决方法
- Objective-C封装字符串存储操作示例
- js里的prototype使用示例
- 基于PHP给大家讲解防刷票的一些技巧
- 正则替换实现输入框只能有数字、中英文逗号
- Python调用C语言开发的共享库方法实例
- Android xml解析实例详解
- mysql4.0升级到mysql5(4.1),解决字符集问题
- Ionic3 UI组件之Gallery Modal详解
- C语言中通过LUA API访问LUA脚本变量的简单例子
- 基于swing开发弹幕播放器
- JavaScript Eval 函数使用
- Android编程实现将ButtonBar放在屏幕底部的方法
- Java中StringUtils工具类的一些用法实例
- 基于Android SQLite的使用介绍
- 详解正则表达式的贪婪模式与非贪婪模式
- VMware虚拟机三种联网方法及原理(小结)
- Centos7下mysql 8.0.15 安装配置图文教程
- Java多线程工具篇BlockingQueue的详解