oEmbed extend で 2 つのページにお互いの URL を記載するとリクエストが大量に発生する
-
いつもサイト構築に利用させていただいています。
Version 2.0.1 を使用しております。
サイト内リンク用に oEmbed extend を利用しています。
今回サイトの URL を引っ越しした際に、 oEmbed のキャッシュがすべて切れたらしく、 2 つのページにお互いの URL を記載し合っているページにアクセスできなくなりました。
OGP カードを作ろうとする→リンク先を参照しにいく→そのページでも OGP カードを作ろうとする→…という循環参照が起きて、リクエストが大量に発生したことが原因のようでした。
対応として ‘ogpcard_html_get’ メソッド内で、 ユーザエージェントに ‘WordPress/’ が含まれるならカードの作成は行わないようにしたところ、問題は解決しました。
本問題ですが、より良い解決法がありましたがご教授いただけますでしょうか?
よろしくお願いします。
どのような状況かわかりかねますが以下を試してみて下さい
1.Celtispackを最新版に更新
2.Celtispack設定画面を開き oEmbed Cache Clear Utility の Celtispack OGPブログカードキャッシュのオールクリアを実行
3.一旦、oEmbed extend を無効にする(不正なURLで再生成されないように)
4.各ページの編集画面を開き埋め込みURLを正しいURLへ書き換える(DB内のデータを一括に置き換えるようなツールを使っても良いがなれてないなら手動で書き換えたほうが安全)
5.oEmbed を有効にしてそのページを表示するとブログカードを再生成されて表示されるはず
以上のような操作が必要と思われます