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/
具体的な手順
ここまでわかればやることは簡単で、
- キャッシュクリア対象ページのURLをリストアップする
- バッチで前述のリクエストを行う
を行えば、一気にクリアできそうです。
今回 問題になったサイトは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
同じようなケースでお困りの場合は、ぜひご活用ください。
カテゴリー: CMS・MovableType , SNS
タグ: Facebook Like , Facebookいいね! , 常時https化 , 常時SSL化
« 前の記事:本文の任意箇所でページを分割するMT6対応プラグイン「SplitPage v2.0」
» 次の記事:Zen-Cart.com お知らせ:PayPalスタンダード決済で「,」が使えなくなる
アークウェブの本
Zen Cartによるオンラインショップ構築・運用テクニック―オープンソース徹底活用

内容充実のZen Cart公式本(v1.3対応)がついに発表です。アークウェブのスタッフをはじめZen-Cart.JPの中心メンバーが共著で執筆しました。続きを読む
新着はてブ
カテゴリー
- Shopify(ショピファイ)オンラインショップ構築
- NGO・NPO向け情報
- スマートフォン
- だれもが使えるウェブコンクール
- mixiアプリ
- OpenSocial (システム開発)
- アークウェブのCSR
- A-Form, A-Member, A-Reserve(MTプラグイン)
- Ruby on Rails(システム開発)
- necoったー
- Miqqle
- WebSig24/7
- ecoったー
- ビッグイシュー(The Big Issue)
- CSR(企業の社会的責任)
- マッシュアップ
- RIA (システム開発)
- セキュリティ(システム開発)
- 唐松(アクセス解析)
- Ajax (システム開発)
- テスト(システム開発)
- データベース
- PukiWiki
- Web 2.0
- SEO・サーチエンジン最適化
- XP・アジャイル(システム開発)
- Web・ITニュースクリップ
- Webアクセシビリティ
- Webデザイン
- SEM・サーチエンジン広告
- Webユーザビリティ
- CMS・MovableType
- Zen Cart(オンラインショップ構築)
- Snippy(SNS・ソーシャルブックマーク)
- アークウェブ
- オープンソース
- CMS(コンテンツマネジメント・システム)
- Webマーケティング
- AMP
- SNS