1

Googlebot이 내 jQuery에서 크롤링 중이고 존재하지 않는/a로 끝나는 링크를 작성한 다음 404 오류로보고합니다./디렉토리에있는 웹 마스터 도구에서 jQuery로 404 오류가 발생했습니다.

http://www.mySite.com/a 

사이트의 유효성이 W3C에서 확인되었습니다.

"/ a"는 jQuery 자체에서 발생합니다. 편집 : 다음은 밖으로지기 전에 나는 htaccess로 내에서 리디렉션하고있어, 지금의 jQuery 1.5 버전과 1.5.2 (만이 내가 내부 모습)

<a href='/a' style='color:red;float:left;opacity:.55;'>a</a> 

내 코드의 라인 손 ...

Redirect 301 /a http://www.mysite.com 

Googlebot이 jQuery 내부로 이동하는 이유와 방법을 아는 사람이 있습니까?


편집 : 이후 jQuery를이 robots.txt 파일과 파일하지만 난 정말 외부 자바 스크립트 파일로 이동합니다 Googlebot이 기대되지 않았습니다 차단 한

.


편집 2 :

다음은 the thread I started at Google Groups에서이 문제에 대한 구글 직원 JohnMu의 응답이다. 결국 301을 할 것 같습니다.

JohnMu

구글 직원

오전 4시 39분

안녕 얘들이에

그냥 짧은 메모 - 예, 우리 는 "/ A를 따기 "jQuery JavaScript에서 많은 사이트에 대한 링크. 그러나 "/ a"가 404 인 경우 일반적으로 문제가되지 않는 이며 그 다음은 입니다. 다른 404-URL과 마찬가지로 은 웹 마스터 도구에서 크롤링 오류로 표시하지만 크롤링에 대해서는 이 아니며 색인 생성 또는 순위 지정이 아닙니다. 당신이 하려는 경우 URL도 크롤링 오류로 나타납니다 그 다음 내가 단지 301 URL이 홈페이지에 ( 을 허용하지 를 리디렉션 추천, 웹 마스터 도구에 크롤링 오류를 유발하지 않도록 - robots.txt에서 허용하지 않는 URL은 입니다.

파일의 크롤링을 허용하지 않기를 권장합니다. 우리는 일반적으로 색인을 생성하지 않지만, 좋은 미리보기를 생성하려면 에 액세스해야 할 수도 있습니다. 귀하의 사이트에 대한 미리보기.

그래서 정리해 : 당신이 표시되는 경우 "가 /"웹 마스터 도구의 크롤링 오류에 , 당신은 단지 그것이 문제가 발생하지 않을 것이다, 처럼 남길 수 있습니다. 제거하려는 경우 은 홈페이지로 301 리디렉션을 할 수 있습니다.

건배

그것은 jQuery를 보이는

+0

jQuery처럼 보이지 않습니다. html 앵커처럼 보입니다. – Alex

+0

해당 링크를 만들거나 jQuery를 사용하고 있습니까? 여기 뭔가 잘못 됐어. –

+0

@Cory, jQuery 파일 자체의 코드입니다. 간단히 "jquery-1.5.min.js"를 열어 해당 행을 검색하면됩니다. – Sparky

답변

2

테스트 템플릿으로 기능에 대한 브라우저 지원을 결정하는 것을 사용한다. 하지만 왜 이것이 Google 봇에 의해 표시 될지 잘 모르겠습니다. 웹 크롤러가 일반적으로 자바 스크립트를 실행했다는 사실을 알지 못했습니다. 그것은 그들이 실제로 웹 브라우저로 작동한다는 것을 의미합니다 (어느 것이 궁금합니까?). 가능성은 낮습니다.

(편집 -이 참조 : how do web crawlers handle javascript이 - 구글이 스크립트에서 몇 가지 물건을 끌어 시도 할 수 있음을 나타냅니다 놀을이 jQuery를의 일부 무엇인가를 인식하도록 프로그래밍 할 수 없습니다 것입니다, 당신은 포함에 대한 비표준 이름을 사용합니까.?)

또는 jQuery 포함에 대한 헤더가 올바르지 않을 수 있습니까? 어쩌면 대부분의 브라우저가 입력 한 내용이 script include로 설정 되었기 때문에 걱정하지 않을 HTML MIME 형식을 제공하지만 어쩌면 봇이 구문 분석을 결정할 수 있습니다.

리디렉션을 설정하는 대신 어떤 경우에도 robots.txt을 사용하지 않으시겠습니까? 이 줄을 추가하십시오 :

Disallow: /a 

또한 jQuery를 고칠 수도 있습니다. 링크를 약간 흐리게 처리하면 트릭을 수행 할 수 있습니다 (예 : 잘못된 줄을 변경 :

div.innerHTML = " <link/><table></table><"+"a hr"+"ef='/a'" 
    +" style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; 

을 구글이 실제로 문자열 회씩 연결을 구문 분석 똑똑 경우에, 저를 충격 것이다, 당신은 더 하나를 가서 변수에 "href가"뭔가를 할당하고 그와 연결할 수 있습니다. 나는 그들의 js 스캐너가 그렇게 멀리 갈 것이라고 믿을 수 없다. 그것은 기본적으로 그것을 실행하려고하는 것과 같다.

+0

예 ... robots.txt 파일에 추가하는 것이 301보다 나은 것으로 보입니다.이 문제에 홀로있는 것이 아닙니다. StackOverflow에는이 "/ a"문제는 물론 JavaScript 내부에 GoogleBot을 가져 오는 것에 대해 불평하는 Google 포럼의 몇몇 다른 사람들이 있습니다. – Sparky

+0

아니요, jQuery 파일의 이름을 변경하지 않았습니다. 나는 그것을 스스로 접대하고 CDN을 사용하지 않는다. – Sparky

+1

아이디어가있는 게시물이 업데이트되었습니다 ... 지금 당장이 게임을 할 시간이 없지만 쉽게 수정할 수있는 것처럼 보입니다. 여기에 문제 보고서가 있습니다 : http://bugs.jquery.com/ticket/7659 아무도 그걸 다루는데 너무 관심이있는 것 같습니다 ... –

관련 문제