wordpress网站如何正确添加canonical标签
Canonical标签有什么作用?
在《百度站长平台》中,canonical标签作用解释为:
对一组内容都相同或高度相似的网页,通过使用Canonical标签可以告诉搜索引擎哪个页面为规范的网页,能够规范网址并避免搜索结果中出现多个内容相同或相似的页面,帮助解决重复内容的收录问题,避免网站相同内容网页的重复展示及权重的分散,提升规范网页的权重,优化规范网页的排名。
Canonical标签如何添加?
即然对网站SEO优化有利,我们在自己建网站时,就需要在自己网站上加入这个标签。下面讲一下如何在wordpress网站正确添加canonical标签的。(相关知识:wordpress仿站教程)
首先在functions.php文件中添加分类目录分页链接获取函数,代码如下:
function v7v3_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;
}
然后打开主题的头部文件(一般情况下为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 }?>
这样就可以在wordpress建网站时,在每个页面正确的添加了canonical标签,集中网站权重,利于网站SEO优化。