如何利用过滤器来实现WordPress的内链优化

王朝学院·作者佚名  2016-08-23
窄屏简体版  字體: 小  |  中  |  大  |  超大  

如何利用过滤器来实现WordPRess 的内链优化,最近在做一个新网站,Google 刚开始收录的时候发现归档页面的排名比文章还高,猜测原因是归档页面获得的内链太多了,因此产生一个把所有的指向归档页面的链接全部加上 rel=”nofollow” 属性的想法。

要达到这个目的,我们完全可以用 WordPress 强大的 filter 来实现。打开主题的 functions.php,在里面加上以下的代码:

//给标签云里的链接加上 rel="nofollow"

add_filter('wp_tag_cloud', 'cis_nofollow_tag_cloud');

function cis_nofollow_tag_cloud($text) {

return str_replace('<a href=', '<a rel="nofollow" href=', $text);

}

//给 the_tags() 生成的链接 加上 rel="nofollow"

add_filter('the_tags', 'cis_nofollow_the_tag');

function cis_nofollow_the_tag($text) {

return str_replace('rel="tag"', 'rel="tag nofollow"', $text);

}

//给 wp_list_categories() 生成的链接加上 rel="nofollow"

add_filter( 'wp_list_categories', 'cis_nofollow_wp_list_categories' );

function cis_nofollow_wp_list_categories( $text ) {

$text = stripslashes($text);

$text = preg_replace_callback('|<a (.+?)>|i', 'wp_rel_nofollow_callback', $text);

return $text;

}

//给 the_category() 生成的链接加上 rel="nofollow"

add_filter( 'the_category', 'cis_nofollow_the_category' );

function cis_nofollow_the_category( $text ) {

$text = str_replace('rel="category tag"', "", $text);

$text = cis_nofollow_wp_list_categories($text);

return $text;

}

//给 the_author_post_link 生成的链接加上 rel="nofollow"

add_filter('the_author_posts_link', 'cis_nofollow_the_author_posts_link');

function cis_nofollow_the_author_posts_link ($link) {

return str_replace('</a><a href=', '<a rel="nofollow" href=', $link);

}

//给 comments_popup_link_attributes() 生成的链接加上 rel="nofollow"

add_filter('comments_popup_link_attributes', 'cis_nofollow_comments_popup_link_attributes');

function cis_nofollow_comments_popup_link_attributes () {

echo ' rel="nofollow"';

}

上面的 filter 针对的都是主题开发时一些使用率比较高的函数,基本上已经能满足我的要求了。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航