【WordPress】wp-cron.phpを無効化し、cronで定期実行する方法

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超入門

コメント