본문 바로가기

이전 데이터/인터넷 공부

크롤링(Crawling) 머지... 크롤링알아보자..

웹 페이지를 그대로 가져와서 거기서 데이터를 추출해 내는 행위. 


크롤링(Crawling) 혹은 스크래이핑(Scraping) 이라고 한다.


Python이 이 분야의 선두주자로서, 컴퓨터 프로그래밍이 익숙하지 않은 

요즘은 그렇지도 않지만 비전공자들인 인문학이나 통계 분야의 종사자들이 쓰기 쉽도록

라이브러리 들이 발달하면서 급격히 발전하고 있다.

대표적인 파이썬 라이브러리의 예로 beautifulsoup등이 있다.







크롤링[ crawling]

무수히 많은 컴퓨터에 분산 저장되어 있는 문서를 수집하여 검색 대상의 색인으로 포함시키는 기술. 

어느 부류의 기술을 얼마나 빨리 검색 대상에 포함시키냐 하는 것이 우위를 결정하는 요소로서 

최근 웹 검색의 중요성에 따라 발전되고 있다.

[네이버 지식백과] 크롤링 [crawling] (IT용어사전, 한국정보통신기술협회)









웹사이트 크롤링 상태 보고서

웹사이트에 대한 크롤링 상태 보고서에는 Google에서 크롤링하지 못했거나 HTTP 오류 코드가 반환된 사이트 URL에 대한 세부정보가 표시됩니다.

앱 크롤링 상태 보고서를 찾고 계세요?

 

보고서는 다음과 같이 두 개의 섹션으로 구성됩니다.

  • 사이트 오류: 이 보고서 섹션에서는 지난 90일 동안 Googlebot의 전체 사이트 액세스를 차단한 주요 문제를 표시합니다(차트를 표시하려면 상자 클릭).
     
  • URL 오류: 이 섹션에서는 Google에서 특정 데스크톱이나 휴대전화, Android 앱 페이지를 크롤링하려고 할 때 발생한 특정 오류를 표시합니다. URL 오류 보고서의 주요 섹션에서는 Google에서 페이지에 액세스하기 위해 사용하는 다양한 크롤링 매커니즘을 다루며, 각각의 페이지 종류와 관련된 오류가 포함되어 있습니다.

사이트 오류 개요

잘 운영되고 있는 사이트라면 크롤링 오류 페이지의 사이트 오류 섹션에 아무런 오류도 표시되지 않아야 합니다(Google에서 크롤링하는 대부분의 사이트에서 표시되지 않음). 다수의 사이트 오류가 감지되면 사이트의 크기와 상관없이 메시지 형태로 사이트 운영자에게 통보됩니다.

처음으로 표시되는 크롤링 오류 페이지의 사이트 오류 섹션에는 DNS, 서버 연결, robots.txt 가져오기 등 세 개의 오류 유형 옆에 간략한 상태 코드가 제공됩니다. 코드에 녹색 체크 표시가 없는 경우 상자를 클릭하면 지난 90일간의 크롤링 세부정보 그래프를 확인할 수 있습니다.

높은 오류율

세 개의 카테고리 중 어느 한 개라도 오류율이 100%로 표시되면 사이트가 다운되었거나 잘못 구성되었음을 의미합니다. 그 원인은 다양하며 다음과 같이 조사할 수 있습니다.

  • 사이트 재구성으로 인해 사이트 섹션에 대한 허가가 변경되었는지 확인합니다.
  • 사이트가 재구성되었다면 외부 링크가 여전히 작동하는지 확인합니다.
  • 새로운 스크립트를 검토하여 반복적으로 오작동하지 않도록 확인합니다.
  • 모든 디렉토리가 있으며 실수로 이동 또는 삭제하지 않았는지 확인합니다.
내 사이트의 오류가 이와 같은 상황에 해당하지 않는다면 오류율이 단지 일시적으로 증가한 것이거나 외부적인 원인(누군가가 존재하지 않는 페이지로 연결) 때문일 수 있습니다. 따라서 아무 문제가 아닐 수도 있습니다. 어떤 경우든 사이트에 평소보다 오류가 많이 발생하면 Google에서 사이트 운영자가 이에 대해 조사할 수 있도록 오류 수가 증가했음을 알립니다.

낮은 오류율

카테고리 중 어느 한 개의 오류율이 100% 미만이면 사이트가 과도기적 상태에 있다는 의미일 수 있습니다. 또는 사이트가 오버로드되었거나 구성이 잘못되었음을 의미할 수도 있습니다. 이러한 문제에 대해 자세히 조사하거나 Google 포럼에서 질문할 수 있습니다. Google에서는 사이트의 전체 오류율이 매우 낮다 하더라도 사이트 운영자에게 알릴 수 있습니다. 올바르게 구성된 사이트라면 어느 카테고리에도 오류가 없어야 한다는 사실을 알고 있기 때문입니다.

사이트 오류 유형

다음 오류는 보고서의 사이트 섹션에 표시됩니다.

DNS 오류란 무엇인가요?

DNS 오류는 서버가 다운되었거나 도메인으로의 DNS 라우팅에 문제가 있어 Googlebot이 DNS 서버와 통신할 수 없음을 의미합니다. 대부분 DNS 경고나 오류는 Googlebot이 사이트에 액세스하는 데 영향을 주지 않지만 지연 시간이 길다는 신호일 수 있으며, 이는 사용자에게 부정적인 영향을 미칠 수 있습니다.

DNS 오류 수정

  • Google에서 사이트를 크롤링할 수 있도록 합니다.
    홈페이지와 같은 주요 페이지에서 Fetch as Google을 사용합니다. 홈페이지의 콘텐츠가 아무 문제 없이 반환되면 Google에서 사이트에 제대로 액세스할 수 있는 것입니다.
  • DNS 오류가 지속되거나 반복되면 DNS 공급자에게 문의합니다.
    DNS 공급자와 웹 호스팅 서비스가 같은 경우가 많습니다. 
  • 존재하지 않는 호스트 이름에 404 또는 500과 같은 HTTP 오류 코드로 응답하도록 서버를 구성합니다.
    foo.example.commade-up-name.example.com 및 기타 하위 도메인의 요청에 응답하도록 example.com과 같은 웹사이트를 와일드카드 DNS 설정으로 구성할 수 있습니다. 이러한 구성은 사용자 제작 콘텐츠가 포함된 사이트에서 각 사용자 계정에 별도의 도메인(http://username.example.com)을 부여하는 경우 적절합니다. 그러나 이러한 종류의 구성으로 인해 여러 호스트 이름에 걸쳐 콘텐츠가 불필요하게 중복될 수 있으며 Googlebot의 크롤링에 영향을 미칠 수도 있습니다.

DNS 오류 목록

오류 유형설명
DNS 시간 초과

DNS 서버가 호스트 이름(예: www.example.com)을 인식하지 못해 Google에서 사이트에 액세스하지 못했습니다.

Fetch as Google을 사용하여 현재 Googlebot이 사이트를 크롤링할 수 있는지 확인하세요. Fetch as Google이 아무런 문제 없이 홈페이지의 콘텐츠를 표시한다면 Google에서 사이트에 제대로 액세스할 수 있는 것입니다.

등록기관에 문의하여 사이트가 제대로 설정되었고 서버가 인터넷에 연결되어 있는지 확인하세요.

DNS 조회

DNS 서버가 호스트 이름(예: www.example.com)을 인식하지 못해 Google에서 사이트에 액세스하지 못했습니다.

Fetch as Google을 사용하여 현재 Googlebot이 사이트를 크롤링할 수 있는지 확인하세요. Fetch as Google이 아무런 문제 없이 홈페이지의 콘텐츠를 표시한다면 Google에서 사이트에 제대로 액세스할 수 있는 것입니다.

등록기관에 문의하여 사이트가 제대로 설정되었고 서버가 인터넷에 연결되어 있는지 확인하세요.

서버 오류란 무엇인가요?

URL에 이 오류가 나타나면 Googlebot이 URL에 액세스할 수 없거나 요청 시간이 초과되었거나 사이트가 사용 중임을 의미합니다. 이에 따라 Googlebot의 요청이 강제로 취소되었습니다. 서버가 너무 느리게 응답하거나 사이트에서 Google을 차단하기 때문에 Google에서 사이트에 액세스할 수 없습니다. 따라서 Google의 요청이 강제로 취소됩니다.

서버 연결 오류 수정

  • 동적 페이지 요청에 대한 과도한 페이지 로드를 줄입니다.
    사이트에서 여러 URL에 동일한 콘텐츠를 게재하는 경우 동적으로 콘텐츠를 게재하는 것으로 간주됩니다(예:www.example.com/shoes.php?color=red&size=7 사이트에서 www.example.com/shoes.php?size=7&color=red사이트와 동일한 콘텐츠 게재).  동적 페이지에서 응답 시간이 너무 길어져 시간 초과 문제가 발생하거나 서버에서 오버로드 상태를 반환하여 Googlebot에게 사이트를 더 천천히 크롤링하도록 요청할 수 있습니다. 대개 매개변수를 짧게 유지하고 가끔 사용하는 것이 좋습니다. 매개변수가 사이트에서 어떻게 작동하는지 확실하게 알고 있다면 Google에 해당 매개변수 처리 방법을 알릴 수 있습니다.
  • 호스팅 서버가 다운 또는 오버로드되거나 잘못 구성되지 않도록 합니다.
    연결, 시간 초과 또는 응답 문제가 지속되면 웹 호스팅 업체에 문의하고 사이트의 트래픽 처리 능력을 높이는 것을 고려합니다.
  • 실수로 Google을 차단하지 않았는지 확인합니다.
    DNS 구성 문제, 잘못 구성된 방화벽 또는 DoS 방지 시스템이나 콘텐츠 관리 시스템 구성 등과 같은 시스템 차원의 문제 때문에 Google이 차단될 수 있습니다. 방지 시스템은 안전한 호스팅의 주요 부분으로서 주로 비정상적으로 높은 수준의 서버 요청을 자동으로 차단하도록 설정됩니다. 하지만 Googlebot은 일반 사용자보다 서버 요청을 더 많이 하는 경우가 많기 때문에 이러한 방지 시스템이 트리거되어 Googlebot을 차단하고 웹사이트를 크롤링하지 못하게 할 수 있습니다. 이 문제를 해결하려면 웹사이트의 어떤 인프라가 Googlebot을 차단하는지 확인하고 차단을 삭제해야 합니다. 방화벽을 직접 제어할 수 없다면 호스팅 업체에 문의하시기 바랍니다.
  • 검색 엔진 사이트의 크롤링과 색인 생성을 현명하게 제어합니다.
    일부 웹마스터의 경우 위에 설명된 대로 방화벽을 사용하여 의도적으로 Googlebot이 웹사이트에 도달하지 못하게 합니다. 이 경우는 대개 Googlebot을 완전히 차단하는 것이 목적이 아니라 사이트가 크롤링되고 색인 생성되는 방식을 제어하기 위한 것입니다. 이에 해당하면 다음 사항을 확인하세요.Googlebot이 사이트를 크롤링하는 빈도를 변경하고 싶으면 Googlebot의 크롤링 속도 변경을 요청할 수 있습니다. 호스팅 업체는 IP 주소의 소유권도 인증할 수 있습니다.

서버 연결 오류

오류 유형설명
시간 초과

서버가 요청을 기다리는 동안 시간이 초과되었습니다.

Fetch as Google을 사용하여 현재 Googlebot이 사이트를 크롤링할 수 있는지 확인하세요. Fetch as Google이 아무런 문제 없이 홈페이지의 콘텐츠를 표시한다면 Google에서 사이트에 제대로 액세스할 수 있는 것입니다.

서버가 오버로드되거나 잘못 설정되었을 수 있습니다. 문제가 계속되면 호스팅 업체에 문의하세요.

헤더 잘림

서버에 연결했으나 전체 헤더가 전송되기 전에 연결이 종료되었습니다. 나중에 다시 확인하세요.

Fetch as Google을 사용하여 현재 Googlebot이 사이트를 크롤링할 수 있는지 확인하세요. Fetch as Google이 아무런 문제 없이 홈페이지의 콘텐츠를 표시한다면 Google에서 사이트에 제대로 액세스할 수 있는 것입니다.

서버가 오버로드되거나 잘못 설정되었을 수 있습니다. 문제가 계속되면 호스팅 업체에 문의하세요.

연결 재설정

서버가 정상적으로 Google의 요청을 처리했지만 서버와의 연결이 재설정되었기 때문에 콘텐츠가 표시되지 않습니다. 나중에 다시 확인하세요.

Fetch as Google을 사용하여 현재 Googlebot이 사이트를 크롤링할 수 있는지 확인하세요. Fetch as Google이 아무런 문제 없이 홈페이지의 콘텐츠를 표시한다면 Google에서 사이트에 제대로 액세스할 수 있는 것입니다.

서버가 오버로드되거나 잘못 설정되었을 수 있습니다. 문제가 계속되면 호스팅 업체에 문의하세요.

응답 잘림

전체 응답을 수신하기 전에 서버 연결이 종료되어 응답의 본문이 잘린 것으로 보입니다.

Fetch as Google을 사용하여 현재 Googlebot이 사이트를 크롤링할 수 있는지 확인하세요. Fetch as Google이 아무런 문제 없이 홈페이지의 콘텐츠를 표시한다면 Google에서 사이트에 제대로 액세스할 수 있는 것입니다.

서버가 오버로드되거나 잘못 설정되었을 수 있습니다. 문제가 계속되면 호스팅 업체에 문의하세요.

연결이 거부됨

서버에서 연결을 거부하여 Google이 사이트에 액세스하지 못했습니다. 호스팅 업체가 Googlebot을 차단하고 있거나 방화벽 설정 문제일 수 있습니다.

Fetch as Google을 사용하여 현재 Googlebot이 사이트를 크롤링할 수 있는지 확인하세요. Fetch as Google이 아무런 문제 없이 홈페이지의 콘텐츠를 표시한다면 Google에서 사이트에 제대로 액세스할 수 있는 것입니다.

서버가 오버로드되거나 잘못 설정되었을 수 있습니다. 문제가 계속되면 호스팅 업체에 문의하세요.

연결 실패

네트워크에 연결할 수 없거나 네트워크가 다운되어 Google에서 사용자 서버에 연결하지 못했습니다.

서버가 오버로드되거나 잘못 설정되었을 수 있습니다. 문제가 계속되면 호스팅 업체에 문의하세요.

Fetch as Google을 사용하여 현재 Googlebot이 사이트를 크롤링할 수 있는지 확인하세요. Fetch as Google이 아무런 문제 없이 홈페이지의 콘텐츠를 표시한다면 Google에서 사이트에 제대로 액세스할 수 있는 것입니다.

연결 시간 초과

서버에 연결하지 못했습니다.

Fetch as Google을 사용하여 현재 Googlebot이 사이트를 크롤링할 수 있는지 확인하세요. Fetch as Googlebot이 아무런 문제 없이 홈페이지의 콘텐츠를 표시한다면 Googlebot이 사이트에 제대로 액세스할 수 있는 것입니다.

서버가 인터넷에 연결되었는지 확인하세요. 서버가 오버로드되거나 잘못 설정되었을 수도 있습니다. 문제가 계속되면 호스팅 업체에 문의하세요.

로봇 실패란 무엇인가요?

사이트의 robots.txt 파일 가져오기 관련 오류입니다. Googlebot에서는 사이트를 크롤링하기 전에 하루에 한 번 정도 robots.txt 파일을 가져와서 크롤링하면 안 되는 페이지를 확인합니다. robots.txt 파일이 있지만 액세스할 수 없는 경우(즉, 200 또는 404 HTTP 상태 코드가 반환되지 않는 경우) Google에서는 사이트 운영자가 원하지 않는 URL의 크롤링을 연기합니다. 이 경우 Google에서 robots.txt 파일에 액세스할 수 있게 되면 곧 Googlebot이 사이트로 돌아와 크롤링합니다. 로봇 배제 프로토콜에 대해 자세히 알아보기

robots.txt 파일 오류 수정

  • robots.txt 파일이 항상 필요하진 않습니다.
    robots.txt 파일은 검색 엔진을 통해 색인을 생성하지 않으려는 콘텐츠가 사이트에 포함되어 있는 경우에만 필요합니다. 검색 엔진이 사이트 내 모든 콘텐츠의 색인을 생성하길 원하면 robots.txt 파일이 필요하지 않으며 빈 파일도 필요하지 않습니다. robots.txt 파일이 없는 경우 Googlebot이 이 파일을 요청하면 서버에서 404 상태 코드를 표시하고 Google에서 사이트를 계속 크롤링하므로 전혀 문제 되지 않습니다.
  • Google에서 robots.txt 파일에 액세스할 수 있도록 합니다.
    Google에서 robots.txt 파일을 가져오려 할 때 서버가 5xx(연결할 수 없음) 오류를 반환할 가능성이 있습니다. 호스팅 업체에서 Googlebot을 차단하고 있지 않은지 확인합니다.  방화벽이 있다면 방화벽 설정에서 Google을 차단하고 있지 않은지 확인합니다.

URL 오류 개요

보고서의 URL 오류 섹션은 카테고리의 URL 오류 중 상위 1,000개를 표시하는 카테고리별로 나뉘어져 있습니다. 사이트 운영자가 이 섹션에 표시되는 모든 오류를 주의해야 하는 것은 아니지만 사용자와 Google 크롤러에 부정적인 영향을 미칠 수 있는 오류를 파악하기 위해 이 섹션을 모니터링하는 것이 중요합니다. 모니터링을 용이하게 하기 위해 Google에서는 오류 수 및 URL을 참조하는 페이지와 같은 요소를 바탕으로 하여 중요도 순으로 문제를 정렬합니다. 구체적으로 다음 사항을 고려해야 합니다.

  • 301 리디렉션으로 중요한 URL의 '찾을 수 없음' 오류를 수정합니다. '찾을 수 없음(404)' 오류는 흔히 발생하지만 다른 사이트에 링크된 중요한 페이지, 사이트맵에 있었으나 지금은 삭제된 오래된 URL, 철자 오류가 있는 중요한 페이지의 URL 또는 더이상 사이트에 존재하지 않는 인기 있는 페이지의 URL에 대한 오류는 해결해야 합니다. 이러한 방식으로 Google 및 방문자는 사이트 운영자가 신경 쓰는 정보에 쉽게 액세스할 수 있습니다.
  • 사이트맵을 업데이트합니다.  사이트맵에서 이전 URL을 정리합니다. 이전 URL을 대체할 새로운 사이트맵을 추가하는 경우 새로운 사이트맵으로 리디렉션하는 것이 아니라 이전 사이트맵을 삭제해야 합니다.  
  • 리디렉션을 간결하고 짧게 유지합니다.  순서대로 리디렉션되는 URL이 많다면(예: 페이지 A > 페이지 B > 페이지 C > 페이지 D), Googlebot이 순서를 따르고 이해하기 어려울 수 있습니다.  리디렉션 '홉' 수를 낮게 유지하시기 바랍니다.  추적할 수 없음에 대해 자세히 알아보세요. 
  • Android 앱으로 연결되는 딥 링크가 올바르게 설정되도록 합니다.  Google 검색을 위한 앱 색인 생성 사이트에서 자세히 알아보세요.

URL 오류 세부정보 보기

다음과 같은 다양한 방법으로 URL 오류를 볼 수 있습니다.

  • 다운로드를 클릭하여 크롤러 유형(예: 데스크톱, 스마트폰)에 관한 상위 1,000개의 오류 목록을 가져옵니다.
  • 표 위의 필터를 사용하여 구체적인 URL을 찾습니다.
  • 개별 URL이나 애플리케이션 URI의 링크를 따라 오류 세부정보를 확인합니다.
데스크톱 또는 휴대전화 URL 오류 세부정보는 오류에 관한 상태 정보, URL을 참조하는 페이지 목록 및 Fetch as Googlebot으로 연결되는 링크를 표시합니다. 따라서 URL의 문제를 해결할 수 있습니다.

URL 오류를 수정됨으로 표시

특정 항목에 오류를 일으킨 문제를 해결했다면 그 항목을 목록에서 숨길 수 있습니다. 하나씩 또는 대량으로 이를 수행할 수 있습니다. URL 옆의 체크박스를 선택한 다음 수정됨으로 표시를 클릭합니다. URL이 목록에서 삭제됩니다.

그래도 문제가 지속된다면 수정됨으로 표시했다 하더라도 다음번에 Google에서 사이트를 크롤링할 때 해당 URL이 목록에 다시 표시됩니다.

URL 오류 유형

오류 유형설명
서버 오류

URL에 이 오류가 나타나면 Googlebot이 URL에 액세스할 수 없거나 요청 시간이 초과되었거나 사이트가 사용 중임을 의미합니다. 이에 따라 Googlebot의 요청이 강제로 취소되었습니다.

서버 연결 오류에 대해 자세히 알아보기

Soft 404

대개 방문자가 사이트에 존재하지 않는 페이지를 요청하는 경우 웹 서버는 404(찾을 수 없음) 오류를 표시합니다. 이 HTTP 응답 코드는 브라우저와 검색 엔진 모두에 페이지가 존재하지 않음을 명확하게 알립니다. 이에 따라 검색 엔진에서 페이지의 콘텐츠(있는 경우)를 크롤링하지 않거나 색인 생성하지 않습니다.

Soft 404 오류는 서버가 사이트에 실제로 존재하지 않는 URL의 실제 페이지를 반환할 때 발생합니다. 이는 보통 서버에서 잘못된 URL이나 존재하지 않는 URL을 '정상'으로 처리할 때 발생하며 사용자를 홈페이지와 같은 유효한 페이지나 '맞춤' 404 페이지로 리디렉션합니다.  

이는 검색 엔진이 사이트에 존재하지 않는 URL(주로 중복된 URL)을 크롤링하고 색인을 생성하는 데 시간을 많이 소모할 수 있기 때문에 문제가 됩니다. 또한 사이트의 크롤링 범위에 부정적인 영향을 미칠 수 있습니다. Googlebot이 존재하지 않는 페이지에 너무 많은 시간을 소비하게 되어 실제 고유한 URL을 신속하게 발견하거나 자주 방문하지 못할 수 있기 때문입니다.

존재하지 않는 페이지 요청에 대한 응답으로 항상 404(찾을 수 없음) 또는 410(존재하지 않음) 응답 코드를 표시하도록 서버를 설정하는 것이 좋습니다. 404 응답 코드를 표시할 때 맞춤 404 페이지를 설정하면 방문자 환경을 개선할 수 있습니다. 예를 들어, 가장 인기 있는 페이지 목록, 홈페이지 링크 또는 사용자 의견 링크가 포함된 페이지를 만들 수 있습니다. 하지만 404 메시지를 표시하는 페이지를 만드는 것만으로는 충분하지 않습니다. 올바른 404 또는 410 HTTP 응답 코드도 표시해야 합니다.

404

Google에서는 페이지 간의 링크를 추적하여 콘텐츠를 검색합니다. 일반적으로 찾을 수 없음 상태 오류(대개 404 HTTP 상태 코드)는 삭제했거나, 이전 URL을 새 페이지로 리디렉션하지 않고 이름을 변경했거나, 링크에 오타가 있어 존재하지 않는 페이지를 Googlebot이 방문하려는 경우에 표시됩니다.

찾을 수 없음 오류 처리

404 오류는 대개 Google에서 사이트의 순위에 영향을 미치지 않으므로 무시해도 됩니다. 일반적으로 이 오류는 오타, 잘못된 구성(예: 콘텐츠 관리 시스템에서 자동으로 생성하는 링크의 경우) 또는 자바스크립트와 같이 삽입된 콘텐츠의 링크를 인식하고 크롤링하려는 Google의 적극적인 활동으로 인해 발생합니다.  문제 조사에 도움이 되는 몇 가지 사항은 다음과 같습니다.

  • URL을 클릭하여 액세스할 수 있는 이 페이지에서 링크됨 섹션을 보고 잘못된 링크가 어디에서 기인했는지 확인합니다.
  • 사이트에서 링크 수정 또는 삭제합니다.
  • 301 리디렉션을 사용하여 다른 사이트에서 오타가 있는 링크의 트래픽을 의도된 대로 바로 잡습니다.
    예를 들어 URL 오타(예: www.example.com/redshoes 대신 www.example.com/redshuz사용)는 사이트로 연결되는 링크를 의도했으나 단순히 철자를 잘못 입력하여 발생할 수 있습니다. 이러한 경우 서버 구성에서 오타가 있는 URL을 파악하고 올바른 URL로 301 리디렉션을 생성할 수 있습니다. 또한, 잘못된 링크에 대해 사이트의 웹마스터에게 문의하고 링크 업데이트 또는 삭제를 요청할 수 있습니다.

404는 웹의 지극히 정상적인 부분이며 여러 가지 면에서 바람직합니다. 사이트에 대한 모든 링크를 제어할 수 없으며 Search Console에 표시된 모든 404 오류를 해결할 수도 없을 것입니다. 대신 순위가 가장 높은 문제를 확인하고 가능한 경우 이를 해결하고 넘어가는 것이 좋습니다.

404 상태 코드 표시 시점

사이트에서 페이지를 삭제할 때는 해당 콘텐츠를 다른 곳으로 이동할지 또는 사이트에 해당 유형의 콘텐츠를 더 이상 표시할 계획이 없는지 생각해야 합니다. 

  • 새 URL로 콘텐츠를 이동할 경우 이전 URL을 새 URL로 리디렉션해야 합니다. 이렇게 해야 사용자가 해당 콘텐츠를 보기 위해 이전 URL을 방문하면 자동으로 원하는 콘텐츠와 관련된 페이지로 리디렉션됩니다.
  • 새로운 관련 콘텐츠로 대체하지 않고 콘텐츠를 영구적으로 삭제하는 경우 이전 URL에서 404 또는 410을 표시하도록 합니다. 현재 Google에서는 410(존재하지 않음)을 404(찾을 수 없음)와 똑같이 취급합니다. 

존재하지 않는 페이지에 대해 404 또는 410 이외의 코드가 표시되거나 404가 표시되지 않고 홈페이지와 같은 다른 페이지로 리디렉션되면 문제가 발생할 수 있습니다. 이러한 페이지는 soft 404라고 하며 사용자와 검색 엔진 모두에게 혼란을 초래할 수 있습니다.

예상치 못한 404 오류

크롤링 오류 중에서 자신의 사이트 또는 웹에 존재하지 않는다고 생각되는 URL에 대해 404 오류가 표시되는 경우가 더러 있습니다. Googlebot에서 자바스크립트, 플래시 파일 또는 기타 삽입된 콘텐츠에 있는 링크를 추적하려 할 때 이런 예상치 않은 URL을 생성할 수 있습니다.

예를 들어 사이트에서 다음 코드를 사용하여 Google 애널리틱스의 파일 다운로드를 추적할 수 있습니다.

<a href="helloworld.pdf"
  onClick="_gaq.push(['_trackPageview','/download-helloworld']);">
  Hello World PDF</a>

예를 들어 Googlebot에서 이러한 코드를 찾으면 실제 페이지가 아님에도 불구하고http://www.example.com/download-helloworld URL을 크롤링하려고 시도할 수 있습니다. 이 경우 해당 링크는 Search Console의 크롤링 오류 기능에 404(찾을 수 없음) 오류로 표시됩니다.

Google에서는 크롤링 오류에서 이러한 문제가 나타나지 않도록 문제 유형을 감지하여 해결하고자 노력하고 있습니다. 

액세스 거부됨

일반적으로 Google에서는 페이지 간의 링크를 추적하여 콘텐츠를 검색합니다. 페이지를 크롤링하려면 Googlebot이 페이지에 액세스할 수 있어야 합니다. 예기치 않은 액세스 거부 오류가 표시되는 경우 다음과 같은 이유 때문일 수 있습니다.

  • 사이트에서 사용자가 콘텐츠의 일부나 전체를 보려면 로그인해야 하므로 Googlebot이 사이트의 URL에 액세스하지 못했습니다.
  • robots.txt 파일에서 전체 사이트나 개별 URL, 디렉토리에 대한 Google의 액세스를 차단하고 있습니다.
  • 서버에서 사용자에게 프록시를 사용하여 인증하도록 요구하거나 호스팅 업체에서 Google이 사이트에 액세스하지 못하도록 차단하고 있을 수 있습니다.

해결 방법

  • robots.txt가 예상대로 작동하고 Google을 차단하지 않는지 테스트합니다. robots.txt 테스트 도구를 사용하면 Googlebot이 robots.txt 파일의 콘텐츠를 해석하는 방법을 정확하게 볼 수 있습니다. Google의 사용자 에이전트는 Googlebot입니다. 
  • Fetch as Google을 사용하여 사이트가 Google에 정확히 어떻게 표시되는지 확인하세요. 이 기능은 사이트 콘텐츠나 검색결과의 검색 가능 여부와 관련된 문제를 해결하는 데 유용할 수 있습니다.
추적할 수 없음

추적할 수 없음 오류에는 Google에서 완전히 추적할 수 없는 URL 목록과 그 이유에 대한 일부 정보가 표시됩니다. Googlebot이 사이트의 URL을 추적할 수 없었던 몇 가지 이유는 다음과 같습니다.

플래시, 자바스크립트, 활성 콘텐츠

자바스크립트, 쿠키, 세션 ID, 프레임, DHTML 또는 플래시와 같은 일부 기능이 검색 엔진의 사이트 크롤링을 어렵게 만들 수 있습니다. 다음 사항을 확인해 보세요.

  • 대부분 검색엔진이 Lynx와 매우 유사한 방식으로 사이트를 확인하므로 Lynx와 같은 텍스트 브라우저를 사용하여 사이트를 검토합니다. 자바스크립트, 쿠키, 세션 ID, 프레임, DHTML 또는 플래시 같은 기능을 사용하여 텍스트 브라우저에 전체 사이트가 표시되지 않는다면, 검색 엔진 스파이더가 사이트를 제대로 크롤링하지 못할 수 있습니다.
  • Fetch as Google을 사용하여 사이트가 Google에 정확히 어떻게 표시되는지 확인하세요.
  • 동적 페이지(예: ? 문자가 포함된 URL)를 사용하는 경우, 일부 검색 엔진 스파이더는 동적 및 정적 페이지를 크롤링하지 않을 수도 있습니다. 대개 매개변수를 짧게 유지하고 가끔 사용하는 것이 좋습니다. 매개변수가 사이트에서 어떻게 작동하는지 확실하게 알고 있다면 Google에 해당 매개변수 처리 방법을 알릴 수 있습니다.

리디렉션

  • 한 페이지에서 다른 페이지로 영구 리디렉션하는 경우에는 올바른 HTTP 상태 코드(301 영구 이동됨)를 반환하고 있는지 확인하세요.
  • 가급적 상대적인 링크보다는 절대적인 링크를 사용하세요. 예를 들어 사이트 내 다른 페이지에 링크할 때 mypage.HTML 대신 www.example.com/mypage.HTML로 링크하시기 바랍니다.
  • 사이트의 모든 페이지가 하나 이상의 정적 텍스트 링크로부터 연결될 수 있도록 합니다. 한 페이지에서 다른 페이지로의 링크를 따라가는 데 필요한 리디렉션 수를 최소화합니다.
  • 리디렉션이 올바른 페이지를 가리키는지 확인합니다. Google에서는 자기 자신을 가리키거나(반복 오류 발생) 잘못된 URL을 가리키는 리디렉션을 자주 발견합니다.
  • 사이트맵에 리디렉션된 URL을 포함하면 안 됩니다.
  • URL은 가능한 한 짧게 유지합니다. 리디렉션 URL에 세션 ID와 같은 정보가 자동으로 추가되지 않는지 확인합니다.
  • 또한 검색 봇이 세션 ID 없이 사이트를 크롤링할 수 있도록 허용하거나 경로를 추적하는 인수 없이도 사이트를 크롤링할 수 있도록 허용합니다.
DNS 오류

이러한 URL 오류가 표시되면 Googlebot이 DNS 서버와 통신하지 못했거나 서버에 사이트에 대한 항목이 없음을 의미합니다.

DNS 오류에 관해 자세히 알아보기

오류설명
잘못된 리디렉션

잘못된 리디렉션 오류는 스마트폰 탭에서 크롤링 > 크롤링 오류 페이지의 URL 오류 섹션에 표시됩니다.

일부 웹사이트는 별도 URL을 사용하여 데스크톱 및 스마트폰 사용자에게 서비스를 제공하며, 스마트폰 사용자를 모바일 사이트(예: m.example.com)로 유도하도록 데스크톱 페이지를 설정합니다. 잘못된 리디렉션은 데스크톱 페이지가 스마트폰 사용자를 검색어와 관련 없는 스마트폰 페이지로 잘못 리디렉션할 때 발생합니다. 잘못된 리디렉션의 일반적인 예로는, 데스크톱의 모든 페이지에서 스마트폰 사용자를 스마트폰에 최적화된 사이트의 홈페이지로 리디렉션하는 경우를 들 수 있습니다. 아래 그림에서 빨간색 화살표로 표시된 리디렉션은 잘못된 리디렉션을 나타냅니다.


이러한 리디렉션 유형은 사용자의 워크플로를 방해하고 사이트 사용을 중지시키며 다른 사이트로 이동하게 만들 수 있습니다. 따라서 Google 시스템에서 스마트폰 결과가 적절한 URL 대신 홈페이지로 리디렉션하는 것이 감지되면 다음과 같은 메모가 사용자의 검색결과에 표시됩니다.

사이트의 홈페이지를 열 수 있습니다.

사용자가 무시하고 계속하기를 클릭하면 해당 링크에 계속 액세스할 수 있습니다. 사용자가 노력 끝에 스마트폰에 최적화된 사이트의 제대로 된 페이지를 찾더라도, 관련 없는 리디렉션은 속도가 느린 모바일 네트워크에서 내 페이지를 더 찾기 힘들게 만듭니다. 이러한 잘못된 리디렉션은 사용자에게 혼란을 줄 뿐 아니라 Google의 크롤링, 색인 지정 및 순위 알고리즘에 문제를 일으킬 수 있습니다.

다음은 모바일 친화적 검색 환경을 만들고 잘못된 리디렉션을 방지하는 데 필요한 도움말입니다.

  • 내 스마트폰으로 몇 차례 검색(또는 브라우저를 스마트폰처럼 작동하도록 설정)하여 사이트가 어떻게 작동하는지 확인합니다.
  • 신고에 제공된 예제 URL을 시작점으로 하여 서버 구성에 문제가 있는 부분을 정확하게 디버깅합니다.
  • 스마트폰 사용자를 스마트폰 사이트의 적절한 URL로 리디렉션하도록 서버를 설정합니다.
  • 사이트의 페이지에 스마트폰용 페이지가 없다면 사용자를 스마트폰 사이트의 홈페이지로 리디렉션하는 대신 데스크톱 페이지에 머무르게 하는 것이 좋습니다. 이 경우 잘못된 작업을 수행하는 것보다 아무런 조치를 취하지 않는 것이 더 낫습니다.
  • 데스크톱 및 스마트폰 사용자에게 동일한 콘텐츠를 게재하는 반응형 웹 디자인을 사용해 봅니다.
  • 끝으로 데스크톱 사용자와 스마트폰 사용자를 위한 별도 URL 설정 관련 권장사항을 참조하세요.
스마트폰에서 URL 차단됨

'차단됨' 오류는 스마트폰 탭에서 크롤링 > 크롤링 오류 페이지의 URL 오류 섹션에 표시됩니다. 사이트의 URL에 대해 '차단됨' 오류가 표시된다면 해당 URL이 사이트의 robots.txt 파일에 Google의 스마트폰 Googlebot으로 인해 차단되는 것입니다.

이 오류는 스마트폰과 관련이 없을 수도 있습니다(예: 상응하는 데스크톱 페이지도 차단될 수 있음). 하지만 주로 스마트폰 사용이 가능한 URL의 크롤링을 허용하도록 robots.txt를 수정해야 함을 나타냅니다. 스마트폰을 사용할 수 있는 URL이 차단되면 모바일 페이지를 크롤링할 수 없으며 이로 인해 검색결과에 표시되지 않을 수 있습니다.

사이트에 URL에 대한 스마트폰 크롤링 '차단됨' 오류가 표시되는 경우, 사이트의 robots.txt 파일을 검사하여 실수로 스마트폰용 Googlebot이 사이트 일부를 크롤링하지 못하도록 하고 있는지 확인하세요.

자세한 내용은 권장사항을 참조하세요.

플래시 콘텐츠

플래시 콘텐츠 오류는 스마트폰 탭에서 크롤링 > 크롤링 오류 페이지의 URL 오류 섹션에 표시됩니다.

Google 알고리즘은 이 섹션에 콘텐츠가 주로 플래시로 렌더링되는 URL을 표시합니다. 플래시는 iOS 또는 Android 버전 4.1 이상에서는 지원되지 않기 때문에 많은 기기에서 이러한 페이지를 렌더링할 수 없습니다. 또한 이러한 운영체제 사용자에게 이 URL이 표시되는 경우 Google 검색결과에 다음과 같은 메시지가 표시됩니다.

플래시를 사용하므로 사용자의 기기에서 작동하지 않을 수도 있습니다.

사이트에 반응형 웹 디자인을 사용하여 웹사이트에 대한 모바일 환경을 개선하는 것이 좋습니다. 이는 모든 기기에서 편하게 검색할 수 있는 사이트를 만들기 위해 Google에서 권장하는 방법입니다.  이에 대한 자세한 내용은 여러 기기와 호환되는 웹 개발을 위한 종합적인 리소스인 웹 기초에서 확인하세요.

이 문제를 해결하려면 Googlebot이 사이트의 모든 애셋(CSS, 자바스크립트, 이미지)에 액세스할 수 있도록 허용해야 하며 robots.txt나 기타 수단으로 이러한 애셋을 차단해서는 안 됩니다. Google 알고리즘은 이러한 외부 파일을 이용하여 사이트의 디자인 구성을 감지하고 그에 맞게 처리합니다. Search Console에서 Fetch as Google 기능을 사용하여 색인 생성 알고리즘이 사이트에 액세스하도록 할 수 있습니다.

 

뉴스 게시자가 Google 뉴스와 관련된 오류 보고서를 보려면 Google 뉴스에 사이트를 포함해야 하며 Search Console 계정을 만들고 사이트를 이 계정에 추가해야 합니다. 이 단계를 완료하면 Search Console에서 아래 단계를 따르세요.

  • 페이지에서 사이트의 URL을 클릭합니다.
  • 대시보드에서 크롤링 > 크롤링 오류를 클릭합니다.
  • 뉴스 콘텐츠에 대한 크롤링 오류를 확인하려면 뉴스 탭을 클릭합니다.
  • 크롤링 오류는 카테고리별로 정리됩니다(예: '기사 추출' 또는 '제목 오류'). 이러한 카테고리 중 하나를 클릭하면 영향을 받은 URL과 해당 URL에서 발생한 크롤링 오류가 표시됩니다.
참고: Google 뉴스의 색인은 컴퓨터 알고리즘을 사용하여 생성된다는 점에 유의하시기 바랍니다. Google에서는 가능한 한 많은 콘텐츠를 포함하기 위해 최선을 다하고 있지만 모든 기사가 포함된다고 보장할 수는 없습니다. 양해해 주셔서 감사합니다.
오류설명
기사가 비정상적으로 짧음

HTML 페이지에서 가져온 기사 본문이 해당 페이지의 링크 없는 텍스트에 비해 너무 짧습니다. 이 현상은 전체 뉴스 기사가 아니라 뉴스 요약이나 멀티미디어 콘텐츠를 포함하는 대부분의 페이지에 적용됩니다. 이 오류는 오류가 포함되었을 수 있는 텍스트를 제외하기 위해 생성되었습니다.

권장사항

이러한 문제의 원인은 주로 다음과 같습니다.

  • 관련 기사에 대한 스니펫이 너무 많은 경우 - 추출 작업에 도움이 되도록 이러한 스니펫을 클릭할 수 있도록 만드는 방법을 고려해 봅니다.
  • '친구에게 기사 보내기'와 같이 설명이 긴 기능 - 'display:none' 또는 'visibility:hidden' 스타일을 설정하여 텍스트를 보이지 않게 만들거나 자바스크립트를 사용하여 동적으로 HTML 코드를 작성해 봅니다.
  • 사용자 댓글 - 댓글을 iframe 안에 넣거나 AJAX를 통해 동적으로 가져오거나 인접한 페이지로 이동합니다.
기사가 조각남

HTML 페이지에서 가져온 기사 본문이 단락을 구성하지 않는 개별 문장으로 구성되어 있는 것으로 보입니다. 이 오류는 오류가 포함되었을 수 있는 텍스트를 제외하기 위해 생성되었습니다.

권장사항

  • 각 단락이 한 문장 이상으로 구성되어 있는지 확인합니다.
  • 각 문장에 구두점을 잘 사용하도록 합니다.
  • <br> 및 <p> 태그를 문단 내에 자주 사용하지 말고 전체적으로 기사 본문을 분할하지 않도록 합니다.
  • 기사 페이지에서 기사가 아닌 텍스트를 일부 제거합니다.
기사가 너무 긺

HTML 페이지에서 가져온 기사 본문이 뉴스 기사로 사용하기에는 너무 깁니다. 이 오류는 오류가 포함되었을 수 있는 텍스트를 제외하기 위해 생성되었습니다. 이러한 오류는 대개 하단에 사용자의 댓글이 포함된 뉴스 기사 또는 뉴스 기사가 아닌 다른 콘텐츠가 포함된 HTML 레이아웃으로 인해 발생합니다.

권장사항

기사 페이지에서 기사가 아닌 텍스트를 일부 제거합니다. 기사 페이지에 사용자 댓글이 포함된 경우 다음 옵션 중 한 가지를 선택합니다.

  • iframe에 넣습니다.
  • AJAX를 사용하여 동적으로 댓글을 가져옵니다.
  • 댓글 중 일부를 인접한 페이지로 이동합니다.
기사가 너무 짧음

HTML 페이지에서 가져온 기사 본문이 뉴스 기사로 사용하기에는 너무 짧습니다. 이 현상은 전체 뉴스 기사가 아니라 뉴스 요약이나 멀티미디어 콘텐츠를 포함하는 대부분의 페이지에 적용됩니다. 이 오류는 오류가 포함되었을 수 있는 텍스트를 제외하기 위해 생성되었습니다.

권장사항

  • 기사를 각각 몇 개의 문장으로 이루어진 텍스트 문단 형식으로 구성해 봅니다. 기사 내용이 너무 짧아 새로운 기사가 될 수 없는 경우 해당 기사를 포함할 수 없습니다.
  • 기사에 80개 이상의 단어를 포함합니다.
날짜를 찾을 수 없음

기사의 게시 날짜를 확인할 수 없습니다.

권장사항

다음과 같은 날짜 형식 지정 권장사항을 따릅니다.

  • 기사 제목과 기사 텍스트 사이의 별도 HTML 라인에 각 기사의 날짜와 시간을 명료하게 배치합니다. 날짜에는 최초 뉴스 게시 시점을 지정해야 합니다.
  • 크롤러에서 정확한 기사 게시 시간을 착각하지 않도록 기사 페이지의 HTML에서 다른 날짜를 삭제합니다.
  • 날짜 메타태그를 사용하려면 먼저 Google에 문의하세요. 날짜 메타태그는 <meta name="DC.date.issued" content="YYYY-MM-DD"> 형식이어야 합니다. 여기에서 날짜는 W3C 형식으로 '완전한 날짜'(YYYY-MM-DD) 형식 또는 시간대 접미사가 포함된 '완전한 날짜와 시간, 분, 초'(YYYY-MM-DDThh:mm:ssTZD) 형식을 사용합니다.
  • 뉴스 사이트맵을 만듭니다. <publication_date> 태그를 사용하면 기사에 올바른 날짜를 선택하는 데 도움이 됩니다.
날짜가 너무 오래됨

사이트맵의 <publication_date> 태그 또는 페이지 HTML 자체에 있는 날짜를 통해 확인한 기사의 날짜가 너무 오래되었습니다.

권장사항

  • 2일 이내의 기사를 사용해야 합니다. 현재 Google에서는 게시 후 2일이 지나지 않은 기사만을 수집합니다.
  • 위와 같은 날짜 형식 지침을 따릅니다.
기사 본문이 없음

HTML 페이지에서 가져온 기사 본문이 비어 있는 것 같습니다.

권장사항

  • 각 기사의 전체 텍스트가 기사 페이지의 소스 코드에 있으며 자바스크립트 파일 또는 iframe 등에 포함되지 않았는지 확인합니다.
  • 기사의 소스 코드에 'display:none' 또는 'visibility:hidden' 등의 스타일을 사용하지 않았는지 확인합니다.
  • 기사의 링크가 자바스크립트 리디렉션을 사용하는 중간 페이지가 아니라 기사 페이지로 직접 연결되는지 확인합니다.
기사를 가져오지 못함

페이지에서 기사를 가져오지 못했습니다. 기사에 대한 유효한 제목, 본문 및 타임스탬프를 확인할 수 없는 경우 기사를 가져오지 못합니다. Google에서는 일부 기사가 Google 뉴스에 나타나지 않는 이유에 관한 정보를 제공하기 위해 이 오류가 발생한 URL을 보여줍니다.

권장사항

  • 이미지가 아닌 텍스트로 구성하는 등 제목, 본문 및 타임스탬프를 쉽게 크롤링할 수 있도록 만듭니다. 그러나 이 오류는 정보를 제공하기 위한 목적입니다. Google에서는 이러한 오류를 줄일 수 있도록 추출 방법을 개선하기 위해 최선을 다하고 있습니다.
  • 뉴스 사이트맵을 제출합니다.
문장이 없음

HTML 페이지에서 가져온 기사 본문에 나타나는 여러 단어의 끝에 구두점이 없습니다. 이 오류는 오류가 포함되었을 수 있는 텍스트를 제외하기 위해 생성되었습니다.

권장사항

  • 기사 콘텐츠가 연속적인 단어와 마침표가 있는 문장들로 구성되어 있지 않으면 Google 뉴스에 포함할 수 없습니다. 기사 텍스트가 문장으로 구성되었는지, 문단 내에 <br> 또는 <p> 태그가 빈번히 사용되지 않았는지 확인합니다.
  • 각 기사의 전체 텍스트가 기사 페이지의 소스 코드에 있으며 자바스크립트 파일 등에 포함되지 않았는지 확인합니다.
  • 기사의 링크가 자바스크립트 리디렉션을 사용하는 중간 페이지가 아니라 기사 페이지로 직접 연결되는지 확인합니다.
오프사이트 리디렉션

섹션 또는 기사 페이지가 다른 도메인의 URL로 리디렉션됩니다.

권장사항

  • 모든 섹션 페이지 및 기사는 Google 뉴스에 포함된 사이트의 도메인 내에 위치해야 합니다.
  • 오프사이트 리디렉션을 사용하지 않는 경우, 제3자가 사이트를 수정하지 않았는지 확인하세요. 해킹된 사이트에 대해 자세히 알아보기
페이지가 너무 큼

섹션 또는 기사 페이지 길이가 허용되는 최대 크기를 초과합니다.

권장사항

  • HTML 원문에 허용되는 최대 크기는 256KB입니다.
제목이 허용되지 않음

HTML 페이지에서 가져온 제목이 뉴스 기사 제목이 아닙니다.

권장사항

  • HTML 페이지의 기사 제목에 <title> 태그를 설정하고 <h1> 태그 등을 사용하여 제목이 HTML 페이지에서 눈에 잘 띄도록 배치하면 이 문제를 해결할 수 있습니다. 제목에 대해 자세히 알아보기
제목을 찾을 수 없음

HTML 페이지에서 기사 제목을 가져오지 못했습니다.

권장사항

  • Google 추천 제목 형식을 준수합니다.
  • 기사가 휴대기기에서 올바르게 표시되게 하려면 제목의 앵커 텍스트 앞에 번호(액세스 키에 해당될 수도 있음)를 포함하지 않습니다.
압축해제 실패

Googlebot-News에서 압축된 페이지를 발견했으나 압축을 풀지 못했습니다. 이는 네트워크 상태가 나쁘거나 웹 서버 프로그래밍 또는 설정이 잘못되어 발생할 수 있습니다.

권장사항

  • 네트워크/웹 서버를 확인합니다.
지원되지 않는 콘텐츠 유형

페이지에 Google 뉴스에서 지원되지 않는 HTTP 콘텐츠 유형이 있습니다.

권장사항

  • 기사의 콘텐츠 유형은 text/html, text/plain 또는 application/xhtml+xml이어야 합니다.




'이전 데이터 > 인터넷 공부' 카테고리의 다른 글

Fetch as Google 도구  (0) 2016.02.11
크롤링 통계  (0) 2016.02.10
모바일용 애드센스  (0) 2016.02.10
바이럴 마케팅 사례? 의심 사례?  (0) 2016.02.04
바이럴 마케팅에 이용된 블로그 구분법  (0) 2016.02.04