logo

robots.txt 설정 및 사용법

Client Side May 20, 2019

안녕하세요!

 

오늘은 robots.txt에 대해서 기록을 남겨볼까 합니다.

 

검색엔진 최적화(SEO)에 대해서 관심이 있으시다면 알고있을 robots.txt 파일은 크롤러(검색엔진 봇)가 웹 사이트의 페이지를 수집할 때 참고하는 명령페이지입니다. 크롤러는 매 페이지를 방문 시 해당 도메인 루트에 위치하는 https://erulabo.com/robots.txt 파일을 참고해 페이지 수집이나 접근에 대한 기준을 설정하고 동작합니다. 그만큼 검색엔진에 노출되는 가장 첫단계인 수집에서 수집대상을 설정해주는 중요한 설정 파일입니다.

 

robots.txt 파일은 그리 어려운 프로토콜이나 규칙을 가지고 있지 않고 제한된 사용법을 가지고 있습니다. 용도는 위에 언급한대로 수집 페이지에 대한 기준을 제공해줌과 동시에 웹마스터는 크롤러의 트래픽에 대해 제어적인 측면으로 관리할 수도 있습니다. 각각의 크롤러에 따라서 전용 설정이 있긴합니다만 공통적인 이야기가 아니므로 여기서는 생략하도록 할게요.

 

 

robots.txt 파일에서 수집을 허용하지 않는 페이지로 봇이 방문을 하면 페이지 리소스를 읽기전에 먼저 robots.txt 규칙을 확인 후 접근할지 결정하고 또 수집에 대한것도 robots.txt 규칙이 1순위이고 그 다음은 페이지 헤더의 robot 메타태그 설정값을 따릅니다.

 

통상적으로 커뮤니티 사이트나 블로그는 각각의 게시글이나 포스팅이 검색엔진에 노출이 되어야 그만큼 파급력이 있는 페이지를 구성하므로모든 페이지에 대해 수집권한을 열어둡니다. 다만 관리자 url이나 민감한 정보가 담겨있는 페이지는 접근을 허용하게 하지 않습니다. 그래서 일반적으로는 모든 페이지에 대해 접근/수집권한을 Disallow 설정으로 지정하고 필요한 페이지만 Allow 설정을 적용하는 방법을 채용합니다.

 

여기까지가 robots.txt 파일에 대한 배경과 잡지식이고 이제 파일 작성에 대한 규칙과 예를 봅시다.

1. robots.txt 파일명은 모두 소문자여야 한다.
2. robots.txt 파일은 도메인의 루트폴더 위치에 존재해야한다.
3. User-Agent 는 아래에 적히는 설정을 적용시킬 크롤러(봇)의 이름을 기재한다. (예: Googlebot 등)
4. 모든 크롤러에 대한 설정은 User-Agent: * 처럼 적용할 수 있다.
5. 수집/접근권한을 막으려면 해당 페이지를 다음과 같이 설정한다. Disallow: /page
6. 수집/접근권한을 열려면 해당 페이지를 다음과 같이 설정한다. Allow: /page
7. 파일, 디렉토리 = /about (수집대상: /about이란 파일명을 가진 웹문서, /about/ 디렉토리의 모든 하위 페이지)
8. 특정 확장자로 끝나는 파일 = /*.php$ (수집대상: /index.php, /about/more.php 등 .php로 끝나는 루트 하위 페이지)
9. https 프로토콜의 경우 모든 페이지에 대한 접근을 막을때 Disallow: 대신 Disallow: / 처럼 루트 위치를 명시해주어야 합니다.
10. Sitemap: https://erulabo.com/sitemap.xml 처럼 robots.txt 파일에서 홈페이지의 사이트맵의 경로를 명시적으로 선언할 수 있습니다.
11. 주석은 # 문자로 쓸 수 있습니다. # 문자 뒤의 한 행을 주석처리합니다.

 

 

몇가지 설정에 따른 적용 예를 봐봅시다.

 

robots.txt 적용대상 비적용 대상

User-Agent: *

Disallow: /

페이지 없음 모든 페이지

User-Agent: *

Disallow: /

Allow: /post

/post

/post.html

/post/list.html

/postman

/postmans/view.html?page=1

좌측 제외 모든 페이지

/Post

/dailypost

/?type=post

User-Agent: *

Allow: /

Disallow: /*.gif$

/image.gif

/moved_image.gif

/sub/animation.gif

.gif 로 끝나는 파일 제외 모든 페이지

User-Agent: *

Disallow: /

User-Agent: Googlebot

Allow: /

Googlebot 크롤러만 모든 페이지 수집가능 Googlebot 크롤러를 제외한 모든 봇은 모든 페이지 수집불가

 

만약에 robots.txt 파일을 작성하는데 예시가 필요하다면 대형 검색엔진, 커뮤니티 사이트의 robots.txt url 주소로 접근해보면 각 사이트가 정의해둔 수집설정을 확인할 수 있습니다. (구글 robots.txt 링크)