老模板优化

This commit is contained in:
Your Name
2026-04-17 21:09:06 +08:00
parent 4dc78e3366
commit c8fb6956ef
60 changed files with 9113 additions and 146 deletions

View File

@@ -0,0 +1,172 @@
# 1276-SEONexus 主 Codex 检查清单补充修正 - 2026-04-17
## 目的
这份文档用于补充修正 `1272``1275` 之间一个很关键的判断差异:
- `SiteStyle::buildSeoMeta()` 确实存在 canonical 兜底逻辑
- 但对当前重点观察的 `videoGpt1` 视频模板来说,它未必是前台实际 canonical 的主输出来源
这会直接影响主 Codex 的排查顺序。
## 本轮补充结论
一句话总结:
> 当前 `videoGpt1` 下,真正更值得优先核对的不是 `SiteStyle::buildSeoMeta()`,而是模板里实际写死的 canonical host 口径,以及 sitemap 里统一写成 `https://www.` 的 host 口径是否冲突。
## 一、为什么这是一个重要修正
### 1. `SiteStyle::buildSeoMeta()` 不是当前视频模板最直接的 canonical 输出源
虽然代码里有:
- [SiteStyle.php](/www/wwwroot/VideoSource2/code/app/common/helper/SiteStyle.php:1831)
而且里面存在:
- `play` 页 canonical 推断
- `guessDetailUrlFromVideo()` 硬编码 `/voddetail/...`
但这次继续对模板后发现,`videoGpt1` 的视频模板实际是自己输出 canonical。
### 2. `videoGpt1` 详情页模板实际 canonical
文件:
- [getVideoInfo.html](/www/wwwroot/VideoSource2/code/app/home/view/videoGpt1/video/getVideoInfo.html:39)
当前实际写法:
```html
<link rel="canonical" href='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'>
```
这说明:
- 详情页 canonical 不是由 `SiteStyle::buildSeoMeta()` 直接输出
- 它走的是模板标签 `{site:vurl ...}`,也就是更贴近当前路由/URL 生成体系
### 3. `videoGpt1` 播放页模板实际 canonical
文件:
- [getVideoPlayUrl.html](/www/wwwroot/VideoSource2/code/app/home/view/videoGpt1/video/getVideoPlayUrl.html:117)
当前实际写法:
```html
<link rel="canonical" href='https://{$DomainModel->d_domain}{$strPlayCanonicalUrl}'>
```
并且:
- `$strPlayCanonicalUrl` 来自 `VideoService::getVideoPlayUrl()`
- 不是回详情页
- 而是当前播放页自身 URL
这说明:
- 当前 `videoGpt1` 播放页 canonical 逻辑,与 `SiteStyle::buildSeoMeta()` 里“play canonical -> detail”的兜底设想并不一致
## 二、这会带来什么新的主线判断
### 1. 当前更大的风险,不是 `voddetail` 硬编码本身
`videoGpt1` 视频页来说,更值得优先核对的是:
- canonical host 到底是 `https://domain`
还是
- `https://www.domain`
因为当前模板里写的是:
- `https://{$DomainModel->d_domain}`
而 sitemap 生成逻辑里大量写的是:
- `https://www.{$DomainModel->d_domain}`
这两条线如果同时存在,就会直接制造:
- 首页 `/|301`
- 深页 host 规范化 `301`
### 2. 当前“模板 canonical”和“sitemap canonical host”口径明显可能不一致
模板侧:
- 详情页 canonical`https://{$DomainModel->d_domain}...`
- 播放页 canonical`https://{$DomainModel->d_domain}...`
- 首页 canonical`https://{$DomainModel->d_domain}/`
可以参考:
- [index.html](/www/wwwroot/VideoSource2/code/app/home/view/videoGpt1/index/index.html:99)
- [getCategory.html](/www/wwwroot/VideoSource2/code/app/home/view/videoGpt1/video/getCategory.html:34)
- [getCategoryType.html](/www/wwwroot/VideoSource2/code/app/home/view/videoGpt1/video/getCategoryType.html:15)
sitemap 侧:
- [VideoSiteMapLogic.php](/www/wwwroot/VideoSource2/code/app/task/logic/VideoSiteMapLogic.php:203)
- [SiteMapLogic.php](/www/wwwroot/VideoSource2/code/app/task/logic/SiteMapLogic.php:158)
都在大量拼:
- `https://www.{$DomainModel->d_domain}...`
这意味着:
- 如果站点真实最终规范 host 不是 `www`
- 那么 sitemap 就在持续喂给蜘蛛一批要再跳一次的 URL
## 三、对 `1275` 的执行顺序修正
### 第一优先级仍然不变
还是先看:
1. 深页兼容入口
2. canonical
3. sitemap host
### 但 canonical 这条线的落点要修正
主 Codex 在 `videoGpt1` 下应该优先看:
- 视频模板里真实输出的 canonical
而不是先把精力放在:
- `SiteStyle::buildSeoMeta()``voddetail` 兜底
因为从当前代码看,后者更像兜底工具,不像视频模板主输出源。
## 四、现在最可能优先改的 3 个点
### 1. 统一 canonical 和 sitemap 的 host 口径
这是当前最像“能直接减少 `/|301` 与 host 301”的点。
### 2. 核对播放页 canonical 是否应该保留在播放页自身
当前播放页模板 canonical 指向播放页自己,不是详情页。
这条线值得主 Codex 明确判断:
- 当前策略是不是故意的
- 是否符合当前 SEO 设计目标
- 是否会放大 `play|301` 或索引策略混乱
### 3. 继续压缩历史兼容入口
因为日志里仍然高频出现:
- `video-info`
- `video-play`
- `video-show`
- `vodbf`
## 五、给主 Codex 的一句话修正
> `videoGpt1` 当前最值得先查的 canonical 问题,不是 `SiteStyle` 里那段 `/voddetail` 兜底,而是模板实际输出的 `https://{$DomainModel->d_domain}` 和 sitemap 统一输出的 `https://www.{$DomainModel->d_domain}` 之间,是否正在持续制造 host 级 301。