robots.txt 를 이용한 웹 크롤링 규칙 설정
robots.txt는 웹사이트의 루트 디렉토리에 위치하는 텍스트 파일로, 검색 엔진의 웹 크롤러가 특정 페이지를 크롤링할 수 있는지 여부를 지정하는 역할을 합니다. 또한 웹사이트 소유자가 검색 엔진이 어떤 페이지를 크롤링하고 색인할 수 있을지를 제어하는 규칙을 담고 있습니다.
robots.txt의 주요 역할
• 검색 엔진이 특정 페이지를 크롤링하지 않도록 차단
• 웹사이트의 특정 섹션을 검색 엔진에서 제외
• 사이트 맵(XML Sitemap) 위치 제공
• 크롤러(bot)의 접근 속도 제한
robots.txt의 기본 문법
robots.txt 파일은 User-agent(검색 엔진 봇)에 대한 차단 또는 허용 규칙을 정의합니다.
기본 형식
User-agent: [크롤러 이름]
Disallow: [크롤링 차단할 경로]
Allow: [크롤링 허용할 경로]
Sitemap: [사이트맵 URL]
robots.txt 예제
• 모든 검색 엔진이 모든 페이지 크롤링 허용
User-agent: *
Disallow:
• *은 모든 크롤러를 의미
• Disallow:를 비워두면 모든 페이지 크롤링 가능
• 모든 검색 엔진이 특정 폴더 크롤링 차단
User-agent: *
Disallow: /private/
• /private/ 폴더 안의 모든 페이지 크롤링 차단
• 특정 검색 엔진(Googlebot)만 차단
User-agent: Googlebot
Disallow: /
• Googlebot이 웹사이트 전체를 크롤링하지 못하도록 차단
• 모든 검색 엔진이 특정 파일 크롤링 차단
User-agent: *
Disallow: /secret.html
• /secret.html 페이지만 크롤링 차단
• 검색 엔진이 특정 파일은 차단하고, 특정 페이지는 허용
User-agent: *
Disallow: /private/
Allow: /private/public-page.html
• /private/ 폴더는 차단하지만 /private/public-page.html 페이지는 크롤링 허용
• 사이트맵 제공
User-agent: *
Sitemap: https://www.example.com/sitemap.xml
• 사이트맵을 명시하여 크롤러가 더 효율적으로 페이지를 찾을 수 있도록 도움
robots.txt의 한계
• robots.txt는 크롤링을 막을 수 있지만, 검색 결과에서 완전히 숨길 수는 없음.
• 예를 들어, 다른 웹사이트가 해당 페이지를 링크하면 여전히 검색 엔진이 인덱싱할 수 있음.
• 완전한 차단이 필요하면 meta robots 태그(noindex)나 HTTP 헤더를 활용해야 함.
• 일부 악성 봇은 robots.txt를 무시할 수 있음.
• 보안이 중요한 민감한 정보는 robots.txt에 기록하지 말고 서버 인증이나 방화벽 설정을 활용해야 함.
robots.txt 확인 방법
• 웹사이트의 robots.txt는 브라우저에서 다음 URL을 입력하면 확인할 수 있음.
• https://www.example.com/robots.txt
robots.txt 실전 적용 사례
• SEO 최적화: 검색 엔진이 중요하지 않은 페이지(예: 관리자 페이지, 내부 검색 결과 페이지)를 크롤링하지 않도록 설정
• 웹사이트 속도 관리: 대규모 사이트에서는 크롤러의 방문 빈도를 조정하여 서버 부하 방지
• 보안 및 개인 정보 보호: 로그인 페이지, 내부 문서 등의 검색 엔진 노출 방지
덧붙여, 티스토리는 robots.txt 를 수정할 수 있는 방법이 없는것 같습니다. 구글에 검색되는 수정방법으로는 수정이 되지 않습니다.
참고하세요