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

Tổng quan về sự cố

Đâ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 (mở trong tab mới).

Nếu bạn đang định dạng URL để hiển thị ngôn ngữ dưới dạng tham số trong WPML → Ngô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ả lỗi đã ghi nhận