워드프레스 X-Robots-Tag: noindex 문제 완벽 해결 가이드
어느 날 갑자기 구글 검색 결과에서 사이트가 사라졌거나, 신규 포스트가 아무리 기다려도 색인이 되지 않는다면 가장 먼저 의심해야 할 것이 있습니다. 바로 HTTP 응답 헤더에 포함된 X-Robots-Tag: noindex입니다. 이 글에서는 이 문제가 왜 발생하는지, 어떻게 진단하는지, 그리고 원인별로 어떻게 해결하는지 순서대로 정리합니다.
1. X-Robots-Tag가 뭔가요?
X-Robots-Tag는 HTML <meta name="robots"> 태그와 동일한 역할을 하지만, HTML이 아니라 서버가 응답하는 HTTP 헤더에 담겨 전달되는 지시어입니다. 검색엔진 크롤러(구글봇 등)는 페이지 본문을 읽기 전에 이 헤더를 먼저 확인하기 때문에, 여기에 noindex가 설정되어 있으면 페이지 내용과 무관하게 색인에서 제외됩니다.
문제는 이 헤더가 눈에 보이지 않는다는 점입니다. 화면에서 아무리 봐도 알 수 없고, 워드프레스 대시보드의 “검색엔진이 이 사이트를 색인하지 못하도록 설정” 체크박스와도 별개로 동작하는 경우가 많아서, 원인을 못 찾고 헤매는 경우가 흔합니다.
2. 어떻게 발견하나요?
2-1. 구글 서치 콘솔에서 확인
Google Search Console의 URL 검사 도구에 문제가 되는 URL을 입력하면, “색인 생성 허용 여부”에 noindex 관련 문구가 표시됩니다. “페이지가 noindex로 인해 색인이 생성되지 않음” 메시지가 뜬다면 이 문제일 가능성이 높습니다.
2-2. 직접 헤더 확인
브라우저 개발자 도구(F12) → Network 탭에서 해당 페이지를 새로고침한 뒤, 문서 요청을 클릭하고 Response Headers를 확인합니다. x-robots-tag: noindex 항목이 있는지 직접 눈으로 볼 수 있습니다.
터미널이 편하다면 curl로도 즉시 확인 가능합니다.
curl -I https://내도메인.com/특정-페이지/
응답 헤더 목록에 X-Robots-Tag가 보이는지 확인하세요.
2-3. 온라인 헤더 체커
“HTTP header checker” 등으로 검색되는 무료 도구들을 이용하면 서버 접근 없이도 헤더를 빠르게 확인할 수 있습니다.
3. 흔한 원인들과 해결 방법
원인 1) 워드프레스 자체 설정 – “검색엔진이 사이트를 색인하지 못하도록 설정”
가장 흔하면서도 가장 간단한 원인입니다. 워드프레스 관리자 메뉴에서 확인해보세요.
설정 → 읽기(Reading) → “검색엔진이 이 사이트를 색인하지 못하도록 설정”
이 체크박스가 켜져 있으면 워드프레스가 자동으로 noindex 지시를 내보냅니다. 특히 개발 서버를 복제해서 운영 서버로 옮기는 과정에서 이 설정이 그대로 딸려오는 경우가 매우 흔합니다. 체크를 해제하고 저장하면 대부분 해결됩니다.
주의: 이 옵션은 기본적으로 메타 태그(
<meta name="robots">)로 출력되지만, 일부 보안/캐시 플러그인이나 서버 설정과 결합되면 HTTP 헤더로도 noindex가 전송되는 경우가 있습니다. 체크 해제 후에도 헤더에 남아있다면 아래 원인들을 계속 확인하세요.
원인 2) SEO 플러그인의 설정 충돌
Yoast SEO, Rank Math, All in One SEO 같은 플러그인은 카테고리, 태그, 페이지네이션, 특정 커스텀 포스트 타입 등을 개별적으로 noindex 처리할 수 있는 기능을 제공합니다.
확인 방법:
- Yoast SEO: SEO → 검색 노출(Search Appearance) → 콘텐츠 유형별 탭에서 “검색 결과에 표시” 옵션 확인
- Rank Math: Rank Math → 제목 및 메타(Titles & Meta)에서 포스트 타입별 로봇 메타 설정 확인
특정 포스트나 페이지에서는 편집 화면 하단(또는 사이드바)의 SEO 설정 박스에서 “고급” 탭을 열어 개별적으로 noindex가 켜져 있지 않은지도 확인해야 합니다. 전역 설정은 정상인데 특정 글만 문제라면 대부분 이 개별 설정이 원인입니다.
원인 3) 서버 설정 (.htaccess / Nginx)
Apache를 쓰는 호스팅이라면 .htaccess 파일에, Nginx를 쓴다면 서버 블록 설정 파일에 X-Robots-Tag가 직접 삽입되어 있을 수 있습니다. 스테이징 환경을 막기 위해 넣었다가 운영 환경에 그대로 남는 경우가 대표적입니다.
.htaccess 예시:
Header set X-Robots-Tag "noindex, nofollow"
이런 줄이 보인다면 삭제하거나 주석 처리(#)한 뒤 저장하면 됩니다. .htaccess는 워드프레스 루트 디렉터리에 있으며, FTP나 호스팅 제공 파일 관리자로 접근할 수 있습니다.
Nginx의 경우 add_header X-Robots-Tag "noindex"; 같은 줄을 서버 설정에서 찾아 제거해야 하며, 호스팅사가 관리하는 서버라면 고객센터에 문의가 필요할 수 있습니다.
원인 4) 캐싱/보안 플러그인, CDN
WP Super Cache, W3 Total Cache, Cloudflare 등 일부 캐싱·보안·CDN 서비스는 “스테이징 모드”나 “개발 모드”에서 자동으로 noindex 헤더를 주입하는 기능이 있습니다. Cloudflare의 경우 페이지 규칙(Page Rules)이나 Transform Rules에서 헤더를 임의로 추가했을 가능성도 점검해야 합니다.
- Cloudflare: 대시보드 → Rules에서 응답 헤더를 수정하는 규칙이 있는지 확인
- 캐싱 플러그인: 개발/스테이징 관련 옵션이 켜져 있지 않은지 확인
- 변경 후에는 반드시 캐시를 전체 초기화해야 헤더 변경이 실제로 반영됩니다.
원인 5) 테마나 커스텀 코드에서 직접 헤더 전송
일부 테마나 플러그인, 또는 functions.php에 추가된 커스텀 코드가 header() 함수를 이용해 직접 X-Robots-Tag를 전송하는 경우도 있습니다.
add_action( 'send_headers', function() {
header( 'X-Robots-Tag: noindex' );
});
이런 코드가 functions.php나 커스텀 플러그인 안에 있는지 검색해보세요. 코드 에디터가 부담스럽다면 파일 검색이 가능한 FTP 클라이언트나 호스팅 파일 관리자에서 “X-Robots-Tag” 문자열로 전체 검색을 해보는 것이 빠릅니다.
4. 원인을 못 찾겠다면 – 단계적 점검 체크리스트
- 워드프레스 설정 → 읽기에서 색인 차단 옵션 해제
- 캐시 전체 삭제 (플러그인 캐시 + CDN 캐시 + 브라우저 캐시)
- curl 또는 개발자 도구로 헤더 재확인
- 여전히 남아있다면 SEO 플러그인의 콘텐츠 유형별/개별 글 설정 확인
- 그래도 남아있다면
.htaccess, Nginx 설정,functions.php검색 - CDN/보안 서비스(Cloudflare 등)의 헤더 규칙 확인
- 각 단계마다 헤더를 다시 확인하며 어느 지점에서 사라지는지 추적
이렇게 위에서부터 순서대로 하나씩 제거해나가면, 여러 원인이 겹쳐 있는 경우에도 확실하게 찾아낼 수 있습니다.
5. 해결 후 확인할 것
문제를 해결했다고 끝이 아닙니다.
- Google Search Console에서 URL 검사 → 색인 생성 요청을 눌러 재크롤링을 요청하세요.
noindex로 오랫동안 차단되어 있던 사이트는 색인 복구까지 며칠~몇 주가 걸릴 수 있습니다. 조급해하지 말고 며칠 간격으로 서치 콘솔의 색인 현황을 지켜보세요.- sitemap.xml이 정상적으로 제출되어 있는지도 함께 점검하면 복구 속도를 높일 수 있습니다.
마무리
X-Robots-Tag: noindex는 눈에 보이지 않는 만큼 원인 파악이 까다롭지만, 원인은 결국 워드프레스 자체 설정, SEO 플러그인, 서버/.htaccess, 캐싱·CDN, 커스텀 코드라는 몇 가지 범주로 좁혀집니다. 위 체크리스트를 순서대로 따라가면 대부분의 경우 어렵지 않게 원인을 찾아 해결할 수 있습니다.