WordPressでコメント機能を無効化する.htaccessファイルの設定方法

黄色のお花
重要9年以上前に編集した記事です。情報がけっこう古いかも…。

この記事は約 13 分で読めます。

わたしのサイトは、たぶん2年以上「メンテナンス中」でした。(^_^;

2ヶ月前に、WordPressで、サイトを作ったばかりだったし「スパム対策とか、ゆっくりすれば良いよねぇ」と、のんびり思ってました。

ところが、管理画面を見ると、なんと、もうスパムが9件も、、、

9件のスパム by Yasue FUJIYAMA, on Flickr

9件のスパム Copyright © flickr Yasue FUJIYAMA  All Rights Reserved.

というわけで、早速、対策を考えることにしました。

今までのコメントスパム対策

以前は、以下の有名なプラグインで、対策していました。

ただし、今回はまだ、Akismet Akismet のみで、Throws SPAM Away Throws SPAM Away をインストールしてませんでした。

なので、Throws SPAM Away Throws SPAM Away を、入れようかと思いましたが、、、プラグインの数が増えると、サイトの表示スピードが、遅くなるんですよねぇ。

あらゆる端末でウェブページの読み込み時間を短くしましょう。

PageSpeed Insights PageSpeed Insights

Googleさんが、こう言っている時代に、表示スピードが遅いこのサイトで、さらに表示スピードが遅くなるのは、ちょっと…けっこう困ります。

コメント欄ってこのサイトに必要なの?

このサイトは恥ずかしながら、コメントは、今後もほぼ皆無だと思います。ハイ。f^_^;

かつて、友人知人や親戚とかが、ほんとに善意から、コメントしてくれることがありましたが(ありがたいことです)

いつもは、わたしの書いた、つまんない記事に、奇特なかたが、コメントをくださるのを、待つばかりの状態。トホホ

というわけで、待ちぼうけはやめて、思い切って、コメント機能は、いっさい使わないことにしました。

究極のコメントスパム対策

というわけでして、どうすれば良いのかを、調べてみたところ、コメントスパム対策 – WordPress Codex 日本語版 コメントスパム対策 – WordPress Codex 日本語版 に、「コメントスパムハック」として、次の方法が、書かれていました。

wp-comments-post.phpの削除

コメントスパムに対する究極の解決策です。コメントを無効にし、コメントスパムの洪水を止めることができます。あなたのサイトにコメントを付けることが一切できなくなります。

コメントスパムハック コメントスパムハック

最強の、すっごく良い方法ですが、面倒くさがり屋のわたしには、WordPressが、アップデートするたびに、毎回、wp-comments-post.phpを削除するのは、無理っぽいです。

なので、ちょっとでも楽できそうな、次の方法を、選ぶことにしました。

.htaccessでアクセス拒否

Apache サーバーを使用している場合、.htaccessファイルを編集することができます。

コメントスパムハック コメントスパムハック

コメント欄を非表示にすれば、いいんじゃないの?

「使わないんだったら、コメント欄を、非表示にすればいいんじゃないの?」と、思うかも知れないですが、それだとスパム対策にはならないんですよね。

以下は、2012年2月17日と、かなり古い情報ではありますが、2015年9月現在でも、事情は変わっていませんので、非常に参考になります。

redcocker 様

投稿の編集画面でコメントを許可しておらず、実際に投稿を見てもコメント欄が表示されていないにもかかわらず、その投稿に対するコメントが届いたと言うことでしょうか?

投稿でコメントをクローズしている場合、仮に単純な攻撃を仕掛けても「この投稿へのコメントは受け付けていません。」となるだけかと思っていたのですが、ちょっと意外です。

・・・(中略)・・・

jim912 様

comments_template();の削除は、人から見えないようにするだけで、スパムに対しては一切効果がありません。逆に見えないために、スパムだけを受け付けてしまうようになるため、適切な処置とは言えないのです。

[解決済み]コメントを受け付けない設定について [解決済み]コメントを受け付けない設定について

ということでして、手強いですわ。(´д`)

.htaccess ファイルでの対策

コメントスパム対策 – WordPress Codex 日本語版 コメントスパム対策 – WordPress Codex 日本語版 にあるように、.htaccessファイルで、wp-comments-post.phpにアクセスを拒否する場合は、自分で.htaccessを作って、サーバーにアップロードします。

これなら、WordPressが、アップデートしても、ファイルが上書きされる心配はないので、一度、手間をかければ、あとは、メンテナンスいらず!!

「Apache サーバー」ってどこのレンタルサーバー?

わたしは、エックスサーバーの「X10プラン」っていう、いちばん安いプランを契約しているんですが、ばっちり「Apache サーバー」でした。

低コストで出来るので、Apache のレンタルサーバーは、とても多いんじゃないかと、思います。たぶん。(って違ってたら、ごめんなさい)

ちなみに、以下に、Apache ウェブサーバーの例を、ちょびっとあげてみました。

テキストエディタについて

Windows付属の「メモ帳」でも、.htaccessファイルは、作れます。

ですが、WordPress の、他のファイル(例えば、wp-config.phpなど)には、使えないので、どうせなら、テキストエディタの、秀丸 秀丸 とか、サクラエディタ サクラエディタ などを使うのが、オススメです。

WordPress ファイルの編集には 絶対に使わないでください!WordPress 日本語版をお使いの場合、Windows のメモ帳(Notepad)も使えません。

wp-config.php の編集 - WordPress Codex 日本語版 wp-config.php の編集 - WordPress Codex 日本語版

ファイルに書く内容

.htaccessファイルの中身は、以下の通りです。

# wp-comments-post.phpへのアクセス制限
order allow,deny
deny from all

ついでに、トラックバックも無効化すると良いので、下記のように、.htaccessファイルに書きます。

★この記事は、2015年9月14日 15:16:34 に、五行易ドットJP の 藤山 恭江が書いたものです。
記事の引用は、著作権法に定める範囲内で大歓迎です\(^o^)/
引用する場合、出典元の表示として『 五行易ドットJP:WordPressでコメント機能を無効化する.htaccessファイルの設定方法 』←『』内の表示をお願いしますm(_ _)m
読んでいただいてうれしいです。ありがとうございます(≧▽≦)

# wp-comments-post.phpへのアクセス制限
order allow,deny
deny from all
# wp-trackback.phpへのアクセス制限
order allow,deny
deny from all

order allow,denyは、すべてのアクセスを許可してから拒否する

deny from allは、拒否する対象はすべてのアクセス、という意味です。

許可と拒否が、みょーな順番に、なってる感じがするのですが、以下のサイトを拝見すると、Apacheサーバーの、仕様みたいですね。

Allow, Denyの順番とデフォルト状態 – ぱせらんメモ Allow, Denyの順番とデフォルト状態 – ぱせらんメモ 

ファイルの保存

ファイルを保存するときは、次のようにしてください。

  1. ファイル名は.htaccess(「.」のところは半角のドット)
  2. ファイルの種類は「すべてのファイル」を選択
  3. WordPress用ファイルなので、文字コードは「UTF-8」で、「BOMなし」で保存する
  4. Apache ウェブサーバーの場合、改行コードはLFにする
ファイル名は.htaccess、ファイルの種類はすべてのファイル by Yasue FUJIYAMA, on Flickr

ファイル名は.htaccess、ファイルの種類はすべてのファイル Copyright © flickr Yasue FUJIYAMA  All Rights Reserved.

※前述のレンタルサーバーか、その他の、Apache ウェブサーバーなら
改行コードは、LFにしてください。

エンコードはUTF-8、BOMはつけない、改行はLFで.htaccessファイルを保存 by Yasue FUJIYAMA, on Flickr

エンコードはUTF-8、BOMはつけない、改行はLFで.htaccessファイルを保存 Copyright © flickr Yasue FUJIYAMA  All Rights Reserved.

以下の図のように、最後の行には、必ず、改行を入れてから、保存してくださいね。

最後の行を改行している.htaccessファイル by Yasue FUJIYAMA, on Flickr

最後の行を改行している.htaccessファイル Copyright © flickr Yasue FUJIYAMA  All Rights Reserved.

最後の行に改行を入れてない.htaccessファイル by Yasue FUJIYAMA, on Flickr

最後の行に改行を入れてない.htaccessファイル Copyright © flickr Yasue FUJIYAMA  All Rights Reserved.

Macを使っていたり、その他の理由から、ファイル名を.htaccessにして、保存しようとしても、保存できない場合もあります。

「ファイル名を入力してください。」ダイアログ by Yasue FUJIYAMA, on Flickr

「ファイル名を入力してください。」ダイアログ Copyright © flickr Yasue FUJIYAMA  All Rights Reserved.

.htaccess.txtファイルに名前を変更していったん保存 by Yasue FUJIYAMA, on Flickr

.htaccess.txtファイルに名前を変更していったん保存 Copyright © flickr Yasue FUJIYAMA  All Rights Reserved.

ファイルをアップロードするときの注意点

以下の点に注意して、ファイルをアップロードしてください。

  1. FTPでの転送する際に、転送モードは、テキスト(アスキー)モードにする
  2. ファイル名を変更していた場合は、アップロード後、ファイル名を.htaccessに変更する

FTPソフトには、テキストモードとバイナリーモードがありますが、テキスト(アスキー)モードで、アップロードしてください

テキスト転送モード by Yasue FUJIYAMA, on Flickr

テキスト転送モード Copyright © flickr Yasue FUJIYAMA  All Rights Reserved.

お使いのFTPソフトで、アップロード時、自動的にテキストモードに、変換してくれる場合もあるのですが、もしもうまく、テキストモードに、自動変換されていなかったら、500サーバーエラーになってしまう可能性があります。

なので、最初から、テキストモードで、アップロードするのが、ベターです。

ファイル名を、テキストファイルの.htaccess.txtなどに、変更して保存していた場合は、アップロード後、ファイル名を.htaccessに変更してください。

サーバーにアップロード後、ファイル名を.htaccessに変更 by Yasue FUJIYAMA, on Flickr

サーバーにアップロード後、ファイル名を.htaccessに変更 Copyright © flickr Yasue FUJIYAMA  All Rights Reserved.

アップロードする場所

WordPress をインストールしているのが、http://example.com/wordpress/ である場合について、解説します。

.htaccessファイルをアップロードする場所は、wordpressディレクトリ直下です。

.htaccess ファイルの場所 by Yasue FUJIYAMA, on Flickr

.htaccess ファイルの場所 Copyright © flickr Yasue FUJIYAMA  All Rights Reserved.

サーバーの設定で、外国からのコメントスパムをブロック

「うちはコメントがあるから、スパムを遮断したいだけなんだよね」というかたは、プラグインThrows SPAM Away Throws SPAM Away をインストールするか、または、お使いのサーバーによっては、サーバーの設定で、対処できる場合もあります。

コメントスパムは、今のところ、外国からのものが、ほとんどのようなので、以下のレンタルサーバーなら対処できます。

上記以外に、『ファイアバード』、『クローバー』、『スターサーバープラス』、『ウェブクロウ(PHPオプション)』、『ウェブクロウプラス』、『WPblog』

あと、シックスコア(sixcore)、wpXレンタルサーバーなどでも、設定できます。

.htaccess ファイルの作り方解説サイト

.htaccessファイルの作り方は、以下のサイトがとても詳しいです。

あとがき

今回のポイントは「コメント受付を、いっさい、やめるか否か」でした。

コメントって、いただいたら、ブログを書く励みになるんですけど、わたしの場合だけに関して言えば、昭和の例えですが「岸壁の母」状態。

追記:岸壁の母 岸壁の母 (わかんないと思うから、ウィキペディアに、リンク張っておいたよ)

70年前の歌だから、さすがにわたしだって、世代じゃないよん。

ということで、コメント受付をやめて(あきらめて)、こころもスッキリです。