MyHomeware SEO 看板 · 业务参考文档 ← 全部文档打开线上页面 ↗

单词 SEO 全景看板

页面地址:/pages/keyword-dash-board?keyword= · 站点:mhw.schwuaclawai.top

页面用途

单个关键词的 SEO 作战中心:排名趋势、TDH/SERP 分析、内容优化、内链执行、外链、Screaming Frog 内链对比等全部信息集中在一页。

入口:首页点击词、或带 ?keyword=文本 / ?id=数字 访问。

业务定位

单词看板是一个词的全生命周期作战室:把「排名结果 → 为什么这样 → 下一步做什么」放在一页。设计原则:先读库、再按需调第三方(GPT/抓取),避免打开页面就烧 API。

业务逻辑(深度)

0. 数据入口:bootstrap 与「同词多 ID」

所有数据经 mhw_keyword_dashboard_bootstrap() 加载。URL 优先 ?keyword=文本,兼容 ?id=

历史迁移可能导致同一 keyword 文本对应多个 keywords_basic.id。排名、内链日志查询用 mhw_keyword_ranking_scope / mhw_keyword_scope_ids 展开为 IN 条件,避免看板空白或漏日志。

OnPage 子表(TDH/内容/内链计划)用 mhw_keyword_fetch_scoped_row 按「词文本 + id」取最新有效行。

1. 排名区

2. TDH / SERP 工作区(规则 → 可选 GPT)

前置:排名批次里须有 serp_top10_json(SerpAPI 有机 Top10)。无快照则工作区提示先跑 SERP。

规则引擎(本地、免费):

  1. 读我方 target_url 的页面类型 + 当前 Title/Description/H1(来自 TDH 表或 page_cache)。
  2. 解析 SERP Top10 的页面类型分布、主意图(信息型/交易型等)、竞品 Title/摘要高频词。
  3. 输出:意图对齐度、规则分、optimization_actions(可先落地的 TDH 修改建议,不依赖 GPT)。

GPT 建议(消耗配额,每日上限):用户点「获取推荐方案」→ tdh-serp-analysis-api?action=suggestions → LLM 输出 JSON 推荐 TDH + 执行计划 HTML。可先 analyze 只存规则结果。

竞品 TDH:同类型 SERP 结果页从 target_url_page_cache 读 H1/Title;缺失时 POST tdh-peer-landing-api 触发 canonical_body_stack 单 URL 抓取(人工点「同步 H1」,首屏不自动抓)。

apply:把采纳的 GPT 方案写回 onpage_tdh_records 计划字段(不自动改线上站)。

3. 内容优化面板(异步 Job)

硬前置(缺一不可):

  1. serp_top10_json 已有;
  2. tdh_serp_analysis 里已有规则引擎 rule_result_json

用户点「启动诊断」→ 创建 mhw_content_optimization_job → 前端轮询 content-optimization-api?action=tick。单步推进:

queued → building_snapshots → paa_queries → fetching_paa → clustering_paa → diagnosing → completed

环境 MHW_CONTENT_OPTIMIZATION_PYTHON=1 时 tick 委托 Python worker,否则 PHP pipeline。

4. 内链区(计划 vs 执行 vs SF 实况)

三张数据源同时看:

来源含义
internal_link_plans运营计划:目标 URL、状态、计划完成日
internal_link_logs实际已做内链(Excel 导入):来源页、锚点、完成日
sf_inlinks_detailScreaming Frog 全站爬取:当前站内有多少链指向目标 URL(按页面类型:博客正文/非博客/模板区等)

内链策略模块internal_link_strategy.php):根据当前排名档位定目标(如冲 TOP 10),对比 SF 统计的 blog_body / non_blog_body 链数与目标缺口,从 SF 全库挑「还没链过、页面类型合适」的来源页,给出优先级、建议锚文、版位。已存在于 internal_link_logs 的来源标为已完成。

InfoHub 内链有独立计划表 infohub_link_plans,逻辑类似但数据分开维护。

5. 外链区

backlink_details 离线导入。匹配规则:锚文本与关键词文本相等(忽略大小写)。展示 DR、来源域、落地页是否匹配 target_url 等。垃圾外链治理在独立 spam 模块,不在此页实时抓取。

6. 页面协作关系

技术向细节(CWV、结构化数据)在 目标 URL 技术看板;时间维复盘在 优化时间线;改计划数据在 编辑控制台

应用接口

API 路径action说明
/pages/tdh-serp-analysis-apiget / analyze / applyTDH SERP 规则+GPT 分析与落库
/pages/tdh-peer-landing-apiget / refresh竞品落地页 TDH 抓取缓存
/pages/content-optimization-apiget / run / tick / cancel内容优化流水线任务
/pages/target-url-preview-proxy目标 URL 预览代理(iframe)

关键词 ID 解析统一走 mhw_api_resolve_keyword_from_request()(支持 idkeyword_idkeyword)。

数据库表

用途
keywords_basic词与 target_url
keyword_ranking_logs排名曲线
onpage_tdh_recordsTDH 现状与计划
onpage_content_records内容状态
internal_link_plans / infohub_link_plans内链计划
internal_link_logs / infohub_link_logs内链执行明细
tdh_serp_analysisSERP 分析与 GPT 建议存档
mhw_content_optimization_job内容优化异步任务
backlink_details外链锚文本匹配
sf_crawl_jobs / sf_inlinks_detailScreaming Frog 爬取与内链
target_url_page_cache目标页 OnPage 缓存

关键代码

关联页面