プラグインを使用した予約更新が失敗するお話
最近外に出ていないので感覚が鈍ってきましたが沖縄もだいぶ寒くなってきております。
それでも私はまだまだ半そでで頑張ってます。
さて、記事の新規投稿を予約するのはWordPressの標準機能で対応可能ですが、更新を予約するとなるとカスタマイズしたりプラグインを使う必要があります。
あまり有名ではないと思いますが投稿更新の予約ができるプラグインRucy。
This plugin has been closed as of June 15, 2021 and is not available for download. Reason: Security Issue.
セキュリティの問題で今はダウンロードできなくなっています。
更新がだいぶ前にストップしているためでしょう。
古いプラグインを使い続けるのセキュリティ的によろしくないのですが、どうしても使わないといけないときもあります。
金と時間に余裕がなければ難しいものです。
今回はマイグレーションした際に更新予約がうまく動作しない現象が発生したので調査しました。
原因はNGINXのキャッシュ
結論から言うとキャッシュが原因で正常に動作していなかったようでした。
しかしその答えにたどり着くまで遠回りしまくっていました。
というのも3台構成でマルチサイトという特殊な構成だったため四苦八苦してしまったのです。
マルチサイト特有の何かじゃないかと狙いをつけたのが間違いでした。
マルチサイトのエラーやプラグイン名で検索しても有益な情報は発見できず。
時間をかけたわりには何も改善できなかったので大失敗。
続けてプラグインの解析をしてみたところwp-cron.phpで更新を実行させているようでした。
wp-cron.phpの動作を確認しながらググっていると擬似cronをやめてサーバのcronを使うという解決方法を見つけたのでトライしてみましたが改善できず。
そもそもwp-cronはちゃんと動いているのか確認するべくDBの中身をチェックしたところDB上には問題なくデータが入っておりました。
ということは表示側のエラーではないかと思いキャッシュにたどり着いたわけでございます。
しかしキャッシュ系のプラグインは使用していないため試行錯誤していたところNGINXのキャッシュが悪さをしていることがわかりました。
あとは除外設定やらをしてあげるとキャッシュされずに正常に更新が反映されるようになりました。
素直に予約更新エラーでググっておけばよかったと思う一日でございました。
コメント