로보트 텍스트(robots.txt) 검색로봇에게 사이트 및 웹페이지를 수집할 수 있도록 허용하거나 제한하는 국제 권고안이다. 검색엔진 크롤러가 접근하지 않기를 바라는 폴더나 파일 등을 지정할 수 있고
만약 사이트의 루트 디렉토리에 robot.txt파일이 없다면 모든 콘텐츠를 수집할수 있도록 간주해버린다.

하지만 표준을 준수하지 않는 무차별적인 악성 검색엔진에게는 아무런 의미가 없다는 것에 주의해야 한다.

왜냐하면 검색엔진이 이 파일의 명령을 무시할 수도 있고, 검색엔진에 따라 이 파일을 이해하지 못하거나 다르게 해석할 수도 있기때문에다.
따라서 이 파일에 적어 둔 접속 제한 명령은 검색엔진의 크롤러에 대한 단순한 지침에 불과하다.

기본적으로 Ghost블로그 템플릿을 사용하게 되면 Robots.txt와 sitemap을 자동으로 생성해주기에 신경쓸 필요는 없지만 동작 원리에 대해 알면 더 좋을 것이다.

robots.txt 위치

이 파일의 위치는 도메인의 루트(root) 즉, 최상위 폴더에 두어야 하므로 웹호스팅 서버의 루트에 접속할 수 있는 권한이 있어야 가능하다.

HTTP 응답코드에 따른 처리

응답 코드 설명
2xx Successful 로봇 배제 표준을 준수하는 규칙을 해석하여 사용합니다. 만약, robots.txt가 HTML 문서로 반환된다면 그 안에 유효한 규칙이 있더라도 robots.txt가 없음 (모두 허용)으로 해석될 수도 있습니다. 그러므로, 로봇 배제 규칙을 따르는 일반 텍스트 파일 (text/plain)로 작성하는 것을 권장합니다.
3xx Redirection HTTP redirect에 대하여 5회까지 허용하며 그 이상의 redirection 발생 시 중단 후 '모두 허용'으로 해석합니다. HTML 및 JavaScript를 통한 redirection은 해석하지 않습니다.
4xx Client Error '모두 허용'으로 해석합니다.
5xx Server Error '모두 허용하지 않음'으로 해석합니다. 다만, 이전에 정상적으로 수집된 robots.txt 규칙이 있다면 일시적으로 사용될 수 있습니다.

robots.txt 규칙 예제

robots.txt 파일에 작성된 규칙은 같은 호스트, 프로토콜 및 포트 번호 하위의 페이지에 대해서만 유효합니다. http://blog.chulgil.me/robots.txt의 내용은 http://blog.chulgil.me/https://blog.chulgil.me/에는 적용되지 않습니다.

  • 모든 검색엔진 수집 허용
User-agent: *
Allow: /
  • 사이트의 루트페이지만 수집허용
User-agent: *
Disallow: /
Allow: /$
  • 프라이빗 페이지 수집 막기
Disallow: /private*/

검색엔진 목록

사이트 검색봇 이름
다음(Daum) daumos
네이버(Naver) naverbot cowbot yeti
구글 (Google) Googlebot
구글 이미지( Google-Image) googlebot-image
구글 모바일(Googel-mobile) googlebot-mobile
엠에스엔(MSN) MSNBot
엠에스엔 이미지(MSN PicSearch) psbot
야후(Yahoo) Slurp , yahoo-slurp
야후 이미지(Yahoo-Image) Yahoo-MMCrawler
야후 블로그(Yahoo-blog) yahoo-blog
알렉사(Alexa/Wayback) ia_archiver
바이두(Baidu) baiduspider

사이트맵 명시

robots.txt 파일에 사이트맵 명시가 가능하다.

2개 이상 지정가능

User-agent: *
Disallow:
Sitemap: http://URL/sitemap.xml