一、问题回顾:我曾遇到的 sitemap 困扰
在使用 WordPress + Rank Math SEO 插件构建网站时,我遇到了以下几个典型问题:
1. Sitemap 页面返回 404
我通过 ACF 创建了一个自定义文章类型(如产品分类),但发现该分类的 sitemap 链接始终是 404。
2. Sitemap 不包含特定内容
某些我发布的产品文章、分类或自定义页面并未出现在 sitemap 中,导致它们迟迟没有收录。
3. Google Search Console 抓取但未索引
页面已在 sitemap 中提交,GSC 也显示已抓取,但仍然是“已抓取 - 尚未编入索引”。
4. CDN 缓存导致 sitemap 失效
由于我使用了 Hostinger 自带 CDN + Cloudflare,缓存叠加可能造成 sitemap 更新不同步,甚至无法访问。
5. 自定义文章类型未能生成 sitemap
我一开始没有在注册 CPT(自定义文章类型)时开启 has_archive 和 rewrite,导致 Rank Math 无法识别这个类型,生成失败。
二、逐个击破:我的排查与解决流程
为了解决以上问题,我一步步进行了如下操作与调整:
✅ 步骤一:重新注册文章类型
使用 WPCode 插件注册 CPT 时,增加以下关键参数:
php
'has_archive' => true,
'rewrite' => array('slug' => 'your-slug'),
'public' => true,
说明:这能确保 Rank Math 正确识别并为其生成 sitemap。
✅ 步骤二:检查 Rank Math 的 sitemap 设置
路径:Rank Math → Sitemap Settings
确保勾选了对应的自定义文章类型和分类。
✅ 步骤三:清除 CDN 缓存,禁用 Hostinger CDN 测试
我先暂时禁用了 Hostinger 自带的 CDN,保留 Cloudflare,然后清除全部缓存,重新加载 sitemap 链接。
✅ 步骤四:刷新固定链接结构
进入 WordPress → 设置 → 固定链接,点击保存一次,以刷新系统的 rewrite 规则。
✅ 步骤五:手动提交 sitemap 到 Google Search Console
我在 GSC 中手动添加了以下链接:
arduino
https://yourdomain.com/sitemap_index.xml
并持续观察 sitemap 状态更新与抓取记录。
|
|
|
|---|---|
| 1. 站点地图访问返回 404 |
|
| 2. 站点地图不包含某些内容 |
|
| 3. 提交后无收录或提示抓取但未索引 |
|
| 4. CDN 缓存导致 sitemap 无法实时刷新 |
|
| 5. 自定义文章类型的 sitemap 报错 |
has_archive、rewrite、public 等参数,导致 sitemap 无法生成。
|
|
|
|
|---|---|
| 1. 使用 WPCode 正确注册自定义文章类型 |
has_archive => true、public => true、rewrite => true,以确保 Rank Math 能识别并生成 sitemap。
|
| 2. Rank Math 插件设置中启用自定义类型 sitemap |
|
| 3. 清除缓存 & 禁用 Hostinger CDN 测试访问 |
|
| 4. 手动提交 sitemap 到 Google Search Console |
yourdomain.com/sitemap_index.xml,提交后等待 1-3 天收录反馈。
|
| 5. 页面已存在但 sitemap 404 时 |
|
| 6. 新站刚建站 sitemap 返回 404 |
|
搭建网站过程中,sitemap 是基础却关键的 SEO 元素。很多时候看似是“404”问题,实则隐藏着插件设置错误、文章类型参数遗漏或 CDN 缓存障碍。希望我的踩坑记录和排查流程对你有所启发!
如果你也在搭建 WordPress 独立站,欢迎留言交流你的经验与挑战。

