답변:
내 문제에 대한 해결책을 찾았습니다. 이 사이트로 이동할 수 있습니다.
https://developers.facebook.com/tools/debug
... 그런 다음 공유하려는 페이지의 URL을 입력하고 "디버그"를 클릭합니다. 메타 태그의 모든 정보를 자동으로 추출하고 캐시도 지 웁니다.
Fetch new scrape information
버튼을 클릭하기 만하면됩니다
API 사용 Facebook에서 페이지를 다시 스크랩하도록 강제하는 API가 있습니까?
$furl = 'https://graph.facebook.com';
$ch = curl_init();
curl_setopt( $ch, CURLOPT_URL, $furl );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POST, true );
$params = array(
'id' => '<update_url>',
'scrape' => true );
$data = http_build_query( $params );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );
curl_exec( $ch );
$httpCode = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
Facebook은 각 URL을 고유 한 것으로 취급하고 해당 URL을 기반으로 페이지를 캐시하므로 최신 URL을 공유하려는 경우 가장 간단한 해결 방법은 공유되는 URL과 함께 쿼리 문자열을 추가하는 것입니다. 간단히 말해서 URL 끝에? v = 1을 추가하면됩니다. 1 대신 임의의 숫자를 사용할 수 있습니다.
모자 팁 : Umair Jabbar
나는이 두 링크가 문제 관련 항목에 대한 광범위한 토론을 가지고 있다고 생각합니다. fb : ref 전화로 현금을 클리어
fbml.refreshRefUrl
이렇게
<tt> fbml.refreshRefUrl ( "http://www.mysite.com/someurl.php")
여기 fb : ref 에서 관련 내용을 공부할 수 있습니다 . 당신을 위해 일하기를 바랍니다
이를 수행하는 페이지는 https://developers.facebook.com/tools/debug/ 에 있으며 다른 답변 중 일부 이후 약간 변경되었습니다.
거기에 URL을 붙여넣고 " 디버그 "를 누르십시오 . 그런 다음 URL 텍스트 필드 아래 의 " Fetch new scrape information "버튼을 누르면 모든 설정이 완료됩니다. 페이지에서 새로운 메타 태그를 가져 오지만 여전히 캐시되므로 변경할 때마다이 작업을 수행해야합니다. FB 공유 URL을 페이스 북 내에서 원하는 방식으로 포맷하기 위해 메타 태그를 사용하는 경우 이는 매우 중요합니다.
이 답변은 개발자를위한 것입니다.
캐시를 지우면이 웹 페이지의 새로운 공유가 OG 태그에서 제공되는 새로운 콘텐츠를 보여줍니다. 하지만 작업중인 URL의 상호 작용이 50 개 미만인 경우에만 (좋아요 + 공유). 또한 이미 Facebook에 게시 된이 웹 페이지에 대한 이전 링크에는 영향을 미치지 않습니다. Facebook에서 URL을 다시 공유 할 때만 Facebook에서 링크를 표시하는 방식이 업데이트됩니다.
catandmouse의 답변은 정확하지만 graph.facebook.com에 게시물 요청을 보내 Facebook이 OG (OpenGraph) 캐시를 지우도록 할 수도 있습니다 (이 답변 작성 당시 http와 https 모두에서 작동 함). 액세스 토큰이 필요하지 않습니다.
graph.facebook.com에 대한 게시 요청은 다음과 같습니다.
POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: graph.facebook.com
Content-Length: 63
Accept-Encoding: gzip
User-Agent: Mojolicious (Perl)
id=<url_encoded_url>&scrape=true
Perl에서는 Mojo :: UserAgent 라이브러리가 HTTP 요청을 보내고받는 데 사용되는 다음 코드를 사용할 수 있습니다.
sub _clear_og_cache_on_facebook {
my $fburl = "http://graph.facebook.com";
my $ua = Mojo::UserAgent->new;
my $clearurl = <the url you want Facebook to forget>;
my $post_body = {id => $clearurl, scrape => 'true'};
my $res = $ua->post($fburl => form => $post_body)->res;
my $code = $res->code;
unless ($code eq '200') {
Log->warn("Clearing cached OG data for $clearurl failed with code $code.");
}
}
}
다음 명령을 사용하여 터미널을 통해이 게시 요청을 보낼 수 있습니다.
curl -F id="<URL>" -F scrape=true graph.facebook.com
URL에? v = random_string을 추가합니다. 이 아이디어를 Facebook 공유와 함께 사용하는 경우 응답의 og : url 매개 변수가 공유중인 URL과 일치하는지 확인하십시오. 이것은 Google Plus에서도 작동합니다.
Facebook의 경우 https://graph.facebook.com에 게시 요청을하여 강제로 재 크롤링 할 수도 있습니다.
{id: url,
scrape: true}
id=http://www.ridr.me&scrape=true
방금 여기 관련 게시물에 5 초가 걸리는 간단한 솔루션을 게시했습니다. Facebook 디버거 : 전체 사이트 캐시
짧은 답변 지우기 ... 영구 링크 설정에서 worpdress 사이트의 영구 링크를 사용자 정의로 변경하십시오. 방금 밑줄을 추가했습니다.
/ _ % postname % /
그런 다음 페이스 북은 새 URL, 새 게시물로 모두 스크랩합니다.
캐시 플러그인과 함께 wordpress를 사용하는 경우 모든 캐시를 지우십시오. 또한 사용중인 이미지가 권장 페이스 북 크기 인 1200 (w) x 630 (h) 또는 600 x 315인지 확인하십시오.
관리되는 워드 프레스 또는 캐싱 플러그인을 사용한 경우 페이스 북 디버거 도구가 새로운 정보를 가져 오기 전에 캐시를 삭제해야합니다!
내가 변경 한 내용이 페이스 북 디버거에 24 시간 동안 표시되지 않는 이유를 알아 내기 위해 몇 주 동안 머리를 뽑아 왔습니다 !!!! 수정 사항은 WordPress 대시 보드로 이동하여 상단의 godaddy 아이콘을 클릭 한 다음 "캐시 비우기"를 클릭해야한다는 것입니다. 많은 관리 워드 프레스 호스팅 업체가 캐시를 지우는 방법을 알아 내면 황금이 될 것입니다.