Facebook Open Graph nie Czyszczenie pamięci podręcznej

Mam problemy z meta tagami z Open Graph. Wygląda na to, że Facebook buforuje stare wartości moich meta tagów. Stare wartości atrybutów og:title i og:url są nadal używane, mimo że już je zmieniłem.

Uruchomiłem Lint na stronie w mojej witrynie , a to się pojawiło:

Facebook Open Graph lint zrzut ekranu

Zauważ, że istnieją dwie wartości dla og:title i og:url, a ostatnia zwyciężyła. Jednak ostatnie dwa wpisy to stare wpisy które wykorzystałem do tego miejscu. Obecnie używam tych meta tagów (możesz sprawdzić, czy widzisz źródło HTML):

<meta property="og:title" content="Smart og rummelig pusletaske fra Petit Amour med god plads til alt &#8211; værdi 1.099 kr &#8211; køb nu kun 599 kr   "/>
<meta property="og:description" content="Pinq.dk - Det gode liv for det halve"/>
<meta property="og:type" content="product"/>
<meta property="og:url" content="http://pinq.dk/tilbud/landsdaekkende/lissy/"/>
<meta property="og:image" content="http://pinq.dk/wp-content/themes/pinq/images/logo-top.png"/>
<meta property="og:site_name" content="Pinq" />
<meta property="fb:app_id" content="161840830532004" />

Dlaczego Facebook caching og:title i og:url? Czy ktoś ma ten sam problem?

Author: freejosh, 2011-04-25

19 answers

  1. Idź do http://developers.facebook.com/tools/debug
  2. wpisz następujący adres URL przez fbrefresh=CAN_BE_ANYTHING

Przykłady:

  1. http://www.example.com?fbrefresh=CAN_BE_ANYTHING
  2. http://www.example.com?postid=1234&fbrefresh=CAN_BE_ANYTHING
  3. lub odwiedzić: http://developers.facebook.com/tools/debug/og/object?q=http://www.example.com/?p=3568&fbrefresh=89127348912

Miałem ten sam problem zeszłej nocy, i dostałem to rozwiązanie z jakiejś strony internetowej.

Facebook zapisuje miniaturkę pamięci podręcznej. Nie odświeży się nawet po usunięciu thumnaila / obrazu z serwera. Ale Facebook pozwala odświeżyć za pomocą fbrefresh

Mam nadzieję, że to pomoże.
 295
Author: P.C.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-21 17:51:02

Najczęściej głosowane pytanie jest dość przestarzałe:

Są to jedyne 2 opcje, które powinny być używane od Listopad 2014:

Dla nie-programistów

  1. użyj debuggera FB: https://developers.facebook.com/tools/debug/og/object
  2. Wklej adres url, który chcesz zmienić. (Upewnij się, że używasz tego samego adresu URL zawartego w tagu og: url)
  3. Kliknij ponownie przycisk Pobierz zeskrobuj informacje

Dla Programistów

  1. Make a GET call programowo to this URL: https://graph.facebook.com/?id=[YOUR_URL_HERE] & scrape=true (Zobacz: https://developers.facebook.com/docs/games_payments/takingpayments#scraping )
  2. upewnij się, że znacznik og:url umieszczony na tej stronie pasuje do tego, który przechodzisz.
  3. możesz nawet przeanalizować odpowiedź json, aby uzyskać liczbę akcji tego adresu URL.

Dodatkowe Informacje O Aktualizacji Zdjęć

  • If the og: image URL pozostaje taki sam, ale obraz rzeczywiście się zmienił, nie będzie aktualizowany ani recached przez skrobaków Facebook nawet robiąc powyższe. (nawet przechodząc a ?last_update=[TIMESTAMP] na końcu URL obrazka nie działa dla mnie).
  • jedynym skutecznym obejściem dla mnie było przypisanie nowej nazwy obrazowi.

Uwaga dotycząca aktualizacji obrazu lub wideo na wcześniej zamieszczonych postach:

  • kiedy wywołujesz debugger, aby usunąć zmiany na Twoich tagach og:Twojej strony, wszystkie poprzednie Akcje Facebook tego adresu URL nadal będą wyświetlać stary obraz/wideo. Nie ma sposobu, aby zaktualizować wszystkie poprzednie posty i tak jest z założenia ze względów bezpieczeństwa. W przeciwnym razie, ktoś mógłby udawać, że użytkownik dzielił się czymś, czego on/ona w rzeczywistości nie.]}
 70
Author: Oriol Esteban,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-05 11:10:14

Jeśli masz wiele stron i nie chcesz odświeżać ich ręcznie-możesz to zrobić automatycznie.

Powiedzmy, że masz stronę profilu użytkownika ze zdjęciem:

$url = 'http://'.$_SERVER['HTTP_HOST'].'/'.$user_profile;
$user_photo = 'http://'.$_SERVER['HTTP_HOST'].'/'.$user_photo;

<meta property="og:url" content="<?php echo $url; ?>"/>
<meta property="og:image" content="<?php echo $user_photo; ?>"

Po prostu dodaj to do swojej strony:

// with jQuery
$.post(
    'https://graph.facebook.com',
    {
        id: '<?php echo $url; ?>',
        scrape: true
    },
    function(response){
        console.log(response);
    }
);

// with "vanilla" javascript
var fbxhr = new XMLHttpRequest();
fbxhr.open("POST", "https://graph.facebook.com", true);
fbxhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
fbxhr.send("id=<?php echo $url; ?>&scrape=true");

To odświeży pamięć podręczną Facebook ' a. Jeśli używasz rozwiązania jQuery, spójrz na "response" w konsoli.log - znajdziesz tam pole "updated_time" i inne przydatne informacje.

 18
Author: Zhorzh Alexandr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-25 19:11:19

Miniaturka OG nie wydaje się odświeżać nawet przy przekazywaniu zmiennej fbrefresh. Aby to zaktualizować bez czekania na automatyczne czyszczenie, musisz zmienić nazwę pliku wartości znacznika meta powiązanego z miniaturą i odświeżyć.

 11
Author: Seb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-12-12 16:13:32

W zasadzie odpowiedzią jest cierpliwość;)

Sprawdziłem Linter dziś rano i og:title I og: url wyświetlają się poprawnie, bez zbędnych wartości. Myślę, że FaceBook automatycznie czyści pamięć podręczną w określonym przedziale czasu. Muszę tylko poczekać.

Tutaj wpisz opis obrazka

 6
Author: Ardee Aram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-26 00:44:04

Facebook facebook automatycznie czyści pamięć podręczną co 24 godziny: w rzeczywistości facebook zeskrobuje strony i aktualizuje pamięć podręczną co 24 godziny https://developers.facebook.com/docs/reference/plugins/like/#scraperinfo .

 4
Author: kbsbng,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-19 04:25:40
  1. odwiedź stronę FB https://developers.facebook.com/tools/debug/og/object/
  2. Wprowadź swoją domenę.
  3. Kliknij przycisk "Pobierz nowe informacje o skrobaniu"
  4. zrobione
 4
Author: Cropis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-11 18:06:51

Właśnie na to wpadliśmy, jak się okazuje, nie linkowaliśmy odpowiedniego adresu url, ponieważ prawdziwy adres URL miał ciąg zapytania(duh, inna strona, jeśli chodzi o bota).

http://example.com/

!==

http://example.com/?utm_campaign=foo

The linter will recache Twojej strony, nie musisz czekać.

 3
Author: Ryan Florence,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-09 21:43:29

Ooook, w końcu pomogło (używam IP.Deska). To co musiałem zrobić to:

  1. Zmień adres URL obrazu og:na mojej stronie internetowej (ogólna konfiguracja).
  2. Spróbuj tej metody z ?fbrefresh=1154464gd56

Podziękowania dla autora za ten wątek!

EDIT: co więcej musisz pamiętać o wymaganiach graficznych. Na razie (styczeń 2013) jest: - co najmniej 200 px w obu kierunkach - maksymalny stosunek 3: 1

 3
Author: Matt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-01-18 20:50:10

Jedna rzecz do dodania, adres URL rozróżnia wielkość liter . Zauważ, że:

Apps.facebook.com / HELLO

Jest inaczej w oczach lintera wtedy

Apps.facebook.com / hello

Pamiętaj, aby użyć dokładnego adresu URL witryny, który został wprowadzony w Ustawieniach programisty dla aplikacji. W przeciwnym razie linter zwróci właściwości, ale nie odświeży pamięci podręcznej.

 2
Author: Justin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-02-02 16:44:18

Miałem te same problemy przy użyciu og:image, kilka prób zmiany nazwy pliku lub wyczyszczenia pamięci podręcznej FB nie działało ani przez debugger facebook, ani testowanie przez rzeczywiste konto.

Nowe wytyczne facebook mówią, że rozmiar obrazu powinien wynosić 1200 x 630 lub mieć taki współczynnik proporcji, to wydaje się być złe, jedyną rzeczą, która działała dla mnie było użycie obrazu o kwadratowe wymiary.

Edit * po kilku godzinach wróciłem do używania 1200 x 630 i magicznie działało, było magiczne.

Zmieniłem też nazwę plików na f * ^ * kfacebook.jpg, Nie wiem, czy pomogło, ale czułem się dobrze.

 2
Author: Wyck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-13 15:03:29

Przykro mi, ale poprawna odpowiedź brzmi:

Nie ma głupiego sposobu, aby zaktualizować open graph og: image url z natychmiastowym wynikiem. Jest buforowany do aktualizacji fb (podobno co 24 godziny)

Oto rzeczy, które zostały zgłoszone do pracy przez innych, ale miałem ZERO sukcesów z żadnym z nich.

  • wybór "Pobierz nowe informacje o skrobaniu"
  • Zmiana rzeczywistej nazwy pliku obrazu i / lub usunięcie oryginału
  • dodawanie ciągu zapytania do adresu URL obrazu przez dodanie znacznika czasu PHP lub ?anything
  • dodanie "...yoursite.com/?fbrefresh=anything" ciąg zapytania do debuggera fetch url
  • wybór linku graph API na dole strony og dev
  • wybór, aby zobaczyć dokładnie to, co widzi skrobak-nie wydaje się żądać w czasie rzeczywistym nie buforowanych danych zeskrobywania, nadal pokazuje buforowany adres URL obrazu, nawet jeśli plik już nie istnieje

Sprawdzanie kodu jest zawsze na miejscu, aby potwierdzić, że jest nie jest to problem z pamięcią podręczną przeglądarki lub jakąś usługą buforowania. Jeśli meta informacje są aktualne w Twoim kodzie i wypróbowałeś już wszystkie powyższe (chyba że pojawi się kolejna sugestia), poprawną odpowiedzią jest możesz nic nie robić, ale czekać .

 2
Author: Philip Ingram,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-12 17:16:20

Dowiedziałem się, że jeśli obraz jest 72dpi to da ci błąd rozmiaru obrazu. Użyj zamiast tego 96dpi. Mam nadzieję, że to pomoże.

 1
Author: Gordon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-15 09:34:25
  1. Przejdź do http://developers.facebook.com/tools/debug

  2. Wklej adres URL strony i kliknij debug. Jeśli Twoja witryna używa aliasów url, upewnij się, że używasz tego samego adresu url Co Facebook jest używany do strony, którą udostępniasz (przykład: w Drupal użyj węzeł / * ścieżka zamiast aliasu, jeśli strona jest współdzielona przez to url).

  3. Kliknij w części "Udostępnij podgląd "na" Zobacz to w oknie dialogowym Udostępnij " link
 1
Author: Hans Rossel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-28 18:20:23

Facebook Developer Documents says title property has exception:

Po powiązaniu 50 akcji (polubień, akcji i komentarzy) z obiekt, nie będzie można zaktualizować jego tytułu

Https://developers.facebook.com/docs/sharing/opengraph/using-objects#update

 1
Author: moogoo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-12 07:02:56

Miał podobne doświadczenie. Link do strony internetowej pokazywał 404 w podglądzie, który wygenerował facebook. Okazuje się, że metadane og: url były błędne. Naprawiliśmy go już kilka dni temu, ale nadal widzieliśmy 404 na przedpremierie. Użyliśmy narzędzia w https://developers.facebook.com/tools/debug/ i to wymusiło odświeżenie (przy okazji nie trzeba było dodawać żadnych parametrów) W naszym przypadku Facebook nie odświeżył pamięci podręcznej po 24 godzinach, ale narzędzie pomogło go wymusić.

 0
Author: jawss510,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-06-03 02:58:22

Jest to cache, ofc odświeża, to jest to, co cache jest ment zrobić raz na jakiś czas. Więc czekanie w końcu zadziała, ale czasami trzeba to zrobić szybciej. Zmiana nazwy pliku działa.

 0
Author: Srneczek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-27 20:27:13

Ja też miałem ten problem. Skrobak pokazuje właściwe informacje, ale adres URL akcji był nadal wypełniony starymi danymi.

Sposób, w jaki obejrzałem to, polegał na użyciu metody feed zamiast share, a następnie ręcznym wypełnianiu danych (które nie są ujawniane metodą share)

Coś takiego:

shareToFB = () => {
    window.FB.ui({
    method: 'feed',
    link: `signup.yourdomain.com/?referrer=${this.props.subscriber.sid}`,
    name: 'THIS WILL OVERRIDE OG:TITLE TAG',
    description: 'THIS WILL OVERRIDE OG:DESCRIPTION TAG',
    caption: 'THIS WILL OVERRIDE THE OG:URL TAG'
  });
};
 0
Author: Peege151,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-04 17:22:47

Dla mnie wszystkie rozwiązania nie działały. Dowiedziałem się, że jeśli używasz Wordpress z Yoast SEO to musisz odświeżyć te dwa Tagi:

<meta property="article:modified_time" content="2017-09-29T00:37:33+02:00" />
<meta property="og:updated_time" content="2017-09-29T00:37:33+02:00" />

Aby odświeżyć wartości należy zgłosić każdą zmianę w artykule. Jeśli nie zmienisz tej daty facebook cache nie będzie odświeżany.

Możesz również wyłączyć te dodatkowe tagi, dodając filtry w functions.php:

add_filter( 'wpseo_og_article_published_time', '__return_false' );
add_filter( 'wpseo_og_article_modified_time', '__return_false' );
add_filter( 'wpseo_og_og_updated_time', '__return_false' );
 0
Author: Karol Trybulec,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-28 22:55:28