Facebook Sharer cache कैसे साफ़ करें?


116

हमने लिंक का उपयोग किया है:

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

... किसी विशेष पृष्ठ को साझा करने के लिए। हालांकि, फेसबुक शेयरर छवियों और शीर्षक के कैश्ड संस्करण का उपयोग करता है। क्या फेसबुक कैश को जल्दी से खाली करने का एक तरीका है या हमें डेटा अपडेट होने तक कितनी देर तक इंतजार करना होगा?

मैंने <link rel='image_src' href='[preview image]' />टैग के बीच में रखा ।

जवाबों:


237

मुझे अपनी समस्या का हल मिल गया। आप इस साइट पर जा सकते हैं:

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

... फिर उस पृष्ठ के URL में डालें जिसे आप साझा करना चाहते हैं, और "डीबग" पर क्लिक करें। यह स्वचालित रूप से आपके मेटा टैग पर सभी जानकारी को निकाल देगा और कैश को भी साफ़ कर देगा।


1
वहाँ एक ही बात है, लेकिन जावास्क्रिप्ट के साथ स्वचालित रूप से प्राप्त करने का एक तरीका है? मेरी साइट में ऐसे पृष्ठ हैं जो अक्सर अपना नाम बदल सकते हैं। मैं कैश के 24 घंटे के फेसबुक रीसेट का इंतजार नहीं करना चाहूंगा, न ही हर बार फेसबुक लिंट पर जा सकता हूं। मैंने फेसबुक लिंट ( डेवलपर्स . facebook.com/tools/debug/og/object?q= ... url के रूप में) के साथ ajax अनुरोध का उपयोग करने की कोशिश की है, लेकिन प्रतिक्रिया है कि q मान (उपरोक्त यूआरएल के पैरामीटर के रूप में पारित) है प्रवेश-नियंत्रण-अनुमति-उत्पत्ति द्वारा अनुमति नहीं है।
गियोवन्नी बिटलाइनर

3
यदि आपको अभी भी इसे ताज़ा करने में परेशानी हो रही है, तो अपने URL के अंत में एक यादृच्छिक क्वेरी स्ट्रिंग पैरामीटर जोड़ने का प्रयास करें।
जेडी स्मिथ

2
बस Fetch new scrape informationबटन पर क्लिक करें
IvanRF

2
मैंने नई स्क्रैप जानकारी प्राप्त की है ... यह सही डेटा देखता है, लेकिन हिस्सेदार पुराना डेटा दिखाता है। क्या कुछ और है जो हम कर सकते हैं?
Peege151

1
यदि आपको शेयर में प्रदर्शित छवि की समस्या है, तो छवि को बदलने की कोशिश करें।
तात्यामेली

10

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

10

Facebook प्रत्येक url को विशिष्ट मानता है और उस url के आधार पर पृष्ठ को कैश करता है, इसलिए यदि आप नवीनतम url को साझा करना चाहते हैं तो सरलतम समाधान यह है कि url साझा किए जाने के साथ एक क्वेरी स्ट्रिंग जोड़ना है। सरल शब्दों में, url के अंत में v = 1 जोड़ें। 1 के स्थान पर किसी भी संख्या का उपयोग किया जा सकता है।

टोपी की नोक: उमैर जब्बार


मुझे लगता है कि इससे आपके पृष्ठ को प्राप्त लिंक की संख्या प्रभावित होगी, क्योंकि उन्हें प्रत्येक संस्करण के लिए गिना जाएगा, है ना?
एंड्रे लास्ज़लो

3

मुझे लगता है कि इन दोनों लिंक में आपकी समस्या से संबंधित सामान पर एक विस्तृत चर्चा है। fb: कॉल करके स्पष्ट नकदी परिशोधित करें

fbml.refreshRefUrl

इस तरह

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

आप संबंधित सामग्री का अध्ययन यहां से fb: Ref कर सकते हैं । मुझे उम्मीद है कि यह आपके लिए काम करेगा


3

ऐसा करने के लिए पेज https://developers.facebook.com/tools/debug/ पर है और कुछ अन्य उत्तरों से थोड़ा बदल गया है।

वहां अपना URL पेस्ट करें और " डीबग " पर हिट करें । फिर URL टेक्स्ट फ़ील्ड के अंतर्गत " नई स्क्रैच जानकारी प्राप्त करें" बटन दबाएं और आपको पूरी तरह सेट होना चाहिए। यह आपके पृष्ठ से नए मेटा टैग को खींच लेगा, लेकिन वे अभी भी कैश करेंगे इसलिए ध्यान रखें कि जब भी आप उन्हें बदलेंगे तब आपको ऐसा करने की आवश्यकता होगी। यह वास्तव में महत्वपूर्ण है यदि आप मेटा टैग के साथ खेल रहे हैं ताकि एफबी साझा यूआरएल को उस तरह से स्वरूपित कर सकें जैसे आप उन्हें फेसबुक के अंदर चाहते हैं।


2

यह उत्तर डेवलपर्स के लिए है।

कैश को साफ़ करने का मतलब है कि इस वेबपेज के नए शेयर ओजी टैग में प्रदान की गई नई सामग्री को दिखाएंगे। लेकिन केवल अगर आप जिस URL पर काम कर रहे हैं, उसमें 50 से कम इंटरैक्शन (पसंद + शेयर) हैं। यह इस वेबपेज के पुराने लिंक को भी प्रभावित नहीं करेगा जो फेसबुक पर पहले ही पोस्ट किए जा चुके हैं। फ़ेसबुक पर यूआरएल को साझा करने के बाद ही वह तरीका आएगा जिससे फ़ेसबुक लिंक को अपडेट करता है।

catandmouse का उत्तर सही है लेकिन आप फेसबुक को OG (ओपेनग्राफ) कैश भी भेज सकते हैं। इसके लिए ग्राफ.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

पर्ल में, आप निम्नलिखित कोड का उपयोग कर सकते हैं जहां लाइब्रेरी 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

1

Url के लिए a? V = random_string संलग्न करें। यदि आप फेसबुक शेयर के साथ इस विचार का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आपके द्वारा साझा किए जा रहे url के जवाब में url param का मेल है। यह google plus के साथ भी काम करेगा।

फेसबुक के लिए आप https://graph.facebook.com पर पोस्ट रिक्वेस्ट करके भी रिकवर कर सकते हैं

{id: url,
scrape: true}

यही वह है जिसकी तलाश में मैं हूं।
मधुमक्खी

पोस्टमैन में उपरोक्त JSON को पोस्ट करने के लिए मुझे यह नहीं मिला, लेकिन एक कच्चे टेक्स्ट स्ट्रिंग को पोस्ट करने से ताज़ा हुआ:id=http://www.ridr.me&scrape=true
फिलिप सूमी

1

मैंने अभी एक साधारण समाधान पोस्ट किया है जो संबंधित पोस्ट पर यहां 5 सेकंड का समय लेता है - फेसबुक डिबगर: पूरी साइट कैश

संक्षिप्त उत्तर ... परमलिंक्स सेटिंग में एक वर्पड्रेस साइट पर अपने परमिट को एक कस्टम एक में बदलें। मैंने सिर्फ एक अंडरस्कोर जोड़ा है।
/ _% postname% /
फिर facebook उन सभी को नए यूआरएल, नई पोस्ट के रूप में स्क्रैप करता है।


यह मैं सरल और अच्छा है। दुर्भाग्य से अवांछित लिंक नाम छोड़ देता है।
गरवानी

0

यदि आप कैश प्लगइन के साथ वर्डप्रेस का उपयोग कर रहे हैं, तो सुनिश्चित करें कि आप अपने सभी कैश को साफ कर दें। यह भी सुनिश्चित करें कि आपके द्वारा उपयोग की जा रही छवि में अनुशंसित फेसबुक का आकार है: 1200 (w) x 630 (h) या 600 x 315।


0

यदि आप प्रबंधित वर्डप्रेस या कैशिंग प्लगइन्स का उपयोग करते हैं, तो आपको फेसबुक डीबगर टूल से नई जानकारी प्राप्त करने से पहले अपने कैश को साफ़ करना होगा!

मैं हफ्तों से अपने बालों को बाहर निकाल रहा हूं, इसलिए पता लगाता हूं कि मैंने जो बदलाव किए, वह फेसबुक डिबगर में 24 घंटे तक नहीं दिखेंगे !!!! तय यह है कि मुझे अपने वर्डप्रेस डैशबोर्ड में जाना है, शीर्ष पर गोडैडी आइकन पर क्लिक करें और "फ्लश कैश" पर क्लिक करें। मुझे लगता है कि कई प्रबंधित वर्डप्रेस होस्टर्स के पास यह पता लगाने का कैश है कि इसे कैसे साफ किया जाए और आप सुनहरे होंगे।


Wordpress का कैश साफ़ करने में मदद नहीं करेगा। कम से कम मेरे लिए।
गरवानी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.