Google 검색에서의 렌더링 이해

Googlebot은 Chrome 41(M41)을 기반으로 하는 웹 렌더링 서비스(WRS)를 사용합니다. 일반적으로 WRS는 WRS에서 사용하는 Chrome 버전과 동일한 웹 플랫폼 기능을 지원합니다. 전체 목록을 확인하려면 chromestatus.com을 참조하거나 caniuse.com의 비교 기능을 사용하세요.

그러나 몇 가지 예외 및 차이점을 명심해야 합니다. 이 문서에서는 WRS에서 명시적으로 중지되거나 제한되는 기능 및 API에 관해 설명합니다.

Googlebot 및 WRS는 필수 페이지 콘텐츠의 우선순위를 지정함

Googlebot은 웹에서 바람직한 행동을 하도록 만들어졌습니다. Googlebot의 주요 우선순위는 크롤링이지만, 동시에 사이트를 방문하는 사용자의 환경을 저하하지 않아야 합니다. Googlebot과 WRS는 필수 페이지 콘텐츠에 기여하지 않는 리소스가 있는지 지속적으로 분석하고 식별하며 이러한 리소스는 가져오지 않는 경우도 있습니다. 예를 들어 필수 페이지 콘텐츠에 기여하지 않는 보고 및 오류 요청, 이와 유사한 유형의 요청은 필수 페이지 콘텐츠를 추출하는 데 있어서 사용되지 않거나 불필요합니다.

WRS는 일부 인터페이스 및 기능을 비활성화함

기능 감지를 사용해 다른 브라우저에서와같이 지원되는 API, WRS의 기능, 가능한 경우 polyfill을 파악하세요. WRS의 기능은 언제든지 업데이트될 수 있습니다.

  • IndexedDB 및 WebSQL 인터페이스는 사용 중지됩니다.
  • 서비스 워커 사양으로 정의된 인터페이스는 사용 중지됩니다.
  • WebGL 인터페이스는 사용 중지되며 현재 3D 및 VR 콘텐츠는 색인이 생성되지 않습니다.

Googlebot 및 WRS는 페이지 로드 전체에 걸쳐 상태를 비추적함

WRS는 일반 브라우저와 마찬가지로 서버 및 클라이언트 리디렉션에 따라 각 URL을 로드합니다(Google에서 콘텐츠를 발견하는 방식에 관한 개요는 색인 생성 소개 참조). 하지만 WRS는 페이지 로드에서 상태를 추적하지 않습니다.

  • 로컬 스토리지 및 세션 스토리지 데이터는 페이지 로드 도중에 삭제됩니다.
  • HTTP 쿠키는 페이지 로드 도중에 삭제됩니다.

WRS는 ES6을 지원하지 않음

Chrome M41은 ES6 기능을 지원하지 않습니다(예시 클래스의 경우). ES6를 사용하려면 자바스크립트를 ES5로 전환했는지 확인하세요.

WRS는 웹 구성요소에 대한 지원이 제한됨

가능한 경우 light DOM에 콘텐츠를 사용하고 shadow DOM을 사용해 구현 세부정보를 캡슐화하고 숨깁니다. 탐색 요소, 링크, 제목, 주요 텍스트, 이미지와 같은 필수 콘텐츠는 항상 light DOM에 있어야 합니다. 이를 통해 웹 구성요소를 지원하지 않거나 자바스크립트를 실행하지 않는 클라이언트와의 호환성을 극대화할 수 있습니다.

WRS는 권한 요청을 거부함

사용자 동의가 필요한 기능은 Googlebot이 자동 거부합니다. 영향을 받는 기능의 전체 목록을 보려면 권한 레지스트리를 참조하세요. 예를 들어 Camera API, Geolocation API, Notifications API가 영향을 받습니다.

WRS 및 Googlebot은 WebSocket 프로토콜을 지원하지 않음

Googlebot 및 WRS는 TLS의 유무와 상관없이 HTTP/1.x 및 FTP만 사용합니다.

오류 추적 및 렌더링 문제 디버그

기능 감지 및 polyfill을 사용하는 것 외에도 사용자 및 Googlebot이 액세스할 때 애플리케이션이 올바르게 작동하지 못하게 하는 클라이언트 측 오류를 수집하고 분석해야 합니다.

다음에 대한 의견 보내기...