分页注释的How-to和疑难解答规范链接

时间:2014-03-14 作者:user15196

似乎当您对注释分页时,其他页面没有指向原始页面的规范链接。这似乎会导致重复的内容问题(即同一篇文章,只是对第2页、第3页等的评论不同)。

例如,在文章的第一页上,规范链接如下所示:

<link rel=\'canonical\' href=\'http://mysite.com/uncategorized/my-post/\' />
然而,当我对评论分页时,我现在有了多个页面。我希望所有这些页面都指向原始页面。相反,它们看起来是这样的:

<link rel=\'canonical\' href=\'http://mysite.com/uncategorized/my-post/comment-page-2/#comments\' />
我确实找到了一些我认为可能有用的代码,但没有找到。(可能是旧代码。)

以下是我找到的代码:

function canonical_for_comments() {
global $cpage, $post;
if ( $cpage > 1 ) :
echo "\\n";
echo "<link rel=\'canonical\' href=\'";
echo get_permalink( $post->ID );
echo "\' />\\n";
endif;
}
add_action( \'wp_head\', \'canonical_for_comments\' );
有没有办法改变这一点,使所有规范URL都指向原始URL?

谢谢

1 个回复
SO网友:thedorklord

尝试指定函数的优先级。在添加修改后的规范链接之前,您还需要删除默认的规范链接。这在我的网站上起到了作用:

function canonical_for_comments()
{
    global $cpage, $post;
    if (!empty($cpage) && $cpage > 0) {
    remove_action(\'wp_head\', \'rel_canonical\');
    echo \'<link rel="canonical" href="\' . esc_url(get_permalink($post->ID)) . \'" />\';
    echo "\\n";
    }
}
add_action( \'wp_head\', \'canonical_for_comments\', 9 );

结束