WordPressのテーマを変えてから、なぜかプログラムの挙動がおかしくて、どうしたらいいのか、ずっと試行錯誤しておりましたが、ようやく解決しました。おはこんばんにちは。
動作環境
WordPress:バージョン 4.6.1
サーバー:さくらインターネット(スタンダード)
PHP:5.4
MySQL:5.5.28
テーマ:Simplicity(子テーマ使用)
動いていたものが動かない
テーマを変更してから、下記のプログラムが動かない事に気づきました。
- 予約投稿
- PING送信
「予約投稿」は、キャッシュ系プラグインが原因で動かなくなるそうです。「PING送信」が無反応になる原因は見つからず、プラグインを全部止めてみたり、テーマを変更してみても解決せず、今日至る。
予約投稿が動かないのは、まだいいが、PING送信が無反応なのは、寂れた日記を書いている者にとっては、致命的である。
キャッシュ系のプラグイン
テーマ「Simplicity」とキャッシュ系のプラグインの相性の悪さがあるので、「WP File Cache」「MO Cache」「WP Super Cache」「W3 Total Cache」などは使用しておりませんでしたが、テーマ変更時に「SNS Count Cache」というプラグインを入れました。挙げられていませんが、こちらもキャッシュ系と言えばキャッシュ系。
SNS Count Cache
ソーシャルメディアのシェア数やフォロワー数をキャッシュしてカウント数の表示を高速化できるプラグイン。
しかし、このプラグインを入れてから、SNSボタンの表示以降が真っ白になるという現象が起こりました。手動で[Cache]ボタンを押した後、ページが表示される事から、このプラグインが起因し悪さをしている事が判明したので、このプラグインは削除(管理画面から削除できず、サーバーに接続し削除)。
検索すると、入れているブログが多かったので入れましたが、SNSボタンを押されない我がブログには、全く必要の無いプラグインでした。
検索する日々
検索していると、SNS Count Cacheはプラグインを消しても、cronに大量のイベントが残り、それを消す事で予約投稿が回復したとの記事を見たので試みる。
管理画面から「WP Crontrol」というプラグインを入れ、ツール→Cron Eventsで確認すると、案の定「scc_****」というイベントが大量に・・・。私のブログも同様、SNS Count Cacheをデータごと削除しても、Cron Eventは残ったままでした。
Cronのイベント削除
phpMyAdminからログインし、optionsテーブルにあるoption_name「cron」の中身を全て削除した。
削除し、Cron Eventsで確認すると、6個程度のイベントが表示されるだけとなった。
試しに、テスト記事を予約投稿し、Cron Eventsを見ると、Hook Name「cbnetpo_ping」「publish_future_post」というイベントが追加されるのを確認した。
どうやら、SNS Count CacheのCronイベントで埋め尽くされ、予約投稿とPING送信のイベントが入るスペースが無かったのかと思われる。
まとめ
WordPress高速化に欠かせない、キャッシュ系のプラグインですが、アクセスの多い人気ブログならば必要なのかもしれんが、この世の果てのような我がブログで、果たして必要だったのか・・・(笑)。
闇雲にキャッシュ系プラグインは、入れるべきでは無いっすね。ハマる原因だわ。
そりゃ、ワシの右瞼も痙攣しますわい!
コメント