上线前核对抓取与索引配置,核心是确认三件事:搜索引擎能抓到页面、抓到的页面允许被索引、索引到的地址是你希望展示的正式地址。时间和人手有限时,按“先堵致命错误,再查重复与指向”的顺序处理,通常比逐项通读设置更有效。
要查的是:站点根目录下的 robots.txt 是否对全部用户代理关闭了抓取,或屏蔽了栏目、产品、文章等需要被搜到的路径。
怎么查:在浏览器地址栏输入你的域名加 /robots.txt,直接看返回内容;再用搜索引擎官方提供的 robots.txt 测试工具,填入一个具体页面地址,观察该地址是被允许还是被阻止。没有测试工具时,至少确认 Disallow 后面是否出现了 / 或 /* 这类覆盖全站的写法。
结果说明什么:如果测试结果显示目标页面被阻止,抓取环节就不通过,后面所有索引配置都失去意义。此时应优先修改 robots.txt,而不是先去调标题或正文。适用条件是站点已有 robots.txt;如果文件不存在,返回 404 也属于一种状态,需要确认这是有意为之还是漏传。
要查的是:页面的 HTML 头部是否存在 <meta name="robots" content="noindex">,以及服务器返回的状态码是否为 200。
怎么查:打开一个代表性页面的源代码,搜索 noindex;同时用浏览器开发者工具的网络面板,或命令行工具查看响应头中的状态码。重点抽查首页、一个栏目页、一个详情页,不要只看首页。
结果说明什么:出现 noindex 表示即使被抓取,页面也不会进入索引;返回 301、302、404、500 则分别代表跳转、临时跳转、不存在和服务端错误,都会影响正常收录。若页面本就不该被搜到,保留 noindex 是合理的;若它是希望被搜到的正式内容,就必须去掉。这里要区分“可能原因”和“已定位原因”:状态码异常可能是重定向规则、路由配置或服务端故障导致,看到现象后还需进一步定位,不能直接断定是某一处设置写错。
要查的是:同一个页面是否能通过多个地址访问,例如带 www 与不带 www、http 与 https、带与不带结尾斜杠、带参数与不带参数。
怎么查:把同一篇内容用几种常见写法分别打开,观察是否都能正常显示同一页面;再看页面里是否用 <link rel="canonical"> 指向了唯一的首选地址。canonical 应指向最终希望被索引的那个 URL,而不是随便填一个能打开的地址。
结果说明什么:如果多个地址都能返回 200,且没有 canonical 或跳转收敛,搜索引擎可能分别抓取并选择其中一个展示,造成权重分散或展示地址与预期不一致。处理方式通常是:选定一个主域名形态,用 301 把其他形态永久跳转到主形态;页面内部链接和 canonical 统一使用主形态。适用条件是站点确实存在多入口;如果只有一个地址可访问,这一项的紧迫性就低。
要查的是:sitemap 中列出的 URL 是否都是 200、可索引、非重定向地址;站内导航和正文链接是否也指向这些地址。
怎么查:打开 sitemap 文件,随机抽取若干条地址逐一访问,看状态码和页面内容是否与预期一致;再检查 sitemap 是否只包含希望被索引的页面,是否混入了登录页、搜索结果页、测试页。内部链接可抽查导航栏和一篇内容里的链接。
结果说明什么:sitemap 里如果混入 noindex 页、404 页或重定向地址,会浪费抓取资源,也容易让索引状态混乱。内部链接指向重定向地址时,用户和爬虫都会多跳一次。发现后应把 sitemap 和链接统一改为最终地址。这里不承诺提交 sitemap 就一定收录,它只是帮助发现地址的入口之一。
如果时间只够做一件事,先做第一项:确认 robots.txt 没有把整站挡在门外。完成上述核对后,下一步是记录每个页面的首选地址与索引状态,等上线后按同一份清单复查,观察配置是否被改动。