noindex(노인덱스)는 웹 페이지의 HTML 메타 태그나 HTTP 응답 헤더에 넣어 구글, 네이버 같은 검색엔진에 “이 페이지를 검색결과에 표시하지 말라”고 지시하는 로봇 규칙으로, 크롤링은 허용하되 색인에서만 빼는 장치다.
구글은 noindex를 “<meta> 태그 또는 HTTP 응답 헤더가 있는 규칙 집합이며 Google과 같이 noindex 규칙을 지원하는 검색엔진에서 콘텐츠의 색인을 생성하지 못하게” 하는 것으로 정의한다 (Google Search Central, noindex로 검색 색인 생성 차단하기). 다른 사이트가 링크를 걸어도 검색결과에서 제외된다.
색인을 막는 수단 가운데 가장 확실한 것이 noindex다. robots.txt는 크롤링을 막을 뿐 검색 노출을 막는 장치가 아니고, 서치콘솔 삭제 도구는 임시 조치이기 때문이다.
HTML 페이지에는 <head> 안의 메타 태그로, PDF나 이미지처럼 HTML이 아닌 파일에는 서버가 보내는 X-Robots-Tag 헤더로 적용한다 (Google Search Central, noindex로 검색 색인 생성 차단하기).
| 방식 | 코드 | 쓰는 곳 |
|---|---|---|
| 메타 태그 (모든 검색엔진) | <meta name="robots" content="noindex"> | HTML 페이지 |
| 메타 태그 (구글만) | <meta name="googlebot" content="noindex"> | 구글에만 적용할 때 |
| HTTP 응답 헤더 | X-Robots-Tag: noindex | PDF, 이미지, 동영상 등 비HTML 리소스, 또는 서버 설정으로 일괄 적용 |
서버 설정으로 PDF 전체에 거는 예는 아파치가 <Files ~ "\.pdf$"> Header set X-Robots-Tag "noindex, nofollow" </Files>, 엔진엑스가 location ~* \.pdf$ { add_header X-Robots-Tag "noindex, nofollow"; }다 (Google Search Central, 로봇 메타 태그, data-nosnippet, X-Robots-Tag 사양).
적용 규칙 세 가지를 알아 두면 실수가 줄어든다. 이름과 content 값은 대소문자를 구분하지 않고, 여러 규칙은 쉼표로 묶거나 메타 태그를 여러 개 써도 되며, “로봇 지시어가 충돌하면 그중 더 제한적인 규칙이 적용”된다. 즉 한 곳에 index, 다른 곳에 noindex가 있으면 noindex가 이긴다.
하나 더, noindex가 효과를 내려면 크롤러가 그 페이지를 읽을 수 있어야 한다. 구글은 “noindex 규칙이 효과적으로 작동하려면 페이지 또는 리소스가 robots.txt 파일로 차단되어서는 안 되며 크롤러에서 페이지에 액세스할 수 있어야” 한다고 명시한다. 크롤러가 못 들어오면 태그를 볼 수 없고, 태그를 못 보면 그 페이지는 검색결과에 남는다.
robots.txt는 크롤링을 막고, noindex는 색인을 막는다. 둘을 혼동하면 정반대 결과가 나온다.
| 구분 | noindex | robots.txt Disallow | nofollow |
|---|---|---|---|
| 막는 것 | 검색결과 표시 | 크롤러의 접근 | 링크 따라가기, PageRank 전달 |
| 크롤링 | 허용 | 차단 | 허용 |
| 검색결과에서 사라지나 | 사라진다 | 남을 수 있다 | 보장 없음 |
| 적용 위치 | 페이지의 메타 태그, HTTP 헤더 | 사이트 루트의 텍스트 파일 | 메타 태그 또는 링크의 rel 속성 |
| 적합한 용도 | 보여 주고 싶지 않은 페이지 | 서버 부하 관리, 크롤 예산 보호 | 신뢰하지 않는 링크 |
구글은 robots.txt가 “웹페이지가 Google에 표시되는 것을 방지하기 위한 메커니즘이 아닙니다”라고 못 박고, 표시를 막으려면 “noindex로 색인 생성을 차단하거나 비밀번호로 페이지를 보호”하라고 안내한다. 차단된 URL이라도 “웹상의 다른 곳에 연결된 경우 관련 정보를 찾아 색인을 생성할 수는” 있기 때문이다 (Google Search Central, robots.txt 소개).
이 상황이 서치콘솔에 뜨는 이름이 “robots.txt로 인해 차단되었으나 색인이 생성됨”이다. 페이지 내용은 못 읽었지만 링크 텍스트만으로 색인한 상태라, 검색결과에 설명 없는 URL이 보인다 (Google Search Console 도움말, 페이지 색인 생성 보고서). 이런 페이지를 빼려면 robots.txt 차단을 풀고 noindex를 넣어야 한다.
사용자에게는 필요하지만 검색 유입이 필요 없거나, 검색결과에 보이면 사이트 평가를 깎는 페이지다. 상위 문서들이 공통으로 꼽는 유형은 다음과 같다.
서치폴라리스 사이트는 2026년 10월 기준 홈, 위키 목록, 블로그 목록, 블로그 내부 검색 결과 페이지까지 index, follow, max-snippet:-1, max-image-preview:large를 선언하고 noindex를 쓰는 페이지가 없다. 콘텐츠 사이트는 내부 검색 결과 정도만 noindex 후보이고, 나머지는 색인시키는 쪽이 보통 유리하다.
주의할 점은 스테이징에 건 noindex를 운영에 그대로 올리는 사고다. 서치콘솔에서 “URL이 ‘noindex’로 표시됨”에 핵심 페이지가 보인다면 이 경우가 가장 흔하다.
noindex는 색인, nofollow는 링크에 대한 규칙이고 둘은 독립적으로 조합된다. 구글이 인정하는 로봇 규칙은 다음과 같다 (Google Search Central, 로봇 메타 태그, data-nosnippet, X-Robots-Tag 사양).
| 규칙 | 구글 설명 |
|---|---|
noindex | 검색결과에 이 페이지, 미디어 또는 리소스를 표시하지 않는다 |
nofollow | 이 페이지의 링크를 따라가지 않는다 |
none | noindex, nofollow와 같다 |
nosnippet | 텍스트 스니펫이나 동영상 미리보기를 표시하지 않는다 |
noimageindex | 이 페이지의 이미지를 색인 생성하지 않는다 |
unavailable_after:[날짜] | 지정된 날짜 이후 검색결과에 표시하지 않는다 |
indexifembedded | noindex가 있어도 iframe으로 삽입된 경우에는 색인을 허용한다 |
max-snippet, max-image-preview, max-video-preview | 스니펫 길이, 이미지 미리보기 크기, 동영상 미리보기 초를 제한한다 |
noindex, follow는 “이 페이지는 빼되 링크는 따라가라”는 뜻이지만 영구적이지 않다. 구글의 존 뮬러는 2017년 noindex가 오래 유지되면 “이 페이지는 검색에 쓰이길 원하지 않는다고 보고 완전히 제거”하므로 결국 링크도 따라가지 않게 되어 noindex, nofollow와 같아진다고 설명했다 (Search Engine Roundtable, Google: Long Term Noindex Will Lead To Nofollow On Links).
반대 방향도 성립하지 않는다. nofollow로 색인을 막을 수 있느냐는 질문에 뮬러는 2022년 “nofollow는 PageRank를 전달하지 말라는 뜻이고 그 페이지를 절대 색인하지 않는다는 뜻은 아니다. 색인을 막고 싶으면 noindex를 넣어라”고 답했다 (Search Engine Journal, Google: Nofollow Is Not A Substitute For Noindex). 색인 제어는 noindex, 링크 제어는 nofollow로 역할을 나눠 생각하면 된다.
오류가 아니라 구글이 사이트의 지시를 따른 기록이다. 서치콘솔은 이 상태를 “Google에서 페이지의 색인을 생성하려고 했지만 ‘noindex’ 명령어를 발견하여 색인을 생성하지 않았습니다”로 설명한다 (Google Search Console 도움말, 페이지 색인 생성 보고서).
판단 기준은 하나다. 그 목록에 있는 URL이 검색에 나와야 하는 페이지인가. 로그인 페이지나 내부 검색 결과가 있으면 의도한 결과이니 조치가 필요 없고, 서비스 페이지나 주요 글이 있으면 실수로 들어간 noindex를 찾아 지워야 한다. 워드프레스라면 “검색 엔진이 이 사이트를 색인하지 못하게 하기” 설정이나 SEO 플러그인의 페이지별 설정이 흔한 원인이다.
태그를 지웠다고 바로 돌아오지는 않는다. 구글은 URL 검사 도구로 재크롤링을 요청하라면서도 “인터넷에서 페이지의 중요도에 따라 Googlebot이 페이지를 다시 방문하는 데 몇 개월이 걸릴 수 있다”고 안내한다 (Google Search Central, noindex로 검색 색인 생성 차단하기). 반대로 noindex를 새로 걸었을 때 검색결과에서 사라지는 데도 같은 재크롤링이 필요하다.
빨리 지워야 하면 서치콘솔 삭제 도구를 함께 쓴다. 다만 “삭제 도구에서 요청한 사항은 약 6개월간 지속”되는 임시 조치라서, 영구적으로 빼려면 그 사이에 noindex를 걸거나 페이지를 삭제해야 한다 (Google Search Central, Google에서 정보 삭제하기).
아니다. 구글봇이 페이지를 다시 크롤링해 태그를 읽어야 반영되고, 그 주기는 페이지 중요도에 따라 몇 개월이 걸릴 수 있다. 급하면 서치콘솔 삭제 도구로 약 6개월간 먼저 숨기고 그 사이 noindex가 반영되게 한다.
<meta name="robots" content="noindex, nofollow">는 페이지를 색인하지 않고 그 안의 링크도 따라가지 않는다. none 한 단어와 같다. 링크는 계속 발견되게 하고 싶으면 noindex만 쓰되, 오래 유지되면 결국 nofollow와 같아진다는 점을 감안한다.
사라지지 않을 수 있다. 구글은 다른 페이지의 링크 정보만으로 그 URL을 색인할 수 있고, 크롤러가 못 들어오니 noindex 태그도 읽지 못한다. 검색에서 빼는 목적이면 robots.txt가 아니라 noindex나 비밀번호 보호를 쓴다.
가능하다. HTML이 아니라 메타 태그를 넣을 수 없으므로 서버가 X-Robots-Tag: noindex 헤더를 붙이게 한다. 아파치는 Files 지시어, 엔진엑스는 location 블록에서 확장자별로 일괄 적용할 수 있다.
서치폴라리스가 AI 검색 가시성을 진단하고 GEO 실행까지 대행합니다.