游乐游手机版
首页/前端开发/文章详情

HTML中rel防跟踪属性设置方法与使用说明

时间:2026-08-17 22:09
rel= "nofollow " 的作用只是提示搜索引擎不要传递链接权重,并不能阻止搜索引擎爬虫抓取目标页面,也不会影响用户正常点击跳转;真正用于防止反向劫持和减少 Referer 泄露风险的,是 rel= "noopener noreferrer ",而且必须与target= "_blank "同时配合使用。

rel="nofollow" 的作用只是提示搜索引擎不要传递链接权重,并不能阻止搜索引擎爬虫抓取目标页面,也不会影响用户正常点击跳转;真正用于防止反向劫持和减少 Referer 泄露风险的,是 rel="noopener noreferrer",而且必须与target="_blank"同时配合使用。

HTML代码中rel防跟踪属性设置

rel="nofollow" 这一点,很多站长和开发者都容易理解错:它本质上并不具备防跟踪能力。更准确地说,它更像是在向搜索引擎说明“这个链接不要传递权重”,但对于用户点击后的跳转行为、浏览器打开链接的过程,甚至搜索引擎蜘蛛是否继续抓取目标页,都没有强制拦截作用。真正能够防止反向劫持、同时降低 Referer 泄露问题的,其实是 rel="noopener noreferrer";并且这组属性要生效,前提是必须配合 target="_blank" 一起使用。

rel="nofollow" 不等于禁止访问或屏蔽爬虫

很多人以为添加 rel="nofollow" 就能“阻止爬虫抓取”或者“让用户无法进入链接页面”。实际上并非如此:

  • rel="nofollow" 只是给搜索引擎的建议性标记,并不是强制指令;Google 通常会参考,但如果其他页面同样指向该地址,目标页依然可能被收录或抓取
  • 用户点击链接后仍会正常跳转,前端页面不会有任何明显变化,同时它也不会限制 JS 动态生成链接的访问行为(而这类链接搜索引擎本身通常识别有限)
  • 格式写错就可能导致属性失效:例如 rel=nofollow(缺少引号)、rel="no follow"(中间带空格)、rel="NOFOLLOW"(虽然多数情况不区分大小写,但容易被 lint 工具提示不规范)
  • 它主要作用于静态 标签,不能替代 标签规则,也不适用于 meta robots 这类搜索引擎控制方式

target="_blank" 必须配 noopener + noreferrer

如果只写 target="_blank",页面会存在 reverse tabnabbing 风险:新打开的页面可以通过 window.opener.location 修改原页面地址,从而诱导用户进入钓鱼页面。更安全、规范的 HTML 写法应为:

外链

这里需要特别注意:

  • rel="noopener" 的作用是切断 window.opener 引用,这是防止反向劫持的核心安全措施
  • rel="noreferrer" 会进一步屏蔽 Referer 请求头,减少来源页面路径、参数等敏感信息泄露
  • rel="nofollow" 可以与其同时使用,例如 rel="noopener noreferrer nofollow",属性顺序不影响结果,只需使用空格分隔即可
  • Lighthouse 和 ESLint 通常都会对缺少 noopener 的 target="_blank" 用法发出安全警告

SEO 场景下该用哪些 rel 值组合

如果只是为了避免链接权重传递,单独使用 rel="nofollow" 通常已经足够;但在现代 SEO 优化中,更推荐根据链接类型进行更细致的 rel 标注:

  • 广告链接、付费外链:建议使用 rel="sponsored"(Google 已明确支持),也可以叠加写成 rel="sponsored nofollow"
  • 用户评论区、论坛帖子中的外部链接:适合使用 rel="ugc"(user-generated content)
  • 由可信作者或编辑主动发布的链接,可以去掉 ugc,根据需要仅保留 rel="nofollow",或者不添加相关限制属性
  • 百度历史上也识别 rel="noflow",但当前标准且推荐的写法仍然是 rel="nofollow",没有必要为了旧写法单独兼容

最容易被忽视的一点是:noopener 和 nofollow 解决的并不是同一类问题——前者属于网页安全防护,后者属于搜索引擎 SEO 优化。二者可以同时使用,也完全不冲突;但如果漏掉前者,即使写了很多个 nofollow,页面依旧存在被反向劫持的安全风险。

来源:https://www.php.cn/faq/3004185.html
上一篇CSS中Less路径别名无法识别的解决方法 下一篇CSS清除浮动且不影响下拉菜单显示的方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
CSS3入门指南:常用特性解析与实战练习路径
前端开发 · 2026-09-01

CSS3入门指南:常用特性解析与实战练习路径

CSS3是现代网页开发的核心技术,涵盖圆角、阴影、渐变、过渡、动画及响应式布局等高频特性。本文梳理了CSS3的核心应用场景、分步学习路径与综合练习案例,帮助初学者快速建立从基础排版到现代交互的完整开发思路,并规避常见样式陷阱。

CSS border 边框属性详解:语法、拆分写法与常见问题排查
前端开发 · 2026-09-01

CSS border 边框属性详解:语法、拆分写法与常见问题排查

本文系统讲解CSS标准边框属性border的完整语法结构,涵盖简写与拆分写法、单边控制技巧及border-radius配合方案。针对边框不显示、元素尺寸异常等高频问题提供排查路径,帮助开发者快速掌握边框设置规范并提升界面视觉一致性。

CSS3动画属性有哪些:常用属性与用法说明
前端开发 · 2026-09-01

CSS3动画属性有哪些:常用属性与用法说明

CSS3动画主要分为transition过渡与animation关键帧两类。本文梳理常用属性、简写语法与@keyframes规则,结合悬停、入场、循环等场景给出代码示例与选型建议,帮助开发者快速写出流畅且可控的动画效果。

CSS3渐变色语法与常见用法
前端开发 · 2026-09-01

CSS3渐变色语法与常见用法

CSS3渐变色通过纯代码生成平滑颜色过渡,广泛用于按钮、横幅与卡片背景。本文系统梳理线性与径向渐变的核心语法、方向控制、停靠点设置及多层叠加技巧,提供可直接复用的场景代码,并给出兼容性策略与常见渲染异常排查方法,帮助开发者快速构建稳定、可维护的渐变样式。

CSS3手册中文版下载指南:获取渠道、筛选标准与使用建议
前端开发 · 2026-09-01

CSS3手册中文版下载指南:获取渠道、筛选标准与使用建议

寻找CSS3手册中文版下载资源时,如何判断来源可靠性、筛选高质量内容并有效使用?本文从获取渠道、版本识别、下载验收到替代方案,提供一套可执行的判断标准,帮助你快速找到适合学习或查阅的中文手册。