# 1297-SEONexus 老模板第一批施工总表 - 2026-04-17 ## 目的 这份文档是老模板第一批 SEO 实施的最终总表。 它把前面的: - [24-老模板第一批施工索引页-2026-04-17.md](/www/wwwroot/VideoSource2/docs/old-tmp-seo/24-老模板第一批施工索引页-2026-04-17.md) - [25-老模板分类页Patch模板-2026-04-17.md](/www/wwwroot/VideoSource2/docs/old-tmp-seo/25-老模板分类页Patch模板-2026-04-17.md) - [26-老模板播放页Patch模板-2026-04-17.md](/www/wwwroot/VideoSource2/docs/old-tmp-seo/26-老模板播放页Patch模板-2026-04-17.md) - [27-老模板SitemapPatch模板-2026-04-17.md](/www/wwwroot/VideoSource2/docs/old-tmp-seo/27-老模板SitemapPatch模板-2026-04-17.md) 压缩成一张主 Codex 可以直接照着执行的表。 ## 一、实施边界 这次只改老模板 5 套: - `videoDadi` - `videoDingZhu` - `videoBoKu` - `videoLaoNiu` - `videoNuNu` 不碰: - `videoGpt1` - `VideoService` - `SiteContext` - 路由层 ## 二、第一批总任务 总共 15 个文件,分 3 组: 1. 分类页 5 个 2. 播放页 5 个 3. sitemap-main 5 个 推荐施工顺序固定为: 1. 分类页 2. 播放页 3. sitemap-main ## 三、逐组施工总表 ### A 组:分类页 5 个 #### 文件 - [videoDadi/getCategoryType.html](/www/wwwroot/VideoSource2/code/app/home/view/videoDadi/video/getCategoryType.html:15) - [videoDingZhu/getCategoryType.html](/www/wwwroot/VideoSource2/code/app/home/view/videoDingZhu/video/getCategoryType.html:15) - [videoBoKu/getCategoryType.html](/www/wwwroot/VideoSource2/code/app/home/view/videoBoKu/video/getCategoryType.html:15) - [videoLaoNiu/getCategoryType.html](/www/wwwroot/VideoSource2/code/app/home/view/videoLaoNiu/video/getCategoryType.html:15) - [videoNuNu/getCategoryType.html](/www/wwwroot/VideoSource2/code/app/home/view/videoNuNu/video/getCategoryType.html:15) #### 统一改动 - 增加 `meta name="robots" content="index,follow"` - 增加 canonical - 把 `og:url` 改成分类页真实 URL - 把 JSON-LD `CollectionPage.url` 改成分类页真实 URL #### 参考模板 - [25-老模板分类页Patch模板-2026-04-17.md](/www/wwwroot/VideoSource2/docs/old-tmp-seo/25-老模板分类页Patch模板-2026-04-17.md) - [videoGpt1/getCategoryType.html](/www/wwwroot/VideoSource2/code/app/home/view/videoGpt1/video/getCategoryType.html:13) #### 改后先验 - `ningxiaowei.com` - `www.ningxiaowei.com` - `sctyjz.com` - `www.ap-hulan.com` #### 预期日志信号 - `category|200` 上升 - `/|301` 下降 - `home|301` 下降 ### B 组:播放页 5 个 #### 文件 - [videoDadi/getVideoPlayUrl.html](/www/wwwroot/VideoSource2/code/app/home/view/videoDadi/video/getVideoPlayUrl.html:22) - [videoDingZhu/getVideoPlayUrl.html](/www/wwwroot/VideoSource2/code/app/home/view/videoDingZhu/video/getVideoPlayUrl.html:22) - [videoBoKu/getVideoPlayUrl.html](/www/wwwroot/VideoSource2/code/app/home/view/videoBoKu/video/getVideoPlayUrl.html:22) - [videoLaoNiu/getVideoPlayUrl.html](/www/wwwroot/VideoSource2/code/app/home/view/videoLaoNiu/video/getVideoPlayUrl.html:22) - [videoNuNu/getVideoPlayUrl.html](/www/wwwroot/VideoSource2/code/app/home/view/videoNuNu/video/getVideoPlayUrl.html:22) #### 统一改动 - 保留现有 canonical 结构 - 把 `og:url` 改成与 canonical 一致 - 把 JSON-LD `url` 改成与 canonical 一致 #### 当前策略 - 第一批采用保守收口 - 统一到当前已有的默认播放页 `site:vpurl` - 不先做“当前线路当前集数”精确化 #### 参考模板 - [26-老模板播放页Patch模板-2026-04-17.md](/www/wwwroot/VideoSource2/docs/old-tmp-seo/26-老模板播放页Patch模板-2026-04-17.md) - [videoGpt1/getVideoPlayUrl.html](/www/wwwroot/VideoSource2/code/app/home/view/videoGpt1/video/getVideoPlayUrl.html:113) #### 改后先验 - `yagyjt.com` - `ningxiaowei.com` #### 预期日志信号 - `play|301` 下降 - `play|200` 更稳 ### C 组:sitemap-main 5 个 #### 文件 - [videoDadi/sitemap-main.xml](/www/wwwroot/VideoSource2/code/app/home/view/videoDadi/sitemap/sitemap-main.xml:1) - [videoDingZhu/sitemap-main.xml](/www/wwwroot/VideoSource2/code/app/home/view/videoDingZhu/sitemap/sitemap-main.xml:1) - [videoBoKu/sitemap-main.xml](/www/wwwroot/VideoSource2/code/app/home/view/videoBoKu/sitemap/sitemap-main.xml:1) - [videoLaoNiu/sitemap-main.xml](/www/wwwroot/VideoSource2/code/app/home/view/videoLaoNiu/sitemap/sitemap-main.xml:1) - [videoNuNu/sitemap-main.xml](/www/wwwroot/VideoSource2/code/app/home/view/videoNuNu/sitemap/sitemap-main.xml:1) #### 统一改动 - 去掉 `www` - 删除明显错误的小说站逻辑: - `novel:category` - `novel:sort` - `novel:status` - `site:nflurl` - 第一批先收缩成“最小正确集”: - 首页 - 榜单首页 #### 为什么先这样做 - `robots.txt` 当前已经统一指向裸域 `sitemap_index.xml` - 先让 `sitemap-main.xml` 和它一致 - 先停止 sitemap 自己制造错误信号 #### 参考模板 - [27-老模板SitemapPatch模板-2026-04-17.md](/www/wwwroot/VideoSource2/docs/old-tmp-seo/27-老模板SitemapPatch模板-2026-04-17.md) #### 改后先验 - `sctyjz.com` - `www.ap-hulan.com` - `hymdrz.com` #### 预期日志信号 - `/|301` 下降 - `home|301` 下降 - host 分裂减轻 ## 四、逐步验收顺序 不要 15 个文件一次全改完再看。 更稳的节奏是: ### 第 1 步:先落分类页 5 个 先验源码: - canonical 是否存在 - `og:url` 是否等于分类页 URL - `CollectionPage.url` 是否等于分类页 URL 再看日志: - `category|200` - `/|301` - `home|301` ### 第 2 步:再落播放页 5 个 先验源码: - canonical 是否存在 - `og:url` 是否和 canonical 一致 - JSON-LD `url` 是否和 canonical 一致 再看日志: - `play|301` - `play|200` ### 第 3 步:最后落 sitemap-main 5 个 先验源码: - XML 是否可正常访问 - 是否还有 `novel`/`nflurl` - host 是否已经去掉 `www` 再看日志: - `/|301` - `home|301` - host 分裂 ## 五、6 个核心日志指标 第一批实施后,每天优先只看这 6 个: 1. `/|301` 2. `home|301` 3. `category|200` 4. `play|301` 5. `play|200` 6. `other|404` ## 六、失败时优先回查 如果改完后没有改善,或者出现倒退,先看: 1. 分类页 canonical 是否写错 2. 播放页三件套是否还没统一 3. sitemap 是否仍在输出错误 host 4. 是否误伤旧 deep link 的承接能力 ## 七、建议主 Codex 的最小执行方式 如果主 Codex 现在要正式开工,最小合理动作是: 1. 先提交分类页 5 个 patch 2. 验证 3. 再提交播放页 5 个 patch 4. 验证 5. 再提交 sitemap-main 5 个 patch 不要把 15 个文件混成一笔难以归因的大改。 ## 一句话交接 > 老模板第一批 SEO 落地,现在最稳的执行方式就是按这张总表分三段施工:先分类页、再播放页、最后 sitemap-main;每一段都先看源码、再看重点域名、再看 6 个核心日志指标,始终保持只改老模板 5 套,不扩散到 GPT 模板和共享底层。