구글봇, 빙봇 크롤링 속도 제한하여 서버 과부하 방지하기

Last Updated: 2023년 10월 23일 | , | 댓글 남기기

이 워드프레스 블로그의 방문자 수가 최근 몇 달 사이 감소했지만 트래픽은 오히려 증가하여 일시적으로 서버가 불안정한 상태가 되었습니다. 이 문제로 블루호스트(Bluehost)에 기술 지원을 요청하여 원인을 어느 정도 파악할 수 있었습니다. 구글봇(GoogleBot)과 빙봇(BingBot)의 과도한 요청 때문에 시스템이 불안정해졌다는 답변을 들었습니다. 이제는 안정적이지만 구글봇과 빙봇 크롤링 속도를 조정할 것을 권고 받았습니다. 이외에도 클라우드플레어(Cloudflare)의 Under Attack mode와 같은 기능을 사용하면 도움이 된다고 하네요.

최근 구글 서치 콘솔에서 "호스트 로드 초과" 오류가 발생하는 사례가 늘고 있습니다. 이러한 상황에서도 크롤링 빈도를 제한하면 도움이 될 것입니다. 아래의 "구글 서치 콘솔: 호스트 로드 초과 문제" 부분을 참고해 보세요.

[ 이 글은 2023년 10월 23일에 마지막으로 업데이트되었습니다. ]

구글봇, 빙봇 크롤링 속도 제한하여 서버 과부하 방지하기

구글봇 크롤링 빈도 제한하기

신규 사이트의 경우 검색봇이 거의 방문하지 않기 때문에 오히려 크롤링 속도를 높이는 것이 도움이 될 수 있습니다. 하지만 검색봇의 지나치게 잦은 방문 때문에 많은 트래픽이 소모되고 CPU, RAM 등의 리소스 부족 현상이 발생하여 서버에 부담이 된다면 크롤링 빈도를 제한하는 것을 고려할 수 있습니다.

구글의 Googlebot 크롤링 속도 변경 문서에서 구글봇 크롤링 속도를 변경하는 방법에 대한 자세한 설명을 확인할 수 있습니다.

크롤링 속도 설정 페이지에서 크롤링 속도를 변경할 수 있고, 변경하면 1~2일 후에 반영되어 3개월간 유지됩니다.

확인된 속성 선택에서 "속성을 선택하세요" 드롭다운을 클릭하여 구글봇의 크롤링 속도를 조정할 속성(사이트)을 선택합니다.

구글 크롤링 속도를 제한할 속성 사이트 선택하기

그러면 크롤링 속도를 조정할 수 있는 화면이 표시됩니다.

구글봇 크롤링 빈도 제한하기

보통은 Google에서 내 사이트 최적화 실행 (권장)이 선택되어 있을 것입니다. 크롤링 빈도를 제한하려면 Google의 최대 크롤링 빈도 제한 옵션을 선택합니다.

이 사이트의 경우 크롤링 빈도를 최적화 실행의 절반 이하로 낮추었습니다.

참고로 위의 그림을 보면 다음과 같이 되어 있습니다.

0.016 초당 요청 수
62.5 요청 간격(초)

처음에는 이것이 무슨 의미인지 잘 파악이 안 되었습니다. 영문 페이지를 참조하니 의미가 제대로 파악이 되었습니다.

구글봇 크롤링 빈도 제한하기 영문 페이지

초당 0.016 요청 수, 요청 간 간격이 62.5초라는 의미인 것 같습니다.

  1. 신생 사이트이고, 구글봇이 많이 방문해도 트래픽을 감당할 수 있다면 크롤링 속도(Crawl rate)를 높이는 것을 고려할 수 있을 것입니다.
  2. 만약 구글봇 크롤링 때문에 서버에 부담이 된다면 크롤링 속도를 제한하는 것을 고려할 수 있습니다.

크롤링 통계 보고서에서 Google이 사이트를 크롤링하는 빈도와 발생하는 요청 수를 확인할 수 있습니다. 크롤링 속도를 변경했다면 주기적으로 통계 보고서를 확인하여 크롤링 속도를 조정해야 할지 결정할 수 있을 것 같습니다.

크롤링 속도를 변경하면 1~2일 정도 후에 반영이 되고 90일 동안 유지됩니다. 크롤링 속도를 변경하면 이메일로 알림이 전송됩니다.

귀하 또는 [사이트명]의 확인된 사이트 소유자가 웹사이트의 최대 크롤링 속도 설정을 변경한 것으로 확인되었습니다. 1~2일 이내에 Google 크롤러의 크롤링 속도가 설정된 최대 속도로 변경됩니다. 크롤링 속도는 업데이트된 콘텐츠가 사용자의 검색결과에 반영되는 속도에 영향을 미치므로 Google의 크롤링 속도를 제한하지 않는 것이 좋습니다. 서버에 심각한 트래픽 부하 문제가 발생한 경우에만 제한하시기 바랍니다.

새 크롤링 속도: 초당 요청 0.016회
상태: 2일 이내에 시작되어 90일 동안 지속됩니다.

구글에서 안내하고 있듯이 서버에 심각한 트래픽 부하 문제가 발생하는 경우에만 크롤링 빈도를 제한하고, 그렇지 않은 경우 업데이트된 콘텐츠가 검색결과에 반영되는 시간에 영향을 주어 SEO에도 부정적일 수 있으므로 크롤링 속도를 제한하지 않는 것이 바람직합니다.

이외에도 robots.txt 파일에 검색봇이 크롤링해서는 안 되는 디렉터리를 추가로 설정했습니다.

빙봇 크롤링 빈도 변경하기

이 블로그의 경우 마이크로소프트의 빙(Bing) 검색엔진을 통해 유입되는 방문자가 거의 없는 편입니다. 그럼에도 불구하고 빙봇(BingBot)이 많이 방문한다니 조금 의외네요. 아마도 IndexNow 플러그인을 설치하여 글이나 페이지가 발행되거나 업데이트될 때마다 빙에 색인 요청을 하기 때문에 빙봇의 크롤링 요청 수가 증가한 것이 아닐까 추정됩니다.

빙봇의 경우 빙 웹마스터 도구에 로그인하여 구성 » 크롤링 제어 페이지에서 크롤링 속도를 제한할 수 있습니다.

빙봇 크롤링 속도 제어

저는 모든 시간대에 대하여 가장 느리게 크롤링되도록 조정했습니다. 각시간대에 하여 막대를 조정하여 크롤링 속도를 변경할 수 있습니다.

바이두(Baidu)와 얀덱스(Yandex) 검색봇 차단

중국과 러시아 방문자를 대상으로 사이트를 운영한다면 바이두와 얀덱스 검색엔진에 노출되는 것이 중요합니다.

그렇지 않은 경우 바이두와 얀덱스 검색봇을 차단하는 것을 고려할 수도 있을 것입니다. 바이두와 얀덱스 검색봇을 차단하려면 보통 .htaccess 파일에 코드를 추가하는 방법이 권장되는 것 같습니다.

저는 Block Baidu Spider via robots.txt 문서에서 제시하는 코드를 robots.txt 파일에 추가했습니다.

# Block Baidu spider
User-agent: Baiduspider
User-agent: baiduspider
User-agent: Baiduspider-video
User-agent: Baiduspider-image
User-agent: Baiduspider+
Disallow: /

# BLOCK Yandex
User-agent: Yandex
Disallow: /

바이두와 얀덱스에 대하여 robots.txt 파일에 코드를 추가하여 차단하는 것이 효과가 없을 수도 있다고 합니다. 워드프레스에서는 robots.txt 파일의 규칙을 따르지 않는 불량 봇(bad bot)을 차단하는 Blackhole for Bad Bots라는 플러그인이 있습니다. 이런 플러그인을 사용하여 규칙을 설정할 수도 있을 것입니다.

워드프레스의 경우 보통 다음과 같이 robots.txt 파일을 설정하면 무난합니다.

User-Agent: *
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/
Disallow: /wp-admin/
 
Sitemap: https://example.com/sitemap.xml --> 실제 사이트맵 주소로 변경

구글 서치 콘솔: 호스트 로드 초과 문제

최근 들어, 카페24, 가비아 등 일부 웹호스팅에서 "호스트 로드 초과" 문제가 발생한다고 하는 분들이 늘었습니다. 네이버 카페에 이와 관련된 질문이 자주 올라오고 있습니다.

호스트 로드 초과 문제

이와 관련하여 며칠 지나면 문제가 해결된다고 하는 분들도 있습니다. 구글 포럼에서는 다음과 같은 답변이 제시되어 있습니다.

호스트 로드 초과: 사이트가 Google 크롤링 또는 검사 요청의 최대 용량에 도달한 것으로 보입니다. Google에서 예상한 트래픽 로드가 감소할 때까지 Google에서 테스트를 실행할 수 없습니다.

출처: https://support.google.com/webmasters/thread/201662549/%ED%98%B8%EC%8A%A4%ED%8A%B8-%EB%A1%9C%EB%93%9C-%EC%B4%88%EA%B3%BC-%EB%AC%B8%EC%A0%9C?hl=ko

구글 크롤링 속도를 변경하여 추이를 살펴보시기 바랍니다.

참고


댓글 남기기

Leave a Comment