用織夢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就是不用解析。



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