ホーム » ビジネスブログ » SNS »

Facebookのキャッシュを一気にクリアする方法 - 常時https/SSL化でいいね!引き継ぎ 番外編

2016年12月 9日

Facebookのキャッシュを一気にクリアする方法 - 常時https/SSL化でいいね!引き継ぎ 番外編

投稿者 八木

先月、 このブログ上の記事 で、 サイトの常時https(SSL)化後も Facebookいいね!数 を引き継ぐ方法をご紹介しました。

今回は、その番外編です。
発端は、前回の方法でいいね!数を引き継いだつもりが、一部のページで いいね!数がゼロのままだったページが見つかったことです。
og:urlも問題ない、リダイレクト設定も問題ない、あれ〜おかしいなぁ...。

原因は、 (悪名高い!?) Facebook側のキャッシュ でした。
調査の過程で Facebookのシェアデバッガーを通したところ いいね!数が正常値に戻ったことで判明しました。

今回は対象ページが数百ページあったものですから、Facebookのキャッシュを一気にクリアする方法について調べてみました。

Facebookのキャッシュを一気にクリアする方法

Facebookのキャッシュがクリアされるタイミングは、公式ドキュメントに書かれています。

【情報源】facebook for developers
ドキュメント/シェア機能/Open Graph story/オブジェクトの使用
https://developers.facebook.com/docs/sharing/opengraph/using-objects

オブジェクトの更新
Facebookクローラーは、次の場合にオブジェクトを再スクレイピング(すなわち更新)します。

 ・ オブジェクトURLがオブジェクトデバッガーに入力されたとき
 ・ 最初のスクレイピングから30日ごと
 ・ アプリがAPIエンドポイントを使用してスクレイピングをトリガーしたとき

要は上で私がやったように手動で1ページずつデバッガーにURLを打ち込むか、じっと30日待つか、
あるいはAPIエンドポイントを叩くか、この3つです。

大量のURLを一気に処理するには3つめの方法を使います。

このGraph APIエンドポイントは、以下を呼び出します。

POST /?id={object-instance-id or object-url}&scrape=true

このエンドポイントからの応答は、スクレイピングされたオブジェクトについてのすべての情報を含んだJSONオブジェクトとなります
(Graph APIからオブジェクトIDが読み取られた時に返されるデータと同じ)。
idパラメータは、オブジェクトの正規URLか、グラフ内のオブジェクトインスタンスIDのいずれかになります。

読んでも「デ、何ヲスレバイインデスカ〜(?_?)」って感じだったので、 @ko31 さんの記事を参考にさせていただきました。

【参考】 http://blog.ko31.com/201411/facebook-ogp-cache/#i-3
具体的には、各URLについて次のようなリクエストを行います(curlコマンドを使う例)。

$ curl -d scrape=true -d id=【対象ページURL】 https://graph.facebook.com/

具体的な手順

ここまでわかればやることは簡単で、

  1. キャッシュクリア対象ページのURLをリストアップする
  2. バッチで前述のリクエストを行う

を行えば、一気にクリアできそうです。

今回 問題になったサイトはMovable Typeで生成していたので、 URLの一覧は、MTテンプレートを書いてお手軽に出力することにしました。

<!-- URLを1行ずつ列挙したファイルを出力 -->  
<mt:Entries lastn="0">  
    <mt:EntryPermalink />  
</mt:Entries>  

このファイルを次のスクリプトに食わせればOKです。 Linuxのbashで動作します。

for url in `cat ファイル名`;  
do  
  curl -s -d scrape=true -d "id=$url" https://graph.facebook.com/ >/dev/null 2>&1  
  sleep 1  
done  

同じようなケースでお困りの場合は、ぜひご活用ください。

投稿者 八木 : 2016年12月 9日 08:16

カテゴリー: CMS・MovableType , SNS

タグ: Facebook Like , Facebookいいね! , 常時https化 , 常時SSL化


Movable Type用高機能メールフォーム生成プラグイン A-Formの詳細へ
Movable Type用会員限定サイトプラグイン A-Memberの詳細へ
Movable Type用予約サイト構築プラグイン A-Reserveの詳細へ
ARK-Web×CSR(企業の社会的責任)

アークウェブの本

Zen Cartによるオンラインショップ構築・運用テクニック―オープンソース徹底活用

Zen Cartによるオンラインショップ構築・運用テクニック―オープンソース徹底活用

内容充実のZen Cart公式本(v1.3対応)がついに発表です。アークウェブのスタッフをはじめZen-Cart.JPの中心メンバーが共著で執筆しました。続きを読む

Movable Type プロフェッショナル・スタイル

Movable Type プロフェッショナル・スタイル

ビジネスサイト構築におけるCMSとしてのMTの活用方法について、豪華執筆陣による実践的MT本です。八木が共著で執筆しました。続きを読む

Web屋の本

Web屋の本

Web 2.0時代の企業サイトの構築・運用などの戦略を考える「Web屋の本」 (技術評論社)を、中野・安藤が執筆しました。続きを読む

新着はてブ

Loading

アーカイブ

応援しています

  • キッズ・セーバー
  • ソロモン・リリーフ ─ソロモン諸島を応援する有志による、震災復興支援プロジェクト─

    (終了しました)

RSS配信

 

サービスおよびソリューション一覧


最新情報・投稿をチェック


このページのトップに戻る

Photo by A is for Angie

Powered by Movable Type Pro 6.3.8