先日にGoogle Search Consoleを覗いていたところ、下図のようにサイトのコンテンツ数に対して「除外」の項目が異常に多いことに気づきました。

(検索フォームにスパムしかけて意味あるんですかね…?)

なので、対処方法を考えました。この記事ではその対処方法を紹介します。
=== 目次 ===
対処方法
対処方法として思いついたのは以下です。- 検索フォームをウィジェットから外して検索フォームを表示させなくする
- WordPressデフォルトの検索機能を無効にする。
検索フォームをウィジェットから外して検索フォームを表示させなくする
結論から言うとこれはダメでした。検索フォームをウィジェットから外して検索フォームを表示させなくしてみましたが、スパム業者はウィジェットの検索フォームから検索しているのではなく、検索用のURL「/?p=○○○」「/search/○○○」を直接叩いてるようです。
そのため、画面上から検索フォームを消したところで全く意味がありませんでした。
WordPressデフォルトの検索機能を無効にする
上記の通り、スパム業者はURLを直接叩くので、このスパムを対策するにはWordPressデフォルトの検索機能をオフするしかありません。(もし検索させたい場合はWordPressデフォルトの検索機能ではなく、Googleの検索機能などを活用する)
しかし、残念ながら、WordPressデフォルトの検索機能を無効にする設定はWordPressには存在しません。
WordPressデフォルトの検索機能を無効にするプラグイン
上記の通り、WordPressデフォルトの検索機能を無効にする設定はありませんので、WordPressデフォルトの検索機能を無効にするプラグイン「Default Search Invalid」を自作しました。同じ悩みを持っている方のためにここで公開しておきます。
注意点
以下、注意点です。- このプラグインを導入する際にはサイトのバックアップを必ず取ってください。
- このプラグインで起きたトラブルを自分で解決できる方のみ使用してください。
- このプラグインは自己責任で使用してください。このプラグインによる損害の責任は一切負いません。
導入方法
まず、以下のURLからzipファイルをダウンロードします。zipファイルの解凍は不要です。
https://aresei-note.com/my_wordpress_plugin/DefaultSearchInvalid.zip
ダウンロードが完了しましたら、WordPressメニュー → プラグイン → 新規追加 を選択します。
上部に「プラグインのアップロード」というボタンがありますので、これをクリックし、さきほどのzipファイルをアップロードします。
アップロードが完了しましたら、画面に従ってプラグインを有効にします。
これでプラグインの導入は完了です。
使用方法
使用にあたって特に設定などはありません。プラグインが有効の状態で 「/?p=○○○」「/search/○○○」 のURLが開かれると、強制的に「/404.php」にリダイレクトします。
これで検索ロボットとしては、ページが存在しないので「除外」として記録しなくなります。
実際に私はこのプラグインを有効にしてから、今回のスパム被害はなくなりました。