성장에 목마른 코린이

[React] Robots.txt 소개, 적용해야하는 이유, 제한사항에 대한 이해 본문

Javascript/React.js

[React] Robots.txt 소개, 적용해야하는 이유, 제한사항에 대한 이해

성장하는 코린이 2022. 11. 8. 13:18
728x90

robots.txt

robots.txt 파일은 크롤러가 사이트에서 액세스할 수 있는 URL을 검색엔진 크롤러에 알려줍니다.

주로 요청으로 인해 사이트가 오버로드되는 것을 방지하게 위해 사용하며,
Google로 부터 웹페이지를 숨기기 위한 메커니즘이 아닙니다.

적용해야 하는 이유

  1. 검색엔진 크롤러의 과도한 크롤링 및 요청으로 인한 과부화 방지를 위해서 입니다.

    • 크롤러의 정보 수집 및 크롤링을 제한함으로써 불필요한 요청을 줄이고, 서버에서 처리해야하는 요청을 줄여 과부하로 인한 문제가 생기는 것을 방지할 수 있습니다.
  2. 검색엔진 크롤러의 일일 요청 수를 뜻하는 Crawl budget 낭비 방지를 위해서 입니다.

    • 예를 들어 웹사이트에 1,000개의 페이지가 있고, 검색엔진이 일간 2,000 건의 요청 수를 보낸다고 하면 웹사이트에서 새로운 컨텐츠가 발행되거나, 업데이트가 있었을 경우 반나절이면 검색엔진이 변경사항에 대해 인지를 하게 된다고 볼 수 있습니다.
    • 결과적으로 정작 중요한 업데이트가 검색엔진 결과에 반영되지 않거나 빠르게 색인되는데 불리합니다.
  3. 웹사이트의 컨텐츠가 검색 엔진에게 더 잘 발견될 수 있도록 하기 위해서 입니다.

    • 웹마스터 도구를 이용해 검색엔진에 제출할 수 있지만, robots.txt에 사이트맵 디렉토리를 언급함으로써 사이트맵이 구글과 네이버를 포함한 다른 검색엔진 크롤러에게 빠르게 발견될 수 있습니다.

제한 사항에 대한 이해

robots.txt 파일을 작성하거나 수정하기 전에 이 URL 차단 방법의 제한사항에 관해 알아야합니다.

목표와 상황에 따라 웹에서 URL을 검색할 수 없도록 하는 다른 메커니즘을 고려하는 것이 좋습니다.

  1. robots.txt 명령어는 일부 검색엔진에서만 지원될 수 있습니다.
    • robots.txt 파일의 지침은 사이트에서의 크롤러 동작을 강제로 제어할 수 없습니다. (지침을 준수할지 스스로 판단)
    • Googlebot및 잘 제작된 웹 크롤러는 robots.txt파일의 지침을 준수하지만, 준수하지 않는 크롤러도 있습니다.
    • 웹 크롤러로부터 정보를 안전하게 보호하려면 비밀번호로 서버의 비공개 파일을 보호하는 등의 방법이 있습니다.
  2. 크롤러마다 구문을 다르게 해석합니다.
    • 잘 제작된 웹 크롤러는 robots.txt 파일의 지침을 따르지만 크롤러마다 지침을 다르게 해석할 수도 있습니다.
    • 특정 지침을 이해하지 못하는 크롤러도 있기에 다양한 웹 크롤러에 적용될 수 있는 적절한 구문을 알아야합니다.
  3. robots.txt에서 허용되지 않은 페이지라도 다른 사이트에서 연결된 경우 여전히 색인이 생성될 수 있습니다.
    • Google은 robot.txt 파일을 통해 차단된 컨텐츠를 크롤링하거나 컨텐츠의 index를 생성하지 않지만, 허용되지 않은 URL이 웹 상의 다른 고셍 연결된 경우 관련 정보를 찾아 index를 생성할 수는 있습니다.
    • 결과적으로 URL 주소뿐만 아니라 페이지 링크의 앵커 텍스트와 같은 기타 공개 정보가 Google 검색결과에 표시될 수 있기에 URL이 Google 검색결과에 표시되지 않게 하려면 서버의 파일을 비밀번호로 보호하거나 noindex 메타태크 또는 응답 헤더를 사용하거나 페이지 전체를 삭제하면됩니다.

참조:

'Javascript > React.js' 카테고리의 다른 글

[React.js] manifest.json  (0) 2022.11.15
Comments