3.6 KiB
3.6 KiB
百度收录前端修复设计
目标
在不修改后端业务和现有 JavaScript 数据渲染逻辑的前提下,让百度能够正确发现 https://www.scs8888.cn/ 首页和公开免费文章页面,并消除当前旧域名、错误 URL 与基础 SEO 信息缺失的问题。
范围
本轮只修改当前前端仓库:
robots.txt使用新域名的 sitemap,并按线上公开 URL 规则屏蔽登录、用户、发布和财务页面。sitemap.xml只保留当前确定存在且需要收录的首页 URL,不再提交旧域名或不存在的页面。- 首页补充静态
description、canonical、有效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。
同时运行现有相关回归脚本,确保首页导航和免费文章链接规则没有被破坏。
后端部署边界
部署方后续需要负责:
- 将
/mianfei/{id}.html重写到免费文章详情入口,且对不存在文章返回真实 404。 - 将 HTTP、裸域名及其他首页形式 301 到
https://www.scs8888.cn/。 - 根据公开免费文章数据生成包含全部文章 URL 的 sitemap,并在文章新增、修改或删除后更新。
- 如需让不执行 JavaScript 的蜘蛛直接读取正文,在部署流程或后端增加文章预渲染;这不属于本轮前端修改。