北极寒流 » 网络资源 » link rel=canonical标签完美写法 - 2014.11.01

link rel=canonical标签完美写法

WordPress默认情况下的标签页(tag)、分类目录(category),是没有canonical标签的。有时候出于需要,想给tag和category都加上canonical标签,那么下面的代码就可以完美解决你的需求。

先保证你的主题相关主题文件中包含了<?php wp_head(); ?>代码(通常是在header.php文件中),然后把下面代码加入到主题的funshion.php文件中即可。

//完美的canonical
remove_action( 'wp_head', 'rel_canonical' );
function my_rel_canonical() {
global $post;
if (is_single() || is_page()) {
echo "<link rel=\"canonical\" href=\"" . get_permalink( $post->ID ) . "\" />\n";
}
if (is_home() && is_paged()) {
echo "<link rel=\"canonical\" href=\"".home_url("/")."\" />\n";
}
if (is_category() || is_category() && is_paged()) {
echo "<link rel=\"canonical\" href=\"".get_category_link(get_query_var('cat'))."\" />\n";
}
if (is_tag() || is_tag() && is_paged()) {
echo "<link rel=\"canonical\" href=\"".get_term_link(get_query_var('tag'), 'post_tag')."\" />\n";
}
if (is_search() || is_search() && is_paged()) {
echo "<link rel=\"canonical\" href=\"".get_search_link(get_query_var('search'))."\" />\n";
}
if (is_author()) {
echo "<link rel=\"canonical\" href=\"".get_option('home')."\" />\n";
}
if (is_date()) {
echo "<link rel=\"canonical\" href=\"".get_option('home')."\" />\n";
}
}
add_action('wp_head', 'my_rel_canonical');

01

link rel=canonical标签完美写法

分享到: