나는 아약스에 따라 내 응용 프로그램을 구축하는거야, 내 URL은 뭔가 같다 :크롤링 가능한 Ajax 콘텐츠. hashbang없이 SEO-ing. 내 길은 괜찮 니?
는 구글의 제안에 대한 몇 가지 논의를 참조http://server.com/module/#function_name,param1,param2...etc
후 : (#!) hashbang 것은, 그것은 나를 실현하기 어렵지 않다 그것은 최선의 해결책이 아니 었습니다. 몇 가지 이유가 있습니다 :
- 어쨌든 URL은 꽤 추합니다.
- 언젠가 Google (또는 다른 검색 엔진)이 hashbang 이외의 더 나은 솔루션을 제안한다면 그것은 끔찍한 일입니다. 나는 hashbang으로 나의 추악한 URL을 지켜야 만하거나 내 페이지에 대한 링크를 아직 생존시키기위한 js 코드를 작성해야한다.
- HTML5 pushState가 언젠가 인기를 얻게 될 것입니다. 위의 모든 것들에 대한
, 나는 그것을 내 방식을 결정 :
<a href="http://server.com/module/for-crawler/function-name/param1/param2/...">
Some text </a>
그리고 일부 jQuery 코드 대신 페이지 -의 아약스 내용을로드하는 것이 가능하게됩니다 : 내 탐색 링크는 다음과 같이 될 것입니다 일반 링크처럼 변경 : 크롤러가 내 페이지를 읽을 때
$(function(){
$('a').live('click',function(e){
var realURL = translateURL($(this).attr('href'))
loadContent(realURL);
e.prevetnDefault();
return false;
})
})
/* -- the function translateURL will turn url like :
..... http://server.com/module/for-crawler/function-name/param1/param2/...
Into:
..... http://server.com/module/#function-name/param1/param2/...
That's the real url I think all ajaxers are used to dealing with
*/
, 그것은 "HREF"속성에 URL을 따를 것이다, 난 그냥 구글 읽는 내 페이지의 정적이 아닌 JS 버전으로 제공 할 것입니다. 몇 일 후, 내 페이지가 & 사용자가이 같은 구글의 검색 결과에 내 페이지가 표시됩니다 색인 : 내 정상 아약스 버전으로 사용자를 리디렉션하는 사용자 JS 다시 갈거야
http://server.com/module/for-crawler/function-name/param1/param2/...
, 나는 현실에 의미 URL :
http://server.com/module/#function-name/param1/param2/...
이것이 현재 제가 생각할 수있는 최선의 방법입니다. 제게 조언을 해주세요 : 제가 그런 식으로해야합니까, 아니면 더 잘 만들 수 있습니까? 모든 사람들에게 감사드립니다!
들이 귀하의 사이트가 가지고 있다고 생각합니다 여러 개의 디렉토리를 사용하면 멀리 떨어져있을 필요가 없습니다. 검색 엔진이 매개 변수에 대해 걱정할 필요가 있습니까? URL이 "/ function-name"과 같지 않을 수 있습니까?someparam & anotherparam –
@MatthewRiches : 내 URL은 데모 용 일 뿐이며, "/"또는 매개 변수를 분리 할 수 있습니다. –