WordPress实现全站纯静态


本篇文章实现WordPress全站纯静态,实现全部为html/cs/jss/图片文件、无php文件、无数据库、无wpadmin后台,可将生成的网站存放于静态网页托管,适合企业网站等需求。缺点是由于没有数据库和php交互,评论、搜索功能无法使用。另外也介绍了静态化搭配CDN的配置方法。

为什么要开启WordPress静态

使用静态主要目的有两个。

一个是为了减缓服务器压力。当访客请求网页浏览时,静态资源(HTML/JS/CSS/图片)不需要服务器运算,直接将静态资源原样发给访客即可。而动态资源(PHP/数据库内容)需要服务器经过运算解析后把生成的结果发给访客。很明显动态资源相比静态资源要耗费更多的服务器资源。不需要专业的测试工具,打开WordPress伪静态文章一定比纯静态文章要耗费更多的时间。

另一个是为了提高SEO效果。搜索引擎会对静态html结尾的URL优先索引。
WordPress现有的几种静态解决方案
目前基本上有三种静态解决方案。分别为伪静态、缓存静态、全站纯静态。本文详细介绍全站纯静态。其他两种静态方法较简单,网上有大篇文章介绍。

伪静态
利用WEB软件(IIS/APACHE/NAINX等)的url rewrite功能实现WordPress伪静态。
访客看似访问的网页是静态资源,实际上对于WEB服务器来说仍然是动态资源,因此对减缓服务器压力没有任何效果,只有SEO效果。

设置方法很简单,在WordPress后台-设置-固定链接里,选择你想要的URL格式,再到WEB软件里添加对应的rewrite规则即可(规则网上搜索一下就有,宝塔面板自带)。

缓存静态

缓存静态是安装WordPress的WP Super Cache插件,实现自动生成html静态资源,达到提高网站速度减少服务器压力的效果。

缓存静态的原理是当访客请求一个文章时,WP缓存静态插件会先判断这个文章是否有已经生成的html网页,如果有,则直接读取已生成的html网页给访客;如果没有,则先将文章生成html网页再发送给访客,之后其他的访客就可使用生成的html网页。当已生成html网页时,跳过了解析php和读取数据库步骤,可大幅提高网站速度和减缓服务器压力。

缓存静态的缺点是整套WordPress系统仍然运行于服务器,由于WordPress漏洞或设置不安全,仍然会有被黑客入侵的危险。

设置方法也很简单,安装WP Super Cache插件,开启插件的“启用缓存”和“预缓存”功能即可。详细配置可参考官方文档和网上文章。“启用缓存”功能是插件只生成被访问的html网页,并在设定时间后删除缓存的html文件。“预缓存”功能是定时自动生成全部html网页。

全站纯静态

全站纯静态通过WP插件生成WordPress全站静态资源,再配合资源优化插件以及CDN,就可以把全站静态资源放到云计算的对象存储、CDN源站、免费静态网页托管等web服务商,实现数量级的提升网站速度,并拥有无懈可击的安全性。

甚至可以在本地搭建一个WordPress平台,设计好主题、写好文章后,将生成的静态资源上传到对象存储和CDN来搭建网站。访客访问时感觉不到这不是一个真实存在于WEB服务器的WordPress。

需要的WordPress插件

Simply Static插件(https://cn.wordpress.org/plugins/simply-static),用于生成全站静态化

Autoptimize插件(https://cn.wordpress.org/plugins/autoptimize),用于整合优化资源文件

Simply Static插件
这个插件用于生成全站静态化。在本地搭建WordPress平台,安装好插件,设置页面主要如下图

Local Directory选项
这个选项设置静态资源生成保存目录。我这里设置的是D:/soft/xampp/htdocs/public/。网站根目录是D:/soft/xampp/htdocs。

Destination URLs选项
Use absolute URLs是使用绝对URL路径。不建议选这个,由于本地环境和云端的URL不一样,不好调试。

Use relative URLs是使用相对URL路径。如果设置为/abc/,假设域名是www.abc.com,则URL是www.abc.com/abc/;设置为/,则URL是www.abc.com/。建议设置为/,配合Local Directory选项,可实现生成的文件生成到public目录,而public目录就是生成的网站根目录。将public目录内的文件上传到云存储根目录,即可实现全站静态化。

Save for offline use是转化为离线路径。用于web服务器的网站转化为本地环境使用。

Delivery Method选项
这个选项让你选择生成的是文件目录还是压缩包。
Autoptimize插件
Autoptimize插件也可在缓存静态方案中使用,效果一样。

Autoptimize插件用来合并压缩js/css文件、压缩html文件。

如果不优化,访客打开一篇WordPress文章时,会请求很多个js/css文件,而每个请求都需要单独建立http(s)连接,消耗服务器资源。如果压缩为一个js和css文件,则只需要请求一次,可减轻服务器压力。压缩html文件可以减少传输的html流量,对于CDN来说流量就是成本。

这是优化前和优化后的截图

正文完

评论区
个人资料

  • 博主木木
  • 运营天数3188
  • 文章阅读数 28217
  • 评论数量1
  • 文章数量99
搜索

倒计时