2010-01-14 4 views
15

사용자가 내 페이지를 열면 div 안에 데이터를로드하기 위해 다른 AJAX 호출을해야합니다. 그건 내 응용 프로그램이 작동하는 방법입니다.Google 크롤러가 Javascript를 해석합니까? AJAX를 통해 페이지를로드하면 어떻게됩니까?

문제는 ...이 코드의 소스를 보면 해당 AJAX의 소스가 포함되어 있지 않습니다. 물론 URL을 wget 할 때 ... AJAX HTML도 표시되지 않습니다. 말이된다.

하지만 Google은 어떻습니까? Google이 브라우저 인 것처럼 콘텐츠를 크롤링 할 수 있습니까? 사용자가 볼 수있는 것처럼 Google에서 내 페이지를 크롤링하도록 허용하려면 어떻게해야합니까?

+1

이 질문은 http://webmasters.stackexchange.com/에 더 적합 할 것입니다. 이것은 또한 JS 또는 AJAX 질문이 아닙니다. BTW, 답변은 Google과 같은 검색 엔진을 사용하여 찾을 수 있습니다. http://googlewebmastercentral.blogspot.de/2014/05/understanding-web-pages-better.html – feeela

답변

5

업데이트 : 대답에서this question about "Ajax generated content, crawling and black listing"에 나는이 문서에 대한 the way Google crawls AJAX requestsMaking AJAX Applications Crawlable에 대한 문서의 컬렉션의 일부입니다 발견했다.

즉, <a href="#data">...</a>이 아닌 <a href="#!data">...</a>을 사용하고 path/to/path?_escaped_fragment_=data이라는 실제 서버 측 응답을 제공해야한다는 의미입니다.

또한 SEO 친화적 인 콘텐츠에 대한 힌트와 함께 크롤러를 제공하는 <link/> 태그를 고려하십시오. <link rel="canonical"/>, this article은 약간의 설명입니다.

참고 : 여기에서 답을 가져 왔습니다 : https://stackoverflow.com/questions/10006825/search-engine-misunderstanting/10006925#comment12792862_10006925 내가 여기에서 삭제할 수 없기 때문입니다.

+5

다음 질문에서 언급했듯이 Google은 이제 JavaScript를 지원하며이 답변은 구식입니다. 참조 : http://stackoverflow.com/questions/10006825/search-engine-misunderstanting/10006925#comment12792862_10006925 – Tarion

+0

답변이 오래되었거나 지금 해석되었습니다 .. –

+0

공식 게시물 : http://googlewebmastercentral.blogspot.com/2014/ 05/understanding-web-pages-better.html – huglester

0

페이지가 자바 스크립트없이 OR로 작동하도록 만들면 (즉, 프레임 또는 표준 GET/POST 요청을 서버로 사용 javascript가 자동으로 또는 "일반 HTML로 표시"링크를 통해 실패하면 검색 엔진이 페이지를 크롤링하는 것이 훨씬 쉬워집니다.

이 아닌은 "동적"콘텐츠를 크롤링하는 것이 좋습니다. 이는 단지 동적이기 때문입니다.

대부분의 상황에서 Google은 클라이언트 측 동적 콘텐츠를 크롤링하지 않습니다.

2

내가 이런 상황에서 수행하는 작업은 처음에는 Ajax 호출이 수행하는 모든 기본 매개 변수를 기반으로 컨텐츠로 페이지를 채 웁니다. 그런 다음 아약스 자바 스크립트 만 사용하여 페이지를 업데이트합니다.

1
다른 답변이 말하는 것처럼

, 구글의 크롤러 (그리고 다른 검색 엔진의 사람들을 생각)는 자바 스크립트를 해석하지않습니다 - 당신은 하지는 위험에 사용자 에이전트 등 (에 의해 구별하려고한다 귀하의 사이트를 다운 그레이드하거나 사용자와 다른 콘텐츠를 제시하기 위해 차단 된 로봇 대). 오히려 의 경우 어떤 이유로 든 자바 스크립트가 차단 된 방문자에게 (아마도 최소한의) 수준의 콘텐츠를 제공합니다 (이유는 "로봇이되는"경우를 포함하여) .- 결국, 그 이유는 바로 noscript 태그입니다. 존재 ... 매우 그것을 만들기 위해, 매우 "최소 수준의 콘텐츠를 제공하기 쉬운"(또는, 당신이 그렇게 선택한다면, 최소한, 이상, 자바 스크립트의 비 사용자에게 !-)!

17

, 분명히이 이 정도까지, 자바 스크립트를 해석 않습니다, according to Matt Cutts :

동안

는 "우리는 자바 스크립트 내에서 검색되었고, 우리가 찾고 있던 구글은 자바 스크립트에 대해 더 똑똑 해졌고 일부 자바 스크립트를 실행할 수있다. 나는 모든 자바 스크립트를 실행한다고 말하지 않기 때문에 자바 스크립트를 실행하지 않는 조건이있다. Google 애널리틱스처럼 Googlebot에서 귀하의 Google Analytics로 팬텀 (phantom) 방문을 생성하려고하지 않기 때문에 실행하고 싶습니다. "

는 (왜 그냥 때문에 중복 질문 게시 된 오늘의 그것을보고, 여기에이 정보를 볼하지 않았다 대부분 때문에? 응답 한 질문에 대답.)

0

지금은 이케 구글 봇이 제한되지 보인다 간단한 브라우저 lynx에.

Google 로봇은 Humanly visibleHumanly contrasting 텍스트를 가져 와서 서로 다른 분야의 페이지에서 중요성을 부여하려고합니다. 따라서 FF 또는 Chrome과 같은 다른 브라우저와 마찬가지로 페이지를 Layout Engine으로 렌더링합니다.

심지어는 v8 자바 스크립트 엔진을 지원할 수도 있습니다. 봇은 페이지를로드하고 dom이 ready이 될 때까지 기다릴 수 있으며 페이지가 안정적인 상태가 될 때까지 몇 초 동안 기다릴 수도 있습니다. 대조 텍스트를 자릅니다.

관련 문제