事情本身不复杂,线索都在日志里。站点改成 WordPress 后首页由 PHP 输出,Nginx 的 index 顺序里 index.html 排在前面,蜘蛛抓到的还是三年前那份静态首页。

第一反应是「首页的 title 和 description 停留在旧版,新内容完全看不到」,验证下来不成立。

真正麻烦的地方在于,几个原因的现象几乎一样。目录下残留的 index.html 优先级高于 index.php。还有一种是静态页没有 canonical,蜘蛛把它当成独立的首页版本。

另外,内链都指向新首页,但蜘蛛仍按目录默认页取内容。

第一件事是确认目录默认页的优先级

nginx -T | grep -n 'index '

直接请求目录看返回的是哪个文件

curl -s https://www.example.com/ | grep -o '<title>[^<]*'

然后删掉残留静态页并刷新缓存

mv /www/wwwroot/lu0.cn/index.html /tmp/index.html.bak

再验证首页标题

curl -sI https://www.example.com/ | head -1

改完先别撤,确认这几项。请求根目录返回的 title 与后台设置一致,日志里首页抓取的响应体大小从小几 KB 变成几十 KB,快照同步更新。

改完别只清 CDN,Nginx 的 open_file_cache 也会记住旧的目录项,重载一次比等超时省事。监控比日志更早给出信号,事后回看经常能提前半小时发现异常。

作者 9823189