.htaccessボット拒否設定ツール

AIクローラー、SEO調査ツール、海外スパムBotなどのUser-Agentを選択すると、.htaccess で403拒否するコードを生成します。Googlebotなど通常の検索エンジンクローラーは初期設定ではブロックしません。
robots.txtではなくサーバー側で制御したい場合に使えます。なお、User-Agentベースの制御のため、User-Agentを偽装するアクセスやサーバー環境によっては効き方に差が出る場合があります。

📄 選択したUser-Agentの拒否条件 📄 .htaccessに貼り付ける403拒否コード ✅ 設置前の確認ポイント
AIクローラー(学習利用・負荷対策の制御)

AI学習目的や大量アクセスでサーバー負荷を上げるクローラーのUser-Agentを選択できます。

※ Google-Extended は robots.txt で制御するためのトークンです。 .htaccess の User-Agent 条件ではなく、 robots.txt生成ツール で設定することをおすすめします。

SEO調査ツール(外部解析Botの制御)

競合解析やリンク調査に使われるSEOツールのクローラーです。自社サイトの情報を収集されたくない場合に選択してください。

海外スパム・特定Botの制御

身に覚えのない不審な海外からのアクセスが多い場合に有効です。

レガシーBot / リセット

設定を初期状態(AIクローラー・SEO調査ツールのみ)に戻すか、一昔前に流行した悪質ボット群(レガシー)を一括で追加反映します。

📄 .htaccess に貼り付けるコード

設定を選択してください

✅ 次にやること

  1. 既存の .htaccess をバックアップする
  2. 生成コードを # BEGIN WordPress よりに貼り付ける
  3. サイト表示や管理画面に影響がないか確認する
  4. アクセスログやサーバーログで403応答を確認する
  5. 問題があれば追加したコードを削除して元に戻す
ここから詳しい解説

生成したボット拒否設定を設置する前に、確認ポイントをまとめています

上のツールで、AIクローラー、SEO調査ツール、海外スパムBotなどのUser-Agentを対象にした .htaccess の拒否コードを生成できます。この先では、robots.txtとの違い、WordPressでの設置位置、403にならない場合の原因、正規クローラーをブロックしないための注意点を補足しています。すでに設置方法が分かっている場合は、生成コードをコピーして設定作業へ進んでください。

💡 .htaccessでボットを拒否する仕組み

このツールが生成するコードは、SetEnvIfNoCase ディレクティブを使って、HTTPリクエストの User-Agent ヘッダーを正規表現で照合し、条件に一致した場合に 403 Forbidden を返す設定です。

  • User-Agentを条件にアクセスを制御:リクエストのUser-Agentが指定したパターンに一致した場合に、環境変数(wtg_bot_blocked)をセットして拒否します。
  • Apache / LiteSpeed系の環境で有効:.htaccess が使える環境(エックスサーバー、ConoHa WING、さくらインターネットなど多くのレンタルサーバー)で動作します。
  • Nginx環境では .htaccess は使えません:VPS・専用サーバーなどNginxを使っている場合は nginx.conf または server ブロックへの設定が必要です。サーバー会社の管理画面やドキュメントを確認してください。

🤖 robots.txtとの違い

robots.txtと.htaccessによる制御は、役割が異なります。目的に応じて使い分けるか、組み合わせて使うのが効果的です。

  • robots.txt:協調的なクローラーに対して「このURLはクロールしないでください」という方針を伝えるファイルです。ルールを守るクローラーには有効ですが、アクセス自体を遮断するわけではありません。
  • .htaccess:サーバー側でリクエスト自体を制限し、条件に一致したアクセスに403を返せます。ただし、User-Agentを偽装するアクセスやサーバー環境によっては、想定通りに効かない場合もあります。
robots.txtは「アクセスしないでほしい」という意思表示、.htaccessは「条件が一致したらサーバー側で403を返す」設定です。どちらか片方だけでなく、目的に応じて組み合わせて使うことを検討してください。

🧠 AIクローラー拒否でできること・できないこと

  • できること:対象のUser-Agentを名乗ってアクセスしてくるクローラーに対して、403を返してアクセスを制限できます。サーバーへの不要なリクエストを減らし、負荷軽減につながる場合があります。
  • できないこと:User-Agentを偽装するアクセス(例:一般ユーザーのブラウザを名乗る)や、すでに取得済みのデータには効果がありません。また、過去にクロールされた情報を削除することもできません。
  • Googlebotなど通常検索に必要なクローラーは安易にブロックしない:検索流入に必要なクローラーを拒否すると、検索結果への掲載や更新に影響する可能性があります。
robots.txtでの意思表示と .htaccess でのアクセス制限を組み合わせることで、協調的クローラーへの方針提示とサーバー側制御を分けて考えられます。robots.txt生成ツールも併用してください。

⚙️ WordPressサイトでの設置位置

  • 作業前に必ずバックアップ:既存の .htaccess を手元にコピーしておいてください。エラーが起きたときにすぐ元に戻せます。
  • # BEGIN WordPress より上に追加:WordPressが自動的に管理する領域(# BEGIN WordPress# END WordPress)より上に記述するのが基本です。この範囲の中に書くと、WordPressが更新時に上書きする可能性があります。
  • 管理画面・ログイン・REST APIへの影響を確認:設置後は /wp-admin/ へのログインや問い合わせフォームの動作が変わっていないか確認してください。

⚠️ 効かない・403にならない場合の原因

  • .htaccess が有効になっていない:サーバーの設定で AllowOverride が無効になっている場合、.htaccess が読まれません。サーバー管理画面や設定を確認してください。
  • Nginx環境である:.htaccess はApache / LiteSpeed系の機能です。Nginxでは動作しません。
  • User-Agentが一致していない:クローラーによってはUser-Agentが変化する場合があります。アクセスログで実際のUser-Agentを確認してください。
  • キャッシュやCDNを経由している:CloudflareなどのCDNがキャッシュを返している場合、オリジンサーバーに到達する前にレスポンスが返ることがあります。
  • 記述位置が # BEGIN WordPress より下にある:WordPressが先にリクエストを処理してしまい、拒否設定が効かない場合があります。必ず上に配置してください。
  • 正規表現のエスケープが不適切:パターン内の特殊文字(ドットなど)はエスケープが必要な場合があります。
  • 確認方法:サーバーのアクセスログやエラーログで、対象User-Agentへのレスポンスコードを確認してください。

🔍 Googlebotなど正規クローラーをブロックしない考え方

Googlebot、Bingbot など、検索結果への掲載や更新に必要なクローラーは、原則としてブロックしないことをおすすめします。誤ってブロックすると、Search Consoleにエラーが出たり、インデックスが更新されなくなる可能性があります。

  • 迷う場合は限定的に:最初はAIクローラー・SEO調査Bot・明確なスパムBotに絞ってブロックするのが安全です。
  • 設置後はSearch Consoleとログを確認:ブロック後はSearch Consoleのクロール統計やアクセスログで、意図しないクローラーまで影響が出ていないか確認してください。

.htaccessボット拒否設定に関するよくある質問

Q. .htaccessでボットを拒否すると何ができますか?
User-Agentが条件に一致するアクセスに対して、403 Forbiddenを返す設定を作れます。AIクローラー、SEO調査Bot、海外スパムBotなど、不要なアクセスの一部をサーバー側で制御したい場合に使えます。
Q. robots.txtと.htaccessの違いは何ですか?
robots.txtは協調的なクローラーに巡回方針を伝えるためのファイルです。.htaccessはApacheやLiteSpeedなどのサーバー側でアクセス制限を行う設定です。robots.txtはアクセス自体を遮断しませんが、.htaccessでは条件に一致したリクエストに403を返せます。
Q. AIクローラーを完全に拒否できますか?
対象User-Agentでアクセスしてくるクローラーには有効ですが、User-Agentを偽装するアクセスや、すでに取得済みのデータまでは制御できません。robots.txtでの意思表示と、.htaccessでのアクセス制限を組み合わせて考えるのがおすすめです。
Q. Googlebotもブロックした方がよいですか?
通常はブロックしない方がよいです。GooglebotやBingbotなどの検索エンジンクローラーを拒否すると、検索結果への掲載や更新に影響する可能性があります。迷う場合は、AIクローラー・SEO調査Bot・明確なスパムBotに限定してください。
Q. WordPressサイトではどこに貼ればよいですか?
既存の .htaccess をバックアップしたうえで、基本的には # BEGIN WordPress より上に追加してください。WordPressが自動生成する範囲の中に書くと、更新時に上書きされる可能性があります。
Q. 設定後に確認することはありますか?
サイト表示、管理画面、ログイン、問い合わせフォームなどに問題がないか確認してください。可能であればアクセスログやサーバーログで、対象User-Agentに403が返っているか確認します。問題が出た場合は、追加したコードを削除して元に戻してください。

🔗 続けて使われることが多いツール