<footer>© 2024 公司</footer>必须是body直接子元素,配合rel="license"链接真实许可证页,且年份须服务端注入;small仅用于附属短语,不可包裹整段版权信息。

必须用 footer 包裹,且是 body 的直接子元素
单独写 <footer>© 2024 公司</footer> 不够——它只是语义容器,不是“自动贴底”的魔法标签。如果 footer 不在 body 直接子级位置(比如被套在 <div class="wrapper"> 里),屏幕阅读器可能无法识别为全站页脚,SEO 工具也会弱化其元数据权重。
常见错误包括:
- 把
footer放进main或article末尾(那是文章级页脚,不是站点级) - 用
id="footer"替代语义,结果 JS 选择器或第三方 CSS 把它当普通 div 处理 - 嵌套在另一个
footer里(HTML5 明确禁止跨节混用)
small 只能包裹附属短语,不能包整段版权声明
small 的语义是“附属细则”,不是“缩小字体”。浏览器默认缩放它,但规范禁止嵌套缩放(<small><small>...</small></small> 和单层效果一样),也不能靠它撑起法律效力。
正确用法示例:
立即学习“前端免费学习笔记(深入)”;
<footer> <p>© 2024 公司名称。<small>保留所有权利</small></p> </footer>
错误用法:
-
<small>© 2024 公司名称。保留所有权利</small>(无footer,语义断裂) -
<footer><small>© 2024 公司名称。本服务最终解释权归本公司所有</small></footer>(整句降权,辅助技术可能跳过公司名) -
<small class="tiny"><small class="tinier">...</small></small>(多层small不叠加缩放,纯属冗余)
必须显式添加 rel="license" 指向真实许可证页面
只写 “© 2024” 是声明存在,不是法律动作。W3C 要求版权信息需通过 rel="license" 关联到可验证的许可文档,否则结构化数据工具(如 Google Rich Results Test)会忽略其版权意图。
实操要点:
- 链接目标必须是真实可访问的 HTML 页面(不能是 PDF 或 404)
- 不要指向泛泛的 “关于我们”,而应是明确的
/legal/copyright或/terms#copyright - 链接文字本身不强制可见,但需保留在 DOM 中:
<a href="/license.html" rel="license">© 2024 公司</a> - 避免用 JS 动态注入该链接——爬虫和读屏软件可能取不到
年份不能靠 document.write 或纯 JS 更新
服务端渲染或构建时注入年份才是可靠方案。前端用 new Date().getFullYear() 动态写入,会导致:
- 搜索引擎抓取时固定为首次渲染年份(比如 2024),之后三年都错
- 离线缓存页脚年份滞后,用户看到 “© 2023” 却在 2026 年访问
- 部分读屏软件在初始加载后才读取 JS 注入内容,造成播报延迟或遗漏
构建时处理更稳妥,例如 Webpack 的 html-webpack-plugin 配置:
templateParameters: {
year: new Date().getFullYear()
}
然后模板中写:<footer><p>© <%= year %> 公司</p></footer>
最易被忽略的一点:即使用了 footer 和 small,如果没加 rel="license" 或年份未服务端注入,整个声明在法律和技术层面都算“半残”——看起来对了,其实没生效。



















