동적 게재

동적 게재는 페이지를 요청하는 사용자 에이전트에 따라 동일한 URL에서 서버가 다른 HTML(및 CSS)로 응답하는 설정입니다.

이 설정에서는 사이트에서 HTML을 모바일 사용자 에이전트용으로 수정하는 것이 즉시 분명하게 나타나지 않으므로(데스크톱 사용자 에이전트로 크롤링될 때 모바일 콘텐츠가 '숨겨짐'), 서버가 스마트폰용 Googlebot도 페이지를 크롤링하여 모바일 콘텐츠를 찾으라고 요청하는 힌트를 보내는 것이 좋습니다. 이 힌트는 Vary HTTP 헤더를 사용하여 구현됩니다.

동적 게재는 동일한 URL에서 각 기기에 다른 코드를 게재합니다.

요약

  • Vary HTTP 헤더를 사용하여 사용자 에이전트에 따라 변경사항을 알립니다.
  • 사용자 에이전트 문자열을 제대로 감지합니다.

Vary HTTP 헤더

Vary HTTP 헤더는 다음과 같이 2가지의 중요한 역할을 하게 됩니다.

  • 캐시에서 페이지를 게재할지 결정할 때 사용자 에이전트를 고려해야 한다는 사실을 ISP 및 그 외에 사용되는 캐싱 서버에 알립니다. Vary HTTP 헤더가 없으면 캐시에서 실수로 데스크톱 HTML 페이지의 캐시를 모바일 사용자에게 게재하거나 그 반대로 게재할 수 있습니다.
  • 유효한 Vary HTTP 헤더는 Google에서 모바일에 최적화된 콘텐츠를 게재하는 URL을 크롤링하는 데 사용하는 신호 중 하나이므로 Googlebot이 휴대기기에 최적화된 콘텐츠를 더욱 빠르게 찾을 수 있습니다.

Vary HTTP 헤더는 다음과 같이 요청에 대한 서버 응답의 일부입니다.

GET /page-1 HTTP/1.1
Host: www.example.com
(...rest of HTTP request headers...)

HTTP/1.1 200 OK
Content-Type: text/html
Vary: User-Agent
Content-Length: 5710
(... rest of HTTP response headers...)

Vary 헤더는 응답의 콘텐츠가 페이지를 요청하는 사용자 에이전트에 따라 다를 것임을 브라우저에 알립니다. 서버에서 이미 Vary HTTP 헤더를 사용하고 있다면 이미 게재된 목록에 '사용자-에이전트'를 추가할 수 있습니다.

사용자 에이전트를 제대로 감지

사용자 에이전트 감지(사용자 에이전트 '스니핑'이라고도 함)는 대개 오류가 발생하기 쉬운 기술입니다. 그 이유는 다양하지만 일반적인 문제 유형 3가지는 다음과 같습니다.

  1. 사용자 에이전트 감지는 매칭 기준이 되는 사용자 에이전트 문자열(또는 하위 문자열) 목록에 의존합니다. 이러한 목록은 끊임없는 유지관리와 업데이트가 필요하며 새로운 사용자 에이전트와 일치하지 않습니다. 실제로 목록이 제대로 관리되지 않고 오래되어 사용자 환경이 열악한 경우가 많습니다.
  2. 사용자 에이전트를 매칭할 때 데스크톱 사용자 에이전트를 모바일 사용자 에이전트로 또는 모바일 사용자 에이전트를 데스크톱 사용자 에이전트로 감지하는 등 매칭을 잘못하는 경우가 많습니다. 마찬가지로 사이트에서 태블릿을 스마트폰으로 취급하는 실수가 흔히 발생합니다. 사이트에 액세스하는 브라우저의 사용자 에이전트를 감지하는 경우 일반 모바일 문자열 ('Android'만 확인)이 아니라 스마트폰 관련 문자열(예: 'Android'와 '모바일' 단어를 모두 확인)을 감지해야 합니다. 블로그 게시물에서 자세히 알아보세요.

  3. 사용자 에이전트를 감지할 때 클로킹에 주의합니다. 사용자 에이전트를 감지할 때 사이트는 사용자 에이전트 문자열에서 기기 이름을 찾아서 기기 분류 또는 유형을 감지합니다. 이때 특별히 Googlebot을 찾아서는 안 됩니다. 모든 Googlebot 사용자 에이전트는 스스로를 특정 휴대기기로 식별하므로 이러한 기기를 처리할 때와 완전히 동일하게 Googlebot 사용자 에이전트를 처리해야 합니다. 예를 들어 스마트폰용 Googlebot이 스스로를 iPhone으로 식별하면 iPhone 사용자에게 제공되는 것과 같은 응답(리디렉션, 최적화된 콘텐츠 등)을 제공해야 합니다.

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