Ngăn chặn website trở thành backlink cho các trang khác với thẻ rel nofollow, noopener

Backlink là yếu tố quan trọng ảnh hưởng đến thứ hạng SEO của website. Tuy nhiên, việc website của bạn liên tục trở thành backlink cho các trang khác có thể ảnh hưởng tiêu cực đến SEO, đặc biệt là khi những trang đó chất lượng thấp hoặc không liên quan.

Bài viết này sẽ hướng dẫn bạn cách ngăn chặn website trở thành backlink cho các trang khác bằng cách thêm thẻ rel=”nofollow noopener noreferrer” vào các thẻ ‘a’ cho các liên kết ngoài tên miền.

1. Sử dụng filter the_content

Filter the_content được sử dụng để thay đổi nội dung của bài viết trước khi hiển thị trên trang web. Bạn có thể sử dụng filter này để thêm thẻ rel=”nofollow noopener noreferrer” vào các liên kết ngoài tên miền:

add_filter( 'the_content', 'add_nofollow_noopener_noreferrer_to_external_links' );


function add_nofollow_noopener_noreferrer_to_external_links($content) {    
    return preg_replace_callback('/<a[^>]+/', 'replace_link_with_nofollow_callback', $content);
}

function replace_link_with_nofollow_callback($link) {
    
    $nofollolink = $link[0];
    $home_url = home_url();

    if (strpos($nofollolink, 'rel') === false) {
        $nofollolink = preg_replace("%(href=\S(?!$home_url))%i", 'rel="nofollow noopener noreferrer" $1', $nofollolink);
    } elseif (preg_match("%href=\S(?!$home_url)%i", $nofollolink)) {
        $nofollolink = preg_replace('/rel=\S(?!nofollow)\S*/i', 'rel="nofollow noopener noreferrer"', $nofollolink);
    }
    
    return $nofollolink;

}

Giải thích:

  • add_filter: Hàm dùng để gắn một callback function vào một filter hook cụ thể.
  • the_content: Tên của filter hook được sử dụng để thay đổi nội dung bài viết.
  • add_noopener_noreferrer_to_external_links: Tên của callback function được thực thi khi filter hook được kích hoạt.
  • $content: Nội dung bài viết.
  • $pattern: Biểu thức regex để tìm kiếm các liên kết trong nội dung bài viết.
  • $replacement: Chuỗi thay thế để thêm thẻ rel=”noopener noreferrer” vào các liên kết ngoài tên miền.
  • preg_replace: Hàm dùng để thay thế các phần tử trong chuỗi bằng chuỗi khác.

2. Sử dụng filter the_excerpt

Filter the_excerpt được sử dụng để thay đổi tóm tắt bài viết trước khi hiển thị. Bạn có thể sử dụng filter này để thêm thẻ rel=”nofollow noopener noreferrer” vào các liên kết ngoài tên miền trong tóm tắt:

add_filter( 'the_excerpt', 'add_nofollow_noopener_noreferrer_to_external_links' );

3. Sử dụng filter widget_text_content

Filter widget_text_content được sử dụng để thay đổi nội dung của widget trước khi hiển thị. Bạn có thể sử dụng filter này để thêm thẻ rel=”nofollow noopener noreferrer” vào các liên kết ngoài tên miền trong widget:

add_filter( 'widget_text_content', 'add_nofollow_noopener_noreferrer_to_external_links' );

Lưu ý:

  • Bạn có thể điều chỉnh code để phù hợp với nhu cầu của mình.
  • Nên kiểm tra lại nội dung website sau khi thêm thẻ rel=”nofollow noopener noreferrer” để đảm bảo không có lỗi.

Kết luận:

Việc thêm thẻ rel=”nofollow noopener noreferrer” vào các liên kết ngoài tên miền giúp ngăn chặn website của bạn trở thành backlink cho các trang khác. Điều này có thể giúp bảo vệ thứ hạng SEO và uy tín của website.