robots.txt 작성법, 검색에 안 보여야 할 페이지와 사이트맵 위치 알려주는 순서
robots.txt는 검색 로봇이 사이트에 들어오자마자 가장 먼저 읽는 작은 텍스트 파일입니다. 관리자 화면이나 검색 결과 페이지처럼 굳이 수집될 필요가 없는 주소를 알려 주고, 사이트맵이 어디 있는지도 함께 적어 둘 수 있습니다.
몇 줄짜리 파일이지만 한 글자만 잘못 써도 사이트 전체가 검색에서 빠질 수 있어서, 작성 순서와 주의할 점을 정리했습니다.
💡 robots.txt가 없으면 문제가 되나요?
없다고 해서 검색이 안 되는 것은 아닙니다. 로봇은 막힌 곳이 없다고 보고 전부 둘러봅니다. 다만 페이지가 많은 사이트라면 쓸모없는 주소를 돌아다니느라 정작 새 글 수집이 늦어질 수 있고, 사이트맵 위치를 알릴 기회도 놓치게 됩니다. 그리고 주소를 열었을 때 파일 대신 일반 웹페이지나 오류 화면이 나온다면 이것부터 바로잡아야 합니다.
1. 파일 위치와 기본 문법
파일은 반드시 도메인 최상위, 즉 https://도메인/robots.txt 주소에서 열려야 합니다. 하위 폴더에 두면 읽히지 않고, www가 붙은 주소와 안 붙은 주소, http와 https는 각각 따로 봅니다. 형식은 UTF-8 일반 텍스트이고, 줄마다 User-agent(대상 로봇), Disallow(수집 제외), Allow(예외 허용)를 적습니다.
# 모든 검색 로봇에 적용
User-agent: *
Disallow: /admin/
Disallow: /member/
Disallow: /search?
Allow: /
# 사이트맵 위치 (전체 주소로)
Sitemap: https://www.example.com/sitemap.xml
Disallow: 뒤를 비워 두면 전부 허용이고, Disallow: /는 사이트 전체 차단입니다. 개발 서버에서 쓰던 Disallow: /를 그대로 들고 오픈하는 실수가 생각보다 많습니다. 저희도 리뉴얼 오픈 직후 검색 유입이 뚝 끊긴 고객사를 확인해 보니 원인이 이 한 줄이었던 적이 있습니다.
2. 막으면 안 되는 것과 막아도 되는 것
| 구분 | 예시 |
|---|---|
| 막아도 되는 곳 | 관리자 화면, 로그인·회원가입, 사이트 내부 검색 결과, 장바구니 |
| 막으면 안 되는 곳 | CSS·JS 파일, 이미지 폴더, 실제 서비스·상품 페이지 |
| 애매할 때 | 일단 열어 두고, 검색 결과에 보이는 것이 문제일 때만 정리 |
CSS나 스크립트 폴더를 막으면 구글이 화면을 제대로 그리지 못해 페이지 내용을 잘못 이해할 수 있습니다. 보안을 이유로 관리자 주소를 적어 두는 경우도 있는데, robots.txt는 누구나 열어 볼 수 있는 파일이라 숨기는 효과는 없습니다. 관리자 보호는 로그인과 접근 제한으로 해야 합니다.
3. 이미 검색에 나온 페이지를 빼고 싶다면
헷갈리기 쉬운 부분입니다. robots.txt는 수집을 막는 것이지 검색 결과에서 지우는 기능이 아닙니다. 다른 곳에서 링크가 걸려 있으면 막힌 주소도 제목만 검색에 남을 수 있습니다. 검색 결과에서 빼려면 해당 페이지에 아래 태그를 넣고, 그 주소는 robots.txt에서 막지 말아야 로봇이 태그를 읽을 수 있습니다.
<!-- 검색 결과에서 빼고 싶은 페이지의 <head> 안 -->
<meta name="robots" content="noindex, follow">
4. 올린 뒤 확인하기
- 브라우저 주소창에 robots.txt 주소를 직접 열어 글자가 그대로 보이는지 확인합니다.
- 네이버 서치어드바이저의 robots.txt 검증 기능, 구글 서치 콘솔의 robots.txt 보고서에서 오류가 없는지 봅니다.
- 구글은 robots.txt를 보통 하루 정도 저장해 두고 쓰기 때문에, 고친 내용이 바로 반영되지 않아도 조금 기다려 봅니다.
"검색 로봇에게 길을 안내하는 첫 번째 파일입니다."
나눔웹은 사이트를 오픈하기 전에 robots.txt와 사이트맵, 검색 등록까지 한 번에 점검하고 넘겨 드립니다.