A8DOG

A8DOG

随便写写,记录折腾过程!
telegram

WordPress搭配WP Super Cache + Python脚本实现暴力预缓存 全站静态化

WordPress 有定时任务机制,WP Super Cache 插件就是通过这个定时任务来进行预缓存,在我使用的过程中预缓存一次最多生成十几个页面,并且在下一次定时任务运行的时候才会继续生成,效率是非常的慢,如果一直挂着 WP Super Cache 预缓存页面可以一直自动生成,但是效率还是太慢了,于是我写了一个简单的 python 脚本并且可以把 WP Super Cache 不能预缓存的分类页面也能缓存上。

https://img.a8dog.com/i/2024/03/25/qw5iaj.png

代码:#

首先我们的服务器需要 python3 环境,并且我们的 WordPress 安装好了 WP Super Cache 插件,把下面的代码编辑成 page.py,用于缓存分类的分页。

把代码中的链接替换成你的分类页就可以了,每一行的分类页后面数字就是你的分页数量。

比如我的分类有 10 页,那么我可以设置 15 页,后续文章多了分页多了不会缓存不上。

在把下面的代码添加到 url.py:

把地图地址替换成你的地图地址,会自动抓取网站的全部链接进行预缓存。

如果我们在宝塔添加定时任务选择 shell 脚本:

可能会出现一个报错:

这是因为宝塔的定时任务是使用宝塔的 python 环境,没有安装 requests 模块,我们只需要随便添加一个 shell 定时任务脚本:

执行一下,然后再重新添加定时任务就可以了。

注意:#

如果你的域名有 cdn 或者防火墙,频繁的预缓存可能会出现被拦截的情况,请把 IP 加入白名单 并且把修改 host 文件,把域名指向源 IP 或者 127.0.0.1,这样就不会消耗 cdn 流量。

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。