feat: sync latest GPT SEO routing and docs

This commit is contained in:
root
2026-04-18 01:31:44 +08:00
parent c8fb6956ef
commit 5cb11b4476
48 changed files with 6000 additions and 172 deletions

View File

@@ -0,0 +1,72 @@
# 2026-04-17 liangzuan.net 域名恢复与深链 404 修复记录
## 背景
用户反馈:
- `https://www.liangzuan.net/detail/pinyin-se-ji-shi-kong-yuan-sheng-ban`
- 这类不带 id 的详情 URL 不允许再 404
- 如果没有 id需要有可展示的兜底绑定逻辑
同时线上排查发现:
- `liangzuan.net` 整站一度出现大量 404
- 浏览器 `GET` 能打开的详情深链,`HEAD` 仍返回 404
## 排查结论
### 1. 域名表记录丢失
- `domain` 表内 `liangzuan.net` 记录已不存在
- 这是整站级 404 的直接原因
### 2. 旧域名解析链不够稳
- `SiteContext` 仍有部分逻辑依赖旧缓存解析
- 对运行时 host 的兼容不够完整
### 3. 深链路由只支持 GET
- GPT 模板下很多关键路由通过 `Route::get(...)` 注册
- 导致 `HEAD` 探测直接 404
## 已执行动作
### 域名恢复
- 使用历史 bootstrap bundle 重新注册 `liangzuan.net`
- 重新绑定模板 `videoGpt1`
- 重新应用域名级 SEO bootstrap 配置
### 代码修复
- `SiteContext.php`
- 改为优先使用 `resolveDomainContextByHost(...)`
- `VideoService.php`
- 新增 slug 归一化
- 新增无 id 详情兜底绑定
- `router.php`
- 详情无 id 兼容路由已补
- GPT 模板关键路由统一改为支持 `GET|HEAD`
## 当前结果
### 已验证恢复
- 首页 `GET`200
- 无 id 详情页 `GET`200
- 常规详情页 `GET`200
- 无 id 详情页 `HEAD`200
- 常规详情页 `HEAD`200
## 对后续 SEO 的意义
- 这是 7 日收录目标里的底座修复
- 先消灭入口级 404后续 sitemap 推送、内链抓取、深链收录才有意义
- 当前 `liangzuan.net` 已从“整站不可抓”恢复到“可正常抓取深页”
## 后续跟进建议
1. 把其它站点也按同样方式抽样做 `GET/HEAD` 双探测。
2. 批量排查是否还有“域名记录丢失”或“旧 deep link 只通 GET”的站点。
3. 继续扩充 GPT 模板的历史兼容入口,优先消灭详情、播放、分类的老链接 404。