rel="archives" 是 HTML 中表示时间归档页的语义关系,浏览器不执行任何默认行为,仅作元信息提示;仅当存在真实、公开、按时间组织的归档页时才应使用。

rel="archives" 是什么,浏览器会做什么
rel="archives" 是 HTML 中一个合法但被广泛忽略的 link 关系类型,定义在 WHATWG HTML 标准里,语义上表示「指向一组按时间组织的内容归档(如博客年/月归档页)」。但它**不触发任何浏览器默认行为**:不会预加载、不参与 SEO 权重传递、不改变页面渲染、也不被主流搜索引擎当作特殊信号抓取。它纯粹是给开发者或辅助工具(比如某些 RSS 阅读器、语义分析脚本)提供提示用的元信息。
实际项目中几乎没人靠它驱动功能,更不会因为加了这个 <link rel="archives" href="/archive"> 就自动生成归档导航栏——那得靠你自己的 JS 或服务端逻辑。
什么时候该用 rel="archives",什么时候不该 它只在明确存在「按时间维度组织的、可公开访问的归档索引页」时才适用。常见于博客、新闻站、文档版本历史页等场景。
适合用的情况:
- 你的
/archive页面列出了所有年份(2020、2021…),点进去又能看到每月文章列表 -
/posts/2023/是一个真实可访问的、含多篇文章的归档目录页,且你希望在首页<head>里显式声明它的语义角色 - 你在构建一个支持微格式或 RDFa 的语义站点,需要补全归档关系链
不适合用的情况:
- 指向的是登录后才可见的后台归档页(
rel值应面向公开、可爬取资源) -
href是个 404 页面或重定向到首页(破坏语义一致性) - 你只是想加个「归档」菜单项——直接写导航 HTML 更可靠,别依赖
rel="archives"被自动识别
和 rel="index"、rel="start" 的区别容易搞混
这三个都属于「文档关系型 rel 值」,但用途截然不同:
rel="archives" 指向「按时间聚合的旧内容集合」,强调历史性与批量性;
立即学习“前端免费学习笔记(深入)”;
rel="index" 指向当前内容的「顶层目录页」(比如某篇 API 文档的根目录),不是时间归档;
rel="start" 指向整个网站或系列内容的「起始页」(如漫画连载的第一话、教程的第一章),强调线性顺序起点。
错误示例:<link rel="archives" href="/api/docs"> —— 这其实是 rel="index" 的典型用法;
再错一次:<link rel="archives" href="/about"> —— /about 既不是时间归档,也不是索引,纯属乱标。
要不要加?取决于你是否真有归档页且愿意维护语义一致性
加了不会出错,但也不会带来收益;不加也没问题,绝大多数用户和工具根本不在乎。真正关键的是:那个 href 指向的页面是否存在、是否可访问、是否确实按时间组织了内容。
如果你已经有一个稳定的归档页路径(比如 /blog/archives),并且团队习惯保持 HTML 语义严谨,那就加上;
如果归档页路径经常变、或只是临时加了个空壳页面应付需求,建议别加——留着比乱标强。
最容易被忽略的一点:一旦加了 rel="archives",它就成了你站点公开语义契约的一部分。后续如果删掉归档页,又没同步清理这个 <link>,就会留下一个指向失效的语义断点。



















