rel="license" 必须指向可直接访问、内容为完整许可证条款的静态URL,仅限<link>(声明整页许可)或<a>(标注局部内容),禁止短链、跳转、JS渲染或登录墙,且需HTTP 200响应与确定性内容。

rel="license" 必须指向许可证全文 URL,不是作者页或“版权声明”页面
很多人把 rel="license" 加在作者主页、GitHub 项目页或“© 2024 All Rights Reserved”这种泛泛文本上——这不合法语义,浏览器和爬虫会忽略甚至报 warning。它只认一件事:链接目标是不是一份明确、可访问、内容为许可证条款的文档。
- ✅ 正确目标:
https://creativecommons.org/licenses/by/4.0/legalcode、https://opensource.org/licenses/MIT - ❌ 错误目标:
https://example.com/about#copyright、https://github.com/user/repo、https://example.com/terms(除非该页完整展示 MIT 全文) - 如果协议是自定义的,必须提供独立 HTML 或 PDF 页面,且 URL 可直接打开看到条款正文,不能靠 JS 渲染或登录后才显示
用 声明整页许可,比用 更规范且生效范围更广
rel="license" 在 <a> 和 <link> 中都合法,但语义权重不同:<link> 声明的是“当前整个文档”的许可,而 <a> 只能标注局部内容(如某段引用或图片)。Google Rich Results 测试工具、Schema.org 解析器默认只处理 <link rel="license">。
- 推荐写法(放在
<head>中):<link rel="license" href="https://www.php.cn/link/086db8e849450089570b296e29a27011">
- 局部标注(如某张图)可用:
<p>引自<a href="https://example.com/photo" rel="license">CC BY-SA 4.0</a>授权图像</p>
,但需确保href指向该图专属许可页,而非通用协议页 - 不要同时用多个
<link rel="license">—— 协议冲突时无标准处理逻辑,浏览器通常只取第一个
协议链接必须真实可访问,且内容不能模糊或跳转
一个失效的 href 或重定向到首页的链接,会让 rel="license" 彻底失效。这不是“尽力而为”,而是机器可读声明的基本前提。
- 检查方式:手动访问
href地址,确认返回 HTTP 200,页面主体是许可证文本(含“Permission is hereby granted...”这类标准开头) - 禁止使用短链、UTM 参数、登录跳转页(如
https://example.com/license?ref=article),这些会让爬虫无法稳定抓取原始协议 - 若协议更新(如 CC BY 4.0 → 4.1),必须同步更新
href,旧链接即使还能打开,也不代表法律效力延续
别指望 rel="license" 自动显示版权信息或控制商用行为
这个属性纯属元数据,不渲染、不拦截、不校验——它只是告诉机器“这份内容按什么规则授权”,不替代人工声明,也不阻止盗用。
立即学习“前端免费学习笔记(深入)”;
- 用户可见的版权说明仍需写在页面上,例如:
<p class="license-note">本文采用 <a href="https://creativecommons.org/licenses/by/4.0/" rel="license">CC BY 4.0</a> 协议授权</p>
- 商用收费、素材限制等关键信息,必须用显眼文字+CSS 样式呈现,不能藏在
rel="license"后面指望系统自动识别 - 搜索引擎不会因
rel="license"改变索引策略,也不会据此判定是否允许转载;它只用于富媒体摘要、知识图谱补全等辅助场景
rel="license" 就退化成装饰性标签。



















