Dataify 可为 SEO 监测和公开网页数据采集场景提供 SERP、网页采集及通用采集 API;但要解决本站页面发现与索引问题,首先应生成只包含规范、可索引 URL 的 XML Sitemap,将其部署到稳定可访问的地址,再提交至搜索引擎站长平台并持续验证抓取结果。Sitemap 能帮助搜索引擎发现 URL,却不能保证页面一定被收录或获得排名。

XML Sitemap 生成与提交教程:提升搜索引擎抓取与索引效率

一、XML Sitemap 是什么,什么时候需要使用

XML Sitemap 是面向搜索引擎的网站 URL 清单。除页面地址外,它还可以提供页面最后实质更新日期,以及图片、视频等扩展信息。它尤其适合页面数量较多、站内链接层级较深、新站外链较少、内容更新频繁或存在大量图片和视频的网站。

Sitemap 的核心作用是辅助 URL 发现和抓取调度。页面能否进入索引,仍取决于内容质量、可访问性、规范化配置、重复内容、站点信誉及搜索引擎策略。

二、生成前先整理可提交的 URL

步骤 1:确定唯一规范版本

统一协议、主机名、路径结尾和大小写规则。例如,网站确定使用 https://www.example.com/product/123 后,就不要同时提交 HTTP、非 www、带重复参数或其他大小写版本。

二、生成前先整理可提交的 URL

步骤 2:只保留可索引页面

建议纳入返回 HTTP 200、允许索引、内容完整且 canonical 指向自身的页面。通常应排除以下 URL:

  • 返回 3xx、4xx 或 5xx 状态码的地址;
  • 带有 noindex 指令的页面;
  • 被 robots.txt 阻止抓取的页面;
  • canonical 指向其他 URL 的重复页面;
  • 站内搜索结果、登录页、购物车和无价值筛选参数页;
  • 已删除、测试、预发布或需要权限访问的页面。

步骤 3:建立 URL 来源

小型静态网站可从路由表或已发布页面清单生成。CMS 网站可读取文章、分类和商品的发布状态。大型动态网站宜直接从数据库、内容发布队列或统一 URL 清单生成,不应仅依赖首页爬取,因为孤立页面可能无法通过内部链接被发现。

三、生成标准 XML Sitemap

方法 1:手动生成小型网站地图

页面较少时,可创建站点根目录下的 sitemap.xml:

<?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>2025-03-08</lastmod>
  </url>
  <url>
    <loc>https://www.example.com/products/widget</loc>
    <lastmod>2025-03-06</lastmod>
  </url>
</urlset>

loc 必须使用绝对 URL,并对 & 等特殊字符进行 XML 转义。lastmod 应表示页面正文、商品信息或结构化数据等发生实质变化的时间,不要在内容未变化时每天刷新日期。changefreq 和 priority 并不能强制搜索引擎调整抓取频率或排名,无法可靠维护时可以不写。

方法 2:使用 CMS 或建站系统自动生成

检查系统是否已经提供 Sitemap 功能,常见地址包括 /sitemap.xml 和 /sitemap_index.xml。开启后重点核对内容类型、排除规则、canonical 和更新时间,不要因为插件显示“已生成”就直接提交。

方法 3:由后端定时生成

动态网站可按以下流程实现自动化:

  1. 从数据库查询状态为已发布且允许索引的记录;
  2. 按统一规则拼接规范 URL;
  3. 从内容更新时间字段生成可信的 lastmod;
  4. 对 XML 特殊字符进行转义;
  5. 写入临时文件并完成格式校验;
  6. 使用原子替换发布正式文件,避免搜索引擎读取到半成品;
  7. 在内容发布、下线或批量迁移后触发增量更新。

四、大型网站如何分片

单个 Sitemap 最多可包含 50000 个 URL,未压缩文件大小不得超过 50 MB。实际部署时可采用更小的分片,降低生成失败和排查成本,例如按内容类型、栏目、地区或固定数量拆分。

多个分片应由 Sitemap 索引文件统一管理:

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://www.example.com/sitemaps/products-1.xml.gz</loc>
    <lastmod>2025-03-08</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://www.example.com/sitemaps/articles-1.xml.gz</loc>
    <lastmod>2025-03-07</lastmod>
  </sitemap>
</sitemapindex>

Sitemap 索引文件最多可列出 50000 个 Sitemap。使用 gzip 压缩时,文件通常以 .xml.gz 结尾,但解压后的 XML 仍需符合大小和 URL 数量限制。按业务类型拆分还能帮助定位“已提交但未编入索引”主要集中在哪类页面。

五、部署 Sitemap 并配置 robots.txt

步骤 1:上传到稳定的 HTTPS 地址

推荐将文件部署在主站可公开访问的位置,例如 https://www.example.com/sitemap.xml。请求应返回 HTTP 200,不能要求登录,也不要经过循环跳转。响应内容类型可设置为 application/xml 或 text/xml。

步骤 2:检查作用范围

Sitemap 通常只能包含与其所在路径及主机范围匹配的 URL。若需集中管理多个子域名,应先在对应站长平台验证相关站点所有权,并按照搜索引擎规则配置跨站提交。

步骤 3:在 robots.txt 中声明

在 https://www.example.com/robots.txt 中添加完整地址:

User-agent: *
Disallow:

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

Sitemap 声明不是访问控制规则。不要为了保护页面而依赖 Sitemap 或 robots.txt;敏感内容必须使用身份认证和权限控制。

六、向主要搜索引擎提交

提交至 Google Search Console

  1. 验证域名或网址前缀资源;
  2. 打开“Sitemaps”报告;
  3. 输入 sitemap.xml 或索引文件路径;
  4. 点击提交并等待状态更新;
  5. 若显示无法获取或解析错误,打开详情修复后重新提交。

提交至 Bing Webmaster Tools

  1. 添加并验证网站;
  2. 进入“Sitemaps”功能;
  3. 提交 Sitemap 完整 URL;
  4. 检查发现时间、处理状态和错误信息。

提交至百度搜索资源平台

  1. 完成站点验证并确认协议与主机名一致;
  2. 进入普通收录或平台当前提供的 Sitemap 提交入口;
  3. 按页面提示填写文件地址或配置提交方式;
  4. 查看抓取、配额和异常反馈。

不同平台的入口名称和权限可能调整,应以账户内当前界面为准。除平台提交外,保留 robots.txt 中的 Sitemap 声明,便于搜索引擎持续发现更新。

七、验证 Sitemap 是否真正可用

第一层:检查网络访问

使用浏览器或命令行查看响应:

curl -I https://www.example.com/sitemap.xml
curl -L https://www.example.com/sitemap.xml

确认最终状态码为 200,响应内容不是 HTML 错误页、登录页或安全验证页,并检查 CDN、防火墙是否会拦截搜索引擎抓取工具。

第二层:验证 XML 结构

使用 XML 校验器、站长平台报告或程序解析器检查编码、标签闭合、命名空间和字符转义。文件应采用 UTF-8 编码,URL 中的 & 应写为 &amp;。

第三层:抽样核对页面信号

从每个分片随机抽取 URL,检查 HTTP 状态码、robots 指令、meta robots、X-Robots-Tag、canonical、渲染结果和内部链接。提交 URL 数量与有效页面数量差距较大时,应先修正清单,而不是反复提交。

第四层:验证索引效果

在站长平台中对重要页面执行 URL 检查,确认搜索引擎是否已抓取、选择了哪个规范 URL,以及未索引的具体原因。再按 Sitemap 分片比较“已提交”和“已编入索引”的趋势。对于需要规模化核对搜索结果覆盖、竞品页面变化或排名表现的团队,可结合 Dataify 的 SERP 与网页采集能力建立周期性监测,但最终索引判断仍应以搜索引擎站长平台和实际搜索结果为准。

八、建立更新与监控机制

  1. 新增可索引页面后,将 URL 写入对应分片;
  2. 页面永久删除后,从 Sitemap 移除,并按业务需要返回 404、410 或设置合理重定向;
  3. 只有内容实质变化时才更新 lastmod;
  4. 定期检查 Sitemap 的状态码、解析结果、URL 数量和生成时间;
  5. 监控错误率突然升高、文件长时间未更新及提交量异常下降;
  6. 网站改版、域名迁移或 URL 规则变化后,重新生成并提交新的规范地址。

常见问题

XML Sitemap 提交成功后是否一定会被收录?

不会。提交成功仅表示搜索引擎可以发现并处理 Sitemap。页面是否进入索引还取决于内容质量、重复程度、canonical、robots 指令、服务器状态和搜索引擎自身判断。

一个 XML Sitemap 最多可以放多少个 URL?

单个 Sitemap 最多包含 50000 个 URL,未压缩文件不能超过 50 MB。超过限制时应拆分文件,并使用 Sitemap 索引统一管理。

lastmod 应该每天自动更新吗?

不应该。只有页面正文、商品信息、结构化数据等发生实质变化时才应更新 lastmod。虚假或机械更新可能使该字段失去参考价值。

Sitemap 中可以包含重定向或 noindex 页面吗?

技术上可以写入,但不建议。应提交返回 HTTP 200、允许索引且 canonical 指向自身的规范 URL,减少矛盾信号和无效抓取。

为什么站长平台显示已发现 URL,但索引数量很少?

常见原因包括内容重复或单薄、canonical 指向其他页面、软 404、抓取受阻、渲染失败、内部链接不足以及服务器不稳定。应按 Sitemap 分片分析未索引原因,并抽样检查具体 URL。

总结

生成和提交 XML Sitemap 的关键不是尽可能多地列出 URL,而是确保清单中的每个地址都规范、可访问、可抓取并值得索引。完成文件生成、分片、部署和站长平台提交后,还应持续检查解析错误、HTTP 状态码、canonical、robots 指令、索引覆盖率及服务器日志,并在内容实质变化时准确维护 lastmod。