You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为所有外部链接添加nofollow并排除指定网站URL

用jQuery给外部链接添加nofollow并排除指定链接

直接上可运行的代码,配合注释说明逻辑:

$(document).ready(function() {
  // 获取当前网站的域名,用来区分内外链接
  const currentDomain = window.location.hostname;

  // 筛选目标链接:所有外部链接,排除页脚中指向www.developer.com的链接
  $('a')
    // 排除页脚里的指定域名链接,这里的footer选择器请根据实际页面结构调整
    .not('footer a[href*="www.developer.com"]')
    // 过滤出真正的外部链接
    .filter(function() {
      const linkHost = this.hostname;
      // 排除空链接、锚点链接,只保留域名和当前站点不同的链接
      return linkHost && linkHost !== currentDomain;
    })
    // 给符合条件的链接添加nofollow属性
    .each(function() {
      let relAttr = $(this).attr('rel') || '';
      // 避免重复添加nofollow
      if (!relAttr.includes('nofollow')) {
        relAttr = relAttr ? `${relAttr} nofollow` : 'nofollow';
        $(this).attr('rel', relAttr);
      }
    });
});

关键细节说明:

  • 页脚选择器调整:如果你的页脚不是用<footer>标签,而是类名(比如.site-footer),把footer改成对应的选择器即可,比如.not('.site-footer a[href*="www.developer.com"]')。
  • 精确匹配域名:如果要严格匹配以https://www.developer.com开头的链接,把[href*="www.developer.com"]换成[href^="https://www.developer.com"],避免匹配到包含该域名的其他链接。
  • 保留原有rel属性:代码会检查链接已有的rel值,只追加nofollow,不会覆盖noopener、noreferrer这类常用属性。
  • 动态内容处理:如果页面有AJAX加载的内容,需要把这段代码放到内容加载完成的回调里,或者用事件委托监听链接的添加事件。

内容的提问来源于stack exchange,提问作者John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 21:25:23