2012-07-24 3 views
3

Google 대행사는 많은 AJAX 상호 작용과 #! (hashbang) URL : http://www.gunlawsbystate.com/Hashbang URL을 사용하면 Google에서 웹 사이트를 크롤링하기가 어렵습니다.

스크롤 할 수있는 긴 책으로 주소창의 URL이 동적으로 변경됩니다. 우리는 IE를 지원해야합니다. pushState를 사용하지 말고 조언을 해주십시오. 한스 방만이 우리를위한 유일한 옵션입니다.

왼쪽 사이드 바에 책의 모든 챕터에 대한 링크가있는 탐색 기능이 있습니다.

링크의 예 : http://www.gunlawsbystate.com/#!/federal-properety/national-parks-and-wildlife-refuges/

우리 크롤링 구글 기대하고이 : 에 http : // www.gunlawsbystate.com/?_escaped_fragment_=/federal-properety/national-parks-and-wildlife -refuges/ 섹션의 완전한 html 스냅 샷입니다. (+ www.gunlawsbystate.com/#!/federal-properety/national-parks-and-wildlife-refuges/ii-change-in-the-law/ => www.gunlawsbystate.com/과 같은 하위 섹션에 대한 링크가 있습니다. ? _escaped_fragment _ =/연방 정부/국립 공원 및 야생 동물 보호 시설/ii 법률 변경 /).

모두 Google 사양 (developers.google.com/webmasters/ajax-crawling/docs/specification)에 따라 완료된 것으로 보입니다. 사이트는 현재 약 3 개월 동안 운영됩니다. 홈페이지는 10-15 일마다 색인이 다시 생성됩니다.

문제는 Google이 hashbang URL을 제대로 크롤링하지 않는다는 것입니다. 구글이 그런 URL을 싫어하는 것처럼 보입니다.

www.google.ru/search? & q = site % 3Agunlawsbystate.com : 방금 ​​67 페이지의 색인이 생성됩니다. Google이 색인을 생성하는 대부분의 페이지에는 고유 한 콘텐츠가 포함 된 도서 섹션이 400 개가 넘지만 "색인이 생성 된"URL (대개 WordPress 블로그 게시물, 카테고리 및 태그)과 결과 페이지의 5-10 %만이 hashbang URL입니다. 제대로 크롤링하면 정말 좋아.

누군가 내게이 조언을 해줄 수 있습니까? 왜 Google이 Google의 도서 페이지를 제대로 크롤링하지 못합니까? 어떤 도움을 주시면 감사하겠습니다.

P.S. 클릭 할 수없는 링크에 대해 유감스럽게 생각합니다. stackoverflow는 2 이상을 게시하지 않습니다.

UPD. 한참 전에 사이트 맵이 Google에 제출되었습니다. Google 웹 마스터 도구에 따르면 518 개의 URL이 제출되었으며 62 개의 URL 만 색인 생성되었습니다. 또한 웹 마스터 도구의 '색인 상태'페이지에는 1196 페이지가 있습니다. 크롤링되었습니다.; 1071 쪽은 입니다. 선택되지 않았습니다.. 그것은 분명히 구글이 어떤 이유로 색인을하지 않는다는 사실을 가리 킵니다. 자주 방문하는 페이지

+0

아직 답변을 찾지 못하셨습니까? 비슷한 문제가 있습니다. http://webmasters.stackexchange.com/questions/35355/google-crawling-the-site-but-refusing-to-index-dynamic-content – Meisner

+0

@Omeoe I 've done 몇 가지 SEO 개선, 최적화 된 페이지의 콘텐츠, 코드의 사이드 바 위에 올려 놓기, Wordpress가 페이지에 넣은 rel = "canonical"링크를 삭제했습니다. 또한, 내가 게시 한이 AJAX 사이트에 대한 또 하나의 질문입니다. http://webmasters.stackexchange.com/questions/34810/title-of-the-page-in-search-results-and-title-of- googles-cached-version-are-dif/34839 # 34839. 나는 당신의 문제가 꽤 다르다고 확신합니다. – Azmorf

+0

나중에 참조 할 수 : [이 페이지에서 설명하는 구문은 더 이상 필요하지 않으며 2018 년 여름 이후 지원되지 않습니다.] (https://developers.google.com/webmasters/ajax-crawling/docs/getting-started). – Arjan

답변

0

몇 가지가 누락되었습니다. 먼저 다른 URL을 통해 해시 URL에 액세스 할 수 있다고 Google에 알리는 메타 태그가 필요합니다.

<meta name="fragment" content="!"> 

다음으로 각 URL의 매핑 된 버전을 googlebot에 제공해야합니다.

때 구글 방문 :

http://www.gunlawsbystate.com/#!/federal-regulation/airports-and-aircraft/ii-boarding-aircraft/

대신 크롤링합니다 :

http://www.gunlawsbystate.com/?_escaped_fragment_=federal-regulation/airports-and-aircraft/i-introduction/

이 당신에게 작동하려면 하나의 올바른을 제공하기 위해 PHP 나 ASP 같은 것을 사용합니다 페이지. Asp.net 라우팅은 배관을 올바르게 할 수있는 경우에도 작동합니다. 실제로 이러한 "스냅 샷"버전을 만드는 서비스가 있으며 메타 태그는 해당 서버를 가리 킵니다.

+0

나중에 참조 할 수 있도록 :이 답변이 게시 된 이후로 Google은이를 더 이상 권장하지 않습니다. https://webmasters.googleblog.com/2015/10/deprecating-our-ajax-crawling-scheme.html – Arjan

0

Google에서 더 이상 사용하지 않으므로 Google은 hashbang URL로 콘텐츠에 액세스 할 수 없습니다.

Google은 이제 HashBang을 사용하는 대신 이스케이프 처리 된 조각 URL을 피하고 별도의 페이지를 만들 것을 제안합니다.

그래서 PushState가이 경우에 사용할 수있는 다른 옵션이라고 생각합니다.