Trong thế giới SEO, việc quản lý thuộc tính DoFollow và NoFollow cho các liên kết là yếu tố quan trọng giúp tối ưu hóa website, đảm bảo rằng chỉ những liên kết giá trị được “truyền sức mạnh” trong khi tránh các liên kết spam ảnh hưởng đến uy tín của trang. Bài viết này sẽ hướng dẫn cách tự động quản lý thuộc tính DoFollow và NoFollow cho các liên kết trong nội dung và bình luận của WordPress bằng cách sử dụng PHP.
Có thể tham khảo thêm: Nofollow là gì tại đây
Tại sao cần quản lý DoFollow và NoFollow?
Khi liên kết một trang khác, thuộc tính rel
của liên kết có vai trò xác định cách Google và các công cụ tìm kiếm xử lý liên kết này. Cụ thể:
- DoFollow: Cho phép công cụ tìm kiếm “truyền” uy tín từ trang của bạn đến trang được liên kết. Thường sử dụng cho các liên kết nội bộ và những liên kết đáng tin cậy.
- NoFollow: Chỉ định cho các công cụ tìm kiếm rằng không nên truyền sức mạnh cho liên kết này. Dùng cho các liên kết ngoại bộ, quảng cáo hoặc liên kết không kiểm soát được (như bình luận).
Tự động quản lý thuộc tính DoFollow và NoFollow bằng PHP
Dưới đây là đoạn mã PHP giúp tự động đặt DoFollow cho các liên kết nội bộ và NoFollow cho liên kết ngoại bộ. Ngoài ra, mã cũng giúp thêm thuộc tính NoFollow cho các liên kết trong bình luận để ngăn chặn spam và quảng cáo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
function manage_links_dofollow_nofollow($content) { // Lấy tên miền của trang web $site_url = parse_url(home_url(), PHP_URL_HOST); // Sử dụng preg_replace_callback để thay đổi các liên kết trong nội dung $content = preg_replace_callback( '/<a\s+[^>]*href=["\']([^"\']+)["\'][^>]*>/i', function($matches) use ($site_url) { $link = $matches[0]; $url = $matches[1]; $parsed_url = parse_url($url); // Kiểm tra nếu là liên kết nội bộ if (!empty($parsed_url['host']) && strpos($parsed_url['host'], $site_url) !== false) { // Nếu là liên kết nội bộ, đảm bảo là DoFollow $link = preg_replace('/\s*rel=["\']nofollow["\']/i', '', $link); // Xóa nofollow nếu có if (strpos($link, 'rel=') === false) { $link = str_replace('<a ', '<a rel="dofollow" ', $link); // Thêm dofollow nếu chưa có } } else { // Nếu là liên kết ngoại bộ, thêm nofollow if (strpos($link, 'rel=') === false) { $link = str_replace('<a ', '<a rel="nofollow" ', $link); // Thêm nofollow } else { $link = preg_replace('/\s*rel=["\'][^"\']*["\']/', ' rel="nofollow"', $link); // Thay thế với nofollow } } return $link; }, $content ); return $content; } // Áp dụng cho nội dung bài viết add_filter('the_content', 'manage_links_dofollow_nofollow'); // Áp dụng cho các liên kết trong bình luận để đảm bảo nofollow cho UGC function add_nofollow_to_comment_links($comment_text) { return preg_replace_callback( '/<a\s+[^>]*href=["\']([^"\']+)["\'][^>]*>/i', function($matches) { $link = $matches[0]; // Đảm bảo liên kết trong bình luận luôn là NoFollow if (strpos($link, 'rel=') === false) { $link = str_replace('<a ', '<a rel="nofollow" ', $link); // Thêm nofollow nếu chưa có } else { $link = preg_replace('/\s*rel=["\'][^"\']*["\']/', ' rel="nofollow"', $link); // Thay thế với nofollow } return $link; }, $comment_text ); } add_filter('comment_text', 'add_nofollow_to_comment_links'); |
Giải thích mã
- Hàm
manage_links_dofollow_nofollow
:- Lấy tên miền của trang web.
- Duyệt qua từng liên kết trong nội dung.
- Liên kết nội bộ sẽ được đảm bảo có thuộc tính
DoFollow
. - Liên kết ngoại bộ sẽ được thêm thuộc tính
NoFollow
nếu chưa có.
- Hàm
add_nofollow_to_comment_links
:- Xác định và kiểm tra từng liên kết trong bình luận.
- Mọi liên kết trong bình luận đều sẽ được thiết lập
NoFollow
để ngăn chặn spam, quảng cáo từ người dùng.
- Áp dụng bộ lọc:
add_filter('the_content', 'manage_links_dofollow_nofollow');
: Áp dụngDoFollow
hoặcNoFollow
cho các liên kết trong nội dung.add_filter('comment_text', 'add_nofollow_to_comment_links');
: Áp dụngNoFollow
cho các liên kết trong bình luận.
Lợi ích khi quản lý DoFollow và NoFollow
- Tối ưu SEO: Giúp Google phân biệt rõ liên kết nào cần “truyền” giá trị SEO và liên kết nào chỉ để tham khảo.
- Tăng tính uy tín: Việc gắn
NoFollow
cho các liên kết ngoại bộ hoặc bình luận giúp trang của bạn tránh bị liên đới khi liên kết đến các trang không đáng tin. - Giảm spam:
NoFollow
cho các liên kết trong bình luận giúp hạn chế spammer lợi dụng.
Kết luận
Việc quản lý thuộc tính DoFollow và NoFollow là một trong những cách tối ưu SEO mà không cần can thiệp quá nhiều vào thiết kế website. Đoạn mã trên là một giải pháp đơn giản nhưng hiệu quả giúp bạn kiểm soát liên kết, tối ưu hóa SEO và bảo vệ trang khỏi các hành vi spam.
- Hướng Dẫn Cách Cài Đặt Plugin và Theme WordPress Từ GitHub
- #1 Hướng dẫn code chức năng đăng nhập để xem nội dung hoặc bài viết
- Cách Tăng Tốc Website Học Online Với Tutor LMS
- Hướng Dẫn Tùy Chỉnh Form Đăng Nhập và Đăng Ký WooCommerce Với SweetAlert2 (Không Cần Plugin)
- Quản Lý Thuộc Tính DoFollow và NoFollow cho Các Liên Kết trong Nội Dung và Bình Luận