워드프레스에서 "응답이 유효한 JSON 응답이 아닙니다" 오류가 발생하는 경우

워드프레스 정보를 제공하는 블로그 Avada 2023. 1. 9. 21:57 • 댓글:

워드프레스에서 글을 작성하여 공개하거나 글을 수정한 후에 저장할 때 '응답이 유효한 JSON 응답이 아닙니다' 오류가 발생하는 경우가 있습니다. 워드프레스에서 유효하지 않은 JSON 응답 에러가 발생하는 경우 대처 방법에 대해 살펴보겠습니다.

[ 이 글은 작년에 작성되었지만 최신 정보를 반영하여 새롭게 재작성되어 다시 발행되었습니다. ]

워드프레스에서 '응답이 유효한 JSON 응답이 아닙니다' 오류가 발생하는 경우 해결 방법

얼마 전에 국내 웹호스팅 업체로 워드프레스 사이트 2개를 하나는 기본 도메인으로 하나는 서브도메인으로 이전하는 작업을 수행했습니다. 이전 작업은 성공적이었지만 글이나 페이지를 발행하거나 글/페이지를 업데이트할 때 예상치 못한 문제가 발생했습니다.

워드프레스에서 응답이 유효한 JSON 응답이 아닙니다 오류가 발생하는 경우

글을 공개할 때에는 다음과 같은 오류가 발생하면서 글을 공개할 수 없었습니다.

공개 실패 응답이 유효한 JSON 응답이 아닙니다.

글을 수정하는 경우에는 '업데이트 실패. 응답이 유효한 JSON 응답이 아닙니다(The response is not a valid JSON response)' 오류 메시지가 표시되면서 글이 업데이트되지 않았습니다.

워드프레스에서 응답이 유효한 JSON 응답이 아닙니다 오류가 발생하는 경우

사이트 주소 확인

먼저 설정 > 일반으로 이동하여 사이트 주소와 워드프레스 주소가 올바르게 설정되어 있는지 주의하여 살펴보시기 바랍니다.

워드프레스 사이트 주소 설정

보통은 이 두 주소가 같아야 하며, 두 주소가 다른 경우 예기치 못한 현상이 나타나기도 합니다. (하위 폴더에 워드프레스를 설치한 경우가 아니라면 이 두 주소는 동일하게 설정하는 것이 일반적입니다.)

고유주소 확인

다음으로 고유주소를 확인해보시기 바랍니다. 설정 > 고유주소에서 일반으로 되어 있다면 다른 옵션을 변경해보시기 바랍니다.

워드프레스 고유주소 설정

일반이 아닌 다른 옵션으로 설정된 경우 변경사항 저장 버튼을 한 두 차례 클릭해보시기 바랍니다. 그러면 [**.htaccess**] 파일이 재생성되면서 문제가 해결될 수도 있습니다.

고유주소(퍼머링크) 설정은 "글 이름"으로 설정하면 무난합니다. URL에 날짜가 들어가는 경우(예: http://www.example.com/2021/12/02/글제목) SEO에 바람직하지 않을 수 있습니다. 글을 작성한 후 몇 년이 지날 경우 사용자들이 오래된 글로 인식하여 클릭할 가능성이 줄어들 수 있습니다. 

.htaccess 파일 재생성

위의 조치에도 문제가 해결되지 않으면 FTP로 접속하여 루트 폴더에 있는 [**.htaccess**] 파일을 PC로 다운로드한 후에 이 파일을 삭제하도록 합니다. FTP 정보를 모르는 경우 웹호스팅 업체에 문의할 수 있습니다. 블루호스트를 이용하는 경우 새 FTP 계정을 만들 수 있습니다(참고).

파일질라(FileZilla) 등을 통해 FTP 서버에 접속한 다음, [**.htaccess**] 파일 위에 마우스를 올리고 오른쪽 마우스 버튼을 클릭하고 삭제를 클릭하여 삭제할 수 있습니다. (먼저는 백업을 하세요.)

.htaccess 파일 삭제

그런 다음, 워드프레스 알림판에서 설정 > 고유주소로 이동하여 변경사항 저장 버튼을 클릭하면 [**.htaccess**] 파일이 재생성됩니다. (고유주소 설정은 "일반"이 아닌 다른 설정으로 지정되어야 합니다.)

Rest API 디버그 로그

유효하지 않은 JSON 응답 오류는 또한 사이트의 WordPress REST API에서 오류가 발생할 때에도 나타날 수 있습니다.

REST API는 서버와의 통신에 사용되는 일련의 워드프레스 기술입니다. 

도구 > 사이트 건강 페이지에서 이와 관련된 오류가 발생하지 않았는지 체크해보시기 바랍니다.

경고에 ‘The REST API encountered an unexpected result’ 항목이 있다면 해당 항목을 클릭하여 문제를 일으키는 원인(예: 플러그인 등)을 파악할 수 있습니다.

플러그인 충돌

다음으로 의심해볼 수 있는 것으로 플러그인 충돌입니다. 플러그인 > 설치된 플러그인에서 플러그인 옆의 체크란을 클릭하여 모든 플러그인을 선택한 다음, 드롭다운에서 비활성화를 선택하고 적용 버튼을 클릭하면 모든 플러그인이 비활성화됩니다.

모든 플러그인 비활성화

모든 플러그인을 비활성화했을 때 문제가 해결되면 플러그인을 하나씩 활성화하면서 문제를 일으키는 플러그인을 찾을 수 있습니다.

방화벽 문제

서버의 방화벽 때문에 이 문제가 나타날 수 있습니다. "Updating failed. The response is not a valid JSON response" 글에서는 내 IP 주소를 화이트리스트(허용 목록)에 추가하여 해결했다고 하네요.

Welp, figured out the solution. Ended up needing to whitelist my ip address so that it knows I’m allowed to do things like this. All set now and hopefully helpful to someone else in the future – in 15 years of WordPress I never encountered this issue so it’s a good one to keep in the back of the brain if this error arises again.

방화벽 문제가 의심스럽다면 웹호스팅 업체에 연락하여 방화벽 화이트리스트에 내 IP 주소를 허용하도록 추가해 줄 것을 요청해보시기 바랍니다.

고전 편집기 설치(미봉책)

이 오류가 발생하는 경우 블록 에디터(구텐베르크 편집기) 대신 고전 편집기를 설치하면 문제가 해결될 수도 있습니다.

고전 편집기는 워드프레스 관리자 페이지 > 플러그인 > 새로 추가에서 'classic editor'를 검색하여 설치할 수 있습니다.

고전 편집기 설치

문제를 일으키는 근본적인 원인을 파악하여 해결하는 것이 바람직

고전 편집기를 설치하는 방법은 미봉책이고 문제를 일으키는 원인을 파악하여 해결하는 것이 바람직한 것 같습니다. 사실상 동일한 워드프레스 사이트 두 개를 각각 기본 도메인과 서브도메인으로 이전했는데, 기본 도메인으로 이전한 사이트에는 이런 증상이 없었지만 서브도메인으로 이전한 사이트에 이런 문제가 발생했습니다.

그리고 서브도메인으로 이전한 사이트에서 '고유주소'가 기본으로 되어 있어 '글 이름'으로 바꾸니 사이트 자체가 먹통이 되었습니다.ㅠ

웹호스팅에서 서브도메인을 설정할 때 문제가 있는 것으로 의심되었습니다. 블루호스트나 사이트그라운드에서 서브도메인을 추가하여 워드프레스를 설치했을 때에는 이런 증상이 전혀 나타나지 않았는데, 이 업체에서는 고유주소를 '기본' 이외에는 설정할 수 없는 등 이상한 증상이 나타났습니다.

이런 현상이 나타나면 웹호스팅 업체를 바꾸는 것을 고려해보시기 바랍니다. 몇 년 전에 우리나라 웹호스팅 업체를 이용할 경우 URL에 한글이 포함되면 에러가 발생한 적이 있었습니다. 최근 몇 년 사이에 우리니라 웹호스팅 업체들도 기술이 개선되어 이 문제는 많은 업체에서 해결된 것 같습니다. (아직도 이 문제가 발생하는 업체가 있습니다.)

또 다른 이유로, SSL 인증서를 설치하였지만 일부 콘텐츠가 안전하지 않는 http 프로토콜로 로드되어 혼합된 콘텐츠 문제가 발생하는 경우에도 이 현상이 발생할 수 있다고 합니다.

참고

 

초보자를 위한 워드프레스 문제 해결 가이드

워드프레스를 처음 시작하는 경우 문제를 접하게 되면 어떻게 해결해야 할지 당황하기 싶습니다. 많은 문제는 아래에서 설명하는 절차를 따라 하면 해결될 수 있을 것입니다. 이 블로그에서는 �

www.thewordcracker.com