WordPressのwp-cron.phpを無効化し、cronで定期実行する方法をまとめました。
wp-cron.phpファイルとは
wp-cron.phpは、WordPressで「予約投稿」「バックアップ処理」「自動更新」「XML-Sitemap」などに使用されます。
通常はサイトへのアクセスがあるたびに実行されるため、アクセスが多いサイトの場合は無駄に負荷が増えてパフォーマンスが低下する可能性があります。
また、DDoS攻撃に悪用される危険性があるため、wp-cron.phpを無効化し、Webサーバー側のcronでwp-cron.phpを一定時間毎にだけ実行するようにするのがおすすめです。
wp-cron.phpを無効化
「wp-cron.php」を無効化するには、以下の内容を記述します。
■wp-config.php
<?php define('DISABLE_WP_CRON', 'true'); # 先頭に記載
cronでwp-config.phpを定期的に実行
wp-cron.phpは、WordPressで「予約投稿」「バックアップ処理」「自動更新」「XML-Sitemap」などに使用されます。
そのため、「予約投稿」「バックアップ処理」「自動更新」「XML-Sitemap」を停止させたくない場合は、cronで1時間に1回ほど定期的にwp-config.phpを実行させるようにするといいでしょう。
cronの設定例は以下のとおり。
5 * * * * curl http://XXXXXX.com/wp-cron.php > /dev/null 2>&1
.htaccessで「wp-cron.php」のアクセス制限
.htaccessで「wp-cron.php」のアクセス制限をすると良いでしょう。
■.htaccess
<Files wp-cron.php> order deny,allow deny from all allow from xxx.xxx.xxx.xxx </Files>
xxx.xxx.xxx.xxxは、cronを実行するWebサーバーのIPアドレスを記述すれば、
cronを実行するWebサーバー以外からは「wp-cron.php」にアクセスできなくなります。
関連記事
【Kali Linux】WPScanでWordPressの脆弱性診断を行う方法
Kali LinuxのWPScanでWordPressの脆弱性診断を行う方法を初心者向けに解説します。
【Kali linux】脆弱性診断する方法を初心者向けに解説
Ubuntuの使い方を初心者向けに解説します。
404 NOT FOUND | Linux超入門
コメント