119 lines
2.7 KiB
Markdown
119 lines
2.7 KiB
Markdown
# 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 都已具备稳定的收录与点击承接能力
|
|
|
|
## 当前价值
|
|
|
|
- 抓取入口从“普遍缺失”变成“可恢复、可继续批量生成”
|
|
- 这一步直接服务于站群收录,不是表面优化
|