웹사이트를 운영하다 보면 검색 엔진에 어떤 페이지를 노출할지, 또는 노출하지 말아야 할지를 제어할 필요가 있습니다.
이때 사용되는 대표적인 두 가지 방법이 바로 robots.txt와 <meta name="robots"> 태그입니다.
하지만 이 둘은 비슷해 보이지만 역할, 위치, 우선순위에서 분명한 차이가 있습니다.
1️⃣ robots.txt란?
robots.txt는 웹사이트 최상위(root) 디렉토리에 위치하는 텍스트 파일로,
검색 엔진 크롤러(bot) 가 어떤 경로를 크롤링하지 말아야 하는지 알려주는 지침서 역할을 합니다.
📁 위치: https://example.com/robots.txt
🛠 주요 사용 예시:
User-agent: *
Disallow: /admin/
Disallow: /private/
👉 위 설정은 모든 검색 엔진(bot)에게 /admin/, /private/ 경로는 크롤링하지 말라고 지시하는 것입니다.
⚠️ 단점: Disallow는 크롤링만 막을 뿐, 검색 결과에 URL이 노출될 수는 있습니다.
2️⃣ <meta name="robots"> 태그란?
HTML 문서 내 <head> 영역에 추가하는 <meta> 태그입니다.
이 태그는 검색 엔진이 페이지 내용을 인덱싱하거나 링크를 따라갈지 여부를 결정합니다.
🛠 예시:
<meta name="robots" content="noindex, nofollow">
| content 속성 | 의미 |
|---|---|
| noindex | 검색 결과에 등록하지 않음 |
| nofollow | 링크를 따라가지 않음 |
| index | 검색 결과에 등록 허용 (기본값) |
| follow | 링크 추적 허용 (기본값) |
⚠️ 단점: 이 태그는 페이지를 읽은 후에만 작동하므로, robots.txt에서 접근 자체를 막으면 이 태그는 무시됩니다.
🔍 robots.txt vs meta robots 태그 비교
| 항목 | robots.txt | <meta name="robots"> |
|---|---|---|
| 위치 | 사이트 루트 (/robots.txt) | HTML 문서 내부 <head> |
| 역할 | 크롤링 허용/차단 | 인덱싱 및 링크 추적 제어 |
| 적용 대상 | 전체 URL 또는 디렉토리 단위 | 특정 HTML 문서 단위 |
| 작동 시점 | 페이지 접근 전 | 페이지 접근 후 |
| 우선순위 | 접근 차단 → 메타 태그 읽지 못함 | 접근 허용 시에만 작동 |
| 사용 예 | /admin/, /tmp/ 등 크롤링 차단 | 특정 페이지 노출 금지 |
💡 실무 팁
민감한 정보는 robots.txt로 막는 것만으로는 보안이 보장되지 않습니다.
반드시 인증 처리 또는 <meta name="robots" content="noindex"> 같이 병행 사용하세요.
robots.txt는 단순 지침일 뿐, 일부 봇(예: 악성 크롤러)은 이를 무시할 수 있습니다.
Google, Bing 등 주요 검색엔진은 두 방식 모두 잘 준수합니다.
✅ 정리
| 목적 | 권장 방식 |
|---|---|
| 특정 디렉토리 크롤링 차단 | robots.txt 사용 |
| 검색 결과에만 노출 방지 | <meta name="robots" content="noindex"> 사용 |
| 링크 추적까지 방지 | <meta name="robots" content="nofollow"> 추가 |
| 완전한 보호 | robots.txt + meta robots + 인증 처리 병행 |
웹사이트 SEO 및 보안에 중요한 역할을 하는 robots 설정, 목적에 따라 적절히 선택하여 사용하세요!
질문이 있으신분은 고객지원에 글을 남겨주세요 🙌