こちらの記事では「WordPress(ワードプレス)」ブログサイトのコメント欄に、日本語を含まない大量の英語コメントやURLリンクのスパムコメントをブロックする対策方法を紹介しています。
コメント欄に書き込みされたスパムコメントを一括削除やプラグインでブロックする方法もありますが、消す手間や、サイトの読み込みをを重くしたくない方は「functions.php」で対策をするのがおすすめです。
下記で紹介するスパムコメントをブロックするやり方を使うと、英語のみの書き込みをできないようにすることが出来るので活用してください。
スパムコメントをブロックする方法
「functions.php」でスパム対策設定
WordPressで日本語を含まない海外からの英語コメントは、外観内にある「functions.php」に以下のコードを追加することで、簡単にブロックすることができます。
// コメントのスパム対策
add_filter( 'preprocess_comment', 'custom_check_comment_for_japanese', 1 );
function custom_check_comment_for_japanese( $commentdata ) {
// コメントの内容を取得
$comment_content = $commentdata['comment_content'];
// 日本語が含まれていない場合
if ( !preg_match("/\p{Hiragana}|\p{Katakana}|\p{Han}/u", $comment_content) ) {
// JavaScriptを使用してエラーメッセージを表示
$error_message = "コメントには日本語を含めてください。";
echo '<script>alert(' . json_encode( $error_message ) . ');history.back();</script>';
exit;
}
// もし日本語が含まれていれば、コメントをそのまま返す
return $commentdata;
}
上記のスパム判定コードは、ひらがな・カタカタ・漢字を含まないテキスト、つまり基本的な日本語を含んでいない文字をコメントしようとすると、「コメントには日本語を含めてください。」と表示して強制的に前の画面へ戻す事ができます。
「functions.php」にコードをコピペするだけで、スパムコメントは英語やアラビア語などなので、大抵のスパムを防ぐことができます。
▼スパムコメントを入力した場合
コメント欄にスパムコメントを入力すると、上記のような注意文が表示されるようになります。
スパムコメントへの注意文を変更
スパムコメントと判断した際に表示されるテキストは自由に変更可能です。
例えば、煽りテキストなど文言を変えて表示させたい場合は、下記のようになります。
// コメントのスパム対策
add_filter( 'preprocess_comment', 'custom_check_comment_for_japanese', 1 );
function custom_check_comment_for_japanese( $commentdata ) {
// コメントの内容を取得
$comment_content = $commentdata['comment_content'];
// 日本語が含まれていない場合
if ( !preg_match("/\p{Hiragana}|\p{Katakana}|\p{Han}/u", $comment_content) ) {
// JavaScriptを使用してエラーメッセージを表示
$error_message = "無駄無駄ww";
echo '<script>alert(' . json_encode( $error_message ) . ');history.back();</script>';
exit;
}
// もし日本語が含まれていれば、コメントをそのまま返す
return $commentdata;
}
▼スパムコメントへの煽りテキスト表示例
スパムコメントと認識されると、上記のような煽り文が表示されるようにしてみました。
スパムコメントを書き込んでくる人は、大事な読者でもないので、好きなように変更して遊んでみましょう。
スパムコメントのブロックまとめ
コピペで簡単に対策可能
WordPressのブログサイトにスパムコメントが来た時の対策方法を紹介しました。
「functions.php」にスパムを無効化するコードを追加することで、簡単にブロックすることができるので、活用してください。
関連記事
Web制作
ウェブ制作関連記事 | |
ブログサイトの始め方 | ドメイン取得方法 |
ドメイン取得~サイト作成手順 | 外観テーマ導入手順 |
おすすめレンタルサーバー | おすすめテーマ |
記事内容(ジャンル)の選び方 | SSL化の設定方法 |
固定ページをトップページ変更 | おすすめプラグイン一覧 |
サイト運営者ID確認 | 効率化ショートカットキー |
不要なCSS・JS特定 | ホームページの作り方 |
スパムコメント対策 |
▼Googleアナリティクス
Googleアナリティクス関連記事 | |
複数サイト管理方法 | 旧バージョン(UA)設定 |
Googleアドセンス・アフィリエイト
Googleアドセンス関連記事 | |
アドセンス設置場所 | 広告単価の高い時期 |
広告クリック率確認 | 広告サイズ改善 |
アンカー広告の固定化 | 広告が表示されない原因 |
ads.txtファイル問題の修正 | ダブルレクタングル作成 |
リクエスト処理エラー | Amazonアソシエイト |
おすすめASP一覧 | 【クローズドASP】felmat依頼内容 |
サイトデザイン
関連記事 | |
TOPページの割り当て | padding設定方法 |
margin設定方法 | border設定方法 |
記事上の余白原因と消し方 | スマホ余白の原因と消し方 |
特定カテゴリー非表示 | perタグ内の改行方法 |
▶が文字化けする原因対策 | サイドバーのずれ修正 |
コメント欄に絵文字 | サイドバータイトル非表示 |
CSSが反映されない原因 | テーブル文字を上下中央揃え |
▼テーマ毎のデザイン
THE THOR (ザ・トール) | |
アイキャッチ画像を非表示 | グローバルメニューの出し方 |
エラー対策
エラー対策の関連記事 | |
style.cssエラー | functions.phpエラー |
画面表示がおかしい対処法 | 重大なエラー対処法 |
サーバーでプラグイン削除 | エラーコード一覧 |
404エラー対策 | ー |
PR記事一覧
-
ゲーム記事
-
観葉植物
-
大人向け