2011-11-04 2 views
1

나는 dotnet C# 및 jQuery plus webservices for ajax calls를 사용합니다. 내 페이지 매기기는 트위터 및 페이징 페이지 매김과 같은 방식으로 작동합니다. onload 이벤트에서 ajax 호출은 컨텐츠 영역에 10 개의 행을 채우고, 클릭 또는 롤은 페이지 매개 변수와 함께 동일한 아약스 호출을 호출하고 더 많은 행을 가져 오는 등의 작업을 수행합니다. 나는 자바 스크립트 사용자가 아닌 사람들을 위해 표준 페이지 매기기를 사용하지 않는다. 크롤링 할 수있는 아약스에 대한 Google 사양을 읽었지만 모델을 Google 새 모델로 변환하는 방법을 모르겠습니다.크롤링 할 수있는 아약스에 대한 Google 사양 이해하기

우선 json 형식을 사용하여 jQuery ajax 게시물을 사용합니다. 따라서 http://www.domain.com/search.aspx?_escaped_fragment_=somevalue과 같은 URL을 읽고 _escaped_fragment_ 값을 사용하여 콘텐츠를 반환하는 aspx 페이지를 만들 수 있습니다. 하지만 어쨌든이 페이지 링크를 Google 크롤러 http://www.domain.com/search.aspx#!somevalue에 전파해야합니다. 이거 괜찮아?

하지만 Google 크롤러가 내 페이지 매김에 액세스 할 때 크롤러는 http://www.domain.com/search.aspx#!1에 대한 링크를 사이트 맵에 표시하지 않는 한 볼 수 없으며 나에게 의미가 없습니다. 큰 혼란에 빠지다. 누군가가 팁을 줄 수 있습니까? 여기 다이어그램의

답변

0

필요는 시도 수 있습니다 없습니다.

페이지 search.aspx에는 해시를 읽고 페이지 1과 관련된 콘텐츠를 가져와야하는 기능이 있어야합니다.이 콘텐츠의 일부는 www.domain.com/search.aspx?query=google#2입니다. 이 함수는 동일하지만 이제는 페이지 2에 대한 내용을 얻습니다.

이제 # 1과 # 2를 #! 1과 #! 2로 교환해야합니다. 내 논리는 동일하지만 google 크롤러는 www.domain.com/search.aspx?query=google&_escaped_fragment_=1을 호출 할 것이고 결과에 대한 HTML 스냅 샷을 반환하는 일부 페이지로이 URL을 리디렉션하는 URL 경로를 만들어야 할 것입니다.

맞습니까?

1

나의 이해는 : http://code.google.com/web/ajaxcrawling/docs/getting-started.html

구글이 못생긴 버전으로 기존 "꽤"URL (예를 들어 http://www.domain.com/search.aspx?page=2)를 변경하는 것입니다 (#를 포함하여!). 이는 정상적인 메커니즘으로 페이지의 링크를 찾는 것입니다 (예 : href를 "2 페이지").

그런 다음 제출하면 사이트에서이를 이해하고 스냅 샷을 렌더링해야합니다.

www.domain.com/search.aspx?query=google#1 같은 페이지에 링크를 고려

그래서 (3 페이지에 링크 등)는 2 페이지 링크가없는 경우가 아니라면 사이트 맵

관련 문제