robots.txt와 sitemap 제대로 설정하기, 잘못 건드리면 검색에서 사라집니다
robots.txt란 무엇인가?
robots.txt는 웹사이트 루트 디렉토리에 위치하는 텍스트 파일로, 검색 엔진 크롤러에게 '이 페이지는 크롤링해도 돼', '이 페이지는 하지 마'를 지시하는 역할입니다. 내사이트.com/robots.txt 로 접속하면 현재 설정을 바로 확인할 수 있습니다.
중요한 건 robots.txt는 '색인 차단'이 아니라 '크롤링 차단'이라는 점입니다. robots.txt로 차단된 페이지라도, 외부에서 링크가 걸려있으면 구글이 URL 자체는 색인할 수 있습니다(내용은 못 읽지만). 색인 자체를 막으려면 noindex 메타태그를 써야 합니다.
robots.txt 기본 설정과 문법
필수 지시어 4가지
| 지시어 | 예시 | 설명 |
|---|---|---|
| User-agent | User-agent: * | 대상 크롤러 지정 |
| Allow | Allow: / | 크롤링 허용 경로 |
| Disallow | Disallow: /admin/ | 크롤링 차단 경로 |
| Sitemap | Sitemap: https://example.com/sitemap.xml | 사이트맵 위치 안내 |
올바른 robots.txt 예시
일반적인 웹사이트의 기본 설정은 이렇습니다: User-agent: * / Allow: / / Disallow: /admin/ / Disallow: /api/ / Sitemap: https://내사이트.com/sitemap.xml. 이렇게 하면 관리자 페이지와 API 엔드포인트만 차단하고, 나머지는 모두 크롤링을 허용합니다.
robots.txt 설정 실수 — 사이트가 검색에서 사라지는 경우
robots.txt 설정 실수는 SEO에서 가장 치명적인 실수 중 하나입니다. 설정 한 줄 잘못 쓰면 사이트 전체가 구글에서 사라질 수 있기 때문입니다.
- Disallow: / 실수: Disallow: /admin/ 이라고 써야 할 것을 Disallow: / 로 쓰면, 사이트 전체가 크롤링 차단됩니다. 가장 흔하면서 가장 치명적인 실수입니다.
- 개발 환경 설정 유지: 개발 중에 검색엔진을 막아뒀다가, 라이브 배포 후에 풀지 않는 경우가 많습니다. 배포 체크리스트에 robots.txt 확인을 반드시 포함하세요.
- 슬래시(/) 빠뜨리기: Disallow: admin 은 작동하지 않습니다. 반드시 Disallow: /admin/ 처럼 슬래시로 시작해야 합니다.
사이트맵(sitemap.xml)이란?
사이트맵은 웹사이트에 있는 모든 페이지의 URL 목록을 XML 형식으로 만든 파일입니다. 구글에 '우리 사이트에 이런 페이지들이 있다'고 알려주는 지도 역할을 합니다. 사이트맵이 없어도 크롤링은 되지만, 있으면 구글이 페이지를 더 빠르고 정확하게 발견합니다.
특히 페이지 수가 많거나, 내부 링크가 약한 사이트에서는 사이트맵이 필수입니다. 고립된 페이지(어디에서도 링크되지 않은 페이지)는 사이트맵 없이 구글이 발견하기 거의 불가능합니다.
사이트맵 생성 & 등록 방법
- 워드프레스: Yoast SEO, Rank Math 같은 플러그인이 사이트맵을 자동 생성합니다. 별도 작업 없이 /sitemap.xml 이나 /sitemap_index.xml 로 접속하면 확인할 수 있습니다.
- 쇼핑몰(카페24, 고도몰 등): 대부분 관리자 설정에서 사이트맵 생성 옵션을 제공합니다. 없으면 온라인 사이트맵 생성 도구를 사용할 수 있습니다.
- 직접 개발한 사이트: 프레임워크별 사이트맵 라이브러리를 사용하거나, 페이지 URL 목록을 XML 형식으로 직접 만들면 됩니다.
- 서치콘솔 등록: 사이트맵을 만들었으면 Google Search Console > 색인 > 사이트맵에서 URL을 제출합니다. 제출 후 상태가 '성공'으로 표시되면 정상입니다.
사이트맵 관리 시 주의사항
- 404 URL 포함 금지: 사이트맵에 존재하지 않는 페이지(404)가 포함되어 있으면 구글이 사이트 품질을 낮게 평가합니다. 페이지를 삭제하면 사이트맵에서도 빼주세요.
- 정기 업데이트: 새 페이지를 추가하거나 기존 페이지를 삭제할 때 사이트맵도 같이 업데이트해야 합니다. 워드프레스 플러그인은 이를 자동으로 처리합니다.
- URL 50,000개 제한: 하나의 사이트맵 파일에 최대 50,000개의 URL을 담을 수 있습니다. 그 이상이면 사이트맵 인덱스 파일로 여러 사이트맵을 묶어야 합니다.
자주 묻는 질문
Q. robots.txt 파일이 없으면 어떻게 되나요?
robots.txt가 없으면 크롤러가 사이트 전체를 자유롭게 크롤링합니다. 차단할 페이지가 없다면 없어도 문제는 없습니다. 다만 Sitemap 위치를 알려주는 역할도 하므로, 간단하게라도 만들어두는 게 좋습니다.
Q. 사이트맵 없이도 구글에 색인될 수 있나요?
될 수는 있지만 시간이 훨씬 오래 걸립니다. 구글봇은 다른 사이트의 링크나 내부 링크를 따라다니면서 페이지를 발견합니다. 사이트맵이 있으면 이 과정을 건너뛰고 바로 모든 페이지를 알려줄 수 있어서, 색인 속도가 확실히 빨라집니다.
Q. robots.txt를 수정했는데 바로 반영되나요?
구글은 robots.txt를 주기적으로(보통 하루에 여러 번) 다시 읽어갑니다. 수정 후 반영까지 몇 시간에서 하루 정도 걸릴 수 있습니다. 빠르게 반영하고 싶으면 Google Search Console의 'robots.txt 테스터'에서 제출하면 됩니다.
관련 글 더 보기
- 내 웹사이트가 구글에 안 나올 때 확인해야 할 원인별 해결 가이드— 블로그가 아닌 일반 웹사이트도 구글 색인이 안 되면 검색에 나오지 않습니...
- site: 검색으로 색인 상태 확인하기 (30초 만에 진단하는 법)— 구글에서 site: 명령어 하나면 내 블로그가 구글에 몇 개나 잡혀있는지...