워드프레스 Yoast SEO 플러그인을 사용하는 경우 Yoast SEO » 설정 » 일반 » 사이트 기본 사항을 클릭하면 "문제가 발생했습니다. 예기치 않은 오류가 발생했습니다" 오류와 함께 Cannot read properties of undefined (reading 'prevOffset')가 표시될 수 있습니다.
Yoast SEO에서 이 오류가 발생하는 경우 해결 방법에 대하여 살펴보겠습니다.
워드프레스 Cannot read properties of undefined (reading 'prevOffset') 에러
Yoast SEO는 1,000만 개가 넘는 사이트에 설치되어 사용되는 인기 SEO 플러그인입니다.
현재 1,000만 개 이상의 워드프레스 사이트에 설치되어 사용 중인 플러그인으로는 Yoast SEO를 비롯하여 엘리멘터 페이지 빌더, Contact Form 7, 클래식 에디터 등 4개 플러그인이 있습니다.
Cannot read properties of undefined (reading 'prevOffset') 오류의 원인
이 오류는 잘못된 번역 때문에 발생합니다.
한국어로 번역하는 과정에서 원문에 있는 변수를 빼먹거나 원문에 없는 변수를 추가하는 등 번역 과정에서 오류가 유입되어 문제가 되고 있는 것 같습니다.
소프트웨어/애플리케이션 번역 시 유의해야 할 사항이 있습니다.
소프트웨어/웹 로컬라이제이션 작업은 일반 텍스트 번역하듯이 번역하면 안 됩니다. 보통 스타일 가이드가 제공되며, 스타일 가이드를 숙지하여 번역해야 합니다. 여러 명의 번역가 작업에 투입될 수 있기 때문에 일관된 번역을 위해서는 스타일 가이드 준수가 중요합니다.
워드프레스의 일부 플러그인에서 번역이 잘못되어 오류가 나는 사례가 있었습니다. Yoast SEO에서도 번역 과정에서 오류가 유입되어 Cannot read properties of undefined (reading 'prevOffset') 문제가 발생하고 있습니다.
문제해결 방법
원인이 번역 오류 때문이기 때문에 어떤 식으로 대응해야 할지 아마 감이 잡힐 것입니다. 몇 가지를 생각해볼 수 있습니다.
- 번역 파일에서 오류를 찾아서 수정합니다.
- Yoast SEO 번역 파일을 삭제합니다.
- 관리자 페이지의 언어를 영어(English)로 변경합니다.
번역 파일에서 오류를 찾아서 수정할 수도 있겠지만, 오류를 찾는 데 시간이 걸리거나 쉽지 않을 수 있습니다. Yoast SEO에 연락하여 한국어 번역에 오류가 있음을 보고하는 것을 고려할 수 있습니다.
다른 방법으로 Yoast SEO 번역 파일을 삭제하는 것도 가능합니다. 플러그인 언어 파일은 /wp-content/languages/plugins 폴더 아래에 있습니다. wordpress-seo-ko_KR로 시작하는 모든 파일을 찾아서 삭제할 수 있습니다.
언어 폴더에 접속하여 언어 파일을 삭제하려면 FTP/SFTP에 접속할 수 있어야 합니다.
이 방법이 괜찮다고 생각되지만, 문제는 알림판에 번역 업데이트 알림이 표시된다는 것입니다. 그리고 플러그인, 테마, 워드프레스 코어 등을 업데이트하면 번역도 함께 업데이트되면서 Yoast SEO에서 다시 오류가 발생합니다.
마지막 방법으로 워드프레스 대시보드의 언어를 영어로 바꾸는 것을 생각할 수 있습니다.
사용자 » 프로필 » 언어에서 English (United States)를 선택하면 관리자 페이지의 언어가 영어로 바뀌게 됩니다.
프로필에서 해당 사용자의 언어를 변경해도 사이트 언어는 바뀌지 않고 설정에서 선택한 언어가 유지됩니다.
사용자 프로필에서 언어를 영어로 변경하면 해당 사용자(관리자)가 로그인하면 알림판의 언어가 영어로 표시됩니다.
이제 Yoast SEO » Settings » General » Site basics를 클릭해도 에러가 발생하지 않습니다.
업데이트: 임시 조치
번역을 수정하거나 관리자 페이지에서 Yoast SEO만 번역이 안 되도록 하는 코드를 추가하는 등 여러 조치를 취해보았습니다.
두 가지 조치 중 하나를 이용하는 것을 고려할 수 있을 것 같습니다.
- Loco Translate로 번역 수정
- 사용자 프로필에서 언어를 '영어'로 변경
로코 번역 플러그인을 설치하여 Yoast SEO의 번역을 수정할 수 있습니다.
위의 글에서 설명하듯이 문제가 되는 문자열을 모두 수정해도 되지만, 아무런 수정도 하지 말고 아무 문자열 번역에서 '스페이스'를 하나 입력했다가 추가한 스페이스를 삭제하고 저장 버튼을 누르면 Yoast 설정 페이지의 번역이 비활성화되고 영어로 표시됩니다.
다만, 이 방법은 Yoast SEO의 번역이 업데이트될 때마다 반복해야 하기 때문에 번거로울 수 있습니다.
번역을 수정한 후에는 Loco Translate를 비활성화하면 됩니다.
설정 페이지에서 "Cannot read properties of undefined (reading 'prevOffset')" 오류 대신 "r is undefined" 오류가 표시될 수도 있습니다.
마치며
이상으로 Yoast SEO에서 잘못된 번역 때문에 발생하는 오류와 해결 방법에 대하여 살펴보았습니다.
번역가는 좋은 의도를 가지고 번역을 했겠지만 번역에 대한 이해 부족으로 인해 오류가 발생하고 있어 아쉽네요.
워드프레스에서는 유독 번역과 관련하여 논란이 많은 것 같습니다. 몇 년 전, 워드프레스 번역에 참여했던 한 번역가가 전체적으로 이상하게 번역을 바꾸는 바람에 문제가 된 적이 있습니다.
최근에는 Apperance 번역을 디자인으로 바꾸었다가 다시 현재의 "모양"으로 최종적으로 바꾸었습니다.
사이트 표현 에서 개인정보 선택 하라고 하는데, 선택하고 저장하면
아차! 저장하는 동안 오류가 발생했습니다. 나오는데 왜그럴까요
안녕하세요, 화면을 캡처하여 https://imgur.com/ 에 올린 후에 이미지 URL을 공유해주시겠어요?