陋室铭
永远也不要停下学习的脚步(大道至简至易)

posts - 2169,comments - 570,views - 413万

做SEO的朋友现在都知道了,URL静态化、URL伪静态、URL重写对SEO的重要性,搜索引擎喜欢静态的网站页面。今天我们来详细分析一下URL静态化、URL伪静态、URL重写这三者的区别。

      URL静态化。URL静态化 就是在你的网站服务器上现实存在的HTML页面,每个HTML页面对应着你网站上的一个URL。常见的可以生成URL静态化页面的网站开源程序有DEDECMS和其它一些CMS内容管理系统,WordPress在安装插件后也可以实现URL静态化。URL静态化和伪静态不同的地方就是URL静态化需要生成HTML文件,如果文件太多生成一次可能需要很长的时间,这一点不太方便。

      URL伪静态。URL伪态是最常见的网页存在形式,URL伪静态看起来和URL静态化完全一样,但实际上URL对应的文件是不存在的,是用技术手段实现的。伪静态的优点很多,比如不生成现实的HTML文件,就不会占用网站空间,管理方便,维护方便,和URL静态化一样有利于SEO。

      URL重写。URL重写技术就是我们常见的Rewrite技术,属于URL伪静态技术中的一种,现在是被广泛应用于各种系统环境,比如目前用得最多的LINUX 系统PHP环境,还有Asp.net环境,都是通过编辑配置文件规则实现的,例如我们常用的在LINUX系统PHP环境下的301重定向,就是通过Rewrite技术实现的。

      做SEO的朋友们一定要懂得URL静态化和URL伪静态的设置,这是做SEO站的基本要求。

 

 

 

页面静态化

 

  优点:降低数据库、web服务器压力,访问速度比较快; 同时,让搜索引擎搜录该链接的几率大,有助于seo

 

  思路:将"newsDetail.aspx?id=101"动态的生成的网页,下载到自定的文件夹,然后重新命名:20120319/101.htm。这样用户在访问的时候,就直接访问101.htm,静态页的好处这时就体现了。

 

  示例代码:

 

//文章编号id
       string newPath = id + ".htm";
            string localPath = HttpContext.Current.Server.MapPath("~/20120319/" + newPath); //HostingEnvironment.MapPath();
            //创建文件夹
              Directory.CreateDirectory(Path.GetDirectoryName(localPath));
            WebClient wc = new WebClient();
            wc.Encoding = Encoding.UTF8;
            //通过WebClient向服务器发Get请求,把服务器返回的html内容保存到磁盘上。以后用户直接请求html文件请求。
              wc.DownloadFile("http://localhost:7930/newsDetail.aspx?id=" + art.id, localPath);

 

   页面的a标签就可以这么写:<a href='20120319/<%#Eval("id") %>.htm'><%#Eval("title")%></a>

 

  静态页注意几个问题:

 

  1.页面编码问题:需要保存的页面指明编码方式(<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />),

 

   WebClient下载网页时,也要注意编码问题。

 

  2.路径: 图片、js、css等都用绝对路径

 

      3.页面上不要使用服务器控件,都用ajax处理

 

Url重写

 

  页面静态化和URL重写目的不一样,URL重写和页面静态化都可以SEO,

 

  但是URL重写SEO的开发难度小,页面静态化除了SEO之外还能大大降低服务器的压力。只有经常被访问的、很少变化的内容做成静态化。

 

  示例代码

 

  protected void Application_BeginRequest(object sender, EventArgs e)
       {
    string url = HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath;//获得用户要访问的资源。这个属性获得的是虚拟路径
      //判断用户访问的是否是/Art/newsDetail-101.aspx格式
      Match match = Regex.Match(url, @"~/Art/newsDetail-(\d+)\.aspx");
    if (match.Success)
    {
        string id = match.Groups[1].Value;
        //把客户端请求发给内部的其他页面
          HttpContext.Current.RewritePath("~/Art/newsDetail.aspx?id=" + id);
    }
}

 

 

总结一下

1.URL重写和页面真正的静态化,都可以做SEO优化,他们对于搜索引擎来说没有区别。

2.页面静态化还有一个主要的原因就是减小服务器和数据库压力,静态化一般是不变化的信息,比如新闻等等,所以一个系统可以静态化的就制作成静态页面,如果和服务器交互多的页面,那么还保持原来的动态页面,不过通过URL重写充能,做SEO。

3.还有一些和服务器交互不多的页面,比如用户信息页面,一般都是每个用户生成一个静态信息页面,每次修改用户信息的时候,动态的生成静态页面,然后替换原来的静态页面。

4.生成静态页也有很多问题,不说寻址和映射问题,如果静态页面太多的话,存储和管理也是问题。所以动态页面和静态页面遇到具体问题要具体分析,选择最优方案。

5.如果只想做SEO的话,那完全可以只做URL重写。

6.另外提一下,.net中有页面缓存的技术,这个服务器压力和生成静态页面有些相似,具体技术大家自己查资料吧(其实页面缓存是静态页的一种折中的办法,不过它局限在存储在内存中,会占用内存)。

 

posted on   宏宇  阅读(2876)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2011-12-05 删除sql server 日志文件
2011-12-05 删除开机选择系统
< 2012年12月 >
25 26 27 28 29 30 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示