- 상태
- 개발자가 해결함
- 보고된 제품
- WPML SEO 2.0.1
문제 개요
이것은 Yoast SEO의 일반적인 문제(WPML에만 국한된 문제가 아님)이며 여기에 보고되었습니다.
WPML → 언어에서 언어를 매개변수로 표시하도록 URL 형식을 지정하는 경우, 페이지 번호가 매겨진 보조 언어 페이지에 잘못된 표준 링크가 표시되는 것을 확인할 수 있습니다.
임시 해결 방법
진행하기 전에 사이트를 전체 백업하세요. 그런 다음 functions.php 테마 파일에 다음 코드를 추가하세요.
// 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 );
