블로그나 웹사이트를 운영하면 검색엔진에 잘 노출되는 게 중요한데, 그 전에 “뭘 보여주고 뭘 안 보여줄지”를 먼저 정해야 한다. 이 역할을 하는 게 robots.txt와 meta robots 태그다. 비슷해 보이지만 하는 일이 다르고, 잘못 쓰면 SEO에 직접적으로 악영향을 준다.
robots.txt - 크롤러의 출입문
robots.txt는 웹사이트 루트에 놓는 텍스트 파일이다. 검색엔진 크롤러(Googlebot, Yeti 등)가 사이트에 방문하면 가장 먼저 이 파일을 읽고, 어디를 크롤링해도 되는지 확인한다.
User-agent: *
Allow: /
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml
User-agent로 대상 크롤러를 지정하고, Allow/Disallow로 경로별 접근을 허용하거나 차단한다. Sitemap 지시어로 사이트맵 위치를 알려줄 수도 있다. 이전에 작성한 robots.txt 세팅 가이드에서 기본 문법을 더 자세히 다뤘다.
SEO에서 중요한 이유
크롤 예산(crawl budget)이라는 게 있다. 구글은 사이트마다 크롤링에 할당하는 리소스가 정해져 있는데, 관리자 페이지나 중복 콘텐츠 같은 불필요한 경로를 크롤러가 돌아다니면 정작 중요한 페이지를 제때 크롤링 못 할 수 있다. robots.txt로 불필요한 경로를 차단하면 크롤러가 중요한 페이지에 집중하게 된다.
주의할 점
robots.txt로 크롤링을 차단해도 색인은 막을 수 없다. 다른 사이트에서 해당 URL로 링크를 걸면, 구글은 페이지 내용을 모른 채로도 URL 자체를 색인에 포함시킬 수 있다. 구글은 2019년에 robots.txt의 noindex 지시어 지원을 공식 중단했다. 색인을 막으려면 반드시 meta robots 태그를 써야 한다.
meta robots 태그 - 페이지별 색인 제어
meta robots는 HTML <head> 안에 넣는 태그로, 해당 페이지의 색인 여부를 크롤러에게 알려준다.
<meta name="robots" content="noindex, nofollow">

주요 지시어:
- noindex - 이 페이지를 검색결과에 표시하지 마라
- nofollow - 이 페이지의 링크를 따라가지 마라
- noarchive - 캐시된 페이지를 보여주지 마라
- max-snippet - 검색결과 스니펫 길이 제한
- max-image-preview - 이미지 미리보기 크기 제한 (none/standard/large)
meta robots 태그 활용법에서 저품질 블로그 해결 사례도 다룬 적 있다.
둘의 차이 정리
핵심은 간단하다.
- robots.txt: 크롤링을 차단한다. “이 경로는 오지 마”
- meta robots: 색인을 제어한다. “이 페이지는 검색결과에 넣지 마”
robots.txt로 차단한 페이지에 meta robots noindex를 넣어봤자, 크롤러가 페이지를 못 읽으니 noindex 태그도 못 본다. 색인을 확실히 막으려면 크롤링은 허용하되 noindex를 걸어야 한다. 이 부분을 반대로 하는 실수가 꽤 많다.
실전 활용
- 관리자 페이지, 테스트 환경 → robots.txt로 크롤링 차단
- 중복 콘텐츠, 태그 페이지 → meta robots noindex
- 사이트맵 → robots.txt에 Sitemap 경로 명시
- 이미지 검색 노출 →
max-image-preview:large설정
검색엔진 입장에서 내 사이트를 깔끔하게 정리해두는 게 SEO의 기본이다. robots.txt와 meta robots 태그, 이 두 가지만 제대로 써도 크롤링 낭비를 줄이고 원하는 페이지만 검색결과에 올릴 수 있다.