2012-04-27 2 views
29

에서 이미지를로드 할 수 없습니다. 이미 작동했지만 페이스 북에서 og : image 메타 태그의 이미지를 표시하지 않았습니다. 링크를 공유하려고 시도했을 때 나는 놀라움을 금치 못했습니다. facebook debugger에서og : image

:

Meta Tag: <meta property="og:description" content="Профессиональная сеть вопросов и ответов,создаваемая и управляемая сообществом пользователей. Ресурс для тех, кто хочет знать ответы на все вопросы." /> 
Meta Tag: <meta property="og:title" content="Закрытое экспертное сообщество OdinOtvet" /> 
Meta Tag: <meta property="og:type" content="website" /> 
Meta Tag: <meta property="og:image" content="http://www.odinotvet.ru/images/logo_250.png" /> 
Meta Tag: <meta property="og:url" content="http://www.odinotvet.ru" /> 
Meta Tag: <meta property="og:site_name" content="ОдинОтвет" /> 
Meta Tag: <meta property="fb:app_id" content="286967601317982" /> 
Meta Tag: <meta property="fb:admins" content="100002890978393,100001666575542" /> 

enter image description here

이미지는?

답변

19

(그것이 큰 보이지 않지만 당신이 FB는하지 것이다 회색 배경에서 가장 잘 작동 약간의 투명성있어 이후) 또한

을 이미지가 페이스 북 디버거에 표시되어 그 사용하는 것이 가장 좋습니다 정사각형 이미지.

페이스 북에서 메타 데이터를 캐시 측에서 캐시한다는 사실을 한 가지 발견했습니다. 따라서 이미지와 같은 것을 변경하면 캐시가 삭제 될 때까지 항상 표면화되지는 않습니다. 아마 당신은 과거에 잘못된 이미지 URL/URL이 없었고 FB는 그 결과를 캐시했습니다. 그렇다면 잠시 기다렸다가 데이터를 다시 가져와야 할 수도 있습니다. 나는 하루 정도의 시간이 걸리는 것을 보았습니다.

+1

FB에서 캐시 된 것이 아니기 때문에 FB 디버거를 사용하고 테스트 한 결과가 즉시 적용됩니다. – Alexei

+6

Facebook 디버거를 통해 URL을 고정하면 캐시가 새로 고침됩니다. 당신이 참을성이 있다면 염두에 두어야 할 것! – DaveStephens

+3

심지어 캐시를 항상 새로 고치지 않습니다. –

6

FB 디버거에는 동일한 문제가 있지만 "두 이미지 모두 200px 이상이어야합니다. 짧은 쪽의 이미지 크기를 200 픽셀로 조정하면 모두 잘 돌아갔습니다. 브루스가 말한 또 다른 문제는 캐싱이다. 마지막 링크를 테스트하기 위해 다른 페이지를 시작해야했습니다.

희망이 도움이됩니다. 감사합니다

+1

흥미롭게도 페이스 북은 내가 가지고있는 144x144 png를 무시합니다 : 16x16 정도의 로딩 spinner.gif를 위해 og : image에 있습니다. 즐거움. 200x200 png로 시도 할 것이지만 .gif 만 원한다고 생각하거나, 아니면 PNG의 8 비트 투명도로 인해 혼란 스럽겠습니까? –

3

페이스 북에서 공유하려는 페이지에 캐시 문제가 있음을 알게되면 (페이지 소스 코드와 페이스 북에 표시되는 값 사이에 다른 값이 표시되거나 누락 된 값이있는 경우) , 당신은 다음의 URL https://developers.facebook.com/tools/debug/에 갈 수 있습니다, 당신은 페이 스북 (Facebook)에 공유하려고하는 URL을주고 페이 스북 캐시를 지우려면 양식을 제출하십시오. 이제 다시 페이지 공유를 시도 할 수 있습니다. 페이지 원본 코드와 동일한 값이 표시되어야합니다.

+0

캐시가 실제로 지워진 것 같습니다. 그러나 페이스 북은 작은 이미지를 좋아하지 않는 것 같습니다. og 이미지가 너무 작 으면 이미지가 "무작위로"찍 힙니다. – progzy

11

답은 또한 og:image:widthog:image:height으로 설정됩니다.

은 참조 : Facebook Open Graph No Image First Time

이 (내 자신의 테스트에서, 내가 og:image:widthog:image:height을 설정하면 충분하다는 것을 발견 og:image:type가 불필요 설정..)

3

이 사이트에 URL을 넣어 페이스 북은 당신을 도울 것입니다 아웃 :

http://developers.facebook.com/tools/debug

일부 시간 페이스 북은 URL 당신의 의지보다 오래된 캐시에게 이미지 파일을 수 있도록 보여주는 그래서 현재 업데이트 된 결과. 일단 완료되면 페이스 북은 새로운 이미지 만 보여줄 것입니다.

-2

는 (? V = 2 또는 URL을 일부 인수, 다음을 클릭합니다 "새 URL을 추가"및 페이스 북 디버거를 시작 추가 비우는 수동 캐시를 들어

<?php 

$params = array(); 
if(count($_GET) > 0) { 
    $params = $_GET; 
} else { 
    $params = $_POST; 
} 
// defaults 
if($params['type'] == "") $params['type'] = "restaurant"; 
if($params['locale'] == "") $params['locale'] = "en_US"; 
if($params['title'] == "") $params['title'] = "default title"; 
if($params['image'] == "") $params['image'] = "thumb"; 
if($params['description'] == "") $params['description'] = "default description"; 

?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> 
    <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# MY_APP_NAME_SPACE: http://ogp.me/ns/fb/MY_APP_NAME_SPACE#"> 
     <title></title> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 

     <!-- Open Graph meta tags --> 
     <meta property="fb:app_id" content="MY_APP_ID" /> 
     <meta property="og:site_name" content="meta site name"/> 
     <meta property="og:url" content="URL/index.php?type=<?php echo $params['type']; ?>&locale=<?php echo $params['locale']; ?>&title=<?php echo $params['title']; ?>&image=<?php echo $params['image']; ?>&description=<?php echo $params['description']; ?>"/> 
     <meta property="og:type" content="MY_APP_NAME_SPACE:<?php echo $params['type']; ?>"/> 
     <meta property="og:locale" content="<?php echo $params['locale']; ?>"/> 
     <meta property="og:title" content="<?php echo $params['title']; ?>"/> 
     <meta property="og:image" content="URL/img/<?php echo $params['image']; ?>.png"/> 
     <meta property="og:description" content="<?php echo $params['description']; ?>"/> 

    </head> 
</html> 
-2

대답은 이미지를 열어 두는 것을 기억해야한다는 것입니다. 서버에 업로드하면 서버에 보안이 활성화됩니다. (보안이란 이미지 나 다른 링크에 대한 정확한 정보를 알지 못해도 액세스 할 수 없음을 의미합니다.) 활성화되어 있으면 facebook에서 이미지에 연결할 수 없습니다.

할 수있는 일은 이미지를 보관 용 계정에 업로드하고 해당 파일을 공개하는 것입니다. 그래서 모든 사람들이 그것에 접근 할 수 있습니다. 또는 서버 액세스를여십시오. ^^ :)

관련 문제