Bài viết này mình sẻ giúp bạn cách để tự động thêm vào thuộc tính rel=”nofollow” cho tất cả các liên kết bên ngoài bằng cách thêm 1 đoạn code đơn gian vào WordPress/Blogger
Cách Tự động thêm rel=”nofollow” cho các liên kết bên ngoài trong WordPress/Blogger |
Thông thường thì chúng ta thêm vào các đường link bằng tay dạng
<a href=”https://www.hoan.name.vn/” rel=”nofollow”>Blog iTeam OS</a>
Chính vì thế bài viết này mình xin chia sẻ với các bạn một đoạn jQuery nhỏ giúp các bạn tự động làm vấn đề này một cách nhanh gọn. Mọi liên kết có trên website sẽ được kiểm tra và thêm vào thuộc tính rel bằng nofollow và mở tại tab mới nếu liên kết đó đi ra ngoài website khác.
Tự động thêm rel=”nofollow” cho các liên kết Blogger/Blogspot
Để tự động thêm thuộc tính rel=”nofollow” vào các liên kết external link thì bạn chỉ cần thêm đoạn code này vào </body> là xong.
<script src='//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'/> <script type='text/javascript'> jQuery(document).ready(function () { jQuery('a[href*="http://"]:not([href*="'+ window.location.hostname +'"])').attr('rel', 'nofollow'); jQuery('a[href*="http://"]:not([href*="'+ window.location.hostname +'"])').attr("target", "_blank"); }); </script>
Hoặc code javaScript sau
<script> var links = document.links; for (var i = 0, linksLength = links.length; i < linksLength; i++) { if (links[i].hostname != window.location.hostname) { links[i].rel = 'nofollow'; } } </script>
Code nofollow và link out dành cho Blogspot để có lợi cho SEO
<script>//<![CDATA[ document.addEventListener('DOMContentLoaded', function () { var links = document.getElementsByTagName("a"); var i; for (i = 0; i < links.length; i++) { if (location.hostname !== links[i].hostname) { links[i].rel = "nofollow noopener noreferrer"; links[i].target = "_blank"; } } }); //]]></script>
nếu blog của bạn có mã nhúng jQuery rồi thì xóa dòng màu đỏ đi, còn nếu không chắc thì cứ để nguyên rồi lưu lại.
Hàm trên sẽ lặp qua tất cả các liên kết trên trang và nếu liên kết đó trỏ đến một máy chủ khác so với máy chủ hiện tại, thì thuộc tính "rel = 'nofollow'" sẽ được thêm vào liên kết đó.
Tự động thêm rel=”nofollow” cho các liên kết WordPress
Để tự động thêm thuộc tính rel=”nofollow” vào các liên kết external link thì bạn chỉ cần thêm đoạn code này vào file functions trong thư mục theme WordPress là xong.
add_filter( ‘the_content’, ‘cn_nf_url_parse’); function cn_nf_url_parse( $content ) { $regexp = “<a\s[^>]*href=(\”??)([^\” >]*?)\\1[^>]*>”; if(preg_match_all(“/$regexp/siU”, $content, $matches, PREG_SET_ORDER)) { if( !empty($matches) ) { $srcUrl = get_option(‘siteurl’); for ($i=0; $i < count($matches); $i++) { $tag = $matches[$i][0]; $tag2 = $matches[$i][0]; $url = $matches[$i][0]; $noFollow = ”; $pattern = ‘/target\s*=\s*”\s*_blank\s*”/’; preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE); if( count($match) < 1 ) $noFollow .= ‘ target=”_blank” ‘; $pattern = ‘/rel\s*=\s*”\s*[n|d]ofollow\s*”/’; preg_match($pattern, $tag2, $match, PREG_OFFSET_CAPTURE); if( count($match) < 1 ) $noFollow .= ‘ rel=”nofollow” ‘; $pos = strpos($url,$srcUrl); if ($pos === false) { $tag = rtrim ($tag,’>’); $tag .= $noFollow.’>’; $content = str_replace($tag2,$tag,$content); } } } } $content = str_replace(‘]]>’, ‘]]>’, $content); return $content; }
Liên kết code phụ: http://txt.do/dslsp
Sau khi thêm đoạn code này vào thì khi bạn không cần thêm tay thuộc tính rel=”nofollow”. Nếu bạn thấy cách này phiền phức thì có thể sử dụng Plugin Nofollow for external link tại địa chỉ: https://wordpress.org/plugins/nofollow-for-external-link/
Lời kết
Mặc dù cái này khá là tiện nhưng, mình vẫn khuyên các bạn nên chèn thủ công các thuộc tính rel bằng nofollow cũng như target bằng _blank cho các liên kết ngoài. Lạm dụng jQuery với Javascript nhiều quá không hoàn toàn không tốt với tốc độ tải trang của website.
Truy cập Bypass Google Account APK để tải file APK nhé