`

搜索优化,动态页面,静态页面,伪静态页面

 
阅读更多
我们经常会看到 , 在地址栏里有一些网址特别长,而且还带有 “?”, 这样的链接一般是动态链接,其所对应的页面就是动态页面 。
在技术上,动态页面具有这些特征:
1 ,动态页面是以 ASP 、 PHP 、 JSP 、 ASP.net 、 Perl 、或 CGI 等编程语言制作的;
2 ,动态页面实际上并不是独立存在于服务器上的网页文件,只有当用户请求时服务器才返回一个完整的网页;
3 ,动态页面上的内容存在于数据库中,根据用户发出的不同请求,其提供个性化的网页内容;
4 ,动态页面内容不是存在于页面上,而是在数据库中,从而大大降低网站维护的工作量;
5 ,采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等; 静态页面 则无法实现这些功能。
SEO 的角度,动态页面有这些弊端:
1 ,由于动态页面的生成是采用数据库的内容,所以网页内容主题的永恒性不能保证。这样造成了搜索引擎的阅读困难,即搜索引擎抓不住一个永恒的主题,因此不能输入到搜索引擎中的缓存( cache )中。
2 ,动态网址里往往包含 “ ? ” 和很多参数,这让目前技术条件下的搜索引擎在判断和识别造成了很大的困难。
3 ,动态链接,存在一个信任问题,用户以及搜索引擎都无法确定这个页面会一直存在。
搜索引擎对于静态链接更友好,所以,把动态网址进行 URL 重写优化 使其静态化,是一个非常重要的 SEO 技巧。 SEO 十万个为什么 是全站动态的,目前这么合理和简洁规范的 URL 就是经过 URL 重写( URL-rewrite )技术处理的。

动态页面和静态页面的 seo 优缺点

网页的 url 地址可以分为动态和静态,动态页面并非实际存在于服务器当中,根据用户发出的请求提供相应的内容,对服务器运作来说压力较小,静态页面的地址是真实存在的,路径当中不含有? &% 之类的变量符号,所以对搜索引擎来事更友好更容易得到信任,为了追求动态页面和静态页面的优点又回避缺点产生了 “ 伪静态 ” ,在动态页面的基础上通过 url 重写技术把转移参数插入到 url 地址中达到迷惑蜘蛛的作用。
那么看似百利而无一害的伪静态页面是否就是最好的呢?结合动态页面和静态页面的优缺点对比看看。

动态页面
在 服务器端运行的程序组件和网页都属于动态网页,根据用户的要求返回页面,交互性很好,但是存在着很大的安全隐患,动态网站页面的信息必须从数据库中读取, 每打开一个页面造成一次读取命令,如果人数过多会增加服务器的工作量,从而影响这个网站的运行速度,动态网站的变量链接很容易造成死循环,使蜘蛛深陷其 中,所以对搜索引擎很不友好。

静态页面
静态页面实际存在于服务器内,无需经过编译就能直接加载到用户浏览器上显示出来,中间省略的脚本计算和读取数据库提高了访问的速度,缺点同样并存与优点之中,由于静态页面存放在服务器中药占据空间内存,可以想象如果某论坛有 10 万帖,每个帖的大小 100K ,如果全部作为静态页面存在于服务器中就要占据 10G 的大小,不包括存储计算中造成的空间浪费,所以相当消耗空间资源。

伪静态页面
那么伪静态页面是否就能结合动态页面和静态页面的优点,既能解决搜索引擎友好的问题,又能解决静态页面空间资源消耗大的问题几乎完美的存在,其实不然,浏览器访问伪静态页面时是通过正则判断,而这个分辨的过程由 cpu 完成,导致 cpu 使用率上升出现超负荷,影响网站的正常服务就是伪静态的最大弊病。
由此可以看出每种形式都是有长有短的,怎么合理的使用各种形式完全取决于站长对网站规模的计划和类型的定位。

伪静态还有的2点好处:1)防止某些黑客恶意攻击。有些大网站采用不同的技术开发不同功能的页面。而把拓展名改掉,让黑客无法确认此页面用的技术是什么,从而就无从下手。  2) 方便访问者使用。访问者不是程序员,他们不明白什么是.jsp,.php.aspx,他们只知道URL。所以统一把拓展名拿掉,或者同意把拓展名换为html,htm,有利于用户的使用。用户可以知道现在在你网站的位置,如何通过输入URL到某一页面

针对 seo 优化动态网页如何优化

动态生成的网页:   
对于那些动态生成网页,我们这些实际的访问者可以通过肉眼看到。但对于大多数搜索引擎的蜘蛛程序却往往是不可见的,这也就是动态网页很难被搜索引擎的 SPIDER 检索的原因。因而,要想让你的动态网页能够出现在搜索引擎的搜索结果中,只要保证你的网站内容对搜索引擎是可见的,即搜索引擎的 Spider 程序能够看到你网站的内容就可以了 .
所谓动态网页一般指的是采用 ASP , PHP , ColdFusion , CGI 等程序动态生成的页面,该网页中的大部分内容来自与网站相连的数据库。在网络空间中并不存在这个页面,只有接到用户的访问要求后才生成并传输到用户的浏览器中。而且由于访问者能够实时得到他们想要的数据,动态网页往往容易给人留下深刻的印象。此外,动态网页还具有容易维护和更新 的优点。例如,对于一个新产品或价格的调整。网站管理员只要对数据库做一下简单的改动就可以了,根本不需要去修改每个单独的静态页面。
  我们可以看出,从用户角度来考虑,动态网页确实非常棒。但如果在搜索引擎的角度来看,结论却不同了。
动态网页的问题所在 :
问题就出在这些动态网页在网络空间中并不是实际存在的,只有当用户在变量区中输入一个值以后它们才会生成 。而我们大家也都知道,搜索引擎的 Spider 再聪明,它也只是一个搜索程序,它们无法象真正的人那样选择变量并输入数值。亦可将查询编入主页上的一个链接中,使得该链接成为一个预先定义的网站目录的查询。用户可在一个搜索表格中键入查询条件来查询,通常动态脚本需要某些信息来返回页面内容,最常见的如 Cookie 数据, SessionID 或一个环境变量。但对搜索引擎的 Spider 程序来说,它们压根不可能知道去使用你的搜索功能,或者该问什么问题。就是因为如此, Spider 对网站的检索往往会在一个动态站点前不得不止步。此外,在动态页的 URL 中包含了问号 (?) 和百分号 (%) 。还有一些符号诸如 & , % , + 和 $ 等在一个动态页的 URL 中也经常能看到。这样的 URL 被称作“环境变量” (querystring) 。不过大多数 SPIDER 都无法解读符号“ ? ”后的字符 。很显然,由于这个 URL 并不实际存在,所以它们一无所获。因此,如果你的整个网站或网站上有大部分网页都是采用动态来生成的,为了使 SPIDER 易于读取你网站上的内容,你需要对网站做一定的修改。还有一些搜索引擎在对页面进行检索时往往也会拒绝对 cgi-bin 目录下的静态页面 ( 即被保存成静态页面的动态页 )URL 进行检索 。   
搜索引擎为何不读取符号“ ? ”后的内容:   
搜索引擎的 SPIDER 不愿意读取放在 cgi-bin 目录下的网页,或是 URL 中包含了符号“ ? ”的字符。其原因就在于,如果在 CGI 中提供了“无穷”数量的 URL ,那么 SPIDER 往往就会因为对这些“无穷”网页的检索而被牢牢套住,陷入死循环。这就是所谓的蜘蛛陷阱 (spidertraps) 。数据库程序对 SPIDER 亦有可能创建一个与此类似的情形。因而为避开可能的陷阱, Spider 对于那些带有符号“ ? ”的 URL 中的“ ? ”之后的字符一概不予读取。      倘若 Spider 被你的服务器套住,不只是对 Spider 本身不妙, Spider 对你网站页面的重复访问请求也会导致你的服务器系统彻底瘫痪。

动态链接的静态化
动态链接的静态化:
动态页面的链接是动态产生的,在返回页面内容之前,动态脚本需要一些信息,如 cookie data 、 session id 或字符串。动态页面是基于数据库驱动的,通过脚本语言动态产生的页面。动态网站中有模板,内容一般存放于数据库中。要浏览页面时,模板调用数据库中的内容,参数被添加到 URL 上 , 这种复合型 URL 告诉了模板要装载的具体内容。浏览者在动态网站中通过使用查询字符串发现信息,这种查询字符串被键入表单中或被预先编码在主页上的链接中。
蜘蛛不清楚如何使用查询功能,若蜘蛛用没有查询字符串的不完整请求向服务器提交,服务器会要求信息完整地址,这是蜘蛛不能理解的,从而可能陷入了一种死循环 中。搜索引擎难以处理动态网站,因不能提供产生页面需要的信息,会陷入到动态页面服务器中而不能自拔,蜘蛛和服务器陷入无限循环之中,会导致服务器瘫痪。因此,动态网页内容对大多数搜索引擎蜘蛛是不可见的,大多数蜘蛛反感动态页面,在识别出这种 URL 后,会敬而远之。不会检索它。因此需要把这些有价值的内容转换成随蜘蛛可见的形态。
这种复合型 URLs 是搜索引擎难以检索的,因搜索引擎不知道定义内容的参数。参数越多,越难以被检索到。为此,需要克服这种不完整地址问题。有两种解决方案:
搜索引擎友好的动态页面,修改 URLs ,参数越少越好,最好把页面静态化。

伪静态页面生成方法:

ProvideBlogListAction.java:
 
    userName4URL = s.getUserName();//这3个分别是URL后面需要传递的参数
    blogId4URL = s.getBlogId();
    articleId4URL = s.getArticleId();
                 s.setArticleURL(com.trs.blog.util.UrlUtil.getArticleURL(userName4URL,blogId4URL,articleId4URL));


UrlUtil.java:
    /**
     * 获得博客文章的URL
     * @param userName 用户名
     * @param BlogId  博客id
     * @param aid  文章id
     * @return  文章的URL
     */
    public static String getArticleURL(String userName, int blogId, int aid){
    	
    		URLMap u = URLMap.valueOf(userName,blogId,aid);    		
        	return "http://localhost:8080/blog/a/"+u.toString()+".html";
   
    	
    }

URLMap.java:
	public final static URLMap valueOf(String sUserName, int iParentId, int iId) {
		URLMap map = new URLMap();
		map.m_iVersion = DEFAULT_VERSION;
		map.m_sUserName = sUserName;
		map.m_iType = “1”;
		map.m_iParentId = iParentId;
		map.m_iId = iId;
		map.m_iCheckSum = caculateCheckSum(sUserName.hashCode(), iParentId, iId);
		return map;
	}

	private final static int caculateCheckSum(int hash, int pid, int aid) {
		return (hash + (hash >> 13)) | (pid - (pid >> 12)) & (aid ^ (aid >> 11));
	}



上面的代码是公司的伪静态页面实现办法,在文章列表中把文章的连接如/blog/articleInfo.do?userName=zy&&blogId=1&&articleId=1转换成blog/a/0101002526B90C548A833416.html这种URL,这样蜘蛛就可以进而爬进去看相应的内容了,因为文章列表中的每一篇文章都是不同的静态URL。

   静态与伪静态的比较:

   第一、速度,对于速度而说,静态页面比伪静态好,因为静态页面是实实在在存在于服务器上的页面。在用户向服务器发出请求时,可以直接直接调用。然而伪静态,其实是一个动态页面,只是用一个技术或手段,请动态页面中的“?”等一些符号用蜘蛛可以很内容识别出来的字母给代替了。所以像这种静态页面,要向服务器发出请求时,还要多出一个功能就是转化功能,如何同时请求过多,会加大服务器的负荷。  

   第二、容量,对于容量而言,因为静态页面是实实在在存在于服务器中,因此会占用一定的空间,如何文件过多,占用的空间就多。然而伪静态就可以避免这一点,因为伪静态是将动态的URL给转换成静态,实际在服务器上是不存在的。      第三、搜索引擎友好性。对于静态URL页面,实实在在存在于服务器上,当搜索引擎收录之后,URL是不会改变的,哪有用户访问时,也不会出问题。然而如果是伪静态页面,服务器伪静态组件不出问题,这个URL就没有问题,如何伪静态组件出问题了,哪么当搜索引擎收录这个URL就会出错,如果出现错误过多,会让搜索引擎讨厌你网站,所以在试用伪静态页面时,伪静态组件,一定不要出错。
分享到:
评论

相关推荐

    网站页面静态优化,提升页面浏览速度和搜索引擎友好程度

    静态优化是指通过对前台网站页面进行静态或者伪静态的处理,从而让页面浏览速度和针对搜索引擎友好程度都有大幅提升。

    伪静态页面生成技术|静态页面|生成技术

    伪静态页面生成技术|静态页面|生成技术|让你做网能更快的被收录!seo优化

    php伪静态方法

    php伪静态方法,里面包含多种方法,伪静态对于网站优化有一定的优势。

    isapi伪静态组件

    伪静态技术支持组件,将url地址重写,达到利于搜索引擎搜录的目的,解决了动态不利于优化,静态页面内容不能实时更新的问题,可谓两全其美。

    关于页面优化和伪静态

    关于页面优化和伪静态 1)版面优化 2)伪静态(重点涉及apache,smarty,正则) 详细内容: 一、版面优化: 版面优化其实主要涉及HTML,JS,CSS,XML之间的关系(XML相关在此不作描述). 1)一般来说,在资源共享的前提下,我们最...

    一款非常不错的seo网站优化公司源码 生成伪静态.rar

    一款非常不错的seo网站优化公司源码 这款源码非常漂亮,很适合做网站建设类、seo优化类等网络公司网站,...后台生成静态页面,利于优化和收录 后台路径:自己查找一下 账户:admin 密码:www.unn114.com

    PHP实现页面静态化的超简单方法

    为什么要页面静态化?...//动态页面静态化一般用于不经常改动的地方,频繁改动的地方一般不适用静态化,可用伪静态(例如微博等) 静态化详细介绍 1、纯静态分为局部静态化(局部动态化,使用AJAX动

    ASP伪静态大师 v1.0.1-P1

    ASP伪静态大师适用与任何ASP网站,可使用任意字符串作为连接的后缀名,也可直接将连接加密,有利益网站的优化和推广,有利于防注入攻击等,傻瓜式配置,不懂ASP的也可轻松配置出你想要的后缀名伪静态。如(将.asp...

    织梦cmsdede手机端静态插件

    织梦手机端静态页更新插件,生成静态手机页面,方便seo优化

    比较详细的Asp伪静态化方法及Asp静态化探讨

    目前,各大搜索引擎如google、百度、雅虎已经对动态页面诸如asp,php有着不错的支持了,只要动态页面后面的参数不要太长,如控制在3个参数内,页面内容做点优化,各大搜索对该类页面收录甚至不比静态html页面差,...

    ASP.NET生成静态页面

    整理常见的生成静态页方法代码,已经分页,常见BUG,代码优化。。。

    分享常见的几种页面静态化的方法

    二、有利于搜索引擎优化SEO,Baidu、Google都会优先收录静态页面,不仅被收录的快还收录的全; 三、减轻服务器负担,浏览网页无需调用系统数据库; 四、网站更安全,HTML页面不会受php相关漏洞的影响; 观看一下大...

    Aspx伪静态 虚拟主机案例及服务器案例.doc

    扯回来,虽然百度seo说“url是动态还是静态对搜索引擎没有影响(from《百度搜索引擎优化指南2.0[官方版]》第十三页 图一)”,但是实际呢?如图二,图二是“百度统计 seo建议”里面的提示,因此aspx页面的静态化是...

    伪静态,多站点内容管理系统

    1.伪静态 系统支持每个文章和每个栏目单独指定网址和网址格式。支持动态网址和静态网址格式的自定义设置。比如可以将文章页 article.php?url=test 更改显示为 read.asp?a=test ,blog/test ,book/test.html 三种...

    Java高并发:静态页面生成方案--UrlRewrite

    二:美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL 三:更有利于搜索引擎的收入,通过对URL的一些优化,使搜索引擎更好的识别与收录网站的信息.

    百度爬虫页面自动繁殖程序+教程自动SEO优化

    3、 asp脚本 伪静态无限生成 4、自动抓取百度的关键词结果和标题 5、 根据关键词自动抓取百度搜索结果页标题+摘要 6、 内链随机插入页面 页面站点地图随机调取300条 7、 只需要一个老域名,无灰色历史的,有建站历史...

    芒果商城系统GSHOPv1.6utf8版(可生成静态的商城系统)

    多页面显示:动态页、伪静态页面、纯静态页面增加收录,提升网站权重,提升流量等。安全稳定、功能强大的商城系统。 1、芒果商城系统基于 php5.0开发,企业级应用。 2、产品功能Ajax设计,响应速度更快,购物体验更...

    ASP伪静态大师

    ASP伪静态大师适用与任何ASP网站,可使用任意字符串作为连接的后缀名,也可直接将连接加密,有利益网站的优化和推广,有利于防注入攻击等,傻瓜式配置,不懂ASP的也可轻松配置出你想要的后缀名伪静态。如(将.asp...

Global site tag (gtag.js) - Google Analytics