上线前核对抓取与索引配置,核心是确认三件事:爬虫能顺利抓取页面、页面没有被错误地禁止索引、搜索引擎能拿到正确的规范网址。做法不是凭感觉点一遍后台,而是用抓取测试工具、robots.txt 检查、meta 标签核对和站点地图提交记录逐项留下证据。下面按上线前的执行顺序展开。
robots.txt 是抓取阶段的第一道门。常见错误是测试环境遗留了 Disallow: /,上线后忘记删除,导致整站无法被抓取。核对方法:在浏览器直接访问你的域名加 /robots.txt,逐行看 Disallow 规则指向哪些路径。
Disallow: /,说明整站被禁止抓取,必须删除或改成只屏蔽后台、搜索参数页等无用路径。/css/、/js/、/images/,页面仍可能被抓取,但渲染效果会受影响,建议放开这些静态资源。Disallow: /news/,这类规则会让整个栏目无法被抓取。判断结果:robots.txt 返回 200 且规则只屏蔽确实不需要收录的路径,才算通过。返回 404 也可以接受,表示没有抓取限制,但不要返回 5xx,那会让爬虫暂时放弃抓取。
robots.txt 管的是“能不能抓”,meta robots 管的是“抓到后能不能索引”,两者不能互相替代。上线前抽查首页、栏目页、详情页各若干条,重点看两类标签。
第一类是 <meta name="robots">。如果内容是 noindex 或 noindex,nofollow,该页面就不会进入索引。测试环境常带 noindex,上线后必须移除。第二类是 <link rel="canonical">,它告诉搜索引擎哪个网址是规范版本。核对时注意:
验收信号:抽查页面的 meta robots 不含 noindex,canonical 指向自身或正确的规范网址,且与站点地图中列出的网址一致。
搜索引擎站长平台一般提供“网址检查”或“抓取测试”功能,可以查看爬虫实际拿到的 HTML、HTTP 状态码和被抓取的资源。这个步骤的价值在于:它能暴露你从浏览器看不到的问题,比如服务端根据 User-Agent 返回不同内容。
适用条件:这一步适合动态渲染或用了较多 JavaScript 的站点。如果抓取结果里正文为空,可能原因是内容依赖 JS 渲染而爬虫未执行,也可能是服务端对爬虫返回了不同内容;不要直接断定是某一个原因,先对比浏览器源代码与抓取结果再定位。
站点地图(sitemap)本身不保证收录,它的作用是告诉搜索引擎有哪些网址可供发现。上线前应生成一份只包含可索引、返回 200 的网址的 sitemap,并在站长平台提交。
核对要点:
判断结果:如果大量网址“已发现但未编入索引”,优先检查内容质量、内链数量和 canonical 是否指向了别处;如果网址“已被抓取但未编入索引”,则更可能与内容重复或质量判断有关。这两种状态含义不同,不要混为一谈。
把上述检查固化成一份清单,每次上线按顺序过一遍,比事后补救更省事:
下一步建议:选一个已上线的内页,用站长平台的网址检查跑一次抓取测试,把返回的状态码、canonical 和是否可索引三项记录下来。如果发现异常,回到对应小节逐项排查,而不是同时改动多个配置。