Sitemap 安装与使用指南

本文是一份面向实际网站运维和 SEO 基础建设的 sitemap 指南。重点不是只给出 XML 模板,而是讲清楚它的作用、限制、文件拆分方式、更新策略,以及如何和 robots.txt、canonical、站点迁移配合。

适用场景

  • 帮助搜索引擎发现站点页面
  • 为大站点拆分多个 sitemap 文件
  • 给图片、视频、新闻等内容提供额外元数据
  • 配合 robots.txt 提供站点地图入口
  • 用于站点发布、迁移和定期更新

Sitemap 是什么

Sitemap 是一个 XML 文件,里面列出站点中的 URL,并可附带一些辅助信息,例如:

  • lastmod:最后修改时间
  • changefreq:更新频率提示
  • priority:相对优先级提示

它的作用是告诉搜索引擎:

  • 站点上有哪些重要页面
  • 哪些内容最近发生了变化
  • 搜索引擎更值得先抓取哪些内容

但它只是“提示”,不是命令。

核心结论

如果你只记住一条:

  • Sitemap 不是保证收录的工具,而是帮助搜索引擎更高效发现页面的工具

因此:

  • 不能把它当作强制索引入口
  • 不能把低质量页面全部塞进去指望排名提升
  • 不能让不同版本域名混写到同一份 sitemap 里

基本规范

Sitemap 协议的核心要求包括:

  • 文件必须是 UTF-8 编码
  • XML 根节点必须是 <urlset>
  • 每个 URL 用 <url> 包裹
  • 每个 <url> 必须至少包含 <loc>
  • 所有 URL 应属于同一个主机名

最小可用模板

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.example.com/</loc>
    <lastmod>2026-05-21</lastmod>
  </url>
  <url>
    <loc>https://www.example.com/about</loc>
    <lastmod>2026-05-20</lastmod>
  </url>
</urlset>

这个模板已经足以满足很多普通站点的起步需求。

常用标签说明

loc

必须项,表示页面 URL。


要求:

  • 必须是绝对地址
  • 必须带协议,例如 https://
  • 应与站点主域名保持一致

lastmod

表示页面最后修改时间。


建议:

  • 使用真实更新时间
  • 使用 W3C Datetime 格式
  • 不要把生成 sitemap 的时间当成最后修改时间

changefreq

页面可能变化的频率提示。


可取值包括:

  • always
  • hourly
  • daily
  • weekly
  • monthly
  • yearly
  • never

注意:

  • 它只是建议,不是命令
  • 很多搜索引擎会弱化它的实际权重

priority

表示站内页面的相对优先级,范围通常是 0.0 到 1.0。


注意:

  • 它只在站内比较时有意义
  • 不会让你的网站比别的网站更容易排名
  • 如果所有页面都写成高优先级,就失去区分意义

Sitemap 文件位置

Sitemap 可以放在站点任意目录,但最常见的是直接通过以下地址暴露:

/sitemap.xml

建议:

  • 主站优先提供 /sitemap.xml
  • 如果有多个拆分文件,用 sitemap index 统一入口
  • 在 robots.txt 中声明 sitemap 地址

文件大小与数量限制

根据协议和 Google 的最佳实践:

  • 单个 sitemap 文件最多 50,000 个 URL
  • 单个 sitemap 文件未压缩大小最多 50MB

如果超出限制,应:

  • 拆分为多个 sitemap 文件
  • 用 sitemap index 文件统一管理

Sitemap Index

当站点页面很多时,推荐使用 sitemap index。


示例:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://www.example.com/sitemaps/sitemap-1.xml</loc>
    <lastmod>2026-05-21</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://www.example.com/sitemaps/sitemap-2.xml</loc>
    <lastmod>2026-05-21</lastmod>
  </sitemap>
</sitemapindex>

适用场景:

  • 内容量很大
  • 你要按栏目拆分
  • 你要区分文章、商品、图片、视频
  • 你需要增量更新

站点分类建议

如果你的站点比较大,建议按类型拆分:

  • sitemap-pages.xml
  • sitemap-articles.xml
  • sitemap-products.xml
  • sitemap-images.xml
  • sitemap-videos.xml

这样做的好处:

  • 便于定位问题
  • 便于单独监控某类内容
  • 便于分批更新

生成规则

一个好用的 sitemap 应该只包含“值得被搜索引擎看到”的 URL。


建议收录:

  • 首页
  • 栏目页
  • 文章详情页
  • 产品详情页
  • 公开静态落地页

通常不收录:

  • 登录页
  • 后台页
  • 搜索结果页
  • 带临时参数的 URL
  • 测试环境页面

与 canonical 的关系

Sitemap 中的 URL 应该与页面规范化地址一致。


也就是说:

  • 页面 <link rel="canonical"> 指向哪里
  • sitemap 里就应该写哪一个版本
  • 不要 www 和非 www 混着写

与 robots.txt 的关系

建议在 robots.txt 中声明 sitemap:

Sitemap: https://www.example.com/sitemap.xml

这样爬虫更容易发现它。


同时要注意:

  • robots.txt 屏蔽的页面一般不应出现在 sitemap 里
  • sitemap 只列出你愿意被抓取和索引的公开页面

与站点迁移的关系

迁移域名或更换主域名时,sitemap 也要同步调整。


建议迁移动作包括:

  • 统一 canonical
  • 统一 sitemap 中的 URL
  • 更新 robots.txt 中的 sitemap 地址
  • 保证旧域名 301 到新域名

如果只改了站点跳转,却没改 sitemap,搜索引擎会收到冲突信号。

更新策略

1. 实时更新

适合小站或 CMS 驱动站点,每次内容发布后立即生成 sitemap。

2. 定时更新

适合中大型站点,按小时或按天重新生成。

3. 增量更新

适合大站点,按内容变更部分更新对应分片 sitemap。

4. 只更新 lastmod

适合内容变化明显但 URL 结构稳定的站点。

Sitemap 对 SEO 的实际价值

Sitemap 的主要价值是:

  • 帮助发现新页面
  • 帮助发现深层页面
  • 帮助内容更新更快被感知
  • 帮助大站点更清晰地组织抓取入口

它不是:

  • 排名加速器
  • 作弊工具
  • 低质量页面的遮羞布

常见错误

1. 混入不同主机名

协议要求 sitemap 中的 URL 应属于同一个主机名。不要把 example.com 和 www.example.com 混写在同一份文件里。

2. 放入不可访问 URL

如果 URL 本身会 404、需要登录、或者会跳转到别处,就不应该放进 sitemap。

3. 只生成不更新

内容变了,sitemap 也要同步变。旧的 lastmod 会误导搜索引擎。

4. lastmod 乱填

不要把生成时间当作最后修改时间。搜索引擎会更信任真实的更新时间。

5. 过度依赖 changefreq 和 priority

这两个字段只是提示,别把它们当核心优化手段。

检查清单

上线前建议检查:

  • XML 结构是否合法
  • 文件编码是否是 UTF-8
  • URL 是否绝对且统一主域名
  • sitemap 是否和 canonical 对齐
  • 是否超出 50MB / 50,000 URL 限制
  • 是否需要 sitemap index
  • 是否在 robots.txt 中声明了 sitemap

HTTP 输出建议

如果你的站点由程序输出 sitemap,建议:

  • 返回 200 OK
  • 使用 application/xml 或 text/xml
  • 保持内容编码为 UTF-8
  • 对动态生成的 sitemap 做缓存

缓存建议

对于大站点:

  • 生成后落盘
  • 通过定时任务更新
  • 由 Nginx 或 CDN 提供缓存

这样比每次请求都实时生成更稳定。

最小可用流程

一个比较稳妥的默认流程是:

1. 选定主域名
2. 生成 sitemap.xml 或 sitemap index
3. 确保所有 URL 都是绝对地址
4. 在 robots.txt 中声明 Sitemap
5. 提交给搜索引擎站长平台
6. 站点更新时同步更新 lastmod

推荐实践

  • 小站用单个 sitemap.xml
  • 大站用 sitemap index + 多分片
  • sitemap 只放公开、规范化后的正式 URL
  • lastmod 只在内容真正变化时更新
  • robots、canonical、sitemap 三者保持一致

结论

Sitemap 的本质是给搜索引擎的站点结构地图。


最重要的不是“有没有生成”,而是:

  • URL 是否规范
  • 是否只包含公开页面
  • 是否和 canonical、robots、跳转一致
  • 是否能稳定更新
  • 是否符合大小和数量限制
本文地址: https://www.vvcms.cn/blog/setmap-guid
版权所有 © admin 未经授权不得转载