Как очистить кеш Facebook Sharer?

Мы использовали ссылку:

http://www.facebook.com/sharer.php?u=[shared URL]

... чтобы поделиться определенной страницей. Однако Facebook Sharer использует кешированную версию изображений и названия. Есть ли способ быстро очистить кеш Facebook или как долго мы должны ждать, пока данные не будут обновлены?

Я разместил <link rel='image_src' href='[preview image]' /> между тегами.

Ответ 1

Я нашел решение своей проблемы. Вы можете зайти на этот сайт:

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

... затем введите URL-адрес страницы, которую хотите поделиться, и нажмите "debug". Он автоматически извлекает всю информацию о ваших метатегах, а также очищает кеш.

Ответ 2

Использовать api Есть ли API, чтобы заставить Facebook снова очистить страницу?

$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 );

Ответ 3

Facebook рассматривает каждый URL как уникальный и кэширует страницу на основе этого URL-адреса, поэтому, если вы хотите поделиться последним URL-адресом, самым простым решением является добавление строки запроса с разделяемым URL-адресом. Простыми словами просто добавьте? V = 1 в конец URL-адреса. Любое число можно использовать вместо 1.

Совет шляпы: Umair Jabbar

Ответ 4

Я думаю, что эти две ссылки имеют широкое обсуждение вашей проблемы. fb: ref clear cases, позвонив

fbml.refreshRefUrl

как это

<tt>fbml.refreshRefUrl("http://www.mysite.com/someurl.php")

Вы можете изучить родственные вещи отсюда fb: ref. Я надеюсь, что это сработает для вас.

Ответ 5

Страница, чтобы сделать это, находится в https://developers.facebook.com/tools/debug/ и немного изменилась после некоторых других ответов.

Вставьте свой URL-адрес и нажмите "Отладка". Затем нажмите кнопку "Получить новую информацию о царапинах" в текстовом поле URL, и все должно быть установлено. Он вытащит свежие метатеги с вашей страницы, но они все равно будут кэшироваться, поэтому имейте в виду, что вам нужно будет делать это всякий раз, когда вы меняете их. Это очень важно, если вы играете с метатегами, чтобы получить общие URL-адреса FB, чтобы отформатировать способ, которым вы хотите, чтобы они находились внутри Facebook.

Ответ 6

Этот ответ предназначен для разработчиков.

Очистка кеша означает, что новые доли этой веб-страницы покажут новый контент, который предоставляется в тегах OG. Но только если URL-адрес, над которым вы работаете, имеет менее 50 взаимодействий (нравится + акции). Это также не повлияет на старые ссылки на эту веб-страницу, которые уже были размещены на Facebook. Только при совместном использовании URL-адреса в Facebook будет показано, как Facebook будет обновлять ссылку.

ответ catandmouse правильный, но вы также можете сделать Facebook очистить кеш OG (OpenGraph), отправив почтовый запрос на graph.facebook.com(работает как для 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') {
        JIX::Log->warn("Clearing cached OG data for $clearurl failed with code $code.");
        }
    }
}

Отправка этого запроса на сообщение через терминал может быть выполнена с помощью следующей команды:

curl -F id="<URL>" -F scrape=true graph.facebook.com

Ответ 7

Добавить URL-адрес v = random_string в URL-адрес. Если вы используете эту идею совместно с Facebook, убедитесь, что параметр og: url в ответе соответствует URL-адресу, который вы делите. Это также будет работать с Google plus.

Для Facebook вы также можете принудительно выполнить повторный поиск, отправив запрос на https://graph.facebook.com

{id: url,
scrape: true}

Ответ 8

если вы используете wordpress с плагином кэша, убедитесь, что вы очистили все свои кеши. Также убедитесь, что изображение, которое вы используете, имеет рекомендуемый размер facebook: 1200 (w) x 630 (h) или 600 x 315.

Ответ 9

Я просто разместил простое решение, которое занимает здесь 5 секунд здесь, в соответствующем сообщении - Отладчик Facebook: очистить кеш всего сайта

короткий ответ... измените свои постоянные ссылки на сайте worpdress в настройках постоянных ссылок на пользовательский. Я просто добавил символ подчеркивания. /_% Postname%/
то facebook сбрасывает их все как новые URL-адреса, новые сообщения.

Ответ 10

Если вы использовали управляемые плагины wordpress или кеширования, вы должны ОСУЖДАТЬ ВАШЕГО CACHE, прежде чем инструмент отладчика facebook сможет получить новую информацию!

Я вытягивал свои волосы в течение нескольких недель, выясняя, почему изменения, которые я сделал, не появятся в отладчике facebook в течение 24 часов!!!! Исправление: я должен войти в панель инструментов Wordpress, щелкнуть значок godaddy сверху и нажать "сбросить кеш". Я думаю, что многие управляемые хостеры Wordpress имеют кэш, чтобы выяснить, как его очистить, и вы станете золотым.