wordpressの予約投稿が失敗するので対処してみた

2015年1月26日

Tips Wordpress

ブログを書いていて、最近気がついたことがある。 なんと、デイリーのPVが伸びてきた。 1ヶ月ぐらい、それまでのマンネリ投稿を思い切って、毎日投稿すると決めて、投稿数が100原稿を超えたあたりから、日に30PVぐらいのPVになってきた。 1ヶ月でいうと900PVでabout-1000PVに近づいてきた。

WordPressの予約機能を使ってみる。

このまま、投稿を安定させるために、wordpressの機能の「予約投稿」をしてみようとセットしたところ、「予約投稿の失敗」との文字・・・ linux-osなのでcronかsqlのアクセス権限なのか?・・・と思っていたが、 wordpressは「wp-cron.php」というモジュールがroot階層にあり、これがosのcronではなく、ソフトウェア独立型で実行してくれるようだ。

結果・・・

仕組みとしては、誰かが、トップページにアクセスした時がイベントになるようで、 どうやらその時にエラーが出ているようなんだが、 sshでサーバーにアクセスしてwww-dataの権限で wget http://%domain%/wp-cron.php として、400エラーが返っていました。 他のサイトでの助言 バージョンアップしてみる そのサイトは、3.9を3.9.1にアップしたところ、うまくいったそうですが、この時点で、このブログサイトは4.0でした。 眉唾だが、最新の4.1にアップしてみました。 ダメでした。変わらず、予約エラー。

さらに原因追求

他にも、wp-cron.phpのalternativeモードをtrueにする。というのもあったが、バージョンが違うのか、その設定が、見つからない。 あと、実際にcron登録して解決するというのもあったが、本末転倒なので、これは無視。 もう大体答えは見えているんだが、400エラーが返っているので、ドメインを自己解決出来ていないということでしょうね。 wordpressの仕組みは、管理画面や、ブログ表示部分まで、jsやcssモジュールをドメインから呼び出している。 このサイトは、自宅サーバーで立てており、自宅内からはローカルサーバーのipアドレスになるので、DNSでの名前解決が出来れば、この問題も解決すると思った。 余談だが、この手のサービスは、運用管理なども考えて、ローカルとグローバルはハイブリッドで構築するのが当たり前と思っていたんで、少し不満は残ります。

対応方法

vi /etc/hosts %ローカルIP wordpress.ideacompo.com を追記するだけ。 ・・・すると・・・見事に予約アップ出来ました。 サービスのあり方を改めて、勉強させられました。 以後の開発に役立てましょう。

追記

その後、bindなどで、インフラ構成が変わった際に、以下の対応も必要になったので、必要な方のみ参考までにどうぞ nameserver 127.0.1.1 # ↓↓↓↓↓ #nameserver 127.0.1.1 nameserver 127.0.0.1
  • 名無し
    2021年12月11日 3:26
  • 60爺
    2020/06/15 at 21:22
    ありがとうございます。 自宅サーバをBUSTERで最新の環境で設定しました。そうしたら、wordpressのサイトヘルスでへんてこなエラーが出て対処できずに悩んでおりました。 サーバ設定で何かが足りないと色々検索していたところ、このページにたどり着き、上記etc/hostsに設定を行ったら見事に解消しました。 感謝いたします。
  • ユゲタ
    2020/06/16 at 06:58
    ご丁寧なコメントをいただきまして、ありがとうございます。 何かしらの参考になったのであれば、幸いです。 今後とも宜しくお願いいたします。

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。