WordPress 作为世界上最流行的博客建站软件,不管是从界面还是功能上来说都非常成熟,不过有一点比较遗憾,Wordpress 建立的主要是动态网站页面,其性能消耗比较大,用 WordPress 建立较大的网站,对服务器端资源占用较多,而很多时候,我们需要的是一个完全静态的网站。
完全静态的网站只有 html 文件,对服务器资源消耗极低,很多地方提供免费托管静态网站的服务,因此静态网站运行成本非常低,此外,静态网站安全性很好,几乎没有什么可攻击的漏洞,相比动态网站来说,不必过于操心安全问题,在访问上,即时访问量非常大,静态网站也可以很好地支撑,基本上不会有什么性能问题。
那么,如何将一个 WordPress 网站完全静态化呢?下面我就讲一下方法。
在 WordPress 的“设置”>>“固定链接”里,将固定链接设置为“自定义结构”,文章的标题结尾增加.html,这样文章页面显示出来就和静态页面一样,但是目录和标签还是动态页面。
之后,关闭 WordPress 的评论功能,在“设置”>>“讨论”里,选择“自动关闭发布 1 天后的文章上的评论功能”。
如果 WordPress 内的文章数目小于 1000,可以安装一个名为Simply Static 插件即可在短时间内生成静态网站,并提供下载,这很简单,无需多说。
不过,如果文章数目大于 5000 篇,比如数万篇文章,那么,使用 Simply Static 插件生成 html 的时候,通常会报超时错误,因为一般的网站服务器会在 PHP 上设置了超时和内存限制。我们通常的解决办法是,在本地搭建一个PHP环境,修改PHP超时时间和内存大小,例如对于 Windows 系统来说,可以选择安装 WAMP,安装好了后,修改环境里PHP 超时时间和内存大小,这时候使用 Simply Static 插件就不会报错了。
即时如此,对于文章数过万的 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 文件,然后我们将这些 html 文件发布到目标网站,就可以得到一个完全静态的网站,这个静态网站不需要 WordPress 的其他 php 代码,能支撑大流量访问,基本没有安全隐患和漏洞,除了更新麻烦之外,其他方面和原有 WordPress 几乎完全一样,是一个低成本高质量部署网站的好方法。
- 本文固定链接: http://jingyan.idoubi.net/25.html
- 转载请注明: 小雅 于 逗分享开发经验 发表