2010-08-12 6 views
9

페이스 북은 아약스 웹 앱의 '좋아요'버튼이 동일한 페이지를 참조하지만 다른 # 문자열을 사용하는 경우 무엇을합니까?Facebook 'Like'버튼과 # URL 문자열?

'좋아요'와 같이 다른 페이지로 취급합니까? 예를 들어

내가 클릭을 추천을받을 경우 :

mysite.com/articles#story1 
mysite.com/articles#story2 
mysite.com/articles#story3 
mysite.com/articles#story4 

사용자의 뉴스 피드에 올 것이다 것을

4 people like mysite.com/articles 

또는

dave likes mysite.com/articles#story1 
tom likes mysite.com/articles#story2 
ben likes mysite.com/articles#story3 
nick likes mysite.com/articles#story4 

FB 및 # 문자열에 대해 고려해야 할 다른 사항이 있습니까?

답변

7

Facebook의 버튼은 단일 페이지의 HTML 마크 업에 포함 된 메타 데이터를 사용합니다. 이론적으로 말하자면 URL에서 컬링으로 액세스 할 때 다른 메타 데이터가 생성되면 (즉, JavaScript가 없으면 해시 부분은 서버 측에서 볼 수 없기 때문에 불가능하므로 해시 문자열 값 서버 측에서 작동 할 방법이 없습니다.).

이렇게 말하면, Facebook Like 버튼은 다른 해시 문자열에 대해 다르게 동작하지 않는다고 가정합니다. 페이스 북 문서 (대부분 짜증)를 보지 못했지만 이에 대한 언급은 없지만 페이스 북 개발자 포럼은 이것을 확인하는 것 같다 : http://forum.developers.facebook.com/viewtopic.php?pid=240151

그러나 모든 것이 사라지지 않는다. 당신은 그래서 그냥 같은 페이지의 SEO 친화적 인 URL로 URL을 설정처럼 버튼의 URL을 지정할 수 있습니다 http://developers.facebook.com/docs/reference/plugins/like

UPDATE - 코멘트 그래서

에서 명확히, 이제 우리는 당신이 알고 정적 버전의 해시 문자열 URLS. 전에, 당신이 가장 가능성이 코드 페이지에 버튼처럼 배치했다 :

XFBML :

<fb:like show_faces="false" width="450"></fb:like> 

대신,이 URL의 SEO 버전을 지정해야합니다.

XFBML : 당신이 mysite.com/articles#story4에있을 때 예를 들어, 코드가 같아야합니다

<fb:like href="mysite.com/articles/story/4" show_faces="false" width="450"></fb:like> 
+1

다른 ajax'd 콘텐츠와 함께 클릭하면 새로운 메타 데이터가 생성됩니다. 나는 fb docs/community의 빈약 한 국가에 관하여 당신과 동의한다! – Haroldo

+1

@Haroldo, AJAX는 javascript이며 cURL은 액세스하지 않습니다. 그것은 자바 스크립트 조작 전에 원래로드 된 문서에 있어야합니다. 검색 엔진과 같은 규칙. –

+0

이것은 SEO 친화적 인 링크가 아니지만 올바른 페이지를로드하는 데 중요합니다. 선택이 아닌 필수 항목입니다. –

1

페이스 북이 해시 태그 다음 모든 것을 떨어질 것이다. 당신이해야 할 일은 는 %에이를 인코딩 # 기호를 탈출 요청을 보내 23

<iframe src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fmysite.com%2Farticles%2F%23story1" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:450px; height:px"> 
0

조각은 느낌표로 시작하면, 다음 페이스 북에 대해 다음 변환을 할 수 있도록 페이스 북은 대부분 *이 Google's ajax-crawling spec 지원 요청은 서버가 조각을 가져 와서 예상 한 내용을 제공 할 수 있도록합니다.

https://myapp.com/#!/post/2 =>https://myapp.com/?_escaped_fragment_=/post/2

(구글의 사양에 따라 사용자가 추한 URL을 참조해서는 안, 그래서 페이스 북은 항상 "느낌표"형식으로이 URL을 저장한다고 가정합니다.)

이러한 요청에 적절한 콘텐츠를 제공하는 것은 흔하지 않습니다. 더 많은 것을 here를보십시오.

* 메타 태그 트리거가 작동하지 않습니다. 나는 2012/08/18에 그것을 시험했다.