似乎当您对注释分页时,其他页面没有指向原始页面的规范链接。这似乎会导致重复的内容问题(即同一篇文章,只是对第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?
谢谢
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 );