2.7 KiB
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.xmlstorage/SiteMap/<domain>/sitemap-main.xmlstorage/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=> 200sitemap-main.xml=> 200sitemap-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 200cnzhenbang.com新 sitemap 详情 URL => GET 200 / HEAD 200
轨迹验收补充
继续对 5 个 GPT 站做首页→搜索→详情→播放链路探针:
liangzuan.netcnzhenbang.comcodohealth.comjingxifa.comgz-yxsw.com
结果全部通过:
- home 200
- search 200
- detail 200
- play 200
说明当前修复已经不止停留在 XML 层,而是确实把蜘蛛抓取和用户点击后的主要承接链路打通了。
扩样到 15 站后的结果
进一步扩样到 15 个 GPT 站后:
- 自动样本发现全部成功
- 首页 / 搜索 / 详情 / 播放 4 段链路全部
200 all_passed=1
这说明:
- 当前不是单站偶然成功
- 多种不同 URL family 都已具备稳定的收录与点击承接能力
当前价值
- 抓取入口从“普遍缺失”变成“可恢复、可继续批量生成”
- 这一步直接服务于站群收录,不是表面优化