开启伪静态的前提条件
保证你的空间或服务器支持伪静态即URL重写
开启DedeCms伪静态
开启伪静态的方法:后台--》系统--》核心设置 找到:是否使用伪静态: 选择是 确定保存。
栏目和文章发布设置
栏目列表选项: 选择使用动态页 发布选项: 选择仅动态浏览
DEDECMS全站伪静态方法
首页伪静态
把站点根目录下index.html删除,以后不更新主页HTML即可,当然你也可以选择不使用动态首页。
频道、列表、文章伪静态
主要通过修改GetFileName()、GetTypeUrl()这两个函数实现。DedeCms V5.3、DedeCms V5.5和DedeCms V5.6版本,打开/include/channelunit.func.php进行修改。注意:DedeCms V5.7,此文件路径更改了,你打开/include/helpers/channelunit.helper.php即可。
a.将GetFileName()中的如下代码:
//动态文章
if($cfg_rewrite == 'Y')
{
return $GLOBALS["cfg_plus_dir"]."/view-".$aid.'-1.html';
}
替换为
//动态文章
if($cfg_rewrite == 'Y')
{
return "/archives/view-".$aid.'-1.html';
}
将文章页默认的/plus/view-1-1.html链接格式改为/archives/view-1-1.html,这个随个人喜欢,不作更改也行。
b.将GetTypeUrl()中的如下代码:
//动态
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid;
替换为
//动态
$reurl = "/category/list-".$typeid.".html";
这步必须修改,即让你的频道或是列表页URL变更为/category/list-1.html形式。
列表分页伪静态
打开/include/arc.listview.class.php,找到获取动态的分页列表GetPageListDM()函数末尾处:
$plist = str_replace('.php?tid=', '-', $plist);
替换为
$plist = str_replace('plus', 'category', $plist);//将默认的plus替换成category$plist = str_replace('.php?tid=', '-', $plist);将列表分页默认链接格式/plus/list-1-2-1.html修改为/category/list-1-2-1.html,这步也可以不作更改。
DEDECMS文章分页伪静态
打开/include/arc.archives.class.php,找到获取动态的分页列表GetPagebreakDM()函数末尾处:
$PageList = str_replace(".php?aid=","-",$PageList);
替换为
$plist = str_replace('plus', 'archives', $plist);//将默认的plus替换成archives$PageList = str_replace(".php?aid=","-",$PageList);这步不作修改也可以,只是个人喜好问题。
TAG标签伪静态
DedeCms默认的TAG标签URL,形如/tags.php?/dedecms5.7/,非常之难看。打开/include/taglib/tag.lib.php,找到lib_tag()函数下的:
$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";
替换为
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword'])."/";到这里,TAG标签URL中的“.php?”号就去掉了。
搜索伪静态
DedeCms搜索URL静态化比较麻烦,附带参数多不说,参数也可能变化,像搜索结果分页的URL就特麻烦,伪静态规则匹配复杂。小拼就偷下懒,将搜索URL中“search.php?…”直接替换为“search.html?…”,至于“?”号之后的参数以任意字符进行匹配。
依次打开include文件夹下的channelunit.func.php、arc.searchview.class.php、arc.taglist.class.php以及/include/taglib/hotwords.lib.php,查找“search.php?”替换为“search.html?”即可。
一、伪静态的好处
有些用户觉得,伪静态和纯静态实际被收录量会相差很大,其实不然,从你个人角度,你去判断一下一个帖子到底是纯静态还是伪静态?估计很难看得出,因为所谓静态的意思,就是地址中不带问号,不带问号的就是静态,管他是纯的还是伪的?搜索引擎看得出吗?所以说,其实不论是纯的还是伪的,其实对于搜索引擎来说都是一样的,搜索引擎没有说,你这个是伪的,我不收录你。
追根究底来说,为什么搜索引擎会不收录带问号的网址因为搜索引擎怕由于问号而进入死循环,称为“搜索机器人陷阱(Spidertraps)”(以前动网就有这样一个漏洞,蜘蛛进去出不来了),所以很多时候带问号的地址搜索引擎是不会进去的,伪静态对于搜索引擎来说,其实就是静态,因为地址中没有带问号,所以没有纯静态比伪静态收录得多的说法。
二、伪静态的缺点
当然犹如一篇文章的作者所说的:"如果流量稍大一些使用伪静态就出现CPU使用超负荷比如一个网站ISS数是1000,同时在线300多人就挂了,而不使用伪静态的时候同时在线超500人都不挂。”
确实是这样的,由于伪静态是用正则判断而是纯实地址,分不辨到底显示哪个页面的责任也由直接指定转由CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病。
三、我们应该选择伪静态还是纯静态?
我们来总结一下:
1、使用纯静态和伪静态对SEO来说没有什么区别
2、使用纯静态可能将导致硬盘损坏并将影响论坛性能
3、使用伪静态将占用一定量的CPU占有率,大量使用将导致CPU超负荷
4、最重要的一点,我们要静态是为了SEO
5、静态化的网站开发成本都比较高,对于中小企业建议考虑成本。
所以:
1、使用纯静态的方法可以直接排除了,因为无论怎么生成,对硬盘来说都是很伤的。
2、既然纯伪静态的效果一样,我们就可以选择伪静态了。
3、但是伪静态大量使用会照成CPU超负荷。
4、所以我们只要不大量使用就可以了。
5、既然静态只是给SEO看的,我们只需要伪静态给SEO就行了,不需要给用户使用。
6、所以我们只要在专门提供给SEO爬的Archiver中使用伪静态就可以了。
伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。就是展示出来的是以html一类的静态页面形式,但其实是用ASP一类的动态脚本来处理的。
简单来说就是动态地址不适合做站,百度喜欢伪静态,所以要用伪静态
其实网站形态分两种,静态和动态,伪静态并不是真正的静态,实质上也是动态页面。
静态页面,除了我们常见的.htm和 .html以后,.asp .php .jsp也可以是静态的,关键是看.asp .php .jsp这些页面是否调用了数据库里的东西,如果没有调用,它就是静态页面,调用了,就是动态页面。
动态页面的含意就是,网页会根据访问者的请求,从服务器数据库里筛选访问者想要的内容显示到访问者的浏览器上,不同的人访问同一页面,会看到不同的内容,这个网页本身里并没有数据,只有一些代码,访问者看到的,都是服务器里调出来的。
而静态页面,是事先把文字图片都放到页面里了,不需要从数据库里调,访问者访问一个页面,会直接从服务器把这个页面读出来显示到访问者的浏览器里,不需要数据库的支持。
伪静态页面,其目的是为了更好的被搜索引擎收录而通过一定的规则,把动态页面的地址转换成以htm或html结尾的地址,看起来是静态的,实际是依然是动态页面。
现在很多CMS网站程序,都可以把动态页面直接生成真静态的,就是所访问的页面是真真实实存的,根静态页面一样。这样的好处是访问速度快,不需要频繁去读取筛选服务器里的数据,减轻了服务器的压力,同时也能更好地被搜索引擎收录。
友情声明:本文内容由用户自发奉献,本站文章量较多,不能保证每篇文章的绝对合法性,若您发觉违规/侵权内容,请尽快联系我们删除。