このサイトはwordpressをベースに構築されております。恐らくwordpressで運用されているみなさんと同様に、SPAMコメントに悩まされています。毎日のようにSPAMコメントを入れてくれるロボットがたくさんいるようでして、一週間もほっておくと数千件の意味のないコメントが投稿されております。それを定期的に手動で削除しております。それが結構苦痛になってきております。

サイトに悪影響がなければ、そのままSPAMコメントがたくさんついたままで放っておいてもいいかなーとも思いますが、SEO的にも良くないでしょうし、何よりサイトが重くなります。つまり閲覧スピードが落ちます。ということで、毎日バッチ処理を稼働させて大量のSPAMコメントを毎日削除する事にしました。

以下がそのshell scriptになります。

#!/bin/bash

/usr/bin/mysql -u root -pパスワード db名 -e “DELETE FROM wp_comments WHERE comment_date > ‘2013-01-01′”

このサイトの場合は2013年前はいいコメントがついてますので、それ以後のコメントだけ自動的に削除しています。

上記のプログラムをdelete_comment.shとしました。chmod +x ./delete_comment.shとして実行権限をつけてあげましょう。

そして、毎日好きな時間に上記のシェルスクリプトを動かす為にcron設定をします。下記の例では毎日12:42に処理が実行されます。

-bash-3.2$ crontab -l
42 12 * * * /bin/sh /var/www/vhosts/xxxxx/delete_comment.sh

cronの書き方は、crontabの書き方に詳しく説明されております。そちらをご覧ください。毎週実行する、日付指定、時間指定での実行などの設定が可能です。

wordpressでブログサイトを開設しているけどコメントがつくことは稀です。またコメントがついても全てスパムなので、出来れば毎日削除したいという方、ご参考まで。ただ、お持ちのホスティングスペースがshellの実行を許可していないと、この技は使えませんのでご注意下さいませ。