WordPress的内链优化

林继 WordPress 2,288 共写了185个字 (2011-05-09 11:32:22) 没有评论 打印 扫描二维码 百度未收录

Google 收录的时候你会发现归档页面的排名比文章还高,猜测原因是归档页面获得的内链太多了,因此产生一个把所有的指向归档页面的链接全部加上 rel=”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"';

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

发表评论

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

< >