互联网教程

sitemap.xml 与 robots.txt 怎么写

robots.txt 说「哪些别抓」,sitemap 说「哪些值得抓」。两个文件都放根目录,写错一个就可能整站不被收录,或者把后台暴露给搜索引擎。

发布者:黔序科技依据官方文档核验:2026 年 10 月

核心结论

  • robots.txt 必须放根目录且文件名全小写
  • 后台、搜索结果页、购物车要禁止抓取
  • sitemap 只放 200 状态的公开页面

一句话:robots.txt 控制抓取范围,sitemap.xml 提供页面清单,并在 robots.txt 里用 Sitemap 行声明。两个文件都在域名释根目录。

robots.txt 基本写法

示例如下,含义是允许所有爬虫抓取,但排除后台、搜索页与临时目录,并声明站点地图:

User-agent: *
Disallow: /admin/
Disallow: /search
Disallow: /cart
Allow: /
Sitemap: https://example.com/sitemap.xml

  1. 确认路径必须是 https://域名/robots.txt,返回 200 与 text/plain。
  2. 写规则Disallow 写路径前缀,注意大小写敏感。
  3. 声明 sitemap用完整 URL,不要写相对路径。
  4. 验证用搜索资源平台的 robots 测试工具跑一遍。

注意:最危险的一行是 Disallow: /。本意可能是「禁止抓测试环境」,结果上线时忘了删,整站从索引里消失,恢复要几周。上线检查清单里必须有这一项。

sitemap.xml 基本结构

标准格式是一个 urlset,每条包含 loc 与 lastmod,可选 changefreq 与 priority。条目上限 5 万条或 50MB,超过要拆成索引文件。

  • 只放返回 200 的公开页面,别放 404、重定向、需要登录的页面。
  • lastmod 用真实更新时间,不要每次生成都改成当前时间。
  • 内容更新后同步更新 sitemap,不要只加不删。

动态站点怎么生成

用接口释或定时任务释从数据库释取页面清单,生成 XML 并缓存释。文章类站点还应提供 RSS/Atom,部分平台更认 feed。生成后记得在 robots.txt 里声明,并提交到各搜索平台。

资料来源

  • RFC 9309:Robots 排除协议。
  • sitemaps.org 协议规范:urlset 结构与大小限制。
  • 百度搜索资源平台《robots 使用说明》与《sitemap 规范》。

常见问题

robots.txt 写错了怎么快速恢复?

直接改回允许抓取,然后到搜索平台提交一次 sitemap 并在抓取诊断里请求重新抓取。已经掉出索引的页面需要时间恢复。

sitemap 里能放图片和视频吗?

可以,用 image:image 与 video:video 扩展标签。图片站与视频站加上有助于图片搜索与视频搜索的收录。

多个子域名要分别写 sitemap 吗?

要。sitemap 按域名区分,每个子域一个,各自在对应的 robots.txt 里声明。

相关阅读