워드프레스 사이트 이용을 하다 보면 별 희한한 버그를 만날 때가 가끔씩 있다. 뭐, 사실 대부분은 내가 짠 프로그램에서 나는 버그지만, 가끔은 진짜 서드파티 플러그인의 버그일 때도 있고 아니면 내가 만든 플러그인이 아닌 레거시에서 의도치 않은 버그가 나올 때가 있다.
이럴 때는 모든 테마와 플러그인을 완전히 끄고 하나하나 켜 가면서 범인을 색출하는 방법이 있다. 워드프레스에는 수많은 필터와 액션이 뒤엉켜 돌아가기 때문에 문제 파악이 매우 어려울 수도 있다. 그러므로 이럴 땐 기능을 꺼보면서 시작점을 찾아 보는 것이 가장 단순명료하다.
그런데 문제가 있다. 운영 중인 사이트에 함부로 플러그인과 테마를 껐다 켤 수는 없다. 사이트의 기능이 멈출 수도 있기 때문이다. 과연 이럴 때는 어떻게 해야 할까?
물론 나처럼 격리된 개발 공간을 만들어 사이트를 복제한 다음 샅샅히 훑어보는 방법도 있지만, 모두가 이런 고도(?)의 방법을 사용할 수는 없을 것이다.
이럴 때 사용할 수 있는 좋은 플러그인으로 Health Check & Troubleshooting이 있다. 이 플러그인은 커뮤니티에 의해 개발되며 최근 기능의 일부가 워드프레스의 코어로 편입되었다. “도구 > 사이트 상태”가 그것이다.
그런데 이 플러그인은 사이트 상태 뿐 아니라 특별한 기능을 하나 제공한다. 나한테만 플러그인이나 테마를 자유롭게 켜고 끌 수 있도록 해 준다. 내가 비활성화한 플러그인이나 테마로 인한 영향은 다른 접속자들에게는 미치지 않는다. 서버는 온전히 운영 중에 있으면서 디버깅이 가능하게 해 주는 신박한 물건이다.
이 플러그인을 활성화 하면 ‘troubleshoot mode’라는 것을 사용할 수 있다. 이것이 활성화된 동안에는 사이트 관리자가 맘대로 플러그인과 테마를 활성화/비활성화 할 수 있다. 다른 사용자들에게는 이 변화가 적용되지 않는다. 하나하나 플러그인을 꺼 가면서 문제가 발생하는지 경우의 수를 줄여 나가다 보면 범인이 되는 플러그인을 하나 지목할 수 있다. 원인을 알 수 없는 버그로 고민하는 사이트 관리자에게 적극 추천하는 플러그인이다.