WPML
Status
Resolvido pelo autor
Relatado para
WPML SEO 2.0.1

Visão geral do problema

Este é um problema geral com o Yoast SEO (não específico do WPML) e foi relatado aqui.

Se você está formatando seus URLs para exibir o idioma como um parâmetro em WPMLIdiomas, você notará que as páginas em idiomas secundários que são paginadas exibirão um link canônico incorreto.

Solução alternativa

Faça um backup completo do seu site antes de prosseguir. Em seguida, adicione o seguinte código no arquivo functions.php do seu tema:

 
// define the wpseo_canonical callback 
function wpmldp_filter_wpseo_canonical_lang_parameter_position( $canonical ) { 
        // decode URL
        $canonical = urldecode($canonical);
	
	// get current language
	$my_current_lang = apply_filters( 'wpml_current_language', NULL );
	
	// define ?lang parameter
	$param = '?lang='.$my_current_lang;
	
	// check if current $canonical contains the parameter
	if(strpos($canonical, $param) !== false){
		
		// remove the parameter from URL
		$canonical = str_replace('/'.$param, "", $canonical);
		
		// add it again
		$canonical = $canonical.$param;
	}	
	
    return $canonical; 
}; 
         
// add the filter 
add_filter( 'wpseo_canonical', 'wpmldp_filter_wpseo_canonical_lang_parameter_position', 999 ); 

Todos os problemas conhecidos →