Files
SEONexus/docs/old-tmp-seo/2026-04-17-GPT站群-sitemap入口修复记录.md
2026-04-18 01:31:44 +08:00

2.7 KiB

2026-04-17 GPT 站群 sitemap 入口修复记录

背景

为完成 7 日收录目标,对 GPT 站群做入口体检时发现:

  • 首页普遍正常
  • robots.txt 普遍正常
  • sitemap.xml / sitemap_index.xml / sitemap-main.xml / sitemap-videos-1.xml 普遍 404

这会直接导致:

  • 蜘蛛拿不到 XML 抓取清单
  • 模板页脚和 robots 主动指向失效入口

根因拆解

1. 标准 XML 入口兼容不完整

虽然站内存在 sitemap 生成逻辑,但 GPT 路由侧没有把常见标准入口完全接顺。

2. 真正的 sitemap 文件根本没落盘

SiteContext::getSiteMapByCode() 会直接读取:

  • storage/SiteMap/<domain>/sitemap_index.xml
  • storage/SiteMap/<domain>/sitemap-main.xml
  • storage/SiteMap/<domain>/sitemap-videos-*.xml

但现场排查时:

  • storage/SiteMap/ 目录不存在
  • 生成器首次执行时会因 mkdir() 不是递归模式而直接报错

已做修复

代码

  • router.php
    • 补齐标准 sitemap XML 入口
  • VideoSiteMapLogic.php
    • 目录创建改为递归
  • SiteMapLogic.php
    • 目录创建改为递归

运行

  • 已对 liangzuan.net 做定点 sitemap 生成验证
  • 已启动 GPT 站群全量 VideoSiteMap 生成

已验证结果

liangzuan.net

  • sitemap_index.xml => 200
  • sitemap-main.xml => 200
  • sitemap-videos-1.xml => 200

chuanjiafeng.net

  • sitemap_index.xml => 200

二次修正:详情 URL 空 slug

恢复 sitemap 后继续抽检发现:

  • 部分 sitemap-videos-*.xml 里的详情 URL 还带空 slug
  • 例如 /film//210/detail/-210

根因是视频数据里的 v_name_en 并不总是完整。

已修复:

  • 生成器改为优先使用 v_name_en
  • 如果为空,则回退 v_name
  • 统一归一化成可用 slug

抽样验证:

  • liangzuan.net 新 sitemap 详情 URL => GET 200 / HEAD 200
  • cnzhenbang.com 新 sitemap 详情 URL => GET 200 / HEAD 200

轨迹验收补充

继续对 5 个 GPT 站做首页→搜索→详情→播放链路探针:

  • liangzuan.net
  • cnzhenbang.com
  • codohealth.com
  • jingxifa.com
  • gz-yxsw.com

结果全部通过:

  • home 200
  • search 200
  • detail 200
  • play 200

说明当前修复已经不止停留在 XML 层,而是确实把蜘蛛抓取和用户点击后的主要承接链路打通了。

扩样到 15 站后的结果

进一步扩样到 15 个 GPT 站后:

  • 自动样本发现全部成功
  • 首页 / 搜索 / 详情 / 播放 4 段链路全部 200
  • all_passed=1

这说明:

  • 当前不是单站偶然成功
  • 多种不同 URL family 都已具备稳定的收录与点击承接能力

当前价值

  • 抓取入口从“普遍缺失”变成“可恢复、可继续批量生成”
  • 这一步直接服务于站群收录,不是表面优化