
文章目录
流量掉了先别改代码。用同一口径对比 GA4、Search Console 与服务器日志,确认真跌还是统计错位;再按 robots、证书 5xx、收录处罚、改版 URL 逐层排除。验证标准是:日志 200 回升、GSC 覆盖率恢复、排名回到基线。
排查流程:8 步定位网站流量下降
- 统一数据源口径,确认是否真的掉量。
- 检查 robots.txt 与 noindex 是否误伤页面。
- 验证 TLS 证书与 5xx 错误是否拦截访问。
- 查看收录状态与 Search Console 人工处罚。
- 核对改版后的 URL 变动与 301 重定向。
- 对比服务器访问日志中的真实爬虫命中。
- 用 staging 复现并灰度回退变更。
- 建立发布前检查清单与监控告警。
1. 先确认是否真的掉(数据源口径)
很多“暴跌”是统计口径变了。2026 年 GA4 默认与 Search Console 数据本就不一致,前者看会话,后者看点击与展示。先在服务器层拿原始日志,再对齐三方数据。
在 Nginx 环境执行下面命令,取近 7 天与上周同期的有效请求量:
awk '$9==200 {print $4}' /var/log/nginx/access.log
| cut -c 1-11 | sort | uniq -c再用 GoAccess 或如下命令看 UA 里爬虫占比:
grep -iE 'googlebot|bingbot' /var/log/nginx/access.log
| wc -l常见坑:CDN 或缓存插件把真实 IP 写丢,日志里全是边缘节点 IP。先在 wp-config.php 确认没有错误覆盖 REMOTE_ADDR,Nginx 需设 real_ip_header X-Forwarded-For;。若日志正常而 GA 掉,多半是 gtm 容器被广告拦截或 consent mode 拦了,不是真跌。
做对了的标准:Nginx 200 计数、GSC 点击、GA4 会话三者趋势同向。若只 GA 掉,就去查跟踪代码;若三者同掉,继续往下排。
2. robots 与 noindex 误伤
robots.txt 写错一行就能让整站从搜索消失。WordPress 后台“设置→阅读”里的“建议搜索引擎不索引本站点”会直接输出 noindex,上线时常被忘记关掉。
先 curl 看头部与正文:
curl -I https://example.com/
curl https://example.com/robots.txt再看页面源码里有没有:
<meta name='robots' content='noindex,nofollow' />2026 年多数 SEO 插件(Yoast、Rank Math)在文章级也能单独关索引。进数据库查 wp_postmeta:
SELECT post_id, meta_value FROM wp_postmeta
WHERE meta_key = '_yoast_wpseo_meta-robots-noindex';回退方法:改回 robots.txt 后,在 GSC 用“网址检查→请求编入索引”。若是 wp-config.php 里误加了 define('WP_ENVIRONMENT_TYPE','staging'); 导致插件自动 noindex,改回 production 并清对象缓存。
验证:robots 允许抓取、页面无 noindex、GSC 显示“已编入索引”。
3. 证书与 5xx
证书过期或 5xx 会让爬虫连续拿不到内容,GSC 报“已抓取未编入索引”或直接掉收录。先查证书:
获取报价
邮箱 + 需求 + 预算区间,24 小时内回复报价。
echo | openssl s_client -connect example.com:443
-servername example.com 2>/dev/null | openssl x509 -noout -dates再压测后端是否 502/504:
curl -o /dev/null -s -w '%{http_code}n' https://example.com/
tail -f /var/log/nginx/error.logPHP-FPM 挂掉时 Nginx 日志是 connect() failed (111: Connection refused)。重启后仍不稳就看 www.conf 里 pm.max_children 是否打满。若流量掉伴随全站 5xx,先看是不是刚发版:插件冲突常导致致命错误。
踩坑:只配了 HTTP 跳转 HTTPS 却忘了证书链,某些爬虫视为不安全。回退是先临时 return 200 静态页保收录,再修 TLS。
验证:openssl 显示有效期覆盖当前、curl 返回 200、error.log 无上游拒绝。
4. 收录状态与人工处罚
进 Google Search Console 看“网页”报告与“安全与手动操作”。人工处罚会写明“ unnatural links ”或“ thin content ”。
用 API 批量看 URL 状态(2026 年 URL Inspection API 仍可用):
curl -X POST
'https://searchconsole.googleapis.com/v1/urlInspection/index:inspect'
-H 'Authorization: Bearer YOUR_TOKEN'
-H 'Content-Type: application/json'
-d '{"inspectionUrl":"https://example.com/page","siteUrl":"https://example.com/"}'若收到人工处罚,按邮件要求清理链接或内容后提交重新审核。没有处罚但覆盖率暴跌,多半是前几步的技术问题。
验证:手动操作项为空、覆盖率曲线回升到基线。
5. 改版导致的 URL 变动
换主题、改固定链接结构、迁移域名都会产生新 URL。老地址没做 301,权重就断了。先导出所有 404:
awk '$9==404 {print $7}' /var/log/nginx/access.log
| sort | uniq -c | sort -nr | head -30在 WordPress 里用 template_redirect 钩子补重定向,而不是全靠 .htaccess:
add_action('template_redirect', function () {
if (is_404()) {
$uri = $_SERVER['REQUEST_URI'] ?? '';
$map = ['/old-page' => '/new-page'];
if (isset($map[$uri])) {
wp_safe_redirect(home_url($map[$uri]), 301);
exit;
}
}
});改版前先在 staging 跑一遍全站抓取,比对新旧 URL 清单。若已上线且掉量,用 Redirection 插件或上面的代码批量补 301,再在 GSC 提交更新站点地图。
验证:404 日志清零、新 URL 返回 301 且 Location 正确、老排名逐步迁移。
6. 服务器日志里的真实爬虫命中

第三方工具说“没抓取”未必准。直接看日志里 Googlebot 的到达率与返回码:
grep 'Googlebot' /var/log/nginx/access.log
| awk '{print $9}' | sort | uniq -c若大量 403,可能是 WAF 或安全插件把 UA 当恶意。Wordfence 2026 版可在 wordfence-waf.php 里临时放行:
// 在 waf 配置数组里加 UA 白名单
$config['whitelisted'] = 'Googlebot,Bingbot';回退是先关 WAF 观察十分钟,确认恢复后再精细化规则,而不是长期裸奔。
验证:Googlebot 返回码以 200/304 为主。
7. 用 staging 复现与灰度回退
生产直接改风险大。用子目录 staging 同库不同前缀复现:
define('WP_HOME','https://example.com/staging');
define('WP_SITEURL','https://example.com/staging');复现后按“改一个变量、观察一天”的节奏回退。若用了对象缓存(Redis),每次改完执行 redis-cli FLUSHDB 避免旧 HTML 干扰判断。
这一层也常和发版流程绑在一起,我们在做 WordPress 企业网站开发 时会把 staging 与生产用同一套 CI 变量,避免口径差。
验证:staging 能稳定复现且修复方案在生产生效。
8. 预防:发布前检查清单
把前面步骤固化成发布卡点,比事后救火省力。
| 检查项 | 命令/位置 | 合格标准 |
|---|---|---|
| robots/noindex | 设置→阅读、curl 源码 | 无 noindex |
| 证书有效期 | openssl s_client | >30 天 |
| 返回码 | curl -w %{http_code} | 200 |
| 重定向 | 404 日志 + 301 映射 | 无裸 404 |
| 缓存 | redis-cli FLUSHDB | HTML 更新 |
再配 UptimeRobot 或 Prometheus 告警到 5xx 与证书剩余天数。若团队缺人做常态化巡检,可参考 技术栏目 里的监控方案,或把发版卡点外包给固定服务商。
常见问题
流量掉了第一步到底看什么?
先看服务器 access.log 的 200 计数与 Googlebot 命中,确认是真跌还是统计工具错位,再查 robots 与证书。
301 做了但收录不回来怎么办?
在 GSC 用网址检查请求重新抓取,并确认旧 URL 返回 301 而非 404;同时检查新页面有没有被 noindex。
证书没问题但爬虫拿不到内容?
查 WAF 与 CDN 是否对 Googlebot 返回 403,用日志里的 UA 返回码分布定位,临时加白名单验证。
可执行动作清单
- 今天跑一遍
awk '$9==200'对比日志,确认是否真跌。 - curl 首页与 robots.txt,关掉误开的 noindex。
- openssl 查证书剩余天数,配到期告警。
- 导出 404 清单,用
template_redirect补 301。 - 把发布前五项检查写进 CI 卡点。
若需把上述排查做成常态化服务,欢迎了解我们的 WordPress 开发与运维支持。查看服务详情。
