`

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

 
阅读更多
我们经常会看到 , 在地址栏里有一些网址特别长,而且还带有 “?”, 这样的链接一般是动态链接,其所对应的页面就是动态页面 。
在技术上,动态页面具有这些特征:
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就会出错,如果出现错误过多,会让搜索引擎讨厌你网站,所以在试用伪静态页面时,伪静态组件,一定不要出错。
分享到:
评论

相关推荐

    HTM页面伪静态 Demo

    这里的“HTM页面伪静态 Demo”是一个示例,旨在帮助学习者理解如何将动态的HTM(HTML)页面转换为看起来像是静态的URL形式。下面,我们将详细探讨这个主题。 首先,静态页面是指内容不随用户交互或时间变化而改变的...

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

    在互联网世界中,提高网站的搜索引擎优化(SEO)和用户体验是至关重要的,而伪静态页面生成技术正是实现这一目标的有效手段。伪静态页面,顾名思义,是一种将动态网页以静态HTML页面的形式呈现的技术,它保留了动态...

    ASP.NET动态页面静态化代码

    - **页面静态化**:将动态页面转换为静态页面的过程,以提高性能和搜索引擎友好性。 2. **为什么要静态化**: - **性能提升**:静态HTML文件加载更快,减少了服务器处理时间和网络传输量。 - **SEO优化**:搜索...

    网页静态化,伪静态页面

    网页静态化和伪静态页面是ASP.NET开发中提高网站性能和搜索引擎优化(SEO)的重要技术。在现代Web开发中,动态网页虽然功能强大,但在处理大量用户请求时,可能会增加服务器负担,降低页面加载速度。为了解决这个...

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

    网站静态优化是提升网页加载速度和搜索引擎友好度的重要策略,主要涉及前端页面的处理,包括静态化或伪静态化处理。这一技术对于提高用户体验和SEO(搜索引擎优化)效果具有显著作用。 1. **URL Rewrite 引擎**:...

    页面伪静态案例

    在IT行业中,页面伪静态是一种常见的优化技术,主要用于提高网站的搜索引擎友好度和用户体验。页面伪静态,顾名思义,就是将动态网页通过技术手段转换成静态的HTML页面,但实际内容仍然是动态生成的。这种方法可以让...

    php伪静态方法

    3. 加快页面加载速度:虽然伪静态页面本质上仍然是动态生成,但可以减少服务器处理时间,提升用户体验。 四、注意事项 尽管伪静态有很多好处,但也需要注意一些问题: 1. 配置正确:确保服务器配置正确,避免URL...

    动态页面静态化汇总--页面静态化方案

    在静态化过程中,URLRewrite可以将动态URL转换为伪静态格式,使得用户和搜索引擎看到的是看似静态的URL,而实际上这些请求仍被转发到动态处理程序。通过这种方式,可以提升用户体验,同时利于SEO优化。 4. **JSP+...

    java JSP页面静态化总结_动态页面变为静态页面以减少访问数据库的次数提高速度.zip

    - **URLRewrite实现URL伪静态化**:通过URLRewrite工具,可以改变URL的展示形式,使其看起来像静态页面,但实际仍由动态页面处理。这种方法并不真正生成静态文件,但在用户看来,URL更简洁,更像静态页面。 4. **...

    asp页面实现伪静态代码

    在IT行业中,尤其是在Web开发领域,"asp页面实现伪静态代码"是一个常见的需求,它涉及到网站优化和搜索引擎友好性的问题。ASP(Active Server Pages)是微软的一种服务器端脚本环境,用于生成动态交互式网页。伪静态...

    discuz伪静态配置方法

    在运营Discuz论坛时,为了提升用户体验和搜索引擎优化(SEO),很多管理员会选择启用伪静态功能。伪静态技术能够将动态URL转换为静态化的HTML链接,使得网页看起来像静态页面,但实际上仍然保持动态网站的特性。 ...

    ASP.NET页面静态化,伪静态化

    而伪静态化则是通过URL重写技术,使得动态URL看起来像静态页面的URL,从而达到优化用户体验和搜索引擎友好性的目的。 **URL重写** URL重写是ASP.NET中的一种机制,允许开发者改变URL的结构,以提供更友好的、更具...

    伪静态插件 asp伪静态

    在构建网站时,为了优化搜索引擎优化(SEO)和提高用户体验,伪静态技术是一个常见的选择。本文将详细探讨“伪静态插件”以及如何在ASP环境下实现伪静态,并提供关于个性化后缀和网站后缀修改的一些建议。 首先,...

    伪静态的源码 伪静态 伪静态 伪静态 需要的来

    伪静态技术是Web开发中的一种常见优化手段,主要用于将动态网页的URL转化为静态网页的URL形式,以提高网站的搜索引擎友好性(SEO)和用户体验。在这个压缩包中,可能包含了实现伪静态功能的源代码,适合需要进行这...

    zencart优化伪静态插件

    "Zencart优化伪静态插件"是针对ZenCart系统的一个重要优化工具,其核心功能是实现“Ultimate SEO URLs”,即搜索引擎优化的统一资源定位符。这个插件的目的是提升网站的搜索引擎排名,同时改善用户的浏览体验。 ...

    aspx页面伪静态化的配置

    ASPX页面伪静态化是一种常见的优化技术,它主要用于提高网站的搜索引擎友好度和用户体验。在ASP.NET环境中,通过将动态的ASPX页面转换为看似静态的HTML文件路径,可以达到这个目的。这样做不仅可以减少服务器的负载...

    ECSHOP 301重定向带动态页面跳转到静态页面插件

    因此,许多网站管理员会选择将动态页面转换为静态页面或伪静态页面,以改善搜索引擎的爬取和索引。ECSHOP 301重定向插件就是专门针对这个问题设计的,帮助用户在网站进行伪静态设置后,正确地配置301重定向,确保...

    DZX3.5伪静态规则文件

    在IT行业中,伪静态是一种将动态网页转换为静态URL的技术,主要是为了提高网站的SEO(搜索引擎优化)性能和用户体验。DZX3.5是某款基于PHP开发的网站内容管理系统,可能类似于Discuz! X系列,它允许管理员通过配置伪...

    aspx.net伪静态页面的实现

    ASP.NET伪静态页面的实现是Web开发中一种优化网站SEO(搜索引擎优化)和提升用户体验的技术。在实际操作中,我们通常会将动态网页通过技术手段表现为静态页面的形式,即URL伪静态化。这样做的好处包括:提高搜索引擎...

    伪静态的实现及伪静态的意义.ASP.NET

    在IT领域,尤其是在Web开发中,伪静态技术是一种常见的优化策略,主要应用于ASP.NET等动态网站框架中。本文将详细探讨伪静态的实现及其意义。 首先,伪静态的主要作用是提高搜索引擎的友好性。搜索引擎爬虫在抓取...

Global site tag (gtag.js) - Google Analytics