用织梦CMS搭建的网站,当文章量稍微大一点的话,生成一次静态html文件,将是非常痛苦的一件事情。 

今天不考虑服务器性能,只是在织梦程序本身找到一些思路,给生成静态文件提点速度。 


问题思考:

1、罪魁祸首:

织梦的标签中,arclist标签无疑是一个常用,并且是非用不可的一个织梦标签,然而这个标签在影响织梦生成静态速度快慢的因素中绝对排最前。我们要做的就是尽量少用甚至不用arclist标签。 

举个例子来说,一个网站有100个页面需要生成,正常情况下,每个页面有一组arclist标签的版块,那么生成一次arclist标签就需要查询100次,这个就是时间。减少arclist标签的查询就是我们的手段,从而减少生成的时间。

2、必须使用arclist标签的版块:

生成静态主要是列表页和内容页,网站的页面布局一般有左右结构的布局(博客,企业站都常见),一般右侧或者左侧是固定的,内容基本是一样的,例如:热门访问,推荐访问,最新发布等,这些小版块都是需要arclist标签来实现。

SEO中我们常说的噪音版块,实则就是鸡肋。

3、隐藏使用arclist标签的版块:

我们可以把上述中的侧栏版块直接进行静态化,这样我们就减少了arclist标签的请求次数。

解决方案: 

第一步:我们把网站页面区块化分割

这个每个站不同,总的指导就是运用了arclist标签的版块,同时这些版块的内容是一样的。例如:网站侧栏我一般用sidebar标签进行布局,我要做的就是把sidebar里边的内容直接静态化,常见的就是一些推荐性质,热门阅读性质的。 

第二步:

运用自由列表的功能,把上述的区块直接生成静态文件,我要做的就是把我模板中sidebar里边的内容静态化。

进入织梦后台--核心--频道管理--自由列表管理,然后看到下边这些设置

自由列表标题:	     页面边栏
列表HTML存放目录:   /templets/default/      
目录默认页名称:     aside.html
命名规则:	    {listdir}/aside.html
列表模板:	    {style}/aside.htm



说明一下,

1、标题可以随意;

2、存放目录,这个也可以自定义,我是放到了模板文件夹内,有时也可以放到网站根目录;

3、这个也是可以自定义的,我的区块就一个,你要是分好几个的话,就需要多建立几个自由列表,便于自己理解即可;

4、这个和上边的默认页保持一致即可,

5、列表模板,我上边的sidebar.htm的内容就是我把原有模板的sidebar部分复制到一个新的htm文件,命名为sidebar,放在模板目录中。

6、别的设置基本可以不用理会,默认即可。

7、然后建立成功后,我们更新这个自由列表,就会得到一个sidebar.html的静态页面文件,根据上述设置是在模板目录中。


第三步:在我们默认的模板文件中引入上述的静态页面


{dede:include filename="sidebar.html" ismake="no"/} 
上边这句很常见,织梦模板中的头部,尾部,都会用到这个标签, 这个标签的位置自己根据自己情况引入到模板中的对应位置,里边的 ismake可以理解成是否要解析该文件,no就是不用解析。



第四步:每次我们需要生成内容页和列表页之前,先更新一下自由列表,看看你的速度吧。