先给结论
robots.txt 负责"哪些路径允许抓、哪些不允许",写在站点根目录;sitemap.xml 负责"本站有哪些页面、各自更新情况",作为一份清单提交给站长工具。两者分工不同,配合使用,缺一个都会留下盲区。
两个文件的分工对照
| 对比项 | robots.txt | sitemap.xml |
|---|---|---|
| 作用 | 声明抓取许可规则 | 罗列可收录的页面清单 |
| 位置 | 站点根目录 | 根目录或指定路径,并在站长工具声明 |
| 语法 | 按用户代理与路径分行配置 | 按协议标记地址、更新日期等字段 |
| 写错的后果 | 整站或关键目录被屏蔽抓取 | 清单失效,页面发现变慢 |
robots.txt 的写法要点
- 基础结构是"用户代理行加允许或禁止行",可按不同抓取程序分别设置。
- 只管抓取,不管收录:被允许的页面也可能不展示,被禁止的路径则基本失去机会。
- 后台路径、测试环境、带参数的重复地址是常见的屏蔽对象。
- 常见事故是误写通配符,把整站屏蔽。改完务必用校验工具验证一遍。
- 文件里可以放一行指向 sitemap 的地址,方便抓取程序找到清单。
sitemap.xml 的写法要点
- 只收录希望被收录的规范地址,别把重定向页、报错页塞进去。
- 地址用统一的规范形式(含协议与域名,保持大小写一致)。
- 页面结构有变化时同步更新清单,长期不更新的清单价值会下降。
- 页面很多时按协议允许的规模分批拆分,不要无限堆在一个文件里。
配置后的验证顺序
顺序不能乱:先确认文件能通过根目录访问;再用搜索引擎提供的抓取诊断工具确认没有误屏蔽;然后提交 sitemap 并看回执里有没有报错;最后抽查几个重要内页能否正常抓取。任何一个环节报错,先修再做下一步。如果站点由星曜CMS 生成,页面清单通常可以随发布自动生成,减少手工维护成本。
相关阅读:建站与优化知识库
常见问题
robots.txt 屏蔽的页面还会出现在搜索结果里吗?
有可能。robots.txt 只影响抓取,如果其他网站链接到了该页面,标题等基础信息仍可能展示。需要彻底不展示的敏感内容,还应配合其他方式处理,不能只依赖这一个文件。
sitemap.xml 需要每天手动更新吗?
不需要。清单随页面变化同步即可:新增、下线、改版时更新。若系统能自动输出,保持开关打开比定期手工编辑更省事,也更不容易出错。
没有 sitemap 会影响收录吗?
结构清晰、内链完整的小站点,没有清单也能被发现。但清单能提供明确的入口与更新提示,对页面多、层级深的站点价值更明显,建议配置。
改了 robots.txt 后多久生效?
取决于抓取程序下次访问站点的时间,没有固定周期。因此屏蔽规则要格外谨慎,修改后应立即验证,并持续观察抓取日志确认符合预期。
