블로그를 운영하면서 검색 엔진 최적화(SEO)는 매우 중요한 요소 중 하나입니다.
검색 엔진이 웹사이트를 잘 이해하고, 원하는 페이지를 검색 결과에 더 잘 노출시키기 위해서는 다양한 설정이 필요합니다. 그 중 하나가 바로 robots.txt파일입니다.
이 글에서는 robots.txt가 무엇인지, 그리고 어떻게 설정하는지에 대해 자세히 알아보겠습니다.
1. robots.txt란?

검색 엔진은 웹사이트를 정기적으로 방문하여 정보를 수집합니다. 이 과정을 “크롤링”이라고 하며, 이 작업을 수행하는 프로그램을 “크롤러” 또는 “봇”이라고 부릅니다.
robots.txt는 이러한 크롤러의 동작을 제어하는 파일입니다. 간단히 말해, robots.txt는 크롤러에게 웹사이트의 어떤 부분을 크롤링해도 되고, 어떤 부분은 크롤링하지 말아야 하는지 알려주는 규칙을 담고 있는 파일입니다.
robots.txt는 특정 페이지나 폴더에 대한 접근을 허용하거나 차단할 수 있으며, 사이트맵(sitemap.xml)의 위치를 크롤러에게 알려줌으로써, 웹사이트의 구조를 더 효율적으로 이해할 수 있도록 도와줍니다.
다만, 강제성이 있는 것은 아닙니다.
1-1. robots.txt의 역할
robots.txt파일은 크롤러를 위한 일종의 “행동 규칙”입니다.
이 파일은 웹사이트의 루트 디렉토리에 위치하며, 크롤러가 웹사이트를 방문할 때 가장 먼저 확인하는 파일 중 하나입니다. robots.txt는 크롤러에게 어떤 페이지를 크롤링해도 되고, 어떤 페이지는 크롤링하지 말아야 하는지 알려주지만 이 파일은 강제성이 없기 때문에, 악의적인 봇은 이 규칙을 무시할 수도 있습니다.
예를 들어, robots.txt는 체육관, 바, 공공장소 등에 붙어 있는 “행동 규칙“과 비슷합니다. 이 규칙은 강제성이 없지만, 대부분의 사람들은 이를 준수하려고 노력합니다. 반면, 악의적인 목적을 가진 사람들은 이를 무시하고 규칙을 어길 수도 있습니다.
1-2. robots.txt의 작동 원리
robots.txt파일은 HTML 코드가 아닌 일반 텍스트 파일입니다. 따라서 .txt 확장자를 가지고 있습니다. 이 파일은 웹사이트의 다른 파일들과 마찬가지로 웹 서버에 호스팅됩니다.
일반적으로 사이트의 루트 디렉터리에 위치하며, 다음과 같은 URL로 접근할 수 있습니다:
https://example.com/robots.txt
# 노란색부분을 자신의 도메인으로 변경
대부분의 검색 엔진 크롤러는 사이트를 방문할 때 가장 먼저 robots.txt 파일을 확인하고, 그에 따라 크롤링 방식을 결정합니다.
robots.txt파일 내에 상충되는 명령이 있을 경우, 크롤러는 더 구체적인 명령을 따릅니다.
2. robots.txt의 작성 방법

robots.txt 파일은 특정한 형식에 따라 작성됩니다.
robots.txt 파일은 여러 개의 지시문으로 구성되는데 주요 지시문은 다음과 같습니다:
| 지시문 | 설명 |
|---|---|
| User-agent | 크롤러 지정 |
| Disallow | 크롤링을 금지할 페이지/폴더 지정 |
| Allow | 크롤링을 허용할 페이지 지정 |
| Sitemap | 사이트맵의 위치를 크롤러에 알림 |
2-1. User-agent 설정
User-agent는 지시문을 적용할 크롤러를 지정합니다.
모든 크롤러에 적용하려면 * 를 사용합니다.
User-agent: *
특정 검색 엔진 크롤러만 지정하려면 아래와 같이 설정합니다:
User-agent: Googlebot # Google 크롤러 전용
User-agent: Bingbot # Bing 크롤러 전용
2-2. Disallow 설정 (크롤링 차단)
Disallow는 크롤러가 접근하지 말아야 할 경로를 지정합니다.
특정 페이지나 디렉터리를 크롤러가 탐색하지 못하도록 차단할 수 있습니다.
User-agent: *
Disallow: /wp-admin/ # 관리자 페이지 차단
Disallow: /private/ # 비공개 폴더 차단
Disallow: /tmp/ # 임시 파일 폴더 차단
사이트 전체를 차단하려면 다음과 같이 설정합니다:
User-agent: *
Disallow: /
※ 위 처럼만 설정하게 되면, 구글/네이버/다음/빙 등 검색에 노출되지 않으니, 내용을 제대로 파악하고 설정변경을 하셔야 하겠습니다.
2-3. Allow 설정 (크롤링 허용)
Allow는 Disallow로 금지된 경로 중에서 특정 경로만 허용할 때 사용합니다.
예를 들어, 관리자 페이지 중에서 특정 페이지만 크롤링하도록 허용하려면 다음과 같이 작성합니다.
User-agent: *
Disallow: /wp-admin/ # 관리자 페이지 차단
Allow: /wp-admin/admin-ajax.php # 특정 파일은 크롤링 허용
2-4. Sitemap 설정 (사이트맵 위치 지정)
Sitemap은 크롤러에게 사이트맵의 위치를 알려줍니다.
사이트맵을 검색 엔진에 알려주면 크롤러가 사이트를 더 효율적으로 탐색할 수 있습니다.
Sitemap: https://example.com/sitemap.xml
# 노란색부분을 자신의 도메인으로 변경
3. WordPress에서 robots.txt 설정 방법

WordPress를 사용하는 경우, 기본적으로 robots.txt 파일내용이 자동으로 생성되는데, 특별한 이유가 있지 않는 한, 굳이 수정하지 않아도 되겠습니다.
3-1. WordPress 기본 robots.txt
WordPress의 기본 robots.txt 설정은 다음과 같습니다.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xml
이 설정은 관리자 페이지(/wp-admin/)를 크롤링하지 못하도록 제한하지만, admin-ajax.php 파일은 허용합니다. 이는 WordPress의 기능상 필요한 파일이기 때문입니다.
3-2. robots.txt 파일의 수정-플러그인
WordPress에서 robots.txt 파일을 수정하려면, 파일서버에 접근하거나, 플러그인을 사용하여 수정할 수 있습니다.
대표적인 플러그인 Rank Math SEO, Yoast SEO 등을 이용하여 robots.txt 파일을 쉽게 수정하고 관리할 수 있습니다.
- Rank Math SEO 플러그인 사용법
- WordPress 관리자 > Rank Math SEO > 일반 설정 > robots.txt 편집
- Yoast SEO 플러그인 사용법
- WordPress 관리자 > SEO > 도구 > 파일 편집
3-3. robots.txt 파일의 수정-서버

robots.txt 파일은 서버의 도메인 폴더 바로 아래에 저장되어 있는데, 아래 3개의 폴더와 같은 위치에 저장되어 있습니다.
wp-admin
wp-content
wp-includes
robots.txt 파일내용은 URL에서 나타나지만, 서버에 파일이 없는 경우도 있겠습니다.
그럴 경우, robots.txt 파일내용을 수정해야 한다면, robots.txt 파일을 만들어 업로드를 먼저 해주어야 하는데, robots.txt 파일의 작성은 텍스트파일로 가능하지만, 혹시나 실수를 할 수 있기에, 네이버 웹마스터도구에서 작성해주는 기능을 사용하는 것을 추천합니다.

robots.txt 파일을 만들고 파일서버에 업로드해주면서 내용도 같이 수정해주면 되겠습니다.
4. robots.txt 설정 시 주의할 점

robots.txt 설정을 잘못하게 될 경우, 크롤러가 제대로 크롤링하지 못하는 문제가 발생할 수 있기에, 설정 시 아래와 같은 주의점들을 유의해야 하겠습니다.
4-1. 모든 크롤러 차단 시 검색 노출 문제 발생
사이트 전체를 차단하는 설정(Disallow: /)을 사용하면, 검색 엔진에 노출되지 않을 수 있습니다.
SEO 최적화를 고려하여 필요한 부분만 차단하는 것이 좋습니다.
4-2. 민감한 정보 보호는 robots.txt로 충분하지 않음
robots.txt는 단순한 지침일 뿐이며, 악의적인 크롤러는 이를 무시할 수 있습니다. 중요한 정보 보호를 위해서는 다음과 같은 추가적인 조치가 필요합니다:
- .htaccess 파일을 이용한 접근 제한
- 서버 방화벽 설정
- 로그인 페이지에 Captcha 적용
4-3. 설정 변경 후 Google Search Console에서 확인
robots.txt 설정을 변경한 후, Google Search Console에서 robots.txt 테스트 도구를 이용해 설정이 정상적으로 적용되었는지 확인하는 것이 좋습니다.
4-4. 모든 서브도메인에 별도의 robots.txt 파일 필요
각 서브도메인은 별도의 robots.txt 파일을 가져야 합니다.
예를 들어, blog.example.com과 www.example.com은 각각 별도의 robots.txt 파일을 가져야 합니다.
4-5. Disallow와 Allow의 우선순위
Disallow와 Allow가 충돌할 경우, 더 구체적인 명령이 우선합니다.
예를 들어, Disallow: /wp-admin/과 Allow: /wp-admin/admin-ajax.php가 있을 경우, admin-ajax.php는 허용됩니다.
5. 마무리
robots.txt는 웹사이트의 크롤링을 제어하는 중요한 파일입니다. 이를 통해 검색 엔진이 웹사이트를 더 효율적으로 크롤링할 수 있도록 도와줄 수 있습니다.
특히 WordPress를 사용하는 경우, 기본적으로 제공되는 robots.txt 파일을 적절히 수정하여 웹사이트의 보안과 SEO를 최적화할 수 있습니다.
robots.txt 파일을 잘 활용하면, 웹사이트의 중요한 페이지가 검색 엔진에 잘 노출되고, 불필요한 크롤링을 방지할 수 있습니다. 따라서, 블로그 운영자라면 robots.txt 파일의 설정 방법을 잘 이해하고, 적절히 활용하는 것이 중요합니다.
댓글