WordPress是基于PHP的动态博客平台,每个页面的生成都需要从数据库里进行查询,若不进行缓存,对页面打开速度会有一定影响。
本文特别适用于新站(流量小),难以触发缓存
这是缓存之后WordPress生成页面的时长
这是缓存前后WordPress生成页面的时长
测速连接拿走不谢(自备梯子)[dm href='https://developers.google.com/speed/pagespeed/insights/']谷歌insights[/dm]
实现原理
使用python自动从Sitemap中请求所有的页面,以便生成缓存页面
先决条件
“目前国内使用 WordPress 很慢的主要原因其实就是因为“墙”的存在, WordPress 自身会调用很多“库”,而这些“库”大部分都是“墙”外的,这本身就拖慢了运行速度,很多站长都知道使用 WordPress 后要关闭对 Google 字体的调用,虽然新版 WordPress 已经去掉 Google 字体了,但还有不少调用是需要“墙”外的http请求的,当然这些请求目前国内已经有很多第三方提供的来使用了,所以这个影响现在几乎是微乎其微了,当然前提是你得会替换这些http请求,这点而我们以后再去探讨。”转载自这里
- WordPress安装Sitemap+缓存页面的插件
- 主机上安装Python3 crontab(不要告诉我你用的Windows主机
SiteMap分析
本站的Sitemap
禁止套娃!!!一级链接下有二级链接,二级链接下又套回来了(;´д`)ゞ去重安排上了
并且,本站的PC端和移动端页面是不一样的,所以方案明确:递归方式请求sitemap中的网址,去重,两种UA,每次请求后延迟。
Python的实现
需要的库
- requests
- bs4 -> BeautifulSoup
[gt href='https://github.com/OldTaoge/WordPressCache']开源地址[/gt]
定时请求的实现
依赖Linux的定时Crontab
crontab -e 0 * * * * python3 /root/python/sitemap.py > /dev/null
这种写法就是每小时请求一次全站(虽然缓存的有效期是24小时)