2012-11-16 21 views
1

我知道,Facebook首次訪問網站時會緩存網站上特定頁面的Like數據,並且將url輸入到調試器頁面會清除緩存。但是,我們現在已經改進了我們的Facebook說明/圖像/等,我們需要刷新整個網站的緩存(大約300頁)。Facebook調試器:清除整個站點緩存

是否有一個簡單的方法來做到這一點,或者如果我們需要編寫一個例程逐一糾正它們,那麼最好的方法是什麼?

回答

3

有一個簡單的方法來做到這一點,

並非那樣簡單清除對整個域的高速緩存,沒有一個按鈕。

或者如果我們需要編寫例程逐個糾正它們,那麼最好的方法是什麼?

你可以得到一個Open Graph的URL通過使POST請求重新刮:

https://graph.facebook.com/?id=<URL>&scrape=true&access_token=<app_access_token> 

所以你必須做的是,在您的300個對象的一個​​循環。但不要太快,否則你可能會達到你的應用速度限制 - 根據FB開發人員小組最近的一次討論應該可以正常工作,嘗試在請求之間留出幾秒鐘。 (在將其插入到API請求URL之前,請不要忘記對值<URL>進行網址編碼。)

2

WordPress的簡單解決方案,轉到永久鏈接並更改永久鏈接並使用自定義永久鏈接,在我的情況下我剛剛加了一個下劃線,所以這... /_%postname%/

Facebook然後沒有信息在(現在)新的網址,所以他們刮新鮮。

我一直在尋找這個相同的答案,所有的答案對我來說都非常複雜,作爲一個非編碼器。

原來,有一個非常簡單的答案,我自己想出了這一切:)。

我有一個wordpress網站,上面有多種插件,我已經批量上傳4000多個圖片,創建了4,000個帖子。
問題是我上傳了他們,然後在排序og:meta標籤問題之前嘗試設置Facebook共享插件,所以總共4,000個帖子被沒有og:meta的FB刮掉,所以當我添加它們時沒有任何區別。 fb調試器無法使用,因爲我有超過4k的帖子。

我必須承認我有點興奮,多年來,我從谷歌搜索得到有用的答案,把我送到這個論壇。通常我發現的建議遠遠超過我的想法,因爲我不是一個編碼員,我是一個「複製貼紙」。

我很高興能夠回饋給這個偉大的論壇和幫助別人了:)

+0

尼斯,感謝貢獻! – Savage

0

嗯,我也得到了同樣的場景,並使用黑客和它的工作原理,但顯然作爲@Cbroe中提到他回答說API調用對速率限制有一些限制,所以我想你應該照顧它在我的情況下,我只有100個URL重新刮。

所以這裏是解決方案:

$xml = file_get_contents('http://example.com/post-sitemap.xml'); // <-- Because i have a wordpress site which has sitemap. 

$xml = simplexml_load_string($xml); // Load it as XML 
$applicationAccessToken = 'YourToken'; // Application Access Token You can get it from https://developers.facebook.com/tools/explorer/  

$urls = []; 
foreach($xml->url as $url) { 
    $urls[] = $url->loc; // Get URLS from site map to our new Array 
} 

$file = fopen("response.data", "a+"); // Write API response to another file so later we can debug it. 
foreach($urls as $url) { 
    echo "\033[Sending URL for Scrape $url \n"; 
    $data = file_get_contents('https://graph.facebook.com/?id='.$url.'&scrape=true&access_token='.$applicationAccessToken); 

    fwrite($file, $data . "\n"); //Put Response in file 
    sleep(5); // Sleep for 5 seconds! 
} 
fclose($file); // Close File as all the urls is scraped. 

echo "Bingo It's Compelted!";