HTTP 상태 코드가 Google 크롤러에 미치는 영향

이 페이지에서는 다양한 HTTP 상태 코드가 Google의 웹 콘텐츠 크롤링 기능에 미치는 영향을 설명합니다. Google이 웹에서 발견한 상위 20개의 상태 코드를 다룹니다. 418 (I'm a teapot) 같은 익숙하지 않은 상태 코드에 관해서는 다루지 않습니다.

HTTP 상태 코드

HTTP 상태 코드는 사이트를 호스팅하는 서버가 클라이언트(예: 브라우저 또는 크롤러)의 요청에 응답할 때 생성됩니다. 모든 HTTP 상태 코드는 의미가 각기 다르지만 요청 결과는 주로 동일합니다. 예를 들어 리디렉션을 나타내는 상태 코드가 여러 개 있지만 결과는 동일합니다.

Search Console은 4xx—5xx 범위의 상태 코드와 실패한 리디렉션(3xx)에 관한 오류 메시지를 생성합니다. 서버가 2xx 상태 코드로 응답하면 응답에서 수신된 콘텐츠는 색인 생성 시 고려될 수 있습니다.

다음 표에는 Google에서 가장 많이 발견한 HTTP 상태 코드와 Google에서 각 상태 코드를 처리하는 방식이 설명되어 있습니다.

HTTP 상태 코드

2xx (success)

Google은 처리 시 콘텐츠를 고려합니다 (예: Google 검색의 경우 색인 생성 시). 콘텐츠에 Google 검색의 오류, 빈 페이지나 오류 메시지가 제시되면 Search Console에 soft 404 오류가 표시됩니다.

200 (success)

Google은 수신한 내용을 다음 처리 단계 (제품별)로 전달합니다. Google 검색의 경우 다음 시스템은 색인 생성 파이프라인입니다. 색인 생성 시스템이 콘텐츠의 색인을 생성할 수도 있지만 보장되지는 않습니다.

201 (created)
202 (accepted)

Google은 제한된 시간 동안 콘텐츠를 기다린 후 수신한 모든 콘텐츠를 다음 처리 단계 (제품별)에 전달합니다. 시간 초과는 사용자 에이전트에 따라 다릅니다. 예를 들어 Googlebot 스마트폰은 Googlebot 이미지와 시간 초과 기준이 다를 수 있습니다.

204 (no content)

Google에서 콘텐츠를 수신할 수 없어 처리할 수 없습니다.

3xx (redirection)

기본적으로 Google 크롤러는 최대 10개의 리디렉션 홉을 따릅니다. 하지만 특정 제품의 크롤러에는 다른 한도가 적용될 수 있습니다. 예를 들어 Googlebot은 일반 웹 콘텐츠를 크롤링할 때 일반적으로 10개의 리디렉션 홉을 따르지만 Google 검사 도구는 리디렉션을 따르지 않습니다.

Google이 리디렉션 URL에서 수신한 모든 콘텐츠가 무시되며 최종 타겟 URL의 콘텐츠가 대신 처리됩니다. robots.txt 파일의 경우 Google에서 3xx 상태 코드를 반환하는 robots.txt를 처리하는 방법을 참고하세요.

301 (moved permanently)

Google은 리디렉션을 따르고 Google 시스템은 리디렉션을 리디렉션 대상이 처리되어야 한다는 강력한 신호로 사용합니다.

302 (found)

기본적으로 Google 크롤러는 리디렉션을 따르고 Google 시스템은 리디렉션을 리디렉션 대상이 처리되어야 한다는 약한 신호로 사용합니다. 다른 제품에서는 리디렉션을 다르게 처리할 수 있습니다.

303 (see other)
304 (not modified)

Google 크롤러는 콘텐츠가 마지막으로 크롤링되었을 때와 동일하다고 다음 처리 시스템에 알립니다. Google 검색의 경우 색인 생성 파이프라인은 URL의 신호를 다시 계산할 수 있지만 그 외에 상태 코드는 색인 생성에는 아무런 영향을 미치지 않습니다.

307 (temporary redirect) 302와 같습니다.
308 (moved permanently) 301와 같습니다.

4xx (client errors)

Google은 4xx 상태 코드를 반환하는 URL의 콘텐츠를 사용하지 않습니다. 이전에 사용되었지만 현재 4xx 상태 코드를 반환하는 URL의 경우 Google 시스템에서 시간이 지남에 따라 URL 사용을 중지합니다. Google 검색의 경우 Google은 4xx 상태 코드를 반환하는 URL의 색인을 생성하지 않으며, 이미 색인이 생성되었으나 4xx 상태 코드를 반환하는 URL은 색인에서 삭제됩니다.

Google이 4xx 상태 코드를 반환하는 URL에서 수신한 모든 콘텐츠는 무시됩니다.

400 (bad request)

429를 제외한 모든 4xx 오류는 동일하게 처리됩니다. Google 크롤러가 콘텐츠가 존재하지 않는다고 다음 처리 시스템에 알립니다.

Google 검색의 경우 색인 생성 파이프라인은 이전에 색인 생성된 URL을 색인에서 삭제합니다. 새로 발견된 404 페이지는 처리되지 않습니다. 크롤링 빈도가 서서히 감소합니다.

401 (unauthorized)
403 (forbidden)
404 (not found)
410 (gone)
411 (length required)
429 (too many requests)

Google 크롤러는 429 상태 코드를 서버가 과부하 상태라는 신호로 취급하기 때문에 서버 오류로 간주합니다.

5xx (server errors)

5xx429 서버 오류는 Google 크롤러에 크롤링 속도를 일시적으로 낮추라고 요청합니다. Google 검색의 경우 이미 색인 생성된 URL은 색인에 보존되지만 결국에는 삭제됩니다.

Google이 5xx 상태 코드를 반환하는 URL에서 수신한 모든 콘텐츠는 무시됩니다. robots.txt 파일의 경우 Google에서 5xx 상태 코드를 반환하는 robots.txt를 처리하는 방법을 참고하세요.

서버가 2xx 상태 코드로 응답하기 시작하면 Google에서 사이트의 크롤링 속도를 점진적으로 늘립니다.

500 (internal server error)

Google이 사이트의 크롤링 속도를 낮춥니다. 크롤링 속도 감소는 서버 오류를 반환하는 개별 URL의 수에 비례합니다. Google 검색의 경우 Google의 색인 생성 파이프라인은 서버 오류를 지속적으로 반환하는 색인에서 URL을 삭제합니다.

502 (bad gateway)
503 (service unavailable)