Noindex
Noindex는 검색 엔진에 특정 페이지를 검색 결과에 포함하지 말라고 지시하는 로봇 메타 디렉티브입니다. HTML `<meta>` 태그 또는 HTTP 응답 헤더(`X-Robots-Tag`)를 통해 설정하며, 해당 페이지가 Google·Bing 등의 검색 결과 페이지(SERP)에 노출되는 것을 방지합니다.
Noindex는 검색 엔진에 특정 페이지를 검색 결과에 포함하지 말라고 지시하는 로봇 메타 디렉티브입니다. HTML <meta> 태그 또는 HTTP 응답 헤더(X-Robots-Tag)를 통해 설정하며, 해당 페이지가 Google·Bing 등의 검색 결과 페이지(SERP)에 노출되는 것을 방지합니다.
왜 중요한가
검색 엔진은 웹사이트의 모든 페이지를 크롤링하고 색인하려 합니다. 그러나 모든 페이지가 검색 결과에 노출될 가치가 있는 것은 아닙니다. 로그인 페이지, 내부 검색 결과 페이지, 감사(Thank-you) 페이지, 스테이징 환경의 페이지 등이 색인되면 크롤 예산(crawl budget)이 낭비되고, 중복 콘텐츠 문제가 발생하며, 사이트 전체의 검색 품질 평가가 낮아질 수 있습니다. Noindex를 적절히 활용하면 검색 엔진이 실제로 가치 있는 페이지에 크롤링 리소스를 집중하도록 유도할 수 있습니다.
설정 방법
- HTML 메타 태그 방식
페이지의 <head> 영역에 다음 태그를 추가합니다.
<meta name="robots" content="noindex">
특정 검색 엔진만 대상으로 지정할 수도 있습니다. 예를 들어 Google에만 noindex를 적용하려면 name 속성을 googlebot으로 변경합니다.
<meta name="googlebot" content="noindex">
링크 크롤링까지 차단하려면 nofollow를 함께 사용합니다.
<meta name="robots" content="noindex, nofollow">
- HTTP 헤더 방식 (X-Robots-Tag)
HTML이 아닌 리소스(PDF, 이미지 등)에는 메타 태그를 삽입할 수 없으므로, 서버 응답 헤더에 다음과 같이 설정합니다.
X-Robots-Tag: noindex
Next.js 등의 프레임워크에서는 API 라우트나 getServerSideProps 내에서 응답 헤더를 직접 설정할 수 있습니다.
언제 사용해야 하는가
다음과 같은 페이지에 noindex를 적용하는 것이 권장됩니다.
- 내부 검색 결과 페이지: 사이트 내 검색 기능이 생성하는 동적 페이지는 검색 엔진에 중복 콘텐츠로 인식될 수 있습니다.
- 로그인·회원가입·마이페이지: 개인정보가 포함되어 검색 노출이 불필요한 페이지입니다.
- 감사(Thank-you) 페이지: 폼 제출 후 표시되는 확인 페이지는 검색 유입 가치가 없습니다.
- 스테이징·테스트 환경: 개발 중인 사이트가 실수로 색인되는 것을 방지해야 합니다. 다만, 프로덕션 배포 시 noindex를 반드시 제거해야 합니다.
- 중복 콘텐츠가 존재하는 페이지: 단, 정식 페이지와 중복 페이지 관계가 명확한 경우에는
canonical태그가 더 적합한 해결책입니다. - 관리자 전용 페이지: 대시보드, 어드민 패널 등은 검색 노출이 필요하지 않습니다.
noindex vs Disallow 차이
noindex와 robots.txt의 Disallow 디렉티브는 자주 혼동되지만, 동작 방식이 근본적으로 다릅니다.
| 구분 | noindex (메타 태그) | Disallow (robots.txt) |
|---|---|---|
| 기능 | 페이지를 검색 결과에서 제외합니다 | 크롤러의 페이지 접근 자체를 차단합니다 |
| 색인 여부 | 크롤링은 허용하되 색인을 차단합니다 | 크롤링을 차단하지만, 외부 링크 등을 통해 색인될 수 있습니다 |
| 링크 자산 | 페이지의 링크 가치(link equity)가 전달될 수 있습니다 | 크롤러가 페이지를 읽지 못하므로 링크 가치 전달이 불가합니다 |
| 적용 범위 | 개별 페이지 단위로 정밀 제어가 가능합니다 | 디렉토리 또는 URL 패턴 단위로 일괄 제어합니다 |
가장 중요한 주의사항은 두 가지를 동시에 사용하면 안 된다는 점입니다. robots.txt로 크롤링을 차단하면 검색 엔진이 해당 페이지의 noindex 태그를 읽을 수 없으므로, noindex 지시가 무시되고 페이지가 검색 결과에 계속 남아 있을 수 있습니다. 검색 결과에서 확실히 제외하려면 크롤링은 허용한 상태에서 noindex 메타 태그를 사용하는 것이 올바른 방법입니다.
관련 인블로그 게시물
inblog에서 활용하기
inblog에서 개별 포스트 또는 태그 페이지에 noindex를 설정할 수 있어, 원하지 않는 페이지의 인덱싱을 방지합니다.