첫째 딸아이가 나오고 일은 일대로 바쁘고 거의 2년 가까이 워드프레스에 로그인조차 하지 못했었습니다. 다시 블로그를 시작하려 본 워드프레스 블로그에 접속했는데 온통 500에러가 났습니다. 디버그 조차도 안뜨고 답이 없어 처음 부터 새로 시작하자는 마음으로 예전에 포스팅 했던 주제로 15개 정도의 포스팅을 다시했는데 처음 부터 하려니 답이 없었습니다. 그래서 다시 복구해보자는 생각으로 시놀로지 하이퍼백업으로 백업해둔 예전 파일들부터 하나하나 봤습니다. 그전에 복구하려 했을때는 그렇게 안보이던게 딱 눈에 띄었습니다.

워드프레스 악성 코드 제거 및 복구 후기 1
악성코드의 흔적

시놀로지 NAS 하이퍼 백업(Hyper Backup)에서 예전 파일들을 봤는데 보이시나요? 대부분의 폴더가 2022년 2월17일에 수정이 되었고 .htaccess가 거의 대부분의 폴더안에 들어가 있었습니다. 그래도 해당 파일과 MariaDb10 데이터도 다 복구하고 저 .htaccess 파일들을 삭제 해봤습니다. 삭제하고나니 뭔가 로딩아이콘도 돌아갑니다. 그래도 접속은 안되네요. 그리고 플러그인도 모두 삭제하고 테마도 다시 설치했습니다. 그러고 나니 드디어 접속이 됩니다.

다시 블로그 시작하면서 쓴 15개 정도의 글은 워드프레스 자체 내보내기와 가져오기 기능으로 복구했습니다. 문제는 주소가 겹치는게 있는지 꼬였습니다. 혼자 리다이렉트도 하네요. 해당문제는 RankMath SEO 플러그인 기능중에 꼬여있는데 데이터베이스를 처리하는 기능이있는데 그걸로 처리했습니다.

그리고는 문제가 하나더 발생합니다. 기존에는 고유주소가 https://redmilk.co.kr/Archives/ABCD 이런 식이었는데 새로 작성한 글은 https://redmilk.co.kr/ABCD 형태입니다.

워드프레스 악성 코드 제거 및 복구 후기 3
BetterLinks 플러그인

해당 문제는 간단하게 BetterLinks 플러그인으로 해결했습니다. 또하나 문제가 있는데 새로 작업 포스트들이 네이버에 색인이 다 되어있었는데 복구하면서 주소가 바뀌었습니다.

워드프레스 악성 코드 제거 및 복구 후기 5
RankMath 플러그인 리다이렉트(redirect) 기능

잘못된 URL은 하나하나 다 찾아서 RankMath 플러그인의 redirection 기능에서 301 리다이렉(redirect)트 처리했습니다.

여기서 끝이 아니죠. 또 하나의 문제는 구글 검색입니다. 기존에는 대부분의 포스팅이 구글에서 검색이 되었는데 현재는 검색이 많이 안됩니다. site:redmilk.co.kr 로 검색해서 찾아봐도 글이 확실히 적네요.

워드프레스 악성 코드 제거 및 복구 후기 7
구글 서치콘솔에서 색인안된 원인 확인

구글 서치 콘솔에 들어가서 페이지 부분에 보니 위와 같이 색이 안되는 이유와 몇개의 페이지에 해당하는지 표시가 되어있고 해당 부분은 유효성 검사를 신청했습니다. 이전에도 유효성 검사를 한적이 있는데 3주정도 소요가 됐던 기억이 있어서 하나하나 내역을 확인해서 색인 신청을 했습니다.

워드프레스 악성 코드 제거 및 복구 후기 9
구글 서치콘솔 색인안된 페이지 색인생성요청

태그나 카테고리 그리고 기타 링크들은 일단 무시하고 블로그 포스트의 링크주소만 찾아서 색인 요청을 했습니다. 그런데 문제가 또 있네요.

워드프레스 악성 코드 제거 및 복구 후기 11
구글 색인요청 할당량 초과

구글 서치콘솔에서 하루에 색인요청 할 수 있는 할당량이 다 초과했다고 합니다. 이제 나머지는 내일 해야겠습니다. 다하면 네이버도 찾아서 해야하는데 언젠간 되겠죠?