1. robots.txt란?
robots.txt
는 웹사이트의 루트 디렉토리에 위치하는 텍스트 파일로, 검색 엔진 크롤러(봇)가 어떤 페이지를 크롤링할 수 있는지 규정하는 역할을 합니다. 이를 활용하면 SEO 최적화를 하거나, 크롤러의 부하를 줄일 수 있습니다.
2. robots.txt의 주요 역할
✅ 검색 엔진 크롤러 접근 제어
- 특정 디렉토리나 페이지의 크롤링을 허용하거나 차단할 수 있음.
✅ 서버 부하 방지
- 크롤링 빈도를 제한하여 서버의 부하를 줄일 수 있음.
✅ 개인정보 보호
- 관리자 페이지, 로그인 페이지, 비공개 데이터 등이 검색 엔진에 노출되지 않도록 설정 가능.
✅ 중복 콘텐츠 방지 및 SEO 개선
- 중복 콘텐츠가 검색 엔진에 색인되지 않도록 설정하여 검색 순위를 최적화 가능.
3. robots.txt 기본 구조 및 예제
📌 기본 구조
User-agent: *
Disallow: /admin/
Disallow: /private/
Allow: /public/
User-agent
: 특정 검색 엔진 크롤러를 지정 (예: Googlebot, Bingbot 등).*
는 모든 크롤러를 의미.Disallow
: 크롤링을 금지할 디렉토리 또는 페이지 지정.Allow
: 크롤링을 허용할 디렉토리 또는 페이지 지정.
📌 예제 1: 모든 크롤러가 웹사이트 전체를 크롤링 가능
User-agent: *
Disallow:
➡️ 모든 페이지 크롤링 가능.
📌 예제 2: 모든 크롤러가 특정 디렉토리를 크롤링하지 못하도록 차단
User-agent: *
Disallow: /admin/
Disallow: /login/
➡️ /admin/
및 /login/
페이지는 크롤링 금지.
📌 예제 3: 특정 크롤러만 차단
User-agent: Googlebot
Disallow: /private/
➡️ Googlebot은 /private/
디렉토리를 크롤링할 수 없음.
📌 예제 4: 특정 페이지 크롤링 허용
User-agent: *
Disallow: /private/
Allow: /private/public-info.html
➡️ /private/
디렉토리는 차단하지만 /private/public-info.html
페이지는 크롤링 허용.
📌 예제 5: 크롤러의 크롤링 속도 제한 (Crawl-delay)
User-agent: Bingbot
Crawl-delay: 10
➡️ Bingbot의 크롤링 간격을 10초로 설정 (Googlebot은 Crawl-delay
를 지원하지 않음).
4. robots.txt와 SEO 최적화
🔹 Sitemap.xml과 함께 사용하기
robots.txt
파일에 사이트맵을 명시하면 검색 엔진이 크롤링해야 할 중요한 페이지를 효과적으로 찾을 수 있습니다.
User-agent: *
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml
🔹 robots.txt로 차단하면 안 되는 페이지
다음 페이지는 검색 엔진에서 차단하지 않는 것이 좋습니다:
- 홈페이지 (
/
) - 제품 상세 페이지 (e-commerce 사이트)
- 게시글 페이지 (블로그, 뉴스 사이트)
- 사이트맵 (
/sitemap.xml
)
User-agent: *
Disallow: /
🚨 이 설정을 하면 사이트 전체가 검색 엔진에서 차단됨! 주의 필요!
🔹 색인에서 완전히 제외하려면?
robots.txt
로 차단해도 검색 엔진에 이미 색인된 페이지는 삭제되지 않습니다. 완전히 제외하려면:
<meta name="robots" content="noindex">
태그 사용- Google Search Console에서 색인 삭제 요청
X-Robots-Tag
HTTP 헤더 적용
🔹 SEO에서 robots.txt가 미치는 영향
1️⃣ 검색 엔진이 크롤링해야 할 페이지를 효율적으로 안내
- 검색 엔진 크롤러는 웹사이트의 모든 페이지를 크롤링하려고 시도하지만, 크롤링할 필요가 없는 페이지도 포함될 수 있습니다.
robots.txt
를 활용하면 크롤링이 불필요한 페이지(예: 관리자 페이지, 장바구니 페이지, 비공개 콘텐츠 등)를 제외하여 중요한 페이지를 더 빠르게 색인하도록 유도할 수 있습니다.
✅ 예제:
User-agent: *
Disallow: /admin/
Disallow: /cart/
Allow: /blog/
➡️ /admin/
과 /cart/
페이지는 크롤링하지 않지만, /blog/
페이지는 크롤링 허용.
🚀 SEO 이점: 검색 엔진이 중요 콘텐츠(블로그, 제품 페이지)를 더 빠르게 색인하여 검색 순위를 높일 수 있음.
2️⃣ 중복 콘텐츠 방지 (Duplicate Content Issue 해결)
- 동일한 콘텐츠가 여러 URL에서 제공되면 중복 콘텐츠(Duplicate Content) 이슈가 발생하여 SEO 성능이 떨어질 수 있습니다.
robots.txt
를 활용하여 특정 경로의 중복 페이지 크롤링을 막아 검색 순위를 올바르게 유지할 수 있습니다.
✅ 예제 (파라미터 페이지 차단):
User-agent: *
Disallow: /*?sort=
➡️ ?sort=price
, ?sort=date
등 정렬 옵션을 포함한 URL 크롤링 방지.
🚀 SEO 이점: 검색 엔진이 불필요한 중복 페이지를 크롤링하지 않아 검색 순위 최적화 가능.
3️⃣ 사이트 속도 최적화 및 서버 부하 감소
- 검색 엔진 크롤러가 너무 자주 방문하면 서버에 부하가 걸릴 수 있습니다.
Crawl-delay
를 설정하면 일부 검색 엔진(예: Bing, Yandex)의 크롤링 속도를 조절할 수 있습니다.
✅ 예제:
User-agent: Bingbot
Crawl-delay: 10
➡️ Bingbot이 10초 간격으로 크롤링하도록 제한.
🚀 SEO 이점: 서버 부하를 줄이고, 사이트 속도를 유지하여 UX(사용자 경험) 및 SEO 점수 향상.
4️⃣ 사이트맵(Sitemap.xml)과 함께 사용하여 크롤링 최적화
robots.txt
에서 사이트맵을 지정하면 검색 엔진이 중요한 페이지를 빠르게 발견하여 색인할 수 있습니다.
✅ 예제:
User-agent: *
Sitemap: https://example.com/sitemap.xml
➡️ 검색 엔진이 sitemap.xml
을 참고하여 우선적으로 중요한 페이지를 크롤링.
🚀 SEO 이점: 검색 엔진이 중요한 페이지를 더 빨리 찾아 색인할 수 있음.
5️⃣ 중요한 페이지가 차단되지 않도록 주의해야 함
Disallow: /
설정을 잘못하면 사이트 전체가 검색 엔진에서 차단될 수 있습니다.
🚨 잘못된 예제 (검색 엔진 차단 위험!)
User-agent: *
Disallow: /
➡️ 이 설정을 하면 사이트 전체가 검색 엔진에서 사라짐!
🚀 SEO 이점 (주의할 점): robots.txt
설정 오류로 인해 중요한 페이지가 검색되지 않는 실수를 방지.
✅ 결론: SEO 최적화를 위한 robots.txt 사용법 요약
SEO 요소 | robots.txt 설정 방법 | SEO 효과 |
---|---|---|
불필요한 페이지 차단 | Disallow: /admin/ Disallow: /cart/ | 크롤링 리소스 절약 |
중복 콘텐츠 방지 | Disallow: /*?sort= | 색인 효율성 증가 |
서버 부하 방지 | Crawl-delay: 10 (Bing, Yandex 한정) | 서버 안정성 유지 |
사이트맵과 함께 사용 | Sitemap: https://example.com/sitemap.xml | 중요한 페이지 색인 최적화 |
중요 페이지 차단 방지 | Disallow: / 설정 금지 | 검색 엔진 노출 유지 |
🔹 robots.txt 테스트를 위한 최신 방법 (2024년 기준)
✅ 1. Google Search Console에서 직접 확인
- Google Search Console 접속
- 웹사이트 소유권을 확인하고 등록
- “URL 검사” 도구 사용
- 검색창에 검사할 URL 입력
- “색인 생성 가능 여부” 확인
- robots.txt로 차단 여부를 표시함
- 만약 “크롤링이 차단됨” 메시지가 나오면,
robots.txt
설정을 수정 후 다시 확인!
✅ 2. 브라우저에서 직접 robots.txt 파일 확인
- 웹사이트 주소 뒤에
/robots.txt
를 입력하여 직접 확인 가능
예:https://example.com/robots.txt
✅ 3. Google의 크롤링 가능 여부 테스트
Google이 내 웹페이지를 크롤링할 수 있는지 확인하는 또 다른 방법:
- Google에서 직접
site:도메인
검색site:example.com
- 검색 결과에 웹사이트가 나오지 않으면 robots.txt나
noindex
태그 문제일 가능성이 높음.
- 검색 결과에 웹사이트가 나오지 않으면 robots.txt나
- Google의 Mobile-Friendly Test 활용
- 모바일 친화성 테스트 도구에서 특정 URL을 검사하면 크롤링 가능 여부도 확인할 수 있음.
📌 결론:
- Google Search Console에서 “URL 검사” 도구를 활용하세요!
- robots.txt 파일을 직접 확인하려면
https://example.com/robots.txt
로 접속하세요. - “site:도메인” 검색을 통해 색인 여부를 빠르게 체크하세요.