2016-06-15 2 views
0

Google 웹마 스터 콘솔에 최근에 "hreflang no return tags"오류가 발생하여 놓친 내용을 파악할 수 없습니다. 내 사이트는 www.example.com이며 www.example.com/#!/xx와 같은 다른 언어로 액세스 할 수 있습니다. 여기서 xx는 다음 옵션 중 하나입니다. it, ro, ru, pt, en, es, fr .SEO - hreflang "no return tags"

내 코드는 다음과 같습니다

<link view-head rel="alternate" hreflang="x-default" href="{{domain_absolute}}#!/{{mainVars.currentLanguage}}/--about-us" /> 
<link view-head rel="alternate" hreflang="es" href="{{domain_absolute}}#!/es/--about-us" /> 
<link view-head rel="alternate" hreflang="pt" href="{{domain_absolute}}#!/pt/--about-us" /> 
<link view-head rel="alternate" hreflang="ro" href="{{domain_absolute}}#!/ro/--about-us" /> 
<link view-head rel="alternate" hreflang="ru" href="{{domain_absolute}}#!/ru/--about-us" /> 
<link view-head rel="alternate" hreflang="en" href="{{domain_absolute}}#!/en/--about-us" /> 
<link view-head rel="alternate" hreflang="it" href="{{domain_absolute}}#!/it/--about-us" /> 
<link view-head rel="alternate" hreflang="fr" href="{{domain_absolute}}#!/fr/--about-us" /> 

내가 구글에서 얻을 오류는 다음과 같습니다 :

원본 URL : #/EN/일부-문서를

대체 URL을! : http://www.example.com/?_escaped_fragment_=/enhttp://www.example.com/?_escaped_fragment_=/en/some-document - 반환 태그 없음

지원되는 모든 언어에서 동일한 오류가 발생합니다.

내가 뭘 잘못하고 있니?

답변

0

#은 (는) 특수 문자입니다. # 뒤에 나오는 URL의 모든 내용은 무시됩니다.

#! 특별한 경우입니다. #! Google은이 신호를 convert it to a different URL for AJAX crawling에 대한 신호로 처리합니다. 이 '기능'은 사용되지 않습니다. 그리고 URL 구조는 #을 사용하지 않는다고 알려줍니다. 어쨌든 이런 식으로.

그래서 최하위 라인 : #을 사용하지 않도록 URL을 변경하십시오. 모든 언어에 고유 한 URL을 제공하십시오.

0

더 이상 사용되지 않지만 Google은 #! URL을 이스케이프 처리 된 프래그먼트 버전으로 변환합니다. Google에서 URL의 /? _ escaped_fragment_ 버전에서 수익을 찾을 수 없다고 말하기 때문에 요청에 응답하기 위해 URL을 다시 작성하면 HREFLang 요소가 누락되었음을 알 수 있습니다.

소스를 http://www.example.com/?_escaped_fragment_=/en/some-document으로보고 HREFLang 문자열이 보이지 않으면 화면 캡처에 문제가있는 것입니다. 두 버전 모두에 포함되어 있는지 확인하고 이스케이프 처리 된 URL의 조각 버전을 포함하려면이를 포함해야하며 오류가 사라집니다.

5 개 이상의 국가/언어 조합이있는 사이트에 대한 대안은 XML 사이트 맵을 사용하고 예외 처리 된 조각 버전을 제출하는 것입니다.