워드프레스를 운영하다보면 워드프레스로부터 ‘사이트에 기술적인 문제가 발생했습니다’란 이메일을 받거나 워드프레스 사이트 대시보드 내부의 알림에 ‘이 웹사이트에 치명적인 오류가 있습니다’ 오류 메시지가 표시될 수 있습니다. 이러한 오류는 대부분 테마나 플러그인의 충돌, 또는 PHP 코드의 문제 등으로 인해 발생합니다. 이러한 문제를 빠르게 인식하고 대응하지 않으면 방문자의 사용자 경험을 해치고, 더 나아가 검색 엔진 최적화(SEO)에도 부정적인 영향을 미칠 수 있기 때문에 빨리 원인을 파악해서 오류를 해결하는 것이 좋습니다.
워드프레스 치명적 오류란
워드프레스 치명적 오류는 저희 프리미엄 워드프레스 지원 서비스를 통해 접수되는 가장 흔한 문제 중 하나입니다. 워드프레스는 PHP와 MySQL 기반으로 만들어진 오픈소스 콘텐츠 관리 시스템(CMS)입니다. 워드프레스는 매우 유연하고 다양성을 추구하는 면에서 좋지만 반대로 이러한 다양성으로 인해 여러 가지 복합적인 문제가 많이 발생할 수밖에 없습니다. 그래서 다양한 테마와 플러그인을 사용하다보면 버전 충돌이나 호환성 문제가 생기기 쉽습니다. 그 중 대표적인 증상 중 하나가 바로 치명적 오류입니디.
치명적 오류는 웹사이트의 PHP 코드에서 복구할 수 없는 문제가 발생하여 전체 PHP 스크립트가 예기치 않게 종료되는 경우 발생합니다. 이러한 오류는 웹사이트 실행을 중단시키고 정상적인 기능을 방해합니다. 심지어 관리자와 최종 사용자 모두 사이트에 접속할 수 없게 될 수도 있습니다. 워드프레스 업데이트 이후 호환 문제, PHP 버전 문제, 테마 및 플러그인과의 호환성 문제, 그리고 워드프레스 코어 파일 손상 문제 등 다양한 이유로 인해 문제가 발생할 수 있고 워드프레스 내부는 이를 ‘치명적인 오류’로 해석해서 관리자에게 경고 메세지를 전달합니다.

참고로 워드프레스 사이트에 치명적인 오류가 발생할 경우 워드프레스 5.2 이전 버전에서는 사이트에 아무런 내용이 표시되지 않으면서 접속이 되지 않았지만, 워드프레스 5.2 버전부터는 대시보드 내부에 오류가 발생했다는 메세지 문구가 표시되고 있습니다.
워드프레스 치명적 오류를 수정하는 방법
우선 워드프레스에 치명적 오류가 발생한 근본적인 원인을 찾는 것이 우선일 수 있습니다. 치명적 오류에 대해서 워드프레스 관리자 페이지에 접속할 수 있느냐 없느냐 여부에 따라서 대처 방법은 다를 수 있습니다.
문제가 외부에 있는 것이 아니라 내부에 있고 단순한 경우 사전에 백업한 파일이 있다변 복원하는 것이 가장 쉽고 빠른 방법입니다. 반면 문제가 외부에 있고 업데이트 이후 호환의 문제라면 단순히 파일을 복원한다고 하더라도 해결이 되지 않습니다. 이 경우 원인을 파악해서 적절하게 대처를 해야만 합니다.
백업의 경우 사용하고 있는 웹 호스팅의 부가 서비스 항목을 살펴보시길 바랍니다. 대부분은 백업 복원 서비스를 제공하고 있습니다. 국내 대표적인 웹 호스팅 서비스인 카페24의 경우 7일 복원 서비스를 제공하고 해외의 경우 패스트코멧에서는 7일, 케미클라우드에서는 호스팅 상품에 따라 10일 ~ 30일 제공하고, 클라우드웨이즈의 경우 백업/복원 설정에 따라 최대 1개월 백업본을 유지할 수 있습니다.
문제 파악 방법, 디버깅
디버깅은 프로그램이나 웹사이트에서 발생한 오류를 파악하고 정상적으로 작동할 수 있도록 돕는 작업을 뜻합니다. 특히 워드프레스는 워드프레스 자체에서 제공하는 WP_DEBUG 설정을 통해 오류 메시지를 더 자세히 확인할 수 있습니다.
우선 FTP에 접속해서 wp-config.php 파일을 열고 아래와 같이 코드 명령어를 변경합니다.
- FTP 프로그램을 이용해 워드프레스 서버에 접속하거나 cPanel을 통해 접속합니다.
- wp-content 폴더로 이동한다
- WP_DEBUG를 false에서 → true로 변경한다.
- 오류의 원인을 살펴본다.
파일질라 같은 FTP 프로그램에 직접 접속해서 디버깅을 실행할 수도 있지만 초보자들의 경우 FTP 접속이 부담스러울 수 있습니다. 이 경우 패스트코멧이나 케미클라우드 같은 전문 웹 호스팅 서비스를 이용하면 좀 더 수월하게 관리가 가능한데 대표적인 서버 관리 제어판인 cPanel를 제공받기 때문에 파일 매니저를 통해 다이렉트 접속이 가능하고 무엇보다 전문 기술팀의 지원을 항시 받을 수 있는 장점이 있어서 좀 더 쉽게 문제 파악이 쉬울 수 있습니다. 또 패스트코멧이나 케미클라우드를 사용하는 경우 루트 폴더에 error_log 파일이 생성되어 있기 때문에 번거로움 없이 서버 내에서 오류 정보를 확인할 수 있습니다. 참고로 error_log 파일은 웹 서버나 응용 프로그램에서 발생하는 오류 정보를 기록하는 파일입니다.
define( 'WP_DEBUG', false );
define( 'WP_DEBUG', true );
WP_DEBUG을 실행하기 위해서는 워드프레스 설치 폴더에서 wp-config.php 파일 열고 define( ‘WP_DEBUG’, false ); 찾아서 false를 true로 변경하도록 합니다.
이제 워드프레스 관리자 페이지에 접속해서 오류 원인을 파악합니다. 오류의 원인은 다양하기 때문에 해결 방법은 조금씩 다를 수 있어요 예를 들어 최근 워드프레스 6.8.1 버전 업데이트 진행된 후 제가 사용하고 있는 뉴스페이퍼 테마도 12.7로 업데이트가 있었습니다. 그리고 업데이트 이후 설치된 플러그인 간에 ‘_load_textdomain_just_in_time’ 문제가 발생하였습니다. 이것처럼 개인이 디버깅을 통해 쉽게 문제를 파악하더라도 테마의 경우 문제 해결이 복잡할 수 있습니다. 다행히도 저의 경우 뉴스페이퍼 개발팀의 빠른 판단으로 문제를 해결할 수 있었습니다. 이 외에도 워드프레스를 사용하면 PHP 메모리 문제, 플러그인 충돌, 보안, 서버 등 다양한 원인들로 인해 오류가 발생할 수 있기 때문에 우선 빠르게 문제를 파악하고 필요한 대처를 하는 것이 필요합니다.
맺은말
워드프레스 사이트를 운영하다 보면 다양한 문제에 직면하게 됩니다. 새로운 플러그인을 설치하거나 작업을 할 때 수시로 백업을 진행하고 작업을 하시길 권장합니다. 문제가 발생했을 때 쉽게 사이트를 복원할 수 있기 때문입니다. 그리고 초보자라면 패스트코멧이나 케이클라우드 그리고 클리우드웨이즈 같은 유명한 관리형 웹 호스팅을 이용한다면 좀 더 관리를 편리하게 할 수 있을 것입니다.
그리고 워드프레스 또는 웹호스팅 문제 해결에 어려움을 겪는 경우 유료 프리미엄 지원 서비스를 의뢰하실 수 있습니다.
더보기
- [참고] 카페24 DATA DB 백업 및 복원 방법
- [참고] 패스트코멧 웹호스팅 리뷰
- [참고] 워드프레스 뉴스페이퍼 테마 리뷰