SEO#sitemap.xml#robots.txt#Search Console

sitemap.xml과 robots.txt 제대로 쓰는 법 — 네이버·구글 동시 등록 가이드

robots.txt와 sitemap.xml만 제대로 써도 인덱싱 90%는 해결됩니다. 네이버·구글·빙 동시 등록 절차와 파일 예시까지 7년차 엔지니어의 체크리스트.

빈랩9분 읽기

Google Search Console과 네이버 SearchAdvisor 대시보드가 나란히 표시된 화면

빈랩은 한국 사이트 200곳 이상의 검색엔진 인덱싱을 직접 다뤄왔습니다. 그중 80%는 사이트가 잘못 만들어진 게 아니라 robots.txt와 sitemap.xml 두 파일을 안 썼거나, 잘못 썼습니다. 이게 빠지면 디자인이 아무리 좋아도 100% 검색에 안 나옵니다.

왜 사이트가 검색엔진에 안 나타나나 — 십중팔구 이거

오픈한 지 한 달이 지났는데 회사명을 검색해도 안 나온다? 진단 시 가장 먼저 두 가지를 확인합니다.

  1. https://도메인/robots.txt가 200으로 응답하는가
  2. https://도메인/sitemap.xml이 정상 XML로 열리는가

이 둘 중 하나라도 빠져 있으면 봇이 사이트 구조를 파악할 수 없습니다. 특히 한국에서 가장 많이 만나는 케이스는 robots.txt에 User-agent: Yeti 규칙이 없어서 네이버 봇이 크롤링을 못 하는 경우입니다. 인덱싱 안 되는 다른 원인은 검색에 안 나오는 5가지 이유에 정리해 뒀습니다.

robots.txt 5분 만에 제대로 쓰기

robots.txt는 사이트 루트(/public/robots.txt)에 두는 한 글자도 틀리면 안 되는 파일입니다.

User-agent: Googlebot Allow: / Disallow: /admin/ Disallow: /api/ User-agent: Yeti Allow: / Disallow: /admin/ Disallow: /api/ Crawl-delay: 1 User-agent: bingbot Allow: / Disallow: /admin/ User-agent: * Allow: / Disallow: /admin/ Disallow: /api/ Sitemap: https://example.com/sitemap.xml

체크 포인트:

  • Yeti 규칙 필수 — 네이버 봇 이름이 Yeti입니다. 빠지면 네이버 색인 0건.
  • Sitemap 절대경로 — 상대경로로 쓰면 못 읽습니다. 반드시 https://부터.
  • Disallow는 최소화 — 본문 페이지를 실수로 막으면 그날로 트래픽 증발.

sitemap.xml 자동 생성 vs 수동 — 결정 기준

페이지 수 30개 이하의 정적 사이트는 수동도 괜찮습니다. 그 이상이면 자동입니다. Next.js 14/15 환경이면 app/sitemap.ts로 빌드 시점에 자동 생성하는 게 정답입니다.

import type { MetadataRoute } from "next"; import { getAllArticles } from "@/lib/articles"; export default async function sitemap(): Promise<MetadataRoute.Sitemap> { const base = "https://example.com"; const articles = await getAllArticles(); const staticRoutes = [ { url: `${base}/`, lastModified: new Date(), changeFrequency: "weekly" as const, priority: 1 }, ]; const dynamicRoutes = articles.map((a) => ({ url: `${base}/article/${a.slug}`, lastModified: a.updatedAt, changeFrequency: "monthly" as const, priority: 0.7, })); return [...staticRoutes, ...dynamicRoutes]; }

Google Search Console 등록 5단계

  1. search.google.com/search-console 접속 → "속성 추가"
  2. DNS TXT 레코드로 소유권 확인 (도메인 속성 권장)
  3. 좌측 "Sitemaps" → https://example.com/sitemap.xml 제출
  4. "URL 검사" 도구에 핵심 페이지 5개 직접 입력 → "색인 생성 요청"
  5. 1-3일 후 "색인 생성" 리포트에서 등록된 페이지 수 확인

네이버 웹마스터도구 등록 — 한국 시장 필수

한국 사이트면 네이버 등록이 구글보다 더 중요할 수도 있습니다.

  1. searchadvisor.naver.com 로그인 → "사이트 등록"
  2. 소유 확인은 HTML 메타태그 또는 HTML 파일 업로드 (DNS는 미지원)
  3. "요청 → 사이트맵 제출"에 sitemap.xml URL 입력
  4. "요청 → RSS 제출"도 같이 (블로그가 있으면 색인 속도 빨라짐)
  5. "검증 → robots.txt"에서 Yeti 허용 여부 한 번 더 확인

Bing Webmaster — 5분 추가로 점유율 확보

빙은 자주 무시당하지만, Google Search Console에서 데이터 import 한 번이면 끝입니다. ChatGPT 검색·Copilot의 백엔드 인덱스이기도 해서 등록은 필수.

검색엔진등록 URL소요시간소유 확인 방식
Googlesearch.google.com/search-console1-3일DNS TXT, HTML, GA
네이버searchadvisor.naver.com3-7일HTML 메타태그, HTML 파일
Bingbing.com/webmasters즉시(GSC import)XML, BingSiteAuth, GSC 연동

빈랩 추천

robots.txt 한 줄 쓰는 건 5분이지만, Vercel 배포 + 도메인 DNS + Search Console + 네이버 SearchAdvisor 4개를 동시에 만지면 막힘 포인트가 많습니다. DNS TXT 캐시·메타태그가 SSR 응답에 안 들어가는 케이스 — 전부 1주일씩 잡아먹습니다. 빈랩은 도메인·DNS·Vercel 배포·Search Console·네이버 SearchAdvisor 5개를 한 번에 셋업하는 패키지를 운영합니다. JSON-LD 구조화 데이터 가이드까지 적용하면 검색 노출이 한 단계 더 올라갑니다.

5분 체크리스트

  • /robots.txt에 Googlebot, Yeti, bingbot, * 4개 규칙 분리
  • robots.txt 마지막 줄에 Sitemap: https://... 절대경로
  • /sitemap.xml이 200으로 열리고 모든 핵심 페이지 포함
  • Google Search Console에 sitemap 제출 + 색인 생성 요청 완료
  • 네이버 SearchAdvisor에 sitemap + RSS 제출 + Yeti 허용 검증
  • Bing Webmaster GSC import 완료

결과로 증명하는 IT 에이전시

대표님의 다음 홈페이지,
30분 무료 진단부터 시작하세요

빈랩이 만든 사이트라면 검색 노출·관리자 페이지·문의 알림이 제작 단계부터 포함됩니다.

30분 무료 진단으로 현재 사이트의 약점 리포트를 받아보실 수 있습니다 — 평균 24시간 이내 회신해 드립니다.

관련 아티클

같은 카테고리