主页/WordPress笔记/博客文章/综合文章/如何在 WordPress 中为所有外部链接添加 Nofollow 属性

如何在 WordPress 中为所有外部链接添加 Nofollow 属性

Bug编译狮

Bug编译狮

为了在 WordPress 中为所有外部链接(即指向其他网站的链接)添加 nofollow 属性,你可以使用一些插件或通过自定义代码来实现。这里我将介绍两种方法:一种是使用插件,另一种是通过自定义代码。

方法一:使用插件

  1. 安装和激活 “Link Manager” 插件

    • 进入 WordPress 后台。
    • 导航到 “插件” -> “安装”。
    • 在搜索框中输入“Link Manager”,找到并点击安装。
    • 激活插件后,它会自动识别并处理外部链接。
  2. 配置 Link Manager

    • 打开 Link Manager 的后台设置。
    • 选择你要管理的页面或文章类型。
    • 配置好后,Link Manager 会在保存更改时自动添加 rel="noreferrer"nofollow 标签到每个外部链接。

示例代码:

如果你想要手动添加这些标签,可以使用以下 PHP 代码:

function add_nofollow_to_external_links() {
    // 获取当前页面的所有外部链接
    $external_links = get_posts(array(
        'post_type' => 'link',
        'meta_key' => '_wp_http_referer',
        'meta_compare' => '<>',
        'numberposts' => -1,
        'fields' => 'ids'
    ));

    if (!empty($external_links)) {
        foreach ($external_links as $link_id) {
            // 获取链接的原始 URL
            $link_url = get_post_meta($link_id, '_original_link', true);

            // 添加 nofollow 关键字
            echo '<a href="' . esc_url($link_url) . '" rel="noreferrer noopener">Link Text Here</a>';
        }
    }
}
add_action('the_content', 'add_nofollow_to_external_links');

使用步骤:

  1. 将上述代码粘贴到你的主题的 functions.php 文件中。
  2. 安装并启用“Link Manager”插件。
  3. 确保你在 WordPress 设置中启用了“Link Manager”。

这种方法会自动为你所有的外部链接添加 nofollow 标签,但没有提供额外的选项如 rel="noreferrer"

方法二:通过自定义代码

如果你更喜欢手动控制每一个链接,可以这样操作:

  1. 创建自定义函数文件

    • 创建一个新的 PHP 文件,例如 custom-nofollow-functions.php,然后将其放在 wp-content/plugins/ 目录下。
  2. 编写自定义函数

    function custom_add_no_follow( $content ) {
       global $post;
    
       // 只对特定类型的帖子应用此功能
       if ( !is_single() && !is_page() ) return $content; 
    
       // 获取所有外部链接
       $links = wp_get_post_terms( $post->ID, 'post_tag' );
       $external_links = array();
       foreach ( $links as $term ) {
           $terms = wp_get_object_terms( $post->ID, $term->slug );
           foreach ( $terms as $term ) {
               $external_links[] = $term->name;
           }
       }
    
       // 假设你有一个变量存储了外部链接的URL
       $external_urls = ['http://example.com', 'https://www.example.org'];
    
       // 对每个外部链接添加nofollow属性
       foreach ( $external_urls as $url ) {
           $escaped_url = esc_url_raw( $url );
           $content .= '<a href="' . $escaped_url . '" rel="noreferrer noopener">' . __( 'Link Text Here', 'textdomain' ) . '</a>';
       }
    
       return $content;
    }
    
    add_filter( 'the_content', 'custom_add_no_follow' );
  3. 激活插件

    • 进入 WordPress 后台。
    • 导航到 “插件” -> “安装”。
    • 在搜索框中输入“custom-nofollow-functions”,找到并点击安装。
    • 激活插件。
  4. 测试

    • 浏览你的站点,确保所有外部链接都已正确添加了 nofollow 标签。

这种方式允许你根据需要精确地控制哪些链接添加 nofollow 标签,但可能不如插件那样方便。

这两种方法都能帮助你在 WordPress 文章和页面中为外部链接添加 nofollow 属性,以提高 SEO 性能。选择哪种方法取决于你的具体需求和偏好。

黑板前的Bug语法讲师

黑板前的Bug语法讲师

在 WordPress 中为所有外部链接添加 Nofollow 属性可以通过设置一个自定义标签来实现。以下是如何做到这一点的一系列步骤:

步骤 1: 安装并配置 Google Analytics

首先,确保你的网站已经安装了 Google Analytics(GA)。如果还没有,请按照 Google Analytics 安装指南 进行安装。

步骤 2: 创建自定义标签

  1. 登录到 WordPress

  2. 前往插件管理器 (Plugin Manager), 在那里找到并启用“Google Analytics”插件。

  3. 找到并激活“Custom HTML Tag Manager”,然后点击“创建新标签”。

  4. 编辑自定义标签:在标签页面上,你可以看到已有的预设标签。选择一个或创建一个新的自定义标签。例如,我们选择“Google Analytics”作为自定义标签。

  5. 添加代码片段

    <script type="text/javascript">
       (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
           (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
           m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
       })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    
       ga('create', 'UA-XXXXX-Y', 'auto');
       ga('send', 'pageview');
    </script>
  6. 保存更改:关闭标签编辑窗口后,保存自定义标签。

步骤 3: 应用自定义标签

  1. 登录到 WordPress
  2. 前往插件管理器 (Plugin Manager), 点击右上角的“更新”按钮,查找并启用“Google Analytics”插件。
  3. 确保自定义标签已正确应用到网站上。

步骤 4: 检查结果

打开 Google Analytics 控制台,查看新的“Page View”和“Referrers”数据,这些数据应该包括来自所有外部链接的新信息。

注意事项

  • 确保在添加自定义标签之前,你的网站已被 Google Analytics 授权。
  • 要避免滥用自定义标签,因为这可能会对您的网站造成负面影响。
  • 根据需要调整代码以适应不同版本的 Google Analytics。