WPML
ステータス
未解決
報告対象
WPML Multilingual CMS 4.6.13
関連するプラグイン/テーマ
Rank Math SEO
トピックタグ
Compatibility

問題の概要

WPMLデフォルト言語にディレクトリを使用するオプションが有効になっている場合、IndexNowまたはRank Math SEOプラグインからBingへのURL送信が失敗し、「Invalid URL」エラーが表示されます。

回避策

続行する前に、必ずサイトの完全なバックアップを取得してください。

IndexNowの場合:


  • お使いのテーマのfunctions.phpファイルを開きます。

  • 次のスニペットを追加します。
    function bing_wpml_remove_homefilter() {
    	if ( defined( 'REST_REQUEST' ) && REST_REQUEST && isset( $_SERVER['REQUEST_URI'] ) ) {
    		$request_uri = $_SERVER['REQUEST_URI'];
    		if ( strpos( $request_uri, 'submitUrl' ) !== false ||
    		     strpos( $request_uri, 'allSubmissions' ) !== false ) {
    			global $wp_filter;
    			if ( isset( $wp_filter['home_url']->callbacks[-10] ) ) {
    				foreach ( $wp_filter['home_url']->callbacks[-10] as $key => $value ) {
    					if ( str_contains( $key, 'home_url_filter' ) ) {
    						remove_filter( 'home_url', $key, -10 );
    					}
    				}
    			}
    		}
    	}
    }
    
    add_action( 'rest_api_init', 'bing_wpml_remove_homefilter' );

Rank Math SEOの場合:


  • お使いのテーマのfunctions.phpファイルを開きます。

  • 次のように置き換えます。
    function custom_remove_home_url_filter_on_cmb2_admin_init_for_rm_giapi() {
    	if ( defined( 'DOING_AJAX' ) && DOING_AJAX && isset( $_POST['action'] ) && $_POST['action'] === 'rm_giapi' ) {
    		global $wp_filter;
    
    	if ( isset( $wp_filter['home_url']->callbacks[-10] ) ) {
    			foreach ( $wp_filter['home_url']->callbacks[-10] as $key => $value ) {
    					if ( str_contains( $key, 'home_url_filter' ) ) {
    					remove_filter( 'home_url', $key, -10 );
    				}
    			}
    		}
    	}
    }
    add_action( 'cmb2_admin_init', 'custom_remove_home_url_filter_on_cmb2_admin_init_for_rm_giapi' );

すべての既知の問題 →