WordPress使用插件+Python进行全站自动缓存

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小时)

就这样,peace

泛雪相寻 , 版权所有丨如未注明 , 均为原创丨本网站采用CC BY-NC-SA 3.0 CN协议进行授权
转载请注明原文链接:WordPress使用插件+Python进行全站自动缓存
上一篇
下一篇