新頁面發布之後,最怕的情况不是排名不好,而是蜘蛛根本没走到這個 URL。與其等日誌慢慢攒資料,不如在發布後的几分钟内,自己按蜘蛛可能走的路径把頁面走一遍。這一步不能保證收錄,但能把大部分“抓不到”的問题挡在前面。
先確認這條 URL 至少有一條路能到
蜘蛛發現 URL 的方式無非几種:内鏈、Sitemap、外鏈,以及歷史抓取记錄。新頁面通常靠前两種。检查顺序可以這样排:
- 從首頁出發,顺着導航和列表頁能不能点到它,需要几次点击;
- Sitemap 里是否已经寫入這條 URL,有没有寫错目錄或协议;
- robots.txt 里有没有被 Disallow 誤伤,注意規則匹配的是前缀,不是完整路径;
- 如果是改版過的老 URL,301 是否指向了新地址,鏈條有没有拉長。
内鏈能点到,通常比 Sitemap 更可靠。Sitemap 是提示,内鏈才是站内真實的通路。
用命令行模拟一次抓取
打開终端,用蜘蛛常见的 UA 請求一次,比在浏览器里看更接近真實情况。浏览器會带 Cookie、會执行脚本、會讀缓存,這些都是蜘蛛不一定有的條件。
- 先用 curl -I 看响應头:狀態碼是不是 200,有没有意外的 301 或 302,Content-Type 是不是 text/html。
- 再用 curl -A 指定一個蜘蛛 UA,把 HTML 拉回来,確認正文内容在初始响應里就存在,而不是靠脚本渲染之後才出現。
- 检查 head 里的 canonical 是否指向自己,有没有残留的 noindex、nofollow。
- 把返回的 HTML 里的連結抽出来,看看關键連結是不是标准的 a 标簽,而不是依赖点击事件跳轉。
這一步的價值在于:你看到的就是蜘蛛拿到的第一份材料。如果這里缺内容、缺連結,後面再怎么調整内鏈都补不回来。
別忘了確認蜘蛛真的来過
自检只能證明“路径通了”,不能證明“蜘蛛走過”。發布後的一两天,可以在服務器日誌里按 UA 和時間筛一下:
- 這條 URL 有没有出現過 200 的請求记錄;
- 如果持續只有 404 或 5xx,先修服務器,再谈收錄;
- 如果日誌里连一次請求都没有,回到第一步,检查内鏈和 Sitemap 是否真的生效。
几種常见的“走不通”
- 頁面被放在需要登入或需要提交表單才能到達的路径後面;
- 列表頁分頁靠脚本加载,連結不在初始 HTML 里;
- Sitemap 文件内容變了但更新時間没變,蜘蛛可能一直按舊版本處理;
- 内鏈加了 nofollow,或者整頁被 robots meta 挡在门外。
自检是一次性的動作,抓取却是持續的過程。建议把上面的步骤固化成一份發布清單,每次上线新頁面都過一遍。
把這條流程跑顺之後,再遇到“頁面没有被收錄”的情况,你至少能快速分清是發現环节的問题,還是抓取、渲染、索引环节的問题,排查范围會小很多。