Как очистить кэш Facebook Sharer?
мы использовали ссылке:
http://www.facebook.com/sharer.php?u=[shared URL]
...чтобы поделиться определенной страницей. Однако Facebook Sharer использует кэшированную версию изображений и название. Есть ли способ быстро очистить кэш Facebook или как долго мы должны ждать, пока данные не будут обновлены?
Я поставил <link rel='image_src' href='[preview image]' /> между тегами.
10 ответов:
Я нашел решение моей проблемы. Вы можете перейти на этот сайт:
https://developers.facebook.com/tools/debug
...затем введите URL-адрес страницы, которую вы хотите поделиться, и нажмите кнопку "отладка". Он автоматически извлекает всю информацию о ваших мета-тегах, а также очищает кэш.
использовать 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 );
Facebook рассматривает каждый url-адрес как уникальный и кэширует страницу на основе этого url-адреса, поэтому, если вы хотите поделиться последним url-адресом, самым простым решением является добавление строки запроса с общим url-адресом. Простыми словами просто добавить ?v=1 в конце url-адреса. Вместо 1 можно использовать любое число.
шляпа совет: Умар Джабар
Я думаю, что эти две ссылки имеют широкое обсуждение ваших проблем, связанных с вещами. fb: ref clear cashes по телефону
fbml.refreshRefUrlтакой
<tt>fbml.refreshRefUrl("http://www.mysite.com/someurl.php")вы можете изучить связанные вещи отсюда fb: ref. Я надеюсь, что это будет работать для вас
страница для этого находится в https://developers.facebook.com/tools/debug/ и немного изменился с некоторых других ответов.
вставьте свой URL-адрес туда и нажмите" Debug". Затем нажмите кнопку"получить новую информацию царапины" кнопка под текстовым полем URL, и вы должны быть все настроены. Он вытащит свежие мета-теги с вашей страницы, но они все равно будут кэшироваться, поэтому имейте в виду, что вам нужно будет делать это всякий раз, когда вы их меняете. Это очень важно, если вы играете с метатегами, чтобы получить общие URL-адреса FB для форматирования так, как вы хотите, чтобы они были внутри facebook.
этот ответ предназначен для разработчиков.
Очистка кэша означает, что новые общие ресурсы этой веб-страницы будут показывать новое содержимое, которое предоставляется в тегах OG. Но только если URL, над которым вы работаете, имеет менее 50 взаимодействий (любит + акции). Это также не повлияет на старые ссылки на эту веб-страницу, которые уже были размещены на Facebook. Только при повторном использовании URL-адреса на Facebook будет обновляться способ, которым Facebook показывает ссылку.
catandmouse по ответ правильный, но вы также можете сделать Facebook очистить кэш OG (OpenGraph), отправив запрос post 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') { Log->warn("Clearing cached OG data for $clearurl failed with code $code."); } } }отправка этого запроса post через терминал можно выполнить следующую команду:
curl -F id="<URL>" -F scrape=true graph.facebook.com
добавить a ?v=random_string к url-адресу. Если вы используете эту идею с Facebook share, убедитесь, что параметр og:url в ответе соответствует url-адресу, который вы используете. Это будет работать и с google plus тоже.
для Facebook вы также можете заставить recrawl, сделав запрос на публикацию в https://graph.facebook.com
{id: url, scrape: true}
Я только что опубликовал простое решение, которое занимает 5 секунд здесь на соответствующем посте здесь -Facebook debugger: очистить весь кэш сайта
короткий ответ... измените свои постоянные ссылки на сайте worpdress в настройках постоянных ссылок на пользовательский. Я просто добавил подчеркивание.
/_%postname%/
затем facebook очищает их все как новые URL-адреса, новые сообщения.
Если вы используете wordpress с плагином кэша, убедитесь, что вы очистили все свои кэши. Также убедитесь, что изображение, которое вы используете, имеет рекомендуемый размер facebook: 1200(w) x 630(h) или 600 x 315.
Если вы использовали управляемые плагины wordpress или кэширования, вы должны очистить свой кэш, прежде чем инструмент Facebook debugger сможет получить новую информацию!
я вытаскивал свои волосы в течение нескольких недель, выясняя, почему изменения, которые я сделал, не появятся в отладчике facebook в течение 24 часов!!!! Исправление заключается в том, что я должен войти в свою панель инструментов wordpress, щелкнуть значок godaddy вверху и нажать "flush cache."Я думаю, что многие управляемые хостеры wordpress имеют кэш, чтобы выяснить, как его очистить, и вы будете золотой.
Comments