WPML
Trạng thái
Đã được giải quyết bởi nhà phát triển
Được báo cáo cho
WPML SEO 2.0.1

Tổng quan về lỗi

Đây là một vấn đề chung của Yoast SEO (không chỉ riêng với WPML) và đã được báo cáo tại đây.

Nếu bạn đang định dạng URL để hiển thị ngôn ngữ dưới dạng tham số trong WPMLNgôn ngữ, bạn sẽ nhận thấy rằng các trang bằng ngôn ngữ phụ có phân trang sẽ hiển thị liên kết canonical không chính xác.

Giải pháp tạm thời

Vui lòng tạo bản sao lưu đầy đủ cho trang web của bạn trước khi tiếp tục. Sau đó, thêm mã sau vào tệp giao diện functions.php của bạn:

 
// 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 ); 

Tất cả các lỗi đã ghi nhận →