所以我试图删除WordPress标题中的分页链接,但我试过的所有建议都没有用。
这是我的functions.php文件中的代码:
function my_add_noindex_tags(){
$paged = intval( get_query_var( 'paged' ) );
if(is_search() || is_404() ) :
echo '<meta name="robots" content="noindex,follow">';
endif;
if ($paged >= 2) :
add_filter( 'wpseo_canonical', '__return_false', 10, 1 );
remove_action('wp_head', 'rel_canonical');
echo '<meta name="robots" content="noindex,follow">';
endif;
}
add_action('wp_head','my_add_noindex_tags', 4 );
我知道if ($paged >= 2) :
中的代码会运行,因为此标记<meta name="robots" content="noindex,follow">
位于head部分。
任何人都知道我可能会出错。
此处的问题是Yoast SEO添加的规范链接未按预期正确删除。
干杯
答案 0 :(得分:2)
完成Yoast SEO codes后,似乎将规范操作添加到wpseo_head
操作中。
在添加要在wp_head
中运行的函数时,您必须使用优先级1才能使其正确执行,或者使用下面的相应方法执行此操作。使用wpseo_head
操作。
function remove_canonical() {
$paged = intval( get_query_var( 'paged' ) );
if ($paged >= 2) {
add_filter( 'wpseo_canonical', '__return_false', 10 );
}
}
add_action( 'wpseo_head', 'remove_canonical', 4);
答案 1 :(得分:0)
对我来说,仅将其添加到init操作中有效
add_action('init', function() {
add_filter( 'wpseo_canonical', '__return_false', 10 );
});