2012-03-06 4 views
2

Google의 제품 페이지에 더하기 버튼 하나를 추가하려고했습니다. 특정 하위 도메인에 대한 언어로 번역 된 콘텐츠가있는 다중 하위 도메인 웹 사이트가 있습니다. 사용자의 언어 환경 설정은 쿠키를 통해 기억됩니다.Google+ '공유'에서 언어 설정을 감지하지 못했습니다.

+1 버튼을 눌렀을 때 Google에서 페이지를 공유하려고하면 번역 된 설명이 표시되지 않습니다. 그것은 어떻게 든 "영어"묘사를 움켜 잡습니다. "MetaDescription"태그를 볼 때 외국어로되어 있습니다.

내가 추측 해 왔던 것은 Google이 +1 버튼을 클릭 한 바로 그 페이지를 크롤링하는 대신 공유하고 크롤링하려는 URL을 호출하려고했던 것입니다. Google이 공유하고 싶은 페이지의 언어 설정을 감지하도록하는 가장 좋은 방법은 무엇입니까?

답변

1

API를 다른 언어로로드하려면 구성에 lang을 지정해야합니다. plusone.js가로드되기 전에이 작업을 수행하십시오. 버튼을 만들면 화면에 해당 언어가 표시됩니다.

<html> 
    <head> 
    <title>+1 Demo: Async render</title> 
    <link rel="canonical" href="http://www.example.com" /> 
    </head> 
    <body> 
    <g:plusone></g:plusone> 

    <script type="text/javascript"> 
     window.___gcfg = { 
     lang: 'zh-CN' 
     }; 

     (function() { 
     var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
     po.src = 'https://apis.google.com/js/plusone.js'; 
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 
     })(); 
    </script> 
    </body> 
</html> 

그러나, 그것의 공유 부분에 대해, 당신은 확신 할 수 있습니다 구글은 당신이 올바른 언어를 따기 것을 공유하고있는 페이지를 긁는 경우 : 여기

은 예입니다? Google이 사용하는 사용자 에이전트는 언어를 지정하지 않을 수 있으므로 귀하의 페이지는 기본 언어로 Google의 스크래퍼에 렌더링됩니다. 어쩌면 Google이 올바르게 다칠 수있는 페이지의 각 언어에 대해 표준 URL을 가져야합니다.

관련 문제