让你的WordPress博客权重更集中

林继 WordPress 2,310 共写了241个字 (2011-01-30 23:20:35) 没有评论 打印 扫描二维码 百度已收录

在使用Wordpress的过程中,不少用户会发现一个问题——Google收录了大量内容近似相同的页面——tag页、归档页、分类页、评论页。
为了解决这个问题,大家可能会想到使用nofollow标签。但是在Wordpress内为多种链接添加上nofollow的关系,是一件非常繁琐而且容易出错的事。这个时候Wordpress的函数filter就可以发挥它的强大作用了。
代码如下(在主题的functions.php文件内添加):

  1. //给标签云里的链接加上 rel="nofollow"
  2. add_filter('wp_tag_cloud', 'cis_nofollow_tag_cloud');
  3. function cis_nofollow_tag_cloud($text) {
  4. return str_replace('<a href=', '<a rel="nofollow" href=',  $text); 
  5. }
  6.  
  7. //给 the_tags() 生成的链接 加上 rel="nofollow"
  8. add_filter('the_tags', 'cis_nofollow_the_tag');
  9. function cis_nofollow_the_tag($text) {
  10. return str_replace('rel="tag"', 'rel="tag nofollow"', $text);
  11. }
  12.  
  13. //给 wp_list_categories() 生成的链接加上 rel="nofollow"
  14. add_filter( 'wp_list_categories', 'cis_nofollow_wp_list_categories' );
  15. function cis_nofollow_wp_list_categories( $text ) {
  16.  
  17. $text = stripslashes($text);
  18. $text = preg_replace_callback('|<a (.+?)>|i', 'wp_rel_nofollow_callback', $text);
  19. return $text;
  20. }
  21.  
  22. //给 the_category() 生成的链接加上 rel="nofollow"
  23. add_filter( 'the_category', 'cis_nofollow_the_category' );
  24. function cis_nofollow_the_category( $text ) {
  25.  
  26. $text = str_replace('rel="category tag"', "", $text);
  27. $text = cis_nofollow_wp_list_categories($text);
  28. return $text;
  29. }
  30.  
  31. //给 the_author_post_link 生成的链接加上 rel="nofollow"
  32. add_filter('the_author_posts_link', 'cis_nofollow_the_author_posts_link');
  33. function cis_nofollow_the_author_posts_link ($link) {
  34. return str_replace('</a><a href=', '<a rel="nofollow" href=',  $link); 
  35. }
  36.  
  37. //给 comments_popup_link_attributes() 生成的链接加上 rel="nofollow"
  38. add_filter('comments_popup_link_attributes', 'cis_nofollow_comments_popup_link_attributes');
  39. function cis_nofollow_comments_popup_link_attributes () {
  40. echo ' rel="nofollow"';
  41. }

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

< >