Files
web_hgdjc_h5/docs/indexation-policy.md
T
谢宇宁andClaude Opus 5.5 f65d10e998 Initial commit
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-05 23:07:59 +07:00

4.2 KiB

页面索引策略

调整日期:2026-10-22。规则由 src/lib/seo.ts 统一生成,服务端初始 HTML 与客户端更新共用。这里只控制允许索引的信号,不保证搜索引擎实际收录。

允许索引

  • 首页、有效且非空的短剧列表、三个榜单、专题列表与详情、标签列表、作品详情。
  • 普通内容列表的有效分页继续自引用 canonical,不统一归并到第一页。
  • 关于我们、常见问题、用户协议、隐私政策、2257、DMCA。
  • /config/{id}/ 必须有栏目自己的标题、正文简介和有效内容卡片。只有 SEO 标题/描述或空卡片不能满足条件;此规则不依赖额外接口请求,也不代表已自动判定其内容与全站其他栏目语义唯一。
  • /play/{id}/{chapterId}/ 必须有作品名、真实正整数集数,以及当前访问身份有权观看的有效正片地址。共享预告、继承的作品简介、章节 SEO 字段不能单独使纯解锁/不可播放页开放索引。收费类型本身不作为排除条件,有权观看的金币/VIP 章节仍可索引。当前模板没有独立可见的章节正文,若以后增加此类内容,可再评估受限章节的索引范围。

不允许索引

范围 设置
内部搜索、导航入口、回家的路、福利应用 noindex,follow
个人中心、收藏、历史、已购、设置、充值/VIP、反馈 noindex,nofollow
非默认有效排序变体、非默认评论排序 noindex,follow,沿用原有例外规则
详情和播放页的评论分页,页码大于 1 noindex,follow
接口成功确认 totalCount=0 的公开列表第一页 noindex,follow,继续返回 200
缺少独立栏目信息的更多列表、纯解锁或无有效正片的播放页 noindex,follow,继续提供原页面

noindex 页面不输出 canonical、head 中的 prev/next 或内容 JSON-LD;正文的选集、评论、分页链接继续提供。作品详情没有评论时仍可索引,评论数为 0 不等于作品为空。

去重和结构化数据

  • 2026-10-26 按新 Swagger 区分题材与专题:/theme/{id或slug}/ 查询题材下短剧,/topics/{id或slug}/ 查询专题详情,各自保留自己的 canonical;题材更新状态筛选页使用 noindex。
  • 自动生成的专题卡片与 ItemList 链接使用 /topics/{id}/;后台明确配置的 moreUrl 保留原值。
  • 数字资源 ID 的前导零在 canonical 与播放实体 URL 中归一;普通分页仍保留自己的页码。搜索关键词不进行数字归一。
  • canonical 仍仅取配置的永久域名,去除跟踪参数;/rank/、/page/1/ 继续使用既有主地址。
  • 2026-10-22 起内容主地址优先使用接口的非空 slug,缺少时使用 ID。ID 地址仍直接提供内容,其 canonical 与结构化数据指向该内容的 slug 主地址;评论与操作请求继续使用真实数字 ID。
  • 可索引的付费播放页标记 isAccessibleForFree:false 与 hasPart.cssSelector:.play-paywalled-content,选择器对应真实播放器容器,不改变样式。
  • VideoObject 只在真实媒体源、有效日期与封面均存在时输出。无权观看的媒体地址不进入 SEO 数据;不编造视频日期或媒体源。

状态码与验证

资源缺失和已证明越界的分页继续返回 404;主内容临时故障继续返回 500。noindex 不用来替代错误状态码。本次未修改 sitemap、robots.txt 或接口访问权限。

npm run build 及全部 274 项 npm test 通过。验证覆盖函数级索引矩阵、客户端 head 清理、真实 Next.js 生产服务的初始 HTML、Googlebot/YandexBot 请求、普通分页、评论分页、空列表、别名与前导零、更多栏目、付费章节权限和 JSON-LD。模拟接口不提交真实业务写入;线上响应头和实际收录结果仍以部署后的验证为准。

规则参考:Google canonical、Google 分页、Google 付费内容结构化数据。