WPML
Estado
Resuelto por el autor
Notificado para
WPML SEO 2.0.1

Resumen del problema

Este es un problema general de Yoast SEO (no específico de WPML) y se ha notificado aquí.

Si da formato a sus URL para mostrar el idioma como parámetro en WPMLIdiomas, notará que las páginas en idiomas secundarios que están paginadas mostrarán un enlace canónico incorrecto.

Solución alternativa

Por favor, haga una copia de seguridad completa de su sitio antes de continuar. Luego, añada el siguiente código en el archivo functions.php de su 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 los problemas conocidos →