8.4 KiB
1292-SEONexus 老模板逐文件改动蓝图 - 2026-04-17
目的
这份文档不是再讲“为什么要改”,而是给主 Codex 一个几乎可以直接照着写 patch 的蓝图。
使用方式:
- 先看 21-老模板实施安全边界与GPT隔离说明-2026-04-17.md
- 再看 22-老模板第一批实施任务单与验收矩阵-2026-04-17.md
- 最后按本文件逐文件落 patch
一、分类页 getCategoryType.html 改动蓝图
适用文件
videoDadi/video/getCategoryType.htmlvideoDingZhu/video/getCategoryType.htmlvideoBoKu/video/getCategoryType.htmlvideoLaoNiu/video/getCategoryType.htmlvideoNuNu/video/getCategoryType.html
当前问题
共同问题:
og:url指首页CollectionPage.url指首页- 缺 canonical
目标状态
分类页 head 里至少统一成:
canonical = 当前分类页真实 URLog:url = 当前分类页真实 URLCollectionPage.url = 当前分类页真实 URL
最稳参考
直接参考 videoGpt1 当前写法:
- videoGpt1/getCategoryType.html:15
- videoGpt1/getCategoryType.html:19
- videoGpt1/getCategoryType.html:46
建议实现结构
在 head block 最前面补一条分类页 canonical:
<link rel="canonical" href='https://{$DomainModel->d_domain}{site:vciurl parent_category="$Request.route.strParentCategory" /}'>
然后把现有:
<meta property="og:url" content="https://{$DomainModel->d_domain}" />
统一改成:
<meta property="og:url" content='https://{$DomainModel->d_domain}{site:vciurl parent_category="$Request.route.strParentCategory" /}' />
再把 JSON-LD 里的:
"url": "https://{$DomainModel->d_domain}",
改成:
"url": "https://{$DomainModel->d_domain}{site:vciurl parent_category="$Request.route.strParentCategory" /}",
可顺手补的项
如果改动很顺,也建议补:
<meta name="robots" content="index,follow">
这不是当前最核心收益点,但与分类页聚合定位是一致的。
改后页面级验收
打开任一分类页,确认:
- 页面源代码出现 canonical
- canonical 指向分类页自己
og:url指向分类页自己- JSON-LD
CollectionPage.url指向分类页自己
二、播放页 getVideoPlayUrl.html 改动蓝图
适用文件
videoDadi/video/getVideoPlayUrl.htmlvideoDingZhu/video/getVideoPlayUrl.htmlvideoBoKu/video/getVideoPlayUrl.htmlvideoLaoNiu/video/getVideoPlayUrl.htmlvideoNuNu/video/getVideoPlayUrl.html
当前问题
共同问题:
- canonical 指播放页
og:url指详情页- JSON-LD
url指详情页
目标状态
播放页三件套统一:
- canonical 指播放页自己
og:url指播放页自己- JSON-LD
url指播放页自己
最稳参考
参考 videoGpt1 播放页:
- videoGpt1/getVideoPlayUrl.html:117
- videoGpt1/getVideoPlayUrl.html:143
- videoGpt1/getVideoPlayUrl.html:202
建议实现结构
老模板现在已经有 canonical,例如:
第一批最稳做法不是大改数据流,而是先把现有 site:vpurl ... 结果复用起来。
如果模板表达式可读性允许,直接统一为:
{assign name="strPlayCanonicalUrl" value='https://`$DomainModel->d_domain`{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}' /}
如果 assign 混模板标签不稳,就直接把原地三处替换成同一条 site:vpurl ... 写法。
将当前:
<meta property="og:url" content='https://{$DomainModel->d_domain}{site:vurl ...}'>
改成:
<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": 'https://{$DomainModel->d_domain}{site:vurl ...}',
改成:
"url": 'https://{$DomainModel->d_domain}{site:vpurl v_id="$arrVideo.v_id" v_py="$arrVideo.v_name_en" play_type="default" play_index="1" /}',
当前第一批的保守策略
这里有一个需要主 Codex 注意的地方:
当前老模板 canonical 写死的是:
play_type="default"play_index="1"
这并不一定等于当前访问中的真实线路和集数。
所以第一批有两种路线:
路线 A:保守收口
目标:
- 先让三件套一致
- 即使先全部收口到默认播放页,也比 detail/play 信号分裂更好
优点:
- 改动小
- 风险低
- 更快看到
play|301收敛
路线 B:精确收口
目标:
- canonical /
og:url/ JSON-LD 精确指向当前播放中的真实play_type + play_index
优点:
- 信号最准确
风险:
- 老模板当前
Request.route和数据链未必完全统一 - 更容易把第一批改动做复杂
当前建议:
- 第一批先走路线 A
- 第二批再考虑是否升级到路线 B
改后页面级验收
打开任一播放页,确认:
- canonical 存在
og:url与 canonical 一致- JSON-LD
url与 canonical 一致
三、sitemap-main.xml 改动蓝图
适用文件
videoDadi/sitemap/sitemap-main.xmlvideoDingZhu/sitemap/sitemap-main.xmlvideoBoKu/sitemap/sitemap-main.xmlvideoLaoNiu/sitemap/sitemap-main.xmlvideoNuNu/sitemap/sitemap-main.xml
当前问题
共同问题:
- 输出 host 带
www - 目录明明是视频站,却用了:
novel:categorysite:nflurl
第一批目标
第一批不追求“一步做出终极 sitemap”,先做两件事:
- 不继续输出明显错误的小说站 URL
- host 口径与当前主模板输出一致
建议改法
最保守版本
如果主 Codex 当前对视频站 sitemap 真实结构还没完全确认,第一批可以先把 sitemap-main.xml 收缩成最小正确集:
- 首页
- 榜单页
也就是保留:
但把:
这一整段小说站逻辑先移除或注释为待重建。
同时把:
https://www.{$DomainModel->d_domain}
统一改成:
https://{$DomainModel->d_domain}
更积极版本
如果主 Codex 很快确认了视频分类页应走 site:vciurl 或其他视频路由,那就直接按视频分类 URL 重建分类 sitemap。
当前我建议第一批先别赌这一步,先走最保守版本更稳。
改后页面级验收
访问 sitemap-main.xml,确认:
- 返回正常 XML
- 没有
novel/nflurl这类错误视频站路径 - host 输出与页面主输出一致
四、逐文件施工顺序
建议主 Codex 严格按下面顺序:
- 五套
getCategoryType.html - 五套
getVideoPlayUrl.html - 五套
sitemap-main.xml
不要交叉着零散改。
原因:
- 先收聚合页
- 再收播放页
- 最后再收 sitemap
这样每一步的日志变化更容易归因。
五、改动后的优先复测域名
分类页优先复测
ningxiaowei.comwww.ningxiaowei.comsctyjz.comwww.ap-hulan.com
播放页优先复测
yagyjt.comningxiaowei.com
sitemap 优先复测
sctyjz.comhymdrz.comwww.ap-hulan.com
六、一句话交接
主 Codex 如果现在开始动老模板第一批 patch,最稳方法就是:分类页直接参考
videoGpt1的分类页写法做 URL 收口;播放页先保守统一到同一条site:vpurl;sitemap-main 第一批先去掉明显错误的小说逻辑并收口 host。先把信号统一,再追求更精细化。