이 글에서 배울 수 있는 것

  • robots.txt의 정확한 역할과 noindex와의 차이
  • 업종별 robots.txt 권장 설정 예시 코드
  • XML 사이트맵 구조와 제출 방법 단계별 안내
  • 크롤 버짓(Crawl Budget) 최적화 전략
  • 워드프레스·쇼핑몰·정적 사이트별 설정 방법

① robots.txt란 무엇인가?

robots.txt는 웹사이트 루트 디렉토리에 위치하는 텍스트 파일로, 검색엔진 크롤러에게 "어느 페이지를 방문해도 되고, 어느 페이지는 방문하지 말라"고 지시하는 파일입니다. 구글봇이 사이트에 처음 방문할 때 가장 먼저 확인하는 파일이기도 합니다.

파일 위치는 반드시 도메인 루트여야 합니다: https://example.com/robots.txt

robots.txt vs. noindex — 혼동하면 안 되는 핵심 차이

구분robots.txt Disallowmeta noindex
역할크롤링(방문) 차단색인(게시) 차단
구글 적용페이지를 읽지 않음페이지를 읽되, 검색결과에 미표시
검색 결과 노출URL은 노출될 수 있음 (내용 없이)URL 자체가 노출 안 됨
사용 목적관리자 페이지, 중복 URL, 불필요 리소스임시 페이지, 개인정보 페이지, 테스트 페이지

⚠️ 흔한 오해

robots.txt로 차단한 페이지도 검색 결과에 나올 수 있습니다. 다른 사이트에서 해당 페이지로 링크가 연결되어 있으면 구글은 내용을 읽지 못한 채 URL만 색인합니다. 검색 결과에서 완전히 제외하려면 반드시 noindex 메타 태그를 함께 사용해야 합니다.

② robots.txt 작성법 — 기본 문법부터 실전까지

기본 문법 4가지

지시어역할예시
User-agent규칙을 적용할 크롤러 지정User-agent: * (모든 봇)
Disallow방문 금지 경로 지정Disallow: /admin/
AllowDisallow 예외 허용Allow: /admin/login
Sitemap사이트맵 위치 안내Sitemap: https://example.com/sitemap.xml

일반 기업·서비스 사이트 권장 설정

# 일반 서비스·기업 사이트 기본 robots.txt User-agent: * # 관리자 및 시스템 경로 차단 Disallow: /admin/ Disallow: /login Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php # 검색·필터·파라미터 URL 차단 (중복 콘텐츠 방지) Disallow: /*?* Allow: /*?page= # 불필요 파일 차단 Disallow: /*.pdf$ Disallow: /cart Disallow: /checkout Disallow: /account/ # 사이트맵 위치 안내 Sitemap: https://example.com/sitemap.xml

쇼핑몰·이커머스 권장 설정

# 쇼핑몰 robots.txt User-agent: * # 구매·주문 프로세스 차단 Disallow: /cart/ Disallow: /checkout/ Disallow: /order/ Disallow: /my-account/ # 필터·정렬 파라미터 중복 차단 Disallow: /*?sort= Disallow: /*?filter= Disallow: /*&page= # 내부 검색 결과 차단 (중복 콘텐츠) Disallow: /search/ Disallow: /?s= Sitemap: https://shop.example.com/sitemap.xml Sitemap: https://shop.example.com/sitemap-products.xml

병원·클리닉 권장 설정

# 병원 사이트 robots.txt User-agent: * # 환자 개인정보 보호 Disallow: /reservation/ Disallow: /patient/ Disallow: /medical-record/ Disallow: /admin/ # 예약 확인·결제 페이지 차단 Disallow: /booking/confirm Disallow: /payment/ Sitemap: https://clinic.example.com/sitemap.xml

테스트 필수

작성한 robots.txt는 반드시 Google Search Console → 크롤링 → robots.txt 테스터에서 검증하세요. 의도치 않게 중요 페이지를 차단하는 실수를 방지할 수 있습니다.

③ robots.txt 치명적 실수 — 사이트 전체가 검색에서 사라질 수 있습니다

실수 1: 전체 사이트 차단

# ❌ 절대 사용 금지 — 사이트 전체 크롤링 차단 User-agent: * Disallow: /

개발 중 실수로 이 설정을 프로덕션에 배포하는 사고가 실제로 자주 발생합니다. 구글 서치 콘솔에서 즉시 크롤링 오류가 폭증하므로 배포 후 바로 확인하는 습관을 들이세요.

실수 2: 사이트맵을 robots.txt로 차단

# ❌ 사이트맵 자체를 차단하는 실수 Disallow: /*.xml # ✅ 올바른 방법 — sitemap만 허용 명시 Disallow: /*.xml Allow: /sitemap*.xml

실수 3: 중요 CSS·JS 파일 차단

구글은 페이지 렌더링을 위해 CSS와 JavaScript 파일을 읽습니다. 이 파일들을 robots.txt로 차단하면 구글이 페이지를 올바르게 렌더링하지 못해 구조화 데이터, Open Graph 등이 인식되지 않을 수 있습니다.

# ❌ CSS·JS 차단 — 렌더링 실패 유발 Disallow: /wp-includes/ Disallow: /wp-content/themes/ # ✅ 테마·플러그인 css/js는 허용해야 함 Allow: /wp-content/themes/ Allow: /wp-content/plugins/

④ XML 사이트맵이란 무엇인가?

XML 사이트맵(sitemap.xml)은 사이트의 모든 중요 URL 목록과 각 페이지의 메타 정보를 구조화한 파일입니다. 구글봇에게 "이 사이트에는 이런 페이지들이 있다"고 명시적으로 알려주는 지도 역할을 합니다.

특히 다음과 같은 경우 사이트맵의 효과가 큽니다.

  • 사이트 규모가 크고 페이지가 많은 경우 (500페이지 이상)
  • 신규 사이트로 외부 링크가 거의 없어 크롤러 발견이 어려운 경우
  • 멀티미디어(이미지·동영상) 콘텐츠를 검색 결과에 노출시키고 싶은 경우
  • 다국어·다지역 사이트에서 hreflang 관리가 필요한 경우

핵심 포인트

사이트맵은 색인을 보장하지 않습니다. 구글에게 "이 페이지를 확인해 달라"는 힌트를 제공할 뿐입니다. 실제 색인은 페이지 품질에 따라 결정됩니다. 저품질 페이지를 사이트맵에 포함시키면 오히려 역효과가 납니다.

⑤ XML 사이트맵 작성 방법과 제출 단계

기본 XML 사이트맵 구조

<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://example.com/</loc> <lastmod>2026-06-25</lastmod> <changefreq>weekly</changefreq> <priority>1.0</priority> </url> <url> <loc>https://example.com/about</loc> <lastmod>2026-05-10</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> <url> <loc>https://example.com/blog/seo-guide</loc> <lastmod>2026-06-20</lastmod> <changefreq>monthly</changefreq> <priority>0.6</priority> </url> </urlset>

사이트맵 주요 태그 설명

태그역할권장 값
<loc>페이지 URL (필수)canonical URL과 동일하게
<lastmod>마지막 수정일 (권장)실제 콘텐츠 변경일만 기재
<changefreq>변경 빈도 (참고용)구글은 거의 무시함 — 생략 가능
<priority>상대적 중요도 (참고용)구글은 거의 무시함 — 생략 가능

⚠️ 주의: changefreq와 priority

구글은 공식적으로 changefreqpriority 값을 거의 참고하지 않는다고 밝혔습니다. 모든 페이지를 priority: 1.0으로 설정하는 것은 의미가 없으며, lastmod를 실제 수정일과 다르게 조작하면 오히려 신뢰도가 낮아집니다.

사이트맵 인덱스 파일 — 페이지가 많을 때

사이트맵 하나의 최대 URL 수는 50,000개, 파일 크기는 50MB입니다. 이를 초과할 경우 사이트맵을 분리하고 인덱스 파일로 관리합니다.

<!-- sitemap-index.xml --> <?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc>https://example.com/sitemap-pages.xml</loc> <lastmod>2026-06-25</lastmod> </sitemap> <sitemap> <loc>https://example.com/sitemap-posts.xml</loc> <lastmod>2026-06-25</lastmod> </sitemap> <sitemap> <loc>https://example.com/sitemap-products.xml</loc> <lastmod>2026-06-24</lastmod> </sitemap> </sitemapindex>

Google Search Console에 사이트맵 제출하는 법

  1. Google Search Console 접속 → 좌측 메뉴 색인 생성 → 사이트맵 클릭
  2. '새 사이트맵 추가' 입력란에 사이트맵 URL 입력 (예: sitemap.xml)
  3. '제출' 버튼 클릭
  4. 제출 후 수 분~수 시간 내 상태가 '성공'으로 바뀌는지 확인
  5. '검색된 URL'과 '색인이 생성된 URL' 숫자 차이를 주기적으로 모니터링

사이트맵 제출 외 추가 방법

robots.txt 파일 안에 Sitemap: https://example.com/sitemap.xml을 추가하면, 구글봇이 robots.txt를 읽을 때 사이트맵 위치를 자동으로 파악합니다. Search Console 제출과 함께 병행하는 것이 권장됩니다.

⑥ 크롤 버짓(Crawl Budget) 최적화 전략

크롤 버짓이란 구글봇이 일정 기간 동안 특정 사이트에 할당하는 크롤링 횟수입니다. 중소형 사이트(수백 페이지)는 크롤 버짓을 걱정할 필요가 없지만, 수만 페이지 이상의 대형 사이트에서는 크롤 버짓 관리가 순위에 직접적인 영향을 미칩니다.

크롤 버짓을 낭비하는 주요 원인

  • 무한 파라미터 URL — 검색·필터·정렬 조합으로 생성되는 수백만 개의 중복 URL
  • 세션 ID URL?sessionid=abc123 형태의 URL이 방문마다 새로 생성
  • 404 페이지 과다 — 삭제된 페이지로의 내부 링크가 남아있는 경우
  • 리다이렉트 체인 — A→B→C로 이어지는 다단계 리다이렉트
  • 저품질·중복 콘텐츠 페이지 — 태그 페이지, 날짜 아카이브 페이지 등

크롤 버짓 최적화 체크리스트

액션방법효과
파라미터 URL 차단robots.txt Disallow 또는 GSC URL 파라미터 설정중복 크롤링 90% 감소 가능
noindex 적용태그·날짜 아카이브 페이지에 noindex 추가불필요 페이지 색인 제거
404 링크 수정GSC '크롤링 오류' 보고서에서 확인 후 수정크롤 시간 낭비 방지
리다이렉트 직접화A→B→C를 A→C로 단축크롤링 속도 개선
서버 응답속도 개선TTFB 200ms 이하 목표크롤 속도 직접 향상

⑦ 플랫폼별 robots.txt & 사이트맵 설정법

워드프레스(WordPress)

  • 사이트맵: Yoast SEO 또는 Rank Math 플러그인 설치 시 자동 생성 (/sitemap_index.xml)
  • robots.txt: Yoast SEO → 도구 → 파일 편집기에서 직접 수정
  • WordPress 기본 robots.txt는 /wp-admin/만 차단 — 추가 최적화 필요
  • All in One SEO 플러그인도 사이트맵·robots.txt 통합 관리 지원

카페24·고도몰 (국내 쇼핑몰 호스팅)

  • 사이트맵: 관리자 → SEO 관리 → 사이트맵 자동 생성 기능 활용
  • 상품 수가 많으면 카테고리별 사이트맵 분리 권장
  • 카트·주문·회원 경로(/order/, /member/)는 반드시 Disallow

정적 사이트 (HTML 직접 운영)

  • robots.txt를 도메인 루트 폴더에 직접 업로드
  • 사이트맵은 직접 작성하거나 xml-sitemaps.com 같은 무료 생성기 활용
  • 페이지 추가·삭제 시마다 수동 업데이트 필요 — 자동화 스크립트 작성 권장

Next.js · Nuxt.js 등 JS 프레임워크

  • Next.js: next-sitemap 패키지로 빌드 시 자동 생성
  • Nuxt.js: @nuxtjs/sitemap 모듈 사용
  • robots.txt는 /public/robots.txt에 직접 파일 생성
  • SSR(서버사이드 렌더링) 설정이 되어 있는지 반드시 확인 — CSR만 되어 있으면 구글봇이 내용을 제대로 읽지 못함

⑧ 자주 묻는 질문 (FAQ)

robots.txt에서 차단한 페이지도 구글 검색 결과에 나올 수 있나요?

네, 나올 수 있습니다. robots.txt는 크롤링을 막을 뿐, 색인(Index)을 막지는 않습니다. 다른 사이트에서 해당 URL로 링크가 연결되어 있다면 구글은 페이지 내용을 읽지 못한 채로도 URL만 색인에 포함시킬 수 있습니다. 검색 결과에서 완전히 제외하려면 <meta name="robots" content="noindex">를 사용해야 합니다.

XML 사이트맵에 모든 페이지를 포함시켜야 하나요?

아니요. 사이트맵에는 색인되기를 원하는 고품질 페이지만 포함해야 합니다. 중복 페이지(파라미터 URL), 404 페이지, noindex 페이지, 로그인이 필요한 페이지 등은 제외하세요. 사이트맵에 저품질 페이지를 포함시키면 오히려 구글이 사이트 전체 품질을 낮게 평가할 수 있습니다.

사이트맵을 제출했는데 구글 서치 콘솔에서 '가져올 수 없음' 오류가 납니다.

주요 원인은 세 가지입니다. 첫째, robots.txt에서 Googlebot이 사이트맵 URL을 차단하고 있는 경우. 둘째, 사이트맵 파일이 해당 URL에 실제로 존재하지 않는 경우(404). 셋째, 사이트맵 XML 형식이 올바르지 않아 파싱 오류가 발생하는 경우입니다. 브라우저에서 직접 sitemap.xml URL에 접속해 파일이 정상 표시되는지 먼저 확인하세요.

관련 인사이트

무료 진단

내 사이트의 크롤링 설정, 지금 바로 점검해보세요

URL 하나로 robots.txt·사이트맵·구조화 데이터·네이버 SEO를 30초 안에 확인할 수 있습니다.

무료 사이트 진단 시작 →