站点承诺会员免广告,会员登录后首页还是出现两个广告位,退出登录反而正常。乍看像缓存或者权限的锅,追下去往往不是。
curl -s -b 'wordpress_logged_in_xxx=...' https://example.com/ | grep -c 'ad-slot'
追下去是这么回事:广告位跟着整页缓存一起下发,缓存里存的是游客版本。判断是否显示广告用的是前端脚本读的标记。
「广告登录态」这类改动最怕改一半,回滚脚本先准备好,再动生产。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。
先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。别只看报错的最后一行,往上看几行,真正的起因通常在上面。
同类问题如果隔一段时间又出现,多半是某个定时任务或重启流程把改动冲掉了。
具体做法是,广告是否显示改在服务端判断;缓存按登录状态拆成两份,别共用;会员中心加一个免广告开关,方便临时排查;用会员和游客两个身份各访问一次首页。
验收就看一点,会员访问首页广告位为 0,游客访问仍正常展示。
