wordpress设定headers信息提高cdn命中率

本文分析了WordPress网站CDN命中率低的原因,指出静态资源默认无Cache-Control导致CDN缓存时间短,动态资源因程序自动添加no-cache而不被缓存。解决方案包括:开启Apache的expires和header模块,在.htaccess中设置静态资源缓存时间;通过代码修改动态资源的Cache-Control为长期缓存。这些调整可显著提升CDN命中率,减轻源站压力。

WordPress基础教程
阅读时间: 12 分钟
最后更新时间:2025年11月13日

小站开启cdn已经有一段时间了,但cdn命中率一致持续在30%上下,百思不得解。最近浏览帮助文档发现,原来是headers中cache-control的问题。以下以ubuntu+apache+腾讯云cdn为例。

在wordpress中,静态资源比如css、js等默认是不包含cache-control信息的,在这种情况下,cdn会按照缓存继承策略,添加“Cache-Control: max-age=600”信息,即缓存600秒。过期之后需从源站取回,再发送至浏览器。

而动态资源,比如首页、日志页,由于wordpress程序会自动添加 “Cache-Control: no-cache, must-revalidate, max-age=0”,导致cdn不对该类资源进行缓存,每次请求均会返回源站,导致速度慢、cdn命中率低,浪费源站服务器资源。

针对静态资源的cache-control配置,需要开启apache的expires和header模块,具体过程可百度搜索。

开启后,在htaccess尾部添加如下代码

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 10 days"
ExpiresByType image/jpg "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
ExpiresByType text/html "access plus 10 days"
</IfModule>

具体每种资源需要设定的过期时间,可自行更改。

针对动态资源的设定则需要给wordpress添加一段代码,修改程序默认设定的cache-control信息。代码如下:

if(! is_user_logged_in()){
        $headers['Cache-Control'] = 'public,max-age=' . 864001;
        $headers['Expires'] = gmdate("D, d M Y H:i:s", time() + 3600 * 24 * 10) . " GMT";        
            foreach($headers as $k => $v){
                header($k .': '.$v);
            }
    } 

OK,到此为止设定完成,详细的cdn缓存设定,可参考腾讯云cdn文档的“缓存继承”。

转载:wordpress设定headers信息提高cdn命中率 | 我系张先森

这篇文章有用吗?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此文章。

曾凤祥

曾凤祥

技术负责人
小兽WordPress凭借15年的WordPress企业网站开发经验,坚持以“为企业而生的WordPress服务”为宗旨,累计为10万多家客户提供高品质WordPress建站服务,得到了客户的一致好评。我们一直用心对待每一个客户,我们坚信:“善待客户,将会成为终身客户”。小兽WordPress能坚持多年,是因为我们一直诚信。

相关文章

如何让线上业务更上一层楼

还没有WordPress网站

还没有WordPress网站

不管你从事什么行业,WordPress都会为你提供一个专业的主题模板。在WordPress市场上有成千上万的免费主题,适合很多中小企业。

查看所有模板
已经有WordPress网站

已经有WordPress网站

小兽WordPress诚邀你一起学习WordPress,愿与各方携手升级改善您的WordPress网站,一起交流网站加速,网站优化等问题。

马上交个朋友
微信联系
chat 扫码联系
模板建站
挑选模板
网站定制
免费诊断
咨询热线
咨询热线

189-0733-7671

返回顶部