2009-07-06 4 views
0

빵 부스러기 또는 이전 다음 항목에 대한 링크와 같이 표시 할 링크를 결정하기 위해 사용자가 방금 방문한 페이지를 결정할 수 있어야합니다. 기본적으로 PHP의 HTTP_REFERER 기능이지만 여러 페이지에서 추적 할 수있는 방법이 필요합니다. 뒤로 버튼을 "지원"해야합니다.다른 링크를 만들기 위해 추천 페이지를 추적하는 방법은 무엇입니까?

페이스 북에서 "ref"라는 쿼리/가져 오기 매개 변수를 사용하여 참조 페이지를 추적하고 있음을 발견했습니다. (또한 AJAX를 사용하여 전체 페이지를 다시로드하지 않아도되지만 지금 당장 할 예산이 없습니다.) 또한 Google에서 작업중인 사이트의 색인을 생성해야하므로이 방법도 내가 canonical link tag을 추가해야합니다.

ref/referrer 쿼리 매개 변수가 가장 좋은 방법인지 아니면 다른 옵션이 있는지 궁금합니다.

답변

3

이동 경로를 원한다면 HTTP_REFERER을 전혀 사용하지 않아야합니다. User > Albums > AlbumName > Photo과 같은 친구가 어디서 왔는지에 관계없이 친구가 준 직접 링크에서 왔더라도 그 사람이 어디 있는지 알 수있는 논리적 경로 여야합니다. 즉, 몇 페이지 만 돌아가고 싶다면 SESSION 변수에 배열로 저장하면됩니다.

페이스 북은 단지 동일한 페이지로 이동하는 여러 가지 방법이 있기 때문에 Facebook이 사용자가 사용하는 버튼에 대한 통계를 수집하기 위해 변수 GET을 사용한다고 확신합니다.

아무 것도 뒤로 버튼을 깨거나 표준 태그에 간섭해서는 안됩니다.

의견에서

: 당신은 ?ref=blah 태그 또는 세션 변수 ($_SESSION['history'][0] = $_SERVER['HTTP_REFERER'] 또는 REQUEST_URI)를 사용할 수 있습니다. 가장 쉬운 것을 찾는다. 세션 변수는 쿠키를 사용하거나 URL을 통해 ID를 전달하므로 GET은 URL을 혼란스럽게하고 친구들에게 전달 될 수 있습니다.

+0

나는 당신이하는 말을 잘 모르겠다. 아니요, 저는 사람들이 페이지를보기 전에 다른 페이지를 보지 않기 때문에 저는 세신을 사용할 수 없다는 것을 압니다. 나는 HTTP_REFERER를 사용할 수 없다는 것을 안다. 그래서, ref 태그가 최고인지 또는 다른 것이라고 말하고 있습니까? 당신은 모든 것이 잘못되었다고 말하는 것 같습니다. –

+0

정확히 무엇을하려합니까? 사용자가 본 마지막 5 페이지를 유지하려면 세션 변수에 넣으십시오. 사이트 이동 경로를 원한다면 현재 위치에 관계없이 현재 페이지에만 기반하여 생성하십시오. 예를 들어 사용자가 사진을보고 있다면 '사용자> 앨범> 앨범 이름> 사진'과 같은 탐색 경로를 표시 할 수 있습니다. 당신은 HTTP_REFERER 나 그 어떤 것을 필요로하지 않으며, 단지 프로그래밍 로직 일뿐입니다. – mpen

+0

Facebook이 링크를 생성하는 데 ref 태그를 사용하지 않는다고 말하고 있습니다. 방문자가 사이트를 사용하는 방식을 모니터링하여 가장 많이 클릭 된 버튼을 확인할 수 있습니다. 빵 부스러기와는 아무 관련이 없습니다. – mpen