Files
shencaisuan/docs/superpowers/specs/2026-07-20-baidu-indexing-frontend-design.md
T
2026-07-20 10:50:20 +08:00

3.6 KiB

百度收录前端修复设计

目标

在不修改后端业务和现有 JavaScript 数据渲染逻辑的前提下,让百度能够正确发现 https://www.scs8888.cn/ 首页和公开免费文章页面,并消除当前旧域名、错误 URL 与基础 SEO 信息缺失的问题。

范围

本轮只修改当前前端仓库:

  • robots.txt 使用新域名的 sitemap,并按线上公开 URL 规则屏蔽登录、用户、发布和财务页面。
  • sitemap.xml 只保留当前确定存在且需要收录的首页 URL,不再提交旧域名或不存在的页面。
  • 首页补充静态 descriptioncanonical、有效 h1 和无需 JavaScript 即可读取的站点说明。
  • 免费文章详情模板提供稳定的默认元信息,并在文章 API 返回后同步更新唯一的 title、description、canonical 和 h1。
  • 免费文章的公开唯一 URL 采用 /mianfei/{id}.html;现有 CommonUtil.freeArticleHref 继续作为该 URL 规则的前端唯一所有者。
  • 增加一份后端部署说明,明确 Nginx 伪静态、动态 sitemap 和预渲染属于部署侧后续工作。

本轮不包含:

  • 后端应用代码、数据库或 API 修改。
  • Nginx 线上配置修改。
  • 免费文章正文的服务端渲染或静态文件生成。
  • 付费文章、专家详情、登录及用户中心页面的收录。

URL 与索引规则

  • 首页唯一地址:https://www.scs8888.cn/
  • 免费文章唯一地址:https://www.scs8888.cn/mianfei/{id}.html
  • 查询参数形式 /html/mianfei.html?id={id} 仅用于本地开发或内部兼容,不写入 sitemap,也不作为 canonical。
  • 当前静态 sitemap 只提交首页。免费文章无法从纯前端仓库完整枚举,因此部署侧必须通过后端数据生成动态 sitemap 后,才能提交全部文章 URL。

页面数据流

首页首次 HTML 响应直接包含站点主题、描述和 h1。JavaScript 加载后继续请求公告、开奖和文章 API,并填充现有容器,现有交互不变。

免费文章页首次 HTML 响应包含通用且可读的默认元信息。取得文章详情后,前端以文章标题和纯文本摘要更新 document.title、description、canonical 和页面 h1。该方式改善已执行 JavaScript 的抓取结果,但不声称替代服务端预渲染。

错误处理

  • 无文章 ID 时不生成伪造 canonical,沿用页面错误提示流程。
  • API 请求失败时保留默认标题和描述,不把 undefined、HTML 标签或空字符串写入元信息。
  • 摘要从正文提取时去除 HTML 标签并限制长度,避免搜索摘要过长。

验证

增加一个无第三方依赖的 Node 检查脚本,验证:

  • robots 和 sitemap 不再包含 3d.3dyjs.cn
  • sitemap 只包含 www.scs8888.cn 下允许收录的 URL。
  • 首页存在 description、canonical、有效 h1 和静态说明。
  • 免费文章模板包含默认 description、canonical 更新逻辑及 /mianfei/{id}.html 规则。
  • 登录、用户、发布和财务页面不会出现在 sitemap。

同时运行现有相关回归脚本,确保首页导航和免费文章链接规则没有被破坏。

后端部署边界

部署方后续需要负责:

  1. /mianfei/{id}.html 重写到免费文章详情入口,且对不存在文章返回真实 404。
  2. 将 HTTP、裸域名及其他首页形式 301 到 https://www.scs8888.cn/
  3. 根据公开免费文章数据生成包含全部文章 URL 的 sitemap,并在文章新增、修改或删除后更新。
  4. 如需让不执行 JavaScript 的蜘蛛直接读取正文,在部署流程或后端增加文章预渲染;这不属于本轮前端修改。