删除我的帐户页面中的 WooCommerce noindex 元

Remove WooCommerce noindex meta in myaccount page

这是一个删除元 "noindex" 的解决方案,该元 "noindex" 会导致 myaccount 页面在 google 中出现问题,因为有些人希望它显示出来,以便他们的客户轻松找到登录页面。

函数匹配我的账户页面,然后删除元

function remove_wc_page_noindex(){

    $url = $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];

if ( false !== strpos( $url, 'my-account' ) ) {
    remove_action( 'wp_head', 'wc_page_noindex' );
}
}

add_action( 'init', 'remove_wc_page_noindex' );

我的问题:有没有办法直接定位我的账户页面而不是匹配部分url?

您可以在此处获取有关 conditional tags 的更多详细信息。

/**
 * Disable/Enable search engines indexing myaccount pages.
 *
 */

function is_wc_page_noindex() {

    if ( is_page( wc_get_page_id( 'myaccount' ) ) ) {
        remove_action( 'wp_head', 'wc_page_noindex' );
    }
}

add_action( 'template_redirect', 'is_wc_page_noindex' );

自 WP 5.7 起,Woocommerce 使用 wp_robots 过滤器。如果 remove_action( 'wp_head', 'wc_page_noindex' ) 对您不起作用,那么您可以尝试以下操作:

// Remove WooCommerce noindex meta in cart, checkout and myaccount pages

add_action( 'template_redirect', 'srj_woo_remove_noindex' );

function srj_woo_remove_noindex() {
  if ( is_page( wc_get_page_id( 'cart' ) ) || is_page( wc_get_page_id( 'checkout' ) ) || is_page( wc_get_page_id( 'myaccount' ) ) ) {
    remove_filter( 'wp_robots', 'wc_page_no_robots', 10 );
  }
}