2011-10-09 3 views
0

나는 웹을 샅샅이 뒤졌고 답을 얻기 위해 StackOverflow를 사용했지만, 내 상황에 정확히 적용되는 사례는 발견되지 않았다. FB가 내 메타 태그를 긁어 모으는 방식을 디버깅하기 위해 Facebook Linter를 사용하고 있습니다. 단순한 About 페이지에서 사용한다면, 특히 og : url 메타 태그와 같은 모든 것을 잘 다룰 수 있습니다.Facebook Linter/Open Graph가 URL 경로를 자른다.

참조 : 나는 내 일반 콘텐츠 페이지를 긁어 때 http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Felectionstats.com%2Fabout%2Fprivacy_policy

문제는 시작됩니다. FBLinter는 태그가 잘 형성되었는지 세 번 확인했지만 URL에서 URL을 잘라내어 og : url 태그에는 도메인 이름 electionstats.com/ 만 있다고보고합니다.

참조 : http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Felectionstats.com%2Fsearch%2Fyear_from%3A2010%2Fyear_to%3A2010%2Foffice_id%3A6

OG의 :

나는 그것이, 페이지를 캐시 FB에 문제가 있음을 회의적으로 인해 내 소개에 : 페이지에 실제로 URL 태그는 다음과 같습니다 페이지 메타 태그 출력을 변경하고 Linter를 통해 동일한 페이지를 다시 실행하는 빠른 코드 변경을 수행했으며 Linter는 매번 이러한 빠른 변경 사항을 언제든지 보여줍니다. 하지만 몇 가지 이유로, 주요 콘텐츠 페이지 (/ search/pages)에서 수십 개의 서로 다른 URL 조합을 시도 할 때 항상 컷 - 오프 URL을 가져오고 결과적으로 내 홈페이지의 메타 필드 만 가져옵니다.

나는 FB가 "검색"페이지처럼 보이는 URL을 무시한다고 이론화했기 때문에 "검색"대신 "탐색"이라는 용어를 사용하기 위해 URL과 제목 태그를 다시 라우팅했지만 여전히 아무것도하지 않았다. URI는 여전히 잘려나 갔다.

답변

0

오이, 이것은 당혹 스럽습니다.

각 페이지 요청의 시작 부분에 사용자의 브라우저가 쿠키를 허용하는지 여부를 감지하는 코드가 있습니다. 그렇지 않은 경우 사용자가 홈페이지로 다시 이동합니다. Facebook 웹 크롤러는 다른 웹 크롤러와 마찬가지로 쿠키를 사용하지 않습니다. 따라서 홈 페이지가 끝나고 홈페이지의 og/메타 태그를 읽는 것이 계속되었습니다. 내 코드의 의도하지 않은 결과는 모든 웹 크롤러가 Google의 웹 사이트를 비롯하여 내 웹 사이트를 이해하려고 시도하는 것입니다.

수정 사항 : 사용자 에이전트 문자열이 일반적인 웹 크롤러가 제공 한 UA와 일치하는 경우 쿠키 처리 검사를 건너 뜁니다 (예 : http://www.cult-f.net/detect-crawlers-with-php/

).