做站长的,最怕收到 Google Search Console (GSC) 发来的邮件。
| Google Search Console (GSC) 发来的邮件 |
最近我也收到了一封,标题很吓人:“Search Console 发现您网站上的某些网页由于以下新原因而无法被编入索引”。主要涉及两个问题:
-
重定向错误
-
由于禁止访问 (403) 而被屏蔽了
这两个问题如果处理不好,页面会被直接踢出 Google 索引,流量归零。经过一番排查,我发现这在静态网站(如使用 Hugo、VitePress 部署在 Cloudflare/Vercel 上)中非常常见。
最近我修改了VitePress的配置。
// 开启后网址后缀无'html'cleanUrls: true,
以下是我的排查记录和解决方案。
一、 解决“重定向错误” (Redirect Error)
当 GSC 报这个错时,意味着 Googlebot 在抓取你的页面时陷入了“死循环”或者“迷宫”。
| GSC 报错 |
1. 常见原因
-
无限循环: A 页面跳转到 B,B 又跳回 A。
-
链条过长: A -> B -> C -> D… 跳转超过 3 次,爬虫就会放弃。
-
尾部斜杠冲突 (Trailing Slash): 这是静态网站最容易踩的坑。比如 Cloudflare 设置了“去斜杠”,但你的 Hugo/VitePress 配置又强制“加斜杠”,导致浏览器在
example.com/page和example.com/page/之间反复横跳。 配置修改:我的网站报重定向错误的问题所在就是之前的配置修改了。正是“cleanUrls: true,”这个参数修改,导致的重定向。
2. 排查与修复
不要只用肉眼看,要用工具。推荐使用 httpstatus.io 输入报错的 URL。
| httpstatus.io查询结果 |
-
如果看到状态码在 301/308 之间反复循环: 检查你的 CDN(如 Cloudflare)的“页面规则”和本地站点的配置文件(如
config.toml或vercel.json)。确保它们的逻辑是统一的(要么全带斜杠,要么全不带)。 -
如果链条太长: 简化规则,争取让用户一次跳转就到达目的地。
我从查询的结果来看,上面的两个问题都不是,已经从308到200状态码了。说明重定向已经做好。这就是cloudflare强大之处。
二、 解决“由于禁止访问 (403) 而被屏蔽了”
403 意思是“服务器收到了请求,但拒绝执行”。对于希望被收录的公开页面,这通常是“误杀”。
我查了我的403报错,是因为目标网站设置了禁止搜索引擎收录。危机解除。
如果你遇到的问题与我的不一样,以下是建议。
1. 罪魁祸首:防火墙 (WAF)
如果你使用了 Cloudflare,很可能是它的 WAF 规则太严了,把 Googlebot 误判成了恶意爬虫。
2. 解决方法
-
登录 Cloudflare 后台,查看 Security (安全性) -> Events (事件)。
-
筛选是否有来自 Google ASN 或 User-Agent 的拦截记录。
-
调整 Bot Fight Mode: 确保“Verified Bots”(已验证的爬虫,如 Google)是允许通过的。
-
检查敏感目录: 如果报错的 URL 是
/admin或.git等,请在robots.txt中将其设为Disallow,或者确保服务器返回 404 而不是 403。
三、 深度解析:308 状态码是什么?
在排查重定向时,我发现了一个平时少见的状态码:308。它和我们要找的 301 有什么区别?
简单来说,308 (Permanent Redirect) 是 301 (Moved Permanently) 的“现代版”和“严格版”。
| 特性 | 301 (老标准) | 308 (新标准) |
|---|---|---|
| 含义 | 永久移动 | 永久移动 |
| 行为区别 | 浏览器可以把请求方法改为 GET (导致 POST 表单数据丢失) | 浏览器必须保持原有的请求方法 (POST 依然是 POST) |
| SEO 影响 | 传递权重 | 传递权重 (Google 对两者一视同仁) |
为什么你会看到 308?现在的托管平台(如 Vercel, Netlify)和框架在处理HTTPS 强制跳转或尾部斜杠标准化时,越来越倾向于默认使用 308。
结论:
看到 308 不需要惊慌,也不需要刻意把它改成 301。只要它最终跳转到了正常的 200 页面,且没有形成死循环,它对 SEO 就是友好的。
四、 总结
遇到 GSC 报错,核心思路如下:
-
重定向错误: 重点查尾部斜杠配置和 CDN 规则冲突,确保路径唯一。回想一下,你之前是否修改过配置,最好第一次就配置好,特别是全局配置。
-
403 错误: 重点查 Cloudflare WAF 和防火墙,给 Googlebot 开绿灯。同时,也要根据自己的实际情况,查询是自己的问题,还是目标网站的问题。
-
308 状态码: 它是正常的永久重定向,无需修改,只要不循环即可。
修复后,别忘了在 Search Console 中点击“验证修复”,静待几天,绿色的“编入索引”就会回来了。