Files
SEONexus/docs/old-tmp-seo/01-老模板第一阶段回灌执行文档.md
2026-04-17 21:09:06 +08:00

12 KiB
Raw Blame History

1269-SEONexus 老模板第一阶段回灌执行文档

关联文档

目标

这份文档只覆盖老模板的第一阶段回灌,原则是:

  • 不改老模板大骨架
  • 不依赖后台逐站编辑
  • 先统一抓取入口、观测链、规范输出
  • 先看蜘蛛访问和抓取变化

适用前提:

  • 老模板共 5 套
  • 域名会随机绑定其中一套模板
  • 当前不准备把 videoGpt1 的整套结构层直接迁过去

为什么第一阶段要“直接改代码”

当前站点运行时链路是:

  1. DomainModel.t_id 决定域名使用哪套视图模板
  2. SiteContext 根据 t_id 读取模板路径
  3. 模板本身再结合站点自己的 t_cfg / d_seo_cfg 输出页面

这意味着:

  • 同一套老模板代码,被多个域名共用
  • 第一阶段如果只是统一抓取入口、sitemap、canonical、观测能力
  • 最稳的方式就是直接改这套老模板代码本身

不建议第一阶段依赖后台逐站编辑,因为后台编辑会触碰:

  • t_id
  • t_cfg
  • d_seo_cfg

这些字段都可能改变老模板站点当前行为。


第一阶段要做什么

只做以下 4 层:

  1. 抓取入口层
  2. 输出规范层
  3. 观测层
  4. 静态资源发布层

明确先不做:

  • 首页结构重排
  • 列表卡片重构
  • 评论区整体换骨架
  • 深页整体布局替换
  • 逐站后台批量套 SEO 策略包

第一步:选 1 套老模板做试点

不要 5 套一起动。

优先选择这类模板:

  • 结构相对规整
  • 已有基础抓取,但还没形成明显深抓
  • 线上有一定流量,但不是最核心起量模板
  • robots / sitemap / canonical / footer 这些基础层容易统一

暂时不要选:

  • 起量最高的模板
  • 历史补丁最多的模板
  • 路径规则最杂的模板

第二步:先统一抓取入口层

2.1 统一 robots.txt

要求:

  • 老模板必须稳定输出 robots.txt
  • robots.txt 里必须声明百度 sitemap
  • 百度不能被引到无效入口

建议统一成:

  • Sitemap: https://当前域名/rss/baidu.xml

检查项:

  • robots.txt 是否返回 200
  • 内容里是否已有 Sitemap: 声明
  • 是否仍然指向旧的死入口

2.2 统一 rss/baidu.xml

要求:

  • 老模板必须稳定输出百度可用的 XML
  • 优先输出详情页入口
  • 链接协议统一 https://

检查项:

  • rss/baidu.xml 是否返回 200
  • 是否有真实 <item><link>... 内容
  • 链接是否已经是最终规范地址

2.3 给 sitemap_index.xml 做兜底

老模板如果历史上已有:

  • /sitemap_index.xml

不要直接让它继续 404

建议:

  • 如果旧入口仍有历史外链或蜘蛛命中
  • 让它兜底回落到当前实际可用的 sitemap 输出

目的:

  • 减少历史路径继续浪费抓取机会

第三步:统一输出规范层

3.1 统一 canonical

检查项:

  • 首页 canonical
  • 分类页 canonical
  • 详情页 canonical
  • 播放页 canonical

目标:

  • 都指向最终规范地址
  • 尽量统一 https://

3.2 统一主要链接协议

重点看:

  • sitemap 输出
  • 页面 head 里的 canonical / og:url
  • 页面内主要入口链接

目标:

  • 减少 http -> https 跳转消耗
  • 让百度尽量直接拿到最终 URL

检查项:

  • footer 里是否有百度 sitemap 或 XML 地图入口
  • 是否还暴露旧死入口

目标:

  • 对外暴露路径统一
  • 不再继续给蜘蛛错误入口

第四步:接入观测层

这一步和模板结构解耦,但必须同步做。

要求:

  • 前端站群 Nginx 已输出蜘蛛日志
  • spiderlog-agent 已在前端机定时推送
  • 后台蜘蛛抓取概览能观察到该模板站点的百度行为

重点只看:

  • baiduspider
  • home
  • robots
  • sitemap
  • category
  • detail
  • play

第一阶段的观测目标不是“马上深抓”,而是先确认:

  1. 百度是否稳定进入首页
  2. 是否开始命中 robots
  3. 是否开始命中 sitemap
  4. 是否开始出现 category

第五步:统一静态资源发布层

老模板第一阶段也建议统一吃当前这套:

  • 自动重编
  • STATIC_FILE_VERSION 强制刷新兜底

使用原则:

  • 平时样式/脚本变更依赖自动重编
  • 只有前端站群 / CDN / 浏览器仍命中旧静态文件时,再手动提高 STATIC_FILE_VERSION

阶段观察记录

2026-04-15 蜘蛛抓取观察结论

本轮重点观察的是:

  • 深页兼容修复
  • 前端站群统一动态回源
  • rss/baidu.xml 深链恢复

观察口径:

  • 只看 baiduspider
  • 重点只看:
    • home
    • category
    • detail
    • play

结论

当前可以确认:

  1. 修复方向是对的
  2. 已出现真实成功样本
  3. 但还没有扩大成全站稳定放量

也就是:

  • 不是“修了没效果”
  • 而是“已经开始出现正反馈,但还在观察窗口”

关键成功样本

2026-04-16 深页残余 500 修复结论

本轮新增确认的不是入口层问题,而是深页随机兜底分支里的实现问题。

新发现的问题

以下残余深页在外网直测时会返回 500

  • jingxifa.com /video-detail/mo-ri-yi-jia-qin-172009
  • sjzyunyang.com /video-detail/a-te-yu-pei-pei-185677

错误页正文一致,核心报错为:

  • the match filter must be an expression in an object

根因

问题位于:

当原始 v_id 查不到真实视频时,系统会进入随机兜底逻辑:

  1. 先尝试读取随机绑定
  2. 未命中时走 Mongo aggregate + sample
  3. 旧实现会在无筛选条件时传入:
    • ['$match' => []]
  4. 该写法会触发 Mongo 聚合报错,从而把原来的 301 -> 404 残余坏链升级成:
    • 301 -> 500

已做修复

当前已调整为:

  • 只有在存在筛选条件时才注入 $match
  • 无筛选条件时直接走 $sample

也就是:

  • 不再把空数组作为 $match 表达式传给 Mongo

修复后回测结果

以下链接已重新回测为 200

  • https://jingxifa.com/video-detail/mo-ri-yi-jia-qin-172009
  • https://sjzyunyang.com/video-detail/a-te-yu-pei-pei-185677
  • https://www.lgyz.net/voddetail/mo-shi-chao-neng-li-zhe-dong-tai-man-hua-69869
  • https://www.lgyz.net/vodplay/bi-she-tang-yuan-bi-yi-zheng-fu-jin-di-yi-ji-53027-youzhi-8
  • https://www.lgyz.net/voddetail/69869
  • https://www.lgyz.net/vodplay/53027-youzhi-8

并且本地兜底探针日志已出现真实命中:

  • requested_v_id = 172009 -> candidate_v_id = 119106
  • requested_v_id = 185677 -> candidate_v_id = 50302

这说明:

  • 随机兜底逻辑已经真正执行成功
  • 不再停在 Mongo 异常层
  • 深页残余坏链继续从 500200 收敛

当前阶段判断

截至 2026-04-16 当前窗口,可以把这轮优化效果概括为:

  1. 深页兼容入口已生效
  2. 多站点已出现 301 -> 200
  3. 随机兜底分支残余 500 主因已修掉
  4. www.lgyz.net 这类此前仍偏弱的站点,当前外网回测也已恢复到 200

后续继续重点观察:

  • baiduspider 是否重新放量回打 detail / play
  • 新命中的深页是否继续保持 200
  • 是否还会出现新的局部 500 或数据异常型落点

2026-04-16 14:00 最新补充观察

截至当前最新一轮:

  • 2026-04-16 14:00:02

还没有出现更晚的抓取汇总文件。

这一轮里,最重要的新样本是:

  • sjzyunyang.com /video-bofang/zhe-zhi-172193-default-1
  • page_type = play
  • 状态链为:
    • 301
    • 200 (MISS)
    • 200 (HIT)

这说明:

  1. 百度在今天这轮里仍然继续命中新 play 深页
  2. 系统不仅能把它接住,而且第一次已经真实回源生成成功
  3. 后续立刻进入缓存命中,说明链路已经不是偶发通过

当前可以把这条样本理解为:

  • 不是旧坏链修复后的被动回测
  • 而是今天新命中的播放页也已经开始成功落地

因此,截至当前窗口,对这轮优化更准确的判断是:

  • 深页兼容层有效
  • 随机兜底层有效
  • 新命中的 play 深页也开始持续出现 301 -> 200
jingxifa.com

2026-04-15 17:40:03 这一轮,百度命中:

  • /video-bofang/hao-bu-liu-qing-185887-default-1

结果出现:

  • 301 -> 200

这说明:

  • play 深页历史兼容开始生效
  • 不再只表现为 301 -> 404
www.vikau.com

2026-04-15 18:40:02 这一轮,百度命中:

  • /voddetail/ma-xiang-lou-zhi-zao-meng-xian-sheng-47065

结果出现:

  • 301 -> 200

这说明:

  • detail 深页兼容也开始出现正向落地样本

仍需继续观察的站点

以下站点在本轮观察窗口内,仍主要看到失败样本:

  1. www.lgyz.net
  2. sjzyunyang.com
  3. www.codohealth.com
  4. gxhongzhuang.com

这些站点的问题表现仍以:

  • 301 -> 404

为主,但失败样本主要集中在修复后的早期窗口,后续还需继续观察是否会像 jingxifa.com 一样转为成功样本。

当前阶段判断

当前应将本轮结果理解为:

  • 深页兼容修复已开始起效
  • 但百度还没有重新形成稳定深抓

因此下一阶段的重点不是立即继续大改,而是:

  1. 继续观察百度是否重新命中更多 detail/play
  2. 继续记录哪些站从 301 -> 404 转成 301 -> 200
  3. 将还未转正的域名继续列为重点观察对象

观察建议

下一轮继续观察时,优先盯:

  1. jingxifa.com
  2. www.vikau.com
  3. www.lgyz.net
  4. sjzyunyang.com

目的:

  • 确认成功样本是否持续出现
  • 确认失败样本是否继续减少

这样第一阶段如果需要修老模板样式,不会卡在缓存上。


第六步:明确哪些不要碰

第一阶段明确不碰这些:

6.1 不要用后台逐站编辑改模板绑定

避免碰:

  • t_id
  • t_cfg

原因:

  • t_id 会直接决定该站用哪套视图模板
  • t_cfg 会影响该站冻结模板配置和 URL 模板映射

6.2 不要先批量套 d_seo_cfg

原因:

  • 第一阶段先做基础设施层
  • 不要让老模板先承受太多 SEO 输出行为变化

6.3 不要先改结构层

包括:

  • 首页模块结构
  • 列表卡片结构
  • 评论区整体结构
  • 全站导航结构

第七步:验收标准

第一阶段不看“感觉”,只看这 4 组信号。

7.1 百度入口命中

后台重点看:

  • home
  • robots
  • sitemap

7.2 百度入口状态码

希望看到:

  • 200

尽量减少:

  • 301
  • 404
  • 444

7.3 是否开始出现 category

这是第一阶段最关键的推进信号。

如果 category 开始出现,说明:

  • 百度已经不只是停在首页和入口层

7.4 静态资源是否可控

验证:

  • 改样式能自动重编生效
  • 必要时提升 STATIC_FILE_VERSION 能强制刷新

第八步:建议观察周期

试点模板完成第一阶段后,建议观察:

  • 3-5 天抓取变化
  • 7 天收录信号变化

如果信号对,再复制到其余老模板。

如果这一步还没看到明显入口改善,不要急着推进第二阶段内容增强。


第一阶段完成后的下一步

只有在第一阶段稳定后,才建议进入第二阶段:

  • 详情页事实池轻接入
  • 描述增强
  • 播放页导语增强
  • FAQ / 评论导语轻增强

第二阶段仍然建议:

  • 先 1 套模板试点
  • 不 5 套一起上

一句话版本

老模板第一阶段不是“升级成 gpt 模板”,而是:

  • 先统一抓取入口
  • 先统一输出规范
  • 先统一观测能力
  • 先统一静态资源发布能力

先把底座拉齐,再看第二阶段内容增强。