robots.txt 和 sitemap 的正确配置
📖 第二章:搜索基础篇 · 第 30 问
robots.txt 和 sitemap.xml 是网站与搜索引擎"沟通"的两个基础文件。前者告诉爬虫"哪些不要抓",后者告诉爬虫"这些页面请来抓"。配置得当,能大幅提升收录效率;配置出错,可能导致整站消失在搜索结果中。
robots.txt 基本语法
robots.txt 必须放在网站根目录(如 https://example.com/robots.txt),基本语法:
User-agent: Baiduspider
Disallow: /admin/
Disallow: /search?
Allow: /
User-agent: Googlebot
Disallow: /admin/
Allow: /
Sitemap: https://example.com/sitemap.xml
关键规则:
User-agent:指定针对哪个爬虫(*代表所有)Disallow:禁止抓取的路径Allow:允许抓取(优先级高于Disallow)Sitemap:声明sitemap地址
哪些路径应该屏蔽?
| 应屏蔽 | 原因 |
|---|---|
| /admin/ 或 /wp-admin/ | 后台管理页面,无SEO价值 |
| /search? 或 /s? | 站内搜索结果页,产生大量低质重复页 |
| /cart/ /checkout/ | 购物车、结算页,无索引价值 |
| /?sort= /?filter= | 排序/筛选参数页面,造成重复内容 |
| /tag/ (视情况) | 标签页内容如果太薄,建议屏蔽 |
| /api/ | 接口地址,不应出现在搜索结果 |
千万别屏蔽的:
- CSS和JS文件(百度需要渲染页面)
- 图片目录(除非你不想图片被收录)
- 移动端页面
sitemap.xml 格式与规范
标准sitemap格式:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://example.com/page1</loc>
<lastmod>2025-06-15</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
最佳实践:
- 每个sitemap文件不超过50,000条URL,文件大小不超过50MB
- 超过限制时使用sitemap索引文件拆分:
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://example.com/sitemap-posts.xml</loc>
<lastmod>2025-06-20</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-products.xml</loc>
<lastmod>2025-06-18</lastmod>
</sitemap>
</sitemapindex>
提交渠道
- 百度搜索资源平台:搜索服务 → 普通收录 → sitemap提交(支持txt和xml格式)
- Google Search Console:索引 → 站点地图 → 添加新的站点地图
- Bing Webmaster Tools:站点地图 → 提交站点地图
百度还支持通过"主动推送API"实时提交新页面URL,对时效性内容(如新闻)特别有用。
sitemap 更新频率建议
| 网站类型 | 更新频率 | 说明 |
|---|---|---|
| 新闻资讯 | 每小时/实时 | 配合百度主动推送 |
| 电商网站 | 每天 | 商品上下架变动频繁 |
| 企业官网 | 每周 | 内容变动不频繁 |
| 博客网站 | 发布新文章时 | 可用CMS自动更新 |
常见错误
- robots.txt写了Disallow: / 但忘了改回来:整站被屏蔽,这是最灾难性的错误
- sitemap中包含被robots屏蔽的URL:逻辑矛盾,搜索引擎会困惑
- sitemap中包含404页面:浪费抓取配额
- lastmod日期造假:每次都写当前日期,搜索引擎会忽略这个字段
- 未在robots.txt中声明sitemap位置:虽然不是必须,但推荐加上
- sitemap编码错误:必须使用UTF-8编码,URL中的特殊字符需要转义
💡 实操建议
- 上线前必检查robots.txt:很多网站开发阶段用
Disallow: /屏蔽了全站,上线后忘记修改,导致几个月没有收录 - sitemap只放你希望被收录的规范URL:不放带参数的重复页、不放noindex页面、不放重定向源URL
- 每月检查一次sitemap健康度:用Screaming Frog等工具扫描,确保sitemap中没有4xx/5xx错误页面
本文是《中文非付费营销100问》系列的一部分。查看完整目录 →
