建站流程指南:上线前怎样核对抓取与索引配置

📍 WDQWDWQD987AAAAA:216.73.217.13
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /7698ce4f69b1.html
📄

建站流程指南:上线前怎样核对抓取与索引配置

上线前核对抓取与索引配置,核心是确认三件事:搜索引擎能抓到页面、抓到的页面是你想公开的版本、公开的页面允许被索引。时间和人手有限时,优先处理 robots.txt、可索引状态、canonical、站点地图和关键页面抽查这五项,其余细节可以上线后按数据再补。

先查 robots.txt 是否放行

要查什么:根目录下的 robots.txt 有没有误封整站或关键目录。

怎么查:在浏览器地址栏访问你的域名加 /robots.txt,逐行看 Disallow 规则。测试环境常用的 Disallow: / 如果被带到线上,会直接封掉全站。也可以用搜索引擎官方提供的 robots.txt 测试工具验证某条 URL 是否被拦截。

结果说明什么:如果目标页面被 Disallow 命中,抓取阶段就会失败,后面所有索引配置都无意义。这是上线前必须最先确认的一项。注意规则只对爬虫抓取生效,不控制页面是否出现在结果里,别把它当成万能开关。

确认页面没有阻止索引的信号

要查什么:页面的 meta robots 标签和 HTTP 响应头里有没有 noindex。

怎么查:打开页面源代码,搜索 <meta name="robots">,看 content 里是否含 noindex;再用浏览器开发者工具的 Network 面板查看该 URL 的响应头,确认没有 X-Robots-Tag: noindex。两项都要查,因为它们可能来自不同配置层。

结果说明什么:只要其中一处带 noindex,页面即使被抓取也不会进入索引。常见来源是测试期模板、CMS 的“隐藏页面”开关或服务器统一加的响应头。修改后需重新抓取才生效,不是保存即变。

核对 canonical 指向是否一致

要查什么:每个页面的 canonical 链接是否指向自己或正确的规范版本。

怎么查:在源代码里搜索 rel="canonical",对比它的 URL 与当前页面地址。重点看带参数、带 www 与不带 www、http 与 https 这几类变体是否互相指错。批量页面可以用爬虫工具导出 canonical 列统一比对。

结果说明什么:canonical 指向别的 URL,等于告诉搜索引擎“以那个为准”,当前页可能不被单独索引。如果多个页面互相指向,信号会混乱。规范版本应是你希望用户和搜索引擎共同访问的那一个,且它能正常返回 200。

检查站点地图与内部链接

要查什么:sitemap 是否包含要收录的 URL,这些 URL 是否都能从站内链接到达。

怎么查:打开 sitemap 文件,抽查若干条 URL 能否正常打开、是否返回 200、是否与 canonical 一致。再从一个入口页出发,只用站内链接尝试走到这些页面。孤立页面(只能靠 sitemap 发现、没有内链)要单独标记。

结果说明什么:sitemap 是发现线索,内链是权重和抓取路径。两者都通,页面被及时抓取的概率更高;只有 sitemap 没有内链,抓取优先级通常偏低。sitemap 里混入 404、重定向或 noindex 的 URL,会浪费抓取预算,应清理。

上线前可执行清单

  1. 访问 /robots.txt,确认没有误封整站或关键目录;有测试规则立即删除。
  2. 抽查首页、栏目页、详情页各一个,查 meta robots 与响应头,确认无 noindex。
  3. 核对上述页面的 canonical,确认指向自身或正确的规范地址。
  4. 打开 sitemap,抽查 URL 状态码与 canonical 是否一致,剔除无效条目。
  5. 从首页只用内链走到目标页,走不通的补内链或调整结构。
  6. 确认规范版本使用 https、统一 www 或非 www,其余变体 301 到它。

这套顺序的理由是:抓取被阻断时,索引配置再正确也没有意义;索引被禁止时,canonical 和内链的优化无法体现。人手有限就按这个依赖关系从前往后做,每项确认后再进入下一项。如果站点规模很小、页面数量在几十个以内,可以跳过批量工具,直接手工抽查;页面量大时,再用爬虫工具导出上述字段批量比对。

下一步:把清单里发现的每一项问题记录成“页面地址 + 问题类型 + 修改状态”,改完后用搜索引擎的网址检查功能对单个 URL 发起重新抓取,观察几天后再看索引状态是否变化。

图1 图2

nginx