HTTP 상태 코드의 올바른 사용은 SEO에서 매우 중요합니다. 상태 코드를 적절하게 사용함으로써 검색 엔진의 크롤링 및 색인화 효율성을 향상시키고, 페이지 순위와 사용자 경험을 개선할 수 있습니다. 웹사이트의 안정적인 운영을 위해 HTTP 상태 코드를 정기적으로 모니터링하고 유지보수하는 것은 SEO 최적화의 중요한 부분입니다. 다음은 일반적인 HTTP 상태 코드와 SEO에 대한 중요성입니다:

1. 200 OK

의미: 요청이 성공했으며, 서버가 요청한 웹페이지를 반환했습니다.

SEO 영향: 가장 이상적인 상태 코드로, 페이지가 정상적으로 작동하고 검색 엔진이 크롤링하고 색인화할 수 있음을 나타냅니다.

2. 301 Moved Permanently

의미: 요청한 리소스가 새로운 위치로 영구적으로 이동했습니다.

SEO 영향: 301 리다이렉트를 사용하면 검색 엔진에 페이지가 영구적으로 이전했음을 알립니다. 이는 이전 페이지의 권한과 순위를 새 페이지로 전달하는 데 도움이 되며, 트래픽 손실을 방지합니다. 웹사이트 리디자인, 도메인 변경 등에 적합합니다.

3. 302 Found (임시 리다이렉트)

의미: 요청한 리소스가 일시적으로 다른 URL에 위치하고 있습니다.

SEO 영향: 302 리다이렉트는 페이지의 일시적인 이동을 나타내며, 검색 엔진은 새로운 URL로 권한을 전달하지 않습니다. 신중하게 사용해야 하며, SEO에는 일반적으로 권장되지 않으며 권한과 트래픽 손실을 초래할 수 있습니다.

4. 403 Forbidden

의미: 서버가 요청을 거부했습니다.

SEO 영향: 검색 엔진은 403 상태 코드가 있는 페이지에 접근할 수 없어 크롤링 및 색인화가 불가능합니다. 중요한 페이지가 403 상태 코드를 반환하지 않도록 해야 합니다.

5. 404 Not Found

의미: 서버가 요청한 리소스를 찾을 수 없습니다.

SEO 영향: 페이지가 404 상태 코드를 반환하면 검색 엔진은 이를 삭제된 페이지로 간주합니다. 404 오류는 정상적이지만, 많은 수의 404 오류는 웹사이트 사용자 경험과 검색 엔진 크롤링 효율성에 영향을 미칩니다. 404 오류를 정기적으로 모니터링하고 수정하거나 적절한 리다이렉트를 설정하십시오.

6. 410 Gone

의미: 요청한 리소스가 영구적으로 삭제되었으며, 리다이렉트 주소가 없습니다.

SEO 영향: 410 상태 코드는 검색 엔진에 페이지가 영구적으로 삭제되었고 다시 돌아오지 않을 것임을 알려줍니다. 검색 엔진은 이러한 페이지를 색인에서 더 빠르게 제거합니다. 404보다 더 명확하며, 명확하게 삭제된 콘텐츠에 적합합니다.

7. 500 Internal Server Error

의미: 서버가 오류를 만나 요청을 완료할 수 없습니다.

SEO 영향: 500 오류는 검색 엔진이 페이지를 크롤링할 수 없게 하여 웹사이트 접근성과 사용자 경험에 영향을 미칩니다. 서버 오류를 즉시 수정하여 웹사이트의 안정적인 운영을 보장해야 합니다.

8. 503 Service Unavailable

의미: 서버가 일시적으로 과부하 상태이거나 유지보수 중이며, 요청을 처리할 수 없습니다.

SEO 영향: 503 상태 코드는 일시적인 사용 불가능을 나타내며, 검색 엔진은 다시 페이지를 크롤링하려고 시도합니다. 서버 유지보수 또는 웹사이트 일시적으로 폐쇄 시 사용해야 하며, 503 상태 코드를 반환하는 페이지에 검색 엔진이 다시 시도할 시간을 나타내는 Retry-After 헤더를 포함시켜야 합니다.

 

모범 사례 구현

1. 정기적으로 상태 코드 모니터링: Google Search Console 및 웹사이트 로그 도구를 사용하여 HTTP 상태 코드를 정기적으로 확인하고 모니터링하여 페이지가 정상적으로 작동하도록 합니다.

2. 올바른 리다이렉트 사용: 페이지가 영구적으로 이동한 경우에는 301 리다이렉트를 사용하고, 임시 변경의 경우에는 302 리다이렉트를 신중하게 사용합니다.

3. 404 오류 처리: 사용자 친화적인 404 오류 페이지를 만들어 유용한 링크와 검색 기능을 제공하여 사용자가 관련 콘텐츠를 찾을 수 있도록 합니다. 404 오류 페이지를 관련 콘텐츠로 리다이렉트하는 301 리다이렉트를 설정합니다.

4. 서버 안정성 유지: 서버의 안정적인 운영을 보장하고, 빈번한 500 오류와 503 오류를 피합니다. 필요한 경우 계획된 유지보수를 위해 503 상태 코드를 사용하고 Retry-After 헤더 정보를 제공합니다.

5. 정기적인 검토 및 정리: 웹사이트 링크를 정기적으로 확인하고, 끊어진 링크와 불필요한 리다이렉트를 수정하여 웹사이트 구조를 명확하게 유지합니다.

 

예시:

https://www.anker.com/blogs/cables/what-apple-devices-use-usb-c
상태 코드: 200

 

참조 웹사이트:

 

구글 공식 설명:

 

1. HTTP 상태 코드

       HTTP 상태 코드는 클라이언트(브라우저 또는 크롤러 등)의 요청에 응답할 때 웹사이트를 호스팅하는 서버에서 생성됩니다. 각 HTTP 상태 코드는 서로 다른 의미를 가지지만 요청 결과는 종종 같습니다. 예를 들어, 리다이렉트 신호를 보내는 여러 상태 코드가 있지만 그 결과는 같습니다.

Search Console은 4xx–5xx 범위의 상태 코드와 실패한 리다이렉트(3xx)에 대해 오류 메시지를 생성합니다. 서버가 2xx 상태 코드를 반환하면 응답으로 받은 콘텐츠가 색인에 포함될 수 있습니다(HTTP 2xx(성공) 상태 코드가 색인화를 보장하지는 않습니다).

       다음 표는 Googlebot이 가장 자주 마주치는 HTTP 상태 코드를 포함하며, Google이 각 상태 코드를 어떻게 처리하는지 설명합니다.

 

소프트 404 오류


       소프트 404 오류는 대상 웹페이지가 존재하지 않는다는 것을 사용자에게 나타내는 페이지를 반환하면서 200(성공) 상태 코드를 반환하는 URL입니다. 경우에 따라 소프트 404는 주요 콘텐츠가 없는 페이지 또는 빈 페이지일 수 있습니다.

       이러한 웹페이지는 웹사이트의 웹 서버, 콘텐츠 관리 시스템 또는 사용자의 브라우저에 의해 다양한 이유로 생성될 수 있습니다. 예를 들어:

(1) 누락된 서버 사이드 인클루드(SSl) 파일.
(2) 끊긴 데이터베이스 연결.
(3) 빈 내부 검색 결과 페이지.
(4) 로드되지 않았거나 누락된 JavaScript 파일.
       200(성공) 상태 코드를 반환하면서 웹페이지에 오류 메시지나 어떤 형태의 오류를 표시하거나 제안하는 것은 나쁜 사용자 경험을 초래합니다. 사용자는 웹페이지가 정상적으로 작동한다고 생각할 수 있지만, 이후 어떤 오류를 만나게 됩니다. 이러한 웹페이지는 검색 결과에 나타나지 않습니다.

       Google 알고리즘이 웹페이지의 콘텐츠를 기반으로 실제로 오류 페이지임을 감지하면 Search Console은 웹사이트의 "색인 커버리지" 보고서에 소프트 404 오류를 표시합니다.

 

소프트 404 오류 수정


       웹페이지의 상태와 원하는 결과에 따라 다양한 방법으로 소프트 404 오류를 해결할 수 있습니다:

(1) 웹페이지와 콘텐츠가 더 이상 존재하지 않음.
(2) 웹페이지 또는 콘텐츠가 다른 곳으로 이동함.
(3) 웹페이지와 콘텐츠가 여전히 존재함.


사용자에게 가장 적합한 해결책을 결정하십시오.

(1) 웹페이지와 콘텐츠가 더 이상 존재하지 않음
       웹페이지를 제거했고 웹사이트에 유사한 콘텐츠를 가진 대체 페이지가 없는 경우, 해당 웹페이지에 대해 404(찾을 수 없음) 또는 410(삭제됨) 응답 코드를 반환하십시오. 이러한 상태 코드는 검색 엔진에 웹페이지가 존재하지 않으며 콘텐츠가 색인화되어서는 안 된다는 것을 알려줍니다.

       서버의 구성 파일에 접근할 수 있는 경우, 사용자에게 도움을 줄 수 있도록 이러한 오류 페이지를 사용자 정의할 수 있습니다. 좋은 사용자 정의 404 페이지는 사용자가 필요한 정보를 찾는 데 도움이 되고, 다른 유용한 콘텐츠를 제공하여 웹사이트를 더 탐색하도록 유도합니다. 다음은 실용적인 사용자 정의 404 페이지를 설계하는 데 도움이 되는 팁입니다:

       ①방문자에게 찾고 있는 페이지를 찾을 수 없다는 것을 명확히 알려주십시오. 친근하고 매력적인 언어를 사용하십시오.
       ②404 페이지의 외관과 스타일(네비게이션 포함)이 웹사이트의 다른 페이지와 일관되도록 하십시오.
       ③다음 항목에 대한 링크 추가를 고려하십시오: 가장 인기 있는 기사/블로그 게시물 및 홈페이지.
       ④사용자가 링크가 깨졌다는 것을 보고할 수 있는 방법을 제공하십시오.
       사용자 정의 404 페이지는 사용자를 위해 특별히 만들어집니다. 검색 엔진의 관점에서 이러한 페이지는 아무런 유용성이 없으므로 서버가 404 HTTP 상태 코드를 반환하여 이러한 페이지가 색인화되지 않도록 하십시오.

(2) 웹페이지 또는 콘텐츠가 다른 곳으로 이동함
       웹페이지가 이동했거나 명확한 대체 페이지가 있는 경우, 사용자를 리다이렉트하려면 301(영구 리다이렉트)을 반환하십시오. 이는 사용자의 탐색 경험을 중단시키지 않으며 검색 엔진에 새 페이지 위치를 알리는 좋은 방법입니다. URL 검사 도구를 사용하여 URL이 실제로 올바른 코드를 반환하는지 확인하십시오.

(3) 웹페이지와 콘텐츠가 여전히 존재함
       시스템이 실제로 정상인 웹페이지를 소프트 404 오류로 표시하는 경우, Googlebot이 페이지를 로드할 수 없거나 렌더링 중에 중요한 리소스가 부족하거나 두드러진 오류 메시지를 표시하기 때문일 수 있습니다. URL 검사 도구를 사용하여 렌더링된 콘텐츠와 반환된 HTTP 코드를 확인하십시오. 페이지가 빈 상태, 거의 빈 상태로 렌더링되거나 오류 메시지를 표시하는 경우, 웹페이지가 로드할 수 없는 많은 리소스(이미지, 스크립트 및 기타 텍스트가 아닌 요소)를 참조하기 때문일 수 있으며, 이는 소프트 404 오류로 해석될 수 있습니다. 리소스가 로드되지 않는 이유는 다음과 같습니다: 리소스가 차단됨(robo.ts에 의해 차단됨), 웹페이지에 너무 많은/큰 리소스 포함, 다양한 서버 오류 또는 리소스 로드 속도가 느림.

 

2. 네트워크 연결 오류 및 DNS 오류


       네트워크 연결 오류와 DNS 오류는 Google 검색에서 URL 표시에 빠르게 부정적인 영향을 미칠 수 있습니다. Googlebot은 네트워크 타임아웃, 연결 재설정 및 DNS 오류를 5xx 서버 오류를 처리하는 방식과 유사하게 처리합니다. 네트워크 연결 오류가 발생하면 네트워크 연결 오류는 서버가 서비스 부하를 처리할 수 없다는 것을 나타내기 때문에 크롤 속도가 즉시 느려지기 시작합니다. Googlebot이 웹사이트를 호스팅하는 서버에 접근할 수 없기 때문에 Google은 아직 해당 서버에서 어떤 콘텐츠도 받지 못했습니다. 콘텐츠 부족은 Google이 크롤한 URL을 색인화할 수 없음을 의미하며, 접근할 수 없는 색인화된 URL은 며칠 내에 Google의 색인에서 제거됩니다. Search Console은 각각의 오류에 대해 오류를 생성할 수 있습니다.


(1) 네트워크 연결 오류 디버깅
       이러한 오류는 Google이 URL을 크롤링하기 전 또는 크롤링 중에 발생합니다. 오류는 서버가 응답하기 전에 발생할 수 있으므로 문제를 나타내는 상태 코드가 없어 이러한 오류를 진단하는 것이 더 어려울 수 있습니다. 타임아웃 및 연결 재설정 오류를 디버깅하려면 다음을 수행하십시오:

       ①방화벽 설정과 로그를 검토하십시오. 지나치게 광범위한 차단 규칙 세트가 있을 수 있습니다. Googlebot IP 주소가 어떤 방화벽 규칙에 의해 차단되지 않았는지 확인하십시오.
       ②네트워크 트래픽을 모니터링하십시오. tcpdump 및 Wireshark와 같은 도구를 사용하여 TCP 패킷을 캡처하고 분석하고 특정 네트워크 구성 요소나 서버 모듈을 가리키는 이상 현상을 찾으십시오.
       ③의심스러운 사항을 찾지 못한 경우, 호스팅 회사에 문의하십시오.


       오류는 네트워크 트래픽을 처리하는 책임이 있는 모든 서버 구성 요소에서 발생할 수 있습니다. 예를 들어, 과부하된 네트워크 인터페이스는 타임아웃(연결을 설정할 수 없음)을 유도하는 패킷을 드롭하고 연결을 재설정(포트가 잘못 닫혀 RST 패킷을 보내는 경우)할 수 있습니다.

(2) DNS 오류 디버깅
       DNS 오류의 가장 일반적인 원인은 구성 오류이지만, 방화벽 규칙이 Googlebot DNS 쿼리를 차단하는 경우도 있을 수 있습니다. DNS 오류를 디버깅하려면 다음을 수행하십시오:

       ①방화벽 규칙을 확인하십시오. 어떤 Google IP 주소도 방화벽 규칙에 의해 차단되지 않았는지 확인하고 UDP 및 TCP 요청이 허용되도록 하십시오.
       ②DNS 레코드를 검토하십시오. A 및 CNAME 레코드가 각각 올바른 IP 주소와 호스트 이름을 가리키는지 주의 깊게 확인하십시오. 예를 들어:

       ③모든 도메인 네임 서버가 웹사이트의 올바른 IP 주소를 가리키는지 확인하십시오. 예를 들어:

       ④지난 72시간 이내에 DNS 구성을 변경한 경우, 변경 사항이 전 세계 DNS 네트워크에 전파되기를 기다려야 할 수 있습니다. 전파 속도를 높이려면 Google의 공개 DNS 캐시를 플러시할 수 있습니다.
       ⑤자체 DNS 서버를 운영하는 경우, 서버가 잘 작동하고 과부하되지 않았는지 확인하십시오.