以前、このブログでは予約投稿が失敗したときのことを書いた。「WordPress.comで予約投稿が失敗したときの対策」の記事ではサポートに問い合わせた結果として、「たまに予約投稿が失敗するときがあるけど、手動で再投稿してください。ご迷惑をおかけします」的な回答を得たことを紹介した。「WordPress.comで予約投稿が失敗せずに確実に投稿される方法」では、Cronを実行するために、AWSのLambdaを使って定期的に「wp-cron.php」にアクセスする方法を紹介した。

予約投稿が失敗するケースは激減したけど、ゼロにはならなかった。予約投稿が失敗しても、WordPress.com上の管理画面からはわからない。予約投稿した記事が、予約投稿の状態のままになっているだけだ。WordPressの管理画面を確認して初めて、予約投稿の失敗のエラーメッセージを見ることができる。

その結果、年末に公開した「2020年を振り返って」という記事が投稿されていないことを年が明けてから気がつき、年始になって去年のことを振り返るという状態になってしまった。

WordPressの仕様上、予約投稿が失敗することがあるということは100歩譲って受け入れたとして、投稿に失敗したまま気が付かないという状態はまずいなと思った。

そこで予約投稿が失敗したときの対策としてプラグインを導入することにした。それが「Scheduled Post Trigger – WordPress プラグイン | WordPress.org 日本語」というプラグインだ。最新のWordPressのバージョンにも対応しており、最終更新日もインストールした日換算で7日前と頻繁に更新されている安心感がある。

このプラグインの仕組みは、サイトに誰かが訪れたときに軽量のスクリプトが実行されて、失敗した予約投稿がないか確認し、あれば投稿してくれるというものだ。

これで失敗した予約投稿があっても、リカバーができる状態になった。管理者であるぼくが気が付かなくても、誰かがアクセスすれば失敗した予約投稿のリカバリが行われる。

なお、セルフホストのWordPressではプラグインの導入は普通にできるが、WordPress.comの場合はビジネスプラン以上が必要になる。

Posted by:こうすけ