WPML
Stato
Aperto
Segnalato per
WPML Multilingual CMS 4.6.13
Plugin/tema correlato
Rank Math SEO
Tag dell’argomento
Compatibility

Panoramica del problema

Quando l’opzione Usa la directory per la lingua predefinita è abilitata in WPML, l’invio degli URL a Bing dai plugin IndexNow o Rank Math SEO fallisce, mostrando un errore “URL non valido”.

Soluzione alternativa

Assicurati di avere un backup completo del tuo sito prima di procedere.

Per IndexNow:


  • Apri il file functions.php del tuo tema.

  • Aggiungi il seguente snippet:
    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' );

Per Rank Math SEO:


  • Apri il file functions.php del tuo tema.

  • Sostituisci:
    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' );

Tutti i problemi noti →