搜索结果页必须用唯一包裹全部可索引内容,且为直接子元素;每条结果须用独立包裹,内含唯一非空标题;时间需用带真实ISO 8601 datetime属性的标签。

搜索结果页必须用 <main></main> 包裹全部可索引内容
搜索引擎和屏幕阅读器依赖 <main></main> 定位页面核心信息。搜索结果页的每一条结果,都属于“可独立分发、可被单独索引”的内容单元,因此整页结果不能塞进一个 <div class="results"> 里,而必须由 <code><main></main> 直接包裹——且只能有一个 <main></main>,不能嵌套在 <header></header>、<nav></nav> 或 <footer></footer> 内部。
常见错误是把整个结果列表包在 <section></section> 或 <div> 里,再往里塞一堆 <code><article></article>。这会让辅助技术误判结构层级,也削弱 SEO 信号。
-
<main></main>必须是的直接子元素 - 它内部可以有多个
<article></article>,但每个<article></article>必须自成一体、含标题 - 若结果页带筛选栏或分页控件,它们应放在
<main></main>外部(如<aside></aside>或独立<section></section>)
每条搜索结果必须用 <article></article> 单独包裹
<article></article> 是唯一能准确表达“独立、可复用、可订阅”语义的标签,比 <section></section> 更严格、更可靠。搜索引擎会据此判断该区块是否值得单独抓取、缓存甚至 RSS 推送。
错误做法:用 <div class="result"> 或 <code><section></section> 替代 <article></article>;或者把多条结果塞进同一个 <article></article>。
立即学习“前端免费学习笔记(深入)”;
- 每个
<article></article>必须包含且仅包含一个<h2></h2>~<h6></h6>标题(如结果标题) - 标题不可为空,也不可用
<h3></h3>占位;无文字标题时应改用<section></section>+aria-labelledby -
<article></article>内可嵌套<time datetime="2026-08-25T10:30:00+08:00"></time>,但datetime值必须为真实 ISO 8601 时间戳,不能是 “3小时前” 或空字符串
<time></time> 标签必须带 datetime 属性才能被机器识别
只写 <time>昨天</time> 或 <time>2026/08/24</time> 等同于没写——搜索引擎和屏幕阅读器完全无法解析。时间语义必须通过 datetime 属性传递。
使用 PptxGenJS 和 Python 解析,将结构化的 HTML/CSS 幻灯片内容转换为原生、可编辑的 PowerPoint(.pptx)演示文稿。
动态渲染场景下,后端或 JS 必须生成真实时间戳,不能留空或填占位符(如 datetime="" 或 datetime="0000-00-00")。
- 正确格式:
<time datetime="2026-08-24T15:12:33+08:00">2026年8月24日</time> - 聚合类结果(如“近一周热门”)不用
<time></time>,改用自然语言说明,如<p>近7天热门结果(截至2026年8月25日)</p> - 若结果来自 API,
datetime值应由服务端注入,避免客户端 JS 因时区或系统时间不准导致误差
不要用 <section></section> 或 <div> 模拟结果项结构
<p><code><section></section> 要求有明确主题并配标题,但它不表示“可独立分发”,语义强度远低于 <article></article>。用它替代 <article></article> 会让搜索引擎降低该区块的索引优先级。
而纯 <div> 更糟:它不携带任何语义,等于告诉爬虫“这段内容我也不知道算什么”。尤其当结果含图文混排、摘要、来源、时间等字段时,<code><div> 会让结构树彻底失焦。
<ul>
<li>广告位、热门推荐、相关搜索等非主结果内容,一律用 <code><aside></aside> 或 <section></section>,不可混入 <main></main>
<aside></aside> 不应在 <main></main> 内部出现——它与主结果无语义关联,放错位置会干扰辅助技术线性朗读逻辑<article></article>,改用 <section aria-labelledby="img-result-1"></section> 并配隐藏标题元素<main></main> 的唯一性和 <article></article> 的强制标题要求。很多团队在 SSR 渲染时漏掉标题,或把分页栏塞进 <main></main> 末尾,这两处一旦出错,整页搜索结果的可访问性与索引质量会断崖式下降。


















