spot_img
HomeJoomla教程Joomla教程菜鸟教程 从 wp_head 中删除元机器人标签

Joomla教程菜鸟教程 从 wp_head 中删除元机器人标签

JasperAI 10000字免费额度试用

我只需要删除这一行 <meta name=robots content="noindex,follow"/>wp_head 但找不到合适的钩子来使用它 remove_action().

<meta name=robots content="noindex,follow"/>

基本上我想要实现的是从标题中删除这一行,但只针对搜索页面。 所以在这种情况下,我会使用类似于:

if ( is_search() ) { remove_action('wp_head', 'whatever-the-action-name-is'); }

add_filter('wpseo_robots', 'yoast_no_home_noindex', 999);
function yoast_no_home_noindex($string= "") {
    if (is_home() || is_front_page()) {
        $string= "index,follow";
    }
    return $string;
}

我认为这应该没问题.. 在您的主题 functions.php 中的某个地方,应该可以解决问题。

根据您对我的其他答案的评论,暗示您明确希望启用“阻止搜索引擎索引此站点”,在对 WordPress 核心源代码(特别是 default-filters.php)进行更彻底的调查之后,我认为这可能是你到底是什么:

add_action( 'posts_selection', 'indexSearchPage' );

function indexSearchPage() {
    // Be sure to include the priority for the action or it won't be removed
    if( is_search() )
        remove_action( 'wp_head', 'noindex', 1 );
}

我用 posts_selection action 挂钩,因为它是 WordPress 加载例程中第一个可以访问条件标签的挂钩。 您可以使用以后的操作,直到并包括 wp_head但如果你使用 wp_head 本身你需要添加优先级低于 1 作为 noindex 添加了优先级 1:

add_action( 'wp_head', 'indexSearchPage', -1 );

或者,可以有条件地欺骗 WordPress 认为“阻止搜索引擎索引该站点”被禁用:

add_action( 'posts_selection', 'indexSearchPage' );

function indexSearchPage() {
    if( is_search() ) {
        $alloptions = wp_load_alloptions();
        $alloptions[ 'blog_public' ] = '1';
        wp_cache_set( 'alloptions', $alloptions, 'options' );
        wp_cache_set( 'blog_public', '1', 'options' );
    }
}

高质量外链购买
5分钟生成10篇英文软文article forge软件试用
siteground guangda
WordPress花园官方账号
WordPress花园隶致力于为广大跨境电商和独立站爱好者提供优质的WordPress教程、Woocommerce教程、Facebook、Twitter、tiktok、Instagram教程和谷歌SEO教程等资料和对应的建站推广服务。关注‘哟派出海’公众号了解最新资讯。粉丝福利:Shopline免费独立站建设14天优惠 商务合作: [email protected]
RELATED ARTICLES
spot_img