WordPress導出全靜態化網站
WordPress做為世界上流行的博客建站軟件,不管是從界面還是功能上來說都非常成熟,不過有一點比較遺憾,Wordpress建立的主要是動態頁面,其性能消耗比較大,用其建立較大的網站,對服務器端資源佔用較多,而很多時候,我們需要的是一個完全靜態的網站。
完全靜態的網站只有html文件,對服務器資源消耗極低,很多地方提供免費託管靜態網站的服務,因此網站運行成本非常低,此外,靜態網站安全性很好,幾乎沒有什麼可攻擊的漏洞,相比動態網站來說,不必過於操心安全問題,在訪問上,即時訪問量非常大,靜態網站也可以很好的支持,基本上不會有什麼性能問題。
那麼,如何將一個Wordpress網站完全靜態化呢?下面我就講一下方法。
在Wordpress的“設置”-“固定連接”裡,將固定鏈接設置為“自定義結構”,文章的標題結尾增加。html,這樣文章頁面顯示出來就和靜態頁面一樣,但是目錄和標籤還是動態頁面。
如果Wordpress內的文章數目小於1000,可以安裝一個名為Simply Static插件即可在短時間內生成靜態網站,並提供下載,這不值得多說。
不過,如果文章數目大於5000,比如數万篇文章,那麼,使用Simply Static插件通常會報錯,因為一半服務器在php上設置了超時和內存限制,我們通常的辦法是,在本地搭建一個php環境,修改php超時時間和內存大小,通常對於Windows系統來說,可以選擇安裝一個名為寶塔面板的軟件,可以快速配置一個WAMP環境,安裝號了後,修改環境裡php超時時間和內存大小。
即時如此,對於文章數過萬的WordPress來說,Simply Static插件生成網站的速度過慢,幾乎要幾個小時,這裡我們推薦使用另一個靜態化插件:WP2Static插件。
在WP2Static插件裡,修改Crawl Increment的數量為100,可以有效提高頁面生成速度,不過我在使用WP2Static插件的時候,也發現一些問題,通過多次調試才生成成功。
1、首頁翻頁目錄缺失,首頁的page只生成了幾個,我的解決方法是,安裝一個名為WP-PageNavi的插件,在插件裡設置“顯示多少頁數”的數字為頁面數最大值,這樣就可以把首頁分頁都生成出來。
2、目錄頁缺失,目錄頁只生成了一頁,我的解決方法是,在“Deploy static website”裡,選擇“Subdirectory on current server”,這樣就可以把網站生成到本地一個目錄下,之後,在Crawling選項裡,把Detection level中的三個選項都跑一邊,這樣的話就可以生成全部的目錄頁和文章頁。
經過這些處理後,我們就在最終目錄下得到了一個完全靜態的網站代碼,然後我們將這些html發佈到目標網站,就可以得到一個完全靜態的網站,不需要WordPress的其他代碼,除了更新麻煩之外,其他方面和原有WordPress幾乎完全一樣。