老模板优化
This commit is contained in:
197
docs/old-tmp-seo/26-老模板播放页Patch模板-2026-04-17.md
Normal file
197
docs/old-tmp-seo/26-老模板播放页Patch模板-2026-04-17.md
Normal file
@@ -0,0 +1,197 @@
|
||||
# 1295-SEONexus 老模板播放页 Patch 模板 - 2026-04-17
|
||||
|
||||
## 目的
|
||||
|
||||
这份文档专门服务第一批 5 个播放页文件。
|
||||
|
||||
它的作用和 [25-老模板分类页Patch模板-2026-04-17.md](/www/wwwroot/VideoSource2/docs/old-tmp-seo/25-老模板分类页Patch模板-2026-04-17.md) 一样:
|
||||
|
||||
- 不是继续分析
|
||||
- 而是给主 Codex 一份可以直接照着写 patch 的模板
|
||||
|
||||
适用文件:
|
||||
|
||||
- `videoDadi/video/getVideoPlayUrl.html`
|
||||
- `videoDingZhu/video/getVideoPlayUrl.html`
|
||||
- `videoBoKu/video/getVideoPlayUrl.html`
|
||||
- `videoLaoNiu/video/getVideoPlayUrl.html`
|
||||
- `videoNuNu/video/getVideoPlayUrl.html`
|
||||
|
||||
## 一、这 5 个文件当前共同问题
|
||||
|
||||
共同问题非常一致:
|
||||
|
||||
1. canonical 已经是播放页
|
||||
2. `og:url` 仍然是详情页
|
||||
3. JSON-LD `url` 仍然是详情页
|
||||
|
||||
也就是说当前是典型的:
|
||||
|
||||
- 一半在说“我是播放页”
|
||||
- 一半在说“我是详情页”
|
||||
|
||||
这会持续制造:
|
||||
|
||||
- `play|301`
|
||||
- 详情页与播放页规范信号冲突
|
||||
|
||||
## 二、目标状态
|
||||
|
||||
播放页三件套全部统一:
|
||||
|
||||
1. canonical 指向播放页
|
||||
2. `og:url` 指向播放页
|
||||
3. JSON-LD `url` 指向播放页
|
||||
|
||||
## 三、当前最稳策略
|
||||
|
||||
### 第一批先走保守收口
|
||||
|
||||
当前老模板 canonical 写法普遍是:
|
||||
|
||||
```tpl
|
||||
{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}
|
||||
```
|
||||
|
||||
这不一定是当前真实线路和真实集数,但它至少已经是“播放页路径”。
|
||||
|
||||
因此第一批最稳策略不是一步做复杂,而是:
|
||||
|
||||
- 先让 `og:url` 和 JSON-LD `url` 与当前 canonical 完全一致
|
||||
|
||||
这样能最快消除 detail/play 信号分裂。
|
||||
|
||||
## 四、最稳参考
|
||||
|
||||
可以参考 `videoGpt1` 当前播放页:
|
||||
|
||||
- [videoGpt1/getVideoPlayUrl.html:117](/www/wwwroot/VideoSource2/code/app/home/view/videoGpt1/video/getVideoPlayUrl.html:117)
|
||||
- [videoGpt1/getVideoPlayUrl.html:143](/www/wwwroot/VideoSource2/code/app/home/view/videoGpt1/video/getVideoPlayUrl.html:143)
|
||||
- [videoGpt1/getVideoPlayUrl.html:202](/www/wwwroot/VideoSource2/code/app/home/view/videoGpt1/video/getVideoPlayUrl.html:202)
|
||||
|
||||
GPT 那边已经是:
|
||||
|
||||
- canonical、`og:url`、JSON-LD `url` 三者完全一致
|
||||
|
||||
## 五、推荐 patch 思路
|
||||
|
||||
### 第一步:保留当前 canonical 不动
|
||||
|
||||
当前老模板 canonical 已经存在,例如:
|
||||
|
||||
```tpl
|
||||
{if $Request.route.intVId && $Request.route.intVForgeId}
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>
|
||||
{/if}
|
||||
```
|
||||
|
||||
第一批先不要动这段结构。
|
||||
|
||||
### 第二步:把 `og:url` 改成和 canonical 一致
|
||||
|
||||
把当前:
|
||||
|
||||
```tpl
|
||||
<meta property="og:url" content='https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}'>
|
||||
```
|
||||
|
||||
统一替换为:
|
||||
|
||||
```tpl
|
||||
<meta property="og:url" content='https://{$DomainModel->d_domain}{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>
|
||||
```
|
||||
|
||||
### 第三步:把 JSON-LD `url` 改成和 canonical 一致
|
||||
|
||||
把当前:
|
||||
|
||||
```tpl
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en"/}',
|
||||
```
|
||||
|
||||
统一替换为:
|
||||
|
||||
```tpl
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}',
|
||||
```
|
||||
|
||||
## 六、推荐的统一替换结果
|
||||
|
||||
### 头部关键区域
|
||||
|
||||
最终应接近:
|
||||
|
||||
```tpl
|
||||
{if $Request.route.intVId && $Request.route.intVForgeId}
|
||||
<link rel="canonical"
|
||||
href='https://{$DomainModel->d_domain}{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>
|
||||
{/if}
|
||||
|
||||
<meta property="og:url"
|
||||
content='https://{$DomainModel->d_domain}{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}'>
|
||||
```
|
||||
|
||||
### JSON-LD 区域
|
||||
|
||||
最终应接近:
|
||||
|
||||
```tpl
|
||||
"url": 'https://{$DomainModel->d_domain}{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}',
|
||||
```
|
||||
|
||||
## 七、5 个文件的差异提醒
|
||||
|
||||
这 5 个文件在当前 patch 涉及区域内几乎完全同构。
|
||||
|
||||
也就是说:
|
||||
|
||||
- 这组 patch 比分类页还更适合批量统一处理
|
||||
|
||||
目前没有看到会影响这次 patch 的明显结构差异。
|
||||
|
||||
## 八、为什么第一批不直接做“当前线路当前集数精确 URL”
|
||||
|
||||
因为那会把这批 patch 从“稳定收口”变成“逻辑改造”。
|
||||
|
||||
第一批更稳的目标是:
|
||||
|
||||
- 先把 detail/play 信号分裂压掉
|
||||
- 先让播放页内部信号统一
|
||||
|
||||
等第一批跑通之后,第二批再评估要不要升级为:
|
||||
|
||||
- 根据 `Request.route.strPlayType`
|
||||
- 根据 `Request.route.intPlayIndex`
|
||||
- 输出当前真实播放页 URL
|
||||
|
||||
## 九、建议验收方式
|
||||
|
||||
每改完 1 个文件,至少做一次页面级验收。
|
||||
|
||||
### 页面源代码验收
|
||||
|
||||
确认:
|
||||
|
||||
1. canonical 仍存在
|
||||
2. `og:url` 与 canonical 完全一致
|
||||
3. JSON-LD `url` 与 canonical 完全一致
|
||||
|
||||
### 域名级优先验收
|
||||
|
||||
优先看:
|
||||
|
||||
- `yagyjt.com`
|
||||
- `ningxiaowei.com`
|
||||
|
||||
## 十、验收后的日志观察
|
||||
|
||||
改完这 5 个播放页之后,连续看 3 天最值得盯的是:
|
||||
|
||||
1. `play|301` 是否下降
|
||||
2. `play|200` 是否更稳
|
||||
3. `detail|301` 是否开始和 `play|301` 一起收敛
|
||||
|
||||
## 一句话交接
|
||||
|
||||
> 老模板第一批播放页 patch 的核心不是“做得多花”,而是先让 canonical、`og:url`、JSON-LD `url` 说同一句话;只要这 5 个播放页先统一收口,深页的百度识别成本就会明显下降。
|
||||
Reference in New Issue
Block a user