我们是否有看到网站有收录页面的被重复收录,而且有的同一篇文章有收录的是伪静态页面,有收录的是动态页面。这样重复收录理论上对于SEO是不利的。我们最好能实现统一的唯一的收录页面,使得权限集中在一个URL页面中。
这里,我们可以在WordPress文章页面模板中添加 Canonical 标签实现唯一的URL。当然,如果我们有用到类似的插件也可以实现,这里我们不用插件,用代码实现。
function v7v_archive_link( $paged = true ) { $link = false; if ( is_front_page() ) { $link = home_url( '/' ); } else if ( is_home() && "page" == get_option('show_on_front') ) { $link = get_permalink( get_option( 'page_for_posts' ) ); } else if ( is_tax() || is_tag() || is_category() ) { $term = get_queried_object(); $link = get_term_link( $term, $term->taxonomy ); } else if ( is_post_type_archive() ) { $link = get_post_type_archive_link( get_post_type() ); } else if ( is_author() ) { $link = get_author_posts_url( get_query_var('author'), get_query_var('author_name') ); } else if ( is_archive() ) { if ( is_date() ) { if ( is_day() ) { $link = get_day_link( get_query_var('year'), get_query_var('monthnum'), get_query_var('day') ); } else if ( is_month() ) { $link = get_month_link( get_query_var('year'), get_query_var('monthnum') ); } else if ( is_year() ) { $link = get_year_link( get_query_var('year') ); } } } if ( $paged && $link && get_query_var('paged') > 1 ) { global $wp_rewrite; if ( !$wp_rewrite->using_permalinks() ) { $link = add_query_arg( 'paged', get_query_var('paged'), $link ); } else { $link = user_trailingslashit( trailingslashit( $link ) . trailingslashit( $wp_rewrite->pagination_base ) . get_query_var('paged'), 'archive' ); } } return $link; }
这里,添加到 functions.php。
然后头部模板header.php中添加。
<?php if(is_home()) { ?> <link rel="canonical" href="<?php echo v7v3_archive_link();?>"/> <?php } ?> <?php if(is_category()) { ?> <link rel="canonical" href="<?php echo v7v3_archive_link();?>"/> <?php } ?> <?php if(is_single()) { ?> <link rel="canonical" href="<?php the_permalink(); ?>"/> <?php }?> <?php if(is_tag()) { ?> <link rel="canonical" href="<?php echo v7v3_archive_link();?>"/> <?php }?>
评论