WordPressで気になるのは表示速度。
当ブログも遅さで悩むことが時々あります。
そこでプラグインの整理をしたんです。
やっぱり無駄なのを外すと大分改善しましたね。
そのついでに、せっかくならと、
wp-cron.php の無効化
これもWP高速化のために試してみました。
せっかくなので手順をまとめておきます。
特殊な手順もあるけど、基本は難しくありません。
目次
wp-cron.php が表示速度に与える実害
※ 知ってる人は飛ばしてもOK。
まず wp-cron.php のことについて。
これは自動実行プログラムのことで、
次の目的のために使われることが多いです。
- 記事の予約投稿
- プラグインの自動実行
- WordPressの自動更新
予約投稿とかが便利ですよね。
ただこの WP-Cron には1つ問題があって・・・
それがアクセス毎に実行されること
↓こういう感じ とイメージしてください。
上図のペンギン君をブログ読者とします。
その場合、WP-Cron が実行される流れがこうです。
- ペンギン君がWPブログにアクセス
- WPがアクセスされた記事を表示する
- そのついでにWP-Cronも実行する
これが サーバーへの負荷 になり、
積もり積もって表示速度低下になります。困る
それなら無効化した方がいいと決断しました。
wp-cron.php を停止させる手順
ここからの作業では設定ファイルを編集します。
必ずバックアップを取ってから作業してください。
手順を簡潔にまとめると次の通り。
1.まず wp-config.php に無効化設定を追加
まずサーバーのWebFTPを使うか、
FTPソフトなどでサーバーに接続します。
そこでWPインストールした一番上のフォルダ
その場所にアクセスしてみてください。
必ず wp-config.php というファイルがあるはずです。
それを開いて次の内容を追加&保存。
/** wp-cron.phpを無効化 */
define('DISABLE_WP_CRON', 'true');
ただし1つだけ注意点!
ファイルの一番最後に追加すると、
wp-cron.php が無効にならないこともあります。
だから <?php
のあとに改行して追加してください。
これで大抵は上手くいきます。
2.Cron から wp-cron.php を定期実行
この時点では wp-cron.php は完全停止してます。
だから予約投稿とかも一切働いてくれません。
そこで Cron(クーロン) を代わりに使いました。
↓ Cronとは何か。ちょっと専門的
CRON(クーロン)とは、UNIX系システム(Unix OS、Linux OS)で使用されるジョブを自動実行するスケジューラーです。ユーザーが設定したスケジュールに基づいて一定時間毎に指定したコマンド、シェルスクリプトやプログラムを自動実行させることが出来ます。
つまり wp-cron.php を登録すれば、
自動更新や予約投稿などを動かし続けられるってこと。
ただし さくらサーバー の場合で説明します。
といっても基本手順は同じなので、
そこは各自のサーバー環境で置き換えてください。
Cronが使える環境・サーバーなら問題ありません。
1.まずCron設定を開く
サーバーパネルのメニューから、
「スクリプト設定」ー>「Cron設定」をオープン
↓ こういう画面が開いたはずです。
そしたら「スケジュール追加」をクリック
次のようなCron追加画面が出てくるはず。
ここから次手順のように、
wp-cron.phpを定期実行するCronを追加します。
2.実行コマンドとコメントを追加
まずは次画像みたいに、
実行コマンドとコメント(説明)を入力。
↓ コマンドとコメントの入力例
各項目の入力内容は次の通り
- 実行コマンド
ここには
php wp-cron.php
に該当するコマンドを入力。ただし各サーバーにおける php と wp-cron.php のそれぞれの絶対パスを調べる必要あり。 - コメント(説明)
このCronが何をするかの一言コメント。ここでは「wp-cron.phpの定期実行」みたいに分かりやすい説明にしている。ここは好きなように入力してOK。
気を付けるべきは実行コマンドですね。
これは各環境・サーバーで全く異なります。
自分のサーバーでは以下のコマンドを設定しました。
/usr/local/bin/php /home/fukuro-press/www/fukuropress/wp-cron.php
分からないなら運営に問い合わせてください。
ただし、答えが返ってくるかは運営次第です。
あとそれから・・・私自身もトラブル相談を行ってます。
作業代行も可能なので、お困りならご相談ください。
3.実行時間の追加
下にスクロールして「実行時間」に移動。
そこでCronの実行間隔を入力すればOK。
↓ 15分毎に wp-cron.php を実行する入力例
これはこの画像通りに入力してOKです。
そもそも WP Cron は使用頻度が低いです。
だから15分おき実行でもほとんど問題ないですね。
もし30分おきに実行したいなら、
「分」のところに「*/30」と入力してください。
まあCRON設定は難しいかもしれません。
でもググれば詳しい情報はいくらでも出てきます。
↓ さくらのCRON設定を可能な限り簡単に解説したい
こういうページを参考にしてください。
自分でググって解決するクセは大事なので。ほんとうに
WP-Cron無効化の効果はそこそこだった
それで WP-Cron無効化 の効果について。
やはり無効化後の方がサーバー応答時間が改善してます。
- 改善前 : 平均1秒以上
- 改善後 : 平均0.8秒ほど
SpeedInsights の計測だとこういう結果。
体感的にも少しだけ速くなった気がします。
あとサーバーのCPU使用時間も少し減りました。
↓ WP-Cron無効化前のCPU使用時間グラフ
↓ WP-Cron無効化後のCPU使用時間グラフ
グラフの赤丸が無効化を開始した日。
この日から若干使用時間が下がってるのが分かりますね。
最後にWordPress高速化のTipsをまとめて紹介
ここまでが wp-cron.php の無効化方法。
でも正直に言ってしまうと、
これは高速化にはそれほど効果ありません。
※ ただしサーバー負荷はかなり減らせる
もし本当にWordPress高速化を目指したいなら・・・
次記事で高速化のためのTipsを紹介してます。
これだけ対策しておけば、かなり速くなりますね。
読者にとって快適なブログ作りは大事です。
以上、wp-cron.php を無効化する方法でした。
フク郎
最新記事 by フク郎 (全て見る)
- トレンドブログが資産に?放置でアクセス急増の事例 - 3月 14, 2024