如果你使用 WordPress,请在 header.php 中使用以下代码:
<?php
global $wp;
$canonical_url = '';
if (is_singular()) {
// 文章页/单页
$canonical_url = get_permalink();
} elseif (is_category() || is_tag() || is_tax()) {
// 分类、标签等分页
$canonical_url = get_term_link(get_queried_object());
if (get_query_var('paged') > 1) {
$canonical_url = trailingslashit($canonical_url) . 'page/' . get_query_var('paged') . '/';
}
} elseif (is_home() || is_front_page()) {
$canonical_url = home_url('/');
if (get_query_var('paged') > 1) {
$canonical_url = home_url('/page/' . get_query_var('paged') . '/');
}
} else {
// 默认情况
$canonical_url = home_url(add_query_arg(array(), $wp->request));
}
?>
<link rel="canonical" href="<?php echo esc_url($canonical_url); ?>" />
【robots 控制】指导爬虫行为
控制搜索引擎是否抓取当前页面。常见值:
index, follow(默认):允许收录和抓取链接
noindex, nofollow:禁止收录和爬取
<?php
$robots = 'index, follow'; // 默认设置
// WordPress 判断分页页、搜索页、404页、标签页等
if (
is_paged() || // 所有分页
is_search() || // 搜索结果页
is_404() || // 404页
(is_category() && get_query_var('paged') > 1) || // 分类分页
(is_tag() && get_query_var('paged') > 1) || // 标签分页
(is_author() && get_query_var('paged') > 1) // 作者分页
) {
$robots = 'noindex, follow';
}
?>
<meta name="robots" content="<?php echo $robots; ?>" />
附加一个:(建议也加上)
<link rel="icon" href="/favicon.ico" />
三合一直接复制:
<?php
$robots = 'index, follow'; // 默认设置
// WordPress 判断分页页、搜索页、404页、标签页等
if (
is_paged() || // 所有分页
is_search() || // 搜索结果页
is_404() || // 404页
(is_category() && get_query_var('paged') > 1) || // 分类分页
(is_tag() && get_query_var('paged') > 1) || // 标签分页
(is_author() && get_query_var('paged') > 1) // 作者分页
) {
$robots = 'noindex, follow';
}
?>
<meta name="robots" content="<?php echo $robots; ?>" />
<?php
global $wp;
$canonical_url = '';
if (is_singular()) {
// 文章页/单页
$canonical_url = get_permalink();
} elseif (is_category() || is_tag() || is_tax()) {
// 分类、标签等分页
$canonical_url = get_term_link(get_queried_object());
if (get_query_var('paged') > 1) {
$canonical_url = trailingslashit($canonical_url) . 'page/' . get_query_var('paged') . '/';
}
} elseif (is_home() || is_front_page()) {
$canonical_url = home_url('/');
if (get_query_var('paged') > 1) {
$canonical_url = home_url('/page/' . get_query_var('paged') . '/');
}
} else {
// 默认情况
$canonical_url = home_url(add_query_arg(array(), $wp->request));
}
?>
<link rel="canonical" href="<?php echo esc_url($canonical_url); ?>" />
<link rel="icon" href="/favicon.ico" />