
워드프레스 블로그 운영자라면 누구나 한 번쯤 겪는 ‘색인 생성’ 문제, 하지만 1년 동안 단 하나의 글도 구글에 걸리지 않는다면 그것은 단순한 설정의 문제가 아닙니다.
실제 경험을 바탕으로, 일반적인 SEO 가이드로는 절대 해결할 수 없었던 ‘워드프레스 색인 0개’의 충격적인 배후와 그 해결책을 알려드리겠습니다.
1. 서론: 1년의 기다림, 그리고 색인 0개의 절망
블로그를 시작하고 매일같이 정성을 다해 글을 썼습니다.
구글 서치 콘솔을 매일 확인하고, 네이버 서치어드바이저를 들여다봤죠.
하지만 결과는 참담했습니다.
‘색인 생성 범위 오류’ 혹은 ‘발견됨 – 현재 색인이 생성되지 않음’.
단순히 시간이 해결해 줄 것이라 믿었던 1년이라는 시간은 결국 ‘색인 0개’라는 처참한 성적표를 남겼습니다.
남들과 똑같이 설정했고, 오히려 더 꼼꼼하게 관리했는데 왜 내 워드프레스만 구글의 외면을 받았을까요?
오늘 그 충격적인 진실을 공개합니다.
2. 우리가 흔히 아는 “뻔한” 해결책들 (이미 다 해보셨죠?)
색인이 안 된다고 하면 전문가들은 대개 다음과 같은 조언을 합니다. 저 역시 지난 1년간 이 방법들을 수백 번 검토했습니다.
① robots.txt 설정
검색 엔진 로봇이 내 사이트에 들어와도 되는지 알려주는 가이드라인입니다. Allow: / 설정을 통해 모든 수집을 허용했음에도 봇들은 내 사이트를 외면했습니다.
② Rank Math 사이트맵(Sitemap) 최적화
SEO 플러그인의 강자 Rank Math를 활용해 사이트맵을 만들고 구글 서치 콘솔에 제출했습니다. “성공”이라는 메시지는 떴지만, 정작 글은 하나도 긁어가지 않았습니다.
③ HTTP에서 HTTPS로의 강제 리디렉션
보안 연결이 되지 않으면 구글이 싫어한다는 말에 SSL 인증서를 설치하고 모든 주소를 https://로 고정했습니다. 하지만 여전히 색인 그래프는 바닥을 기었습니다.
④ 구글 인덱싱 API 및 수동 요청
기다리다 지쳐 Google Indexing API를 연동하고, 서치 콘솔에서 ‘색인 생성 요청’ 버튼을 손가락이 아프도록 눌렀습니다. 하지만 돌아오는 건 “실패” 혹은 무한 대기뿐이었습니다.
3. 아무도 말해주지 않았던 진실: 내 서버의 ‘비명 소리’
모든 설정을 완벽하게 마쳤는데도 색인이 안 된다면, 문제는 ‘설정’이 아니라 ‘서버의 상태’에 있습니다.
제가 발견한 범인은 바로 전 세계에서 몰려든 해커와 악성 봇들이었습니다.
서버 로그가 증명하는 ‘식물인간’ 사이트
서버 로그(Access Log)를 열어보니 가관이었습니다.
중국, 러시아, 체코, 미국 등 전 세계에서 온 IP들이 1초에 수십 번씩 제 워드프레스를 공격하고 있었습니다.
- Brute Force 공격:
wp-login.php를 뚫기 위해 수천 번의 로그인을 시도합니다. - XML-RPC 공격:
xmlrpc.php를 통해 서버 자원을 갉아먹습니다. - 취약점 스캔: 있지도 않은
akc.php,config.php등을 찾으며 서버를 뒤흔듭니다.
이것 외에도 무수한 공격들이 있었습니다.
결과적으로 어떤 일이 벌어졌을까요?
진짜 구글 봇(Googlebot)이나 네이버 봇(Yeti)이 내 글을 수집하러 방문했을 때, 제 서버는 이미 해커들의 공격을 막아내느라 지쳐서 ‘500 Internal Server Error’를 내뱉으며 쓰러져 있었습니다.
구글 입장에서는 “이 사이트는 접속할 때마다 에러가 나네? 죽은 사이트군.”이라 판단하고 색인 대상에서 제외해 버린 것입니다.
4. 내 도메인의 ‘전생’을 확인하라: Wayback Machine
왜 유독 내 사이트만 이렇게 공격이 심했을까요? 여기서 우리는 도메인 이력을 의심해 봐야 합니다.
웨이백 머신(Wayback Machine) 활용법
- archive.org에 접속합니다.
- 내 도메인 주소를 입력합니다.
- 과거에 저장된 스냅샷이 있는지 확인합니다.
만약 내가 도메인을 사기 전에 누군가 이 주소로 스팸 사이트를 운영했거나, 보안이 허술한 사이트를 운영했다면 해커들의 봇 리스트에 이미 ‘공격 타겟’으로 등록되어 있을 확률이 높습니다.
주인이 바뀌어도 봇들은 기계적으로 계속 문을 두드리는 것이죠.
5. 1년의 저주를 푼 결정적 한 방: “입구 컷”
제가 ‘색인 0개’의 늪에서 탈출하기 위해 선택한 최후의 수단은 보안 강화와 국가 차단이었습니다.
① 해외 IP 국가별 차단
제 블로그의 타겟은 한국인입니다. 굳이 중국이나 동유럽에서 들어오는 접속을 허용할 이유가 없습니다.
보안 플러그인(Wordfence 등)이나 클라우드플레어(Cloudflare)를 통해 한국을 제외한 모든 국가의 접속을 차단했습니다.
② XML-RPC 비활성화
Disable XML-RPC-API 플러그인을 설치하여 해커들이 가장 흔하게 사용하는 공격 경로를 아예 폐쇄했습니다. 로그를 보니 수천 건의 공격이 406 에러와 함께 즉시 튕겨 나가기 시작했습니다.
③ WP-Cron 중지 및 시스템 최적화
접속자가 올 때마다 서버가 혼자 일을 만드는 wp-cron.php를 비활성화하고, 서버 자원을 오직 ‘진짜 방문자’와 ‘검색 봇’에게만 할당했습니다.
추가로 적용하면 효과가 즉각적인 실전 보안 강화 방법 4가지를 정리해 드립니다.
1. 로그인 주소 숨기기 (WPS Hide Login)
해커들은 기계적으로 도메인.com/wp-admin이나 wp-login.php로 접속합니다. 이 주소는 전 세계 모든 워드프레스가 공통으로 사용하기 때문입니다.
- 방법:
WPS Hide Login플러그인을 설치하고 로그인 주소를 나만 아는 단어(예:/my-secret-entry)로 바꿉니다. - 효과: 로그에 찍히던 무차별 대입(Brute Force) 공격 시도가 즉시 0에 수렴하게 됩니다. 해커가 아예 ‘로그인 창’ 자체를 찾지 못하게 만드는 가장 강력한 방법입니다.
2. 로그인 시도 횟수 제한 (Limit Login Attempts Reloaded)
만약 로그인 주소를 알아내더라도, 비번을 수만 번 찍어볼 수 없게 족쇄를 채워야 합니다.
- 방법:
Limit Login Attempts Reloaded플러그인을 설치합니다. - 설정: 3~5회 이상 로그인 실패 시 해당 IP를 24시간 동안 차단하도록 설정하세요.
- 효과: 무차별 대입 공격을 시도하던 봇이 몇 번 찌르다가 스스로 차단당해 떨어져 나갑니다.
3. 데이터베이스(DB) 테이블 접두사 변경
워드프레스의 기본 DB 테이블 이름은 wp_로 시작합니다. 해커들은 SQL 인젝션 공격을 할 때 이 이름을 기본값으로 가정하고 공격 코드를 짭니다.
- 방법:
Brozzme DB Prefix같은 플러그인을 사용하거나 설치 시점에wp_가 아닌abc123_처럼 무작위 문자로 바꿉니다. - 효과: 데이터베이스 취약점을 노린 자동화 공격이 실패하게 됩니다.
- 주의: DB를 직접 건드리는 작업이므로 반드시 백업 후 진행해야 합니다.
4. 파일 편집기 비활성화 (wp-config.php 수정)
워드프레스 관리자 화면에서 테마나 플러그인 소스 코드를 직접 수정할 수 있는 기능이 있습니다. 해커가 관리자 계정을 탈취했을 때 가장 먼저 악성코드를 심는 곳입니다.
- 방법:
wp-config.php파일 하단에 아래 코드를 추가합니다.PHPdefine( 'DISALLOW_FILE_EDIT', true ); - 효과: 관리자 대시보드에서 소스 코드 편집 기능이 사라져, 계정이 뚫리더라도 2차 피해를 막을 수 있습니다.
보안 설정 후 반드시 해야 할 일: “정상 봇 화이트리스트”
보안을 너무 강화하다 보면 구글이나 네이버 봇까지 차단되는 불상사가 생길 수 있습니다.
- 워드펜스(Wordfence) 같은 플러그인을 쓰신다면, 설정에서 “Allow-list Google Crawlers” 옵션이 켜져 있는지 확인하세요.
- 구글 봇은 IP가 계속 바뀌지만, 보안 플러그인들은 구글 봇의 신원을 확인하는 기능을 갖추고 있습니다.
6. 결론: SEO의 시작은 글쓰기가 아니라 ‘방어’다
흔히 SEO라고 하면 키워드 선정과 백링크를 떠올립니다.
하지만 이번 경험을 통해 깨달았습니다.
아무리 좋은 글을 써도 서버가 해커들에게 점령당해 비명을 지르고 있다면, 구글은 절대 그 글을 읽어주지 않습니다.
1년 동안 색인이 0개였던 이유는 제 글솜씨가 부족해서가 아니었습니다.
전 세계 해커들이 제 사이트를 놀이터로 삼는 동안, 정작 손님인 검색 엔진 봇들은 문앞에서 문전박대를 당하고 있었기 때문입니다.
지금 당신의 워드프레스 색인이 멈춰 있다면, 플러그인 설정만 보지 마세요.
지금 당장 서버 로그를 확인하십시오. 범인은 생각보다 가까운 곳에, 그리고 아주 많이 존재합니다.