크롤링하지마! 서비스의 데이터를 지키는 Robots.txt 작성하기

2024. 10. 1. 22:45·programming

https://www.robotstxt.org/robotstxt.html <- 이게 진짜 공식 사이트

 

The Web Robots Pages

About /robots.txt In a nutshell Web site owners use the /robots.txt file to give instructions about their site to web robots; this is called The Robots Exclusion Protocol. It works likes this: a robot wants to vists a Web site URL, say http://www.example.c

www.robotstxt.org

 

 

구글이 참 정리를 잘 해놓음

https://developers.google.com/search/docs/crawling-indexing/robots/create-robots-txt?hl=ko

 

robots.txt 파일 만들기 및 제출 | Google 검색 센터  |  문서  |  Google for Developers

robots.txt 파일은 사이트의 루트에 위치합니다. robots.txt 파일을 만들고 예를 확인하며 robots.txt 규칙을 확인하는 방법을 알아보세요.

developers.google.com

 

 

개발자는 영어 공부를 해서라도 공식 문서를 봐야죠. 

하지만 별거 없습니다. 사실상 Quick만 봐도 문제 없을 지도? 

 

✨ Quick

자 이 파일을 복붙해서 본인 프로젝트에 맞게 수정하고 자신의 루트 경로에 입력하세요.

즉, 이 파일이 http://www.example.com/robots.txt에 위치해야 합니다. 

이 파일은 모든(*) 사용자들로부터 모든 경로(/)에서 크롤링을 막겠어요. 라는 뜻입니다. 

User-agent: * 
Disallow: /

 

 


 

Robots.txt가 뭐예요? 

Robots.txt로 크롤러가 액세스할 수 있는 파일을 제어할 수 있는 파일

 

 

크롤링을 왜 막나요?

서비스의 지적재산권을 보호하고 비정상적인 크롤링이 발생시키는 서버 과부화를 방지하기 위해서 필수입니다. 

이 외에도 서비스에 개인정보가 있다면 크롤러에 의해 정보가 수집되겠죠? 

 

 

뭐라고 쓰나요?

주석으로 파악해주세요.

# (1) `Googlebot`은 `/nogoogleboot`를 포함한 하위 경로에서 크롤링을 금지
User-agent: Googlebot
Disallow: /nogooglebot/

#(2) 나머지는 전체 경로에서 허용
User-agent: *
Allow: /

 

 

User-agent: Googlebot
Disallow: /*.xls$ # .xls로 끝나는 모든 파일을 금지한다

`*` 및 `$` 로 와일드 카드를 사용하여 특정 문자열로 끝나는 URL에 적용할 수 있다. 

 

 

주의할 점

- 정규 표현식은 User-agent 또는 Disallow 행에서 지원되지 않는다.

- User-agent 필드의 '*'는 "모든 로봇"을 의미하는 특별한 값일 뿐이다.

- 특히 "User-agent: *bot*", "Disallow: /tmp/*" 또는 "Disallow: *.gif"와 같은 행은 사용할 수 없다.

 

다른 사이트들은 robots.txt를 어떻게 작성했을까? 

🔗 구글의 Robots.txt

📜 네이버의 Robots.txt

User-agent: *
Disallow: /
Allow : /$
Allow : /.well-known/privacy-sandbox-attestations.json

 

 

대기업의 robots.txt를 보면서 어떻게 작성할지 팁을 드리려고 했으나.. 간결하네요..

 

 

Robots.txt 한계점

사실 이 블로그처럼 요리조리 피해 크롤링을 할 수도 있습니다.

그래도 최소한의 방어는 하야겠죠? 🙌

https://blog.hashscraper.com/5-principles-for-bypassing-web-crawling-blocks/

저작자표시 비영리 변경금지 (새창열림)
'programming' 카테고리의 다른 글
  • git 자동으로 깃모지 다는 방법
  • [C++] Replit에서 컴파일 및 실행하는 방법
u1qns
u1qns
그냥 알고리즘 풀이만 올리려고 했는데, 정보 찾다보니까 너무 답답해서 이것저것 쓰다보니 커졌어요.
  • u1qns
    블로그
    u1qns
  • 전체
    오늘
    어제
    • 분류 전체보기 (171)
      • 회고 (1)
      • programming (17)
        • 개념 정리 (6)
        • CI CD (1)
        • 트러블 슈팅 (0)
        • 환경설정 및 팁 (7)
      • problem solving (153)
        • 개념 정리 (3)
        • 백준 (127)
        • SWEA (15)
        • 프로그래머스 (4)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    POW
    구현
    boj
    삼성청년SW아카데미
    완전탐색
    투포인터
    SSAFY수료식
    cpp
    SWEA
    DP
    BFS
    SSAFY
    미해결
    되추적
    cmath
    DFS
    C++
    백준
    그리디
    HELLOSSAFY
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
u1qns
크롤링하지마! 서비스의 데이터를 지키는 Robots.txt 작성하기
상단으로

티스토리툴바