Semrush Botをブロックする方法

「アクセスログにSemrushBotが大量に記録されている…」「サーバーが重くなってきた気がする…」と気になっている方も多いのではないでしょうか。

結論からお伝えすると、SemrushBotはrobots.txtまたは.htaccessでブロックできます。ただし、robots.txtには強制力がないため、確実に止めたいなら.htaccessの設定が必須です。この記事では、方法の違い・具体的なコード・エックスサーバーでの操作手順まで、まとめて解説します。

Semrush公式サイトでBotの仕様を確認する

SemrushBotとは?正体と動作の仕組み

SemrushBotは、世界有数のSEOツール「Semrush」が運用するクローラーボットです。

Semrushのバックリンク分析・サイト監査・競合調査などの機能を動かすために、24時間365日、世界中のウェブサイトを自動でクロールし続けています。

Semrush自体は正規のSEOツールであり、SemrushBotも悪意のあるボットではありません。ただし、サイト規模によっては1日に数百〜数千回のアクセスが発生することもあり、サーバー負荷・帯域幅コスト・アクセスログの汚染などの問題につながることがあります。

SemrushBotが収集する主なデータ

・ページの構造やHTML要素
・被リンク(バックリンク)の情報
・サイト内のリンク構造
・メタデータやコンテンツの内容
・技術的なSEO要素(表示速度・エラーなど)

Semrushは累計1,000万人以上がアカウントを作成したSEOプラットフォームです(調査時点の情報)。そのデータ品質を保つために、SemrushBotは定期的なクロールを続けています。アクセスログにSemrushBotが記録されていても、それ自体はサイトへの攻撃ではありません。

ただし、自分のサイトとは無関係な第三者のSEO調査のために、自分のサーバーリソースを消費させる必要はない、と考えるのも当然です。ブロックや制限を行うサイト管理者も多くいます。

SemrushBotのアクセスが増える理由とサーバーへの影響

なぜ急に増えるのか

SemrushBotのアクセス頻度が突然増えた場合、以下のような原因が考えられます。

サーバーへの具体的な影響

SemrushBotがサーバーに与える影響の目安

CPU使用率:アクセス頻度によって数〜30%程度増加することがある(調査時点の情報)
帯域幅:大規模サイトでは月に数十GB以上消費するケースも報告されている(調査時点の情報)
ページ表示速度:サーバーが高負荷になると、一般ユーザーへの応答速度が落ちる場合がある
アクセスログ:ボットのログが大量混入し、実際のユーザー行動の分析が難しくなる

特に従量課金制のクラウドサーバーを使っている場合は、帯域幅コストが予想外に増加することがあるため、早めの対処が重要です。

一方で、一般的なレンタルサーバーを使っている中小規模のサイトであれば、パフォーマンスに大きな支障が出ないケースも多いです。まずはアクセスログを確認し、どの程度の頻度でアクセスされているかを把握してから対処方法を選びましょう。

SemrushBotをブロックする3つの方法

SemrushBotをブロックする方法は大きく3つあります。それぞれ効果と手軽さが異なるため、自分のサーバー環境や目的に合った方法を選んでください。

ポイント

ブロック方法の選び方まとめ

robots.txt:設定が簡単だが「お願い」にすぎず、強制力はない
.htaccess:サーバー側で物理的にアクセスを拒否できる。最もおすすめ
IPアドレスブロック:User-Agent偽装にも対応できる、より確実な方法

方法①:robots.txtでブロックする(手軽だが限界あり)

robots.txtは、ボットに対して「このサイトをクロールしないでください」と伝えるためのテキストファイルです。サイトのルートディレクトリ(例:example.com/robots.txt)に置くだけで設定できます。

SemrushBot 完全ブロックの設定例

User-agent: SemrushBot
Disallow: /

ただし、robots.txtはあくまで「お願い」であり、強制力はありません。行儀の良いボットはこれに従いますが、設定後も数日間はアクセスが続くことがあります。確実にブロックしたい場合は後述の.htaccess設定を使ってください。

SemrushBotは機能ごとに異なるUser-Agentを持っています。特定の機能だけブロックしたい場合は以下のように個別に記述します。

機能別User-Agent ブロック設定例

# サイト監査(Site Audit)をブロック
User-agent: SiteAuditBot
Disallow: /

# バックリンク監査をブロック
User-agent: SemrushBot-BA
Disallow: /

# SEOライティングアシスタントをブロック
User-agent: SemrushBot-SWA
Disallow: /

# コンテンツアナライザーをブロック
User-agent: SemrushBot-CT
Disallow: /

完全ブロックはしたくないが、アクセス頻度を下げたい場合はCrawl-delay(クロール間隔の指定)も活用できます。

クロール間隔を60秒に設定する例

User-agent: SemrushBot
Crawl-delay: 60

この設定により、SemrushBotに1分ごとに1URLずつクロールするよう指示できます。サーバー負荷を軽減しながら、データ収集は妨げたくない方に向いています。

方法②:.htaccessでブロックする(最も確実・おすすめ)

.htaccessに記述することで、SemrushBotのアクセスをサーバー側で強制的に拒否できます。robots.txtと違い、ボットがルールを守るかどうかに依存しない点が最大のメリットです。

WordPressのルートディレクトリにある.htaccessファイルに以下のコードを追記してください。

Apache 2.4系(現在の主流)での設定例

# SemrushBotのブロック設定
SetEnvIf User-Agent “SemrushBot” deny_bot
SetEnvIf User-Agent “SiteAuditBot” deny_bot
SetEnvIf User-Agent “SemrushBot-BA” deny_bot
<RequireAll>
  Require all Granted
  Require not env deny_bot
</RequireAll>

# robots.txtだけはボットも読めるようにしておく
<Files robots.txt>
  Require all Granted
</Files>

重要:.htaccessの編集は必ずバックアップを取ってから行ってください。
記述に誤りがあると、サイト全体が表示されなくなることがあります。編集前にファイルをダウンロードして必ず保存しておきましょう。

この設定により、SemrushBot・SiteAuditBot・SemrushBot-BAのアクセスに対して403 Forbiddenエラーを返し、実質的にブロックできます。

なお、robots.txtが一緒にブロックされると問題が生じるため、robots.txtだけはアクセスを許可する記述(Files robots.txtの部分)を必ず追加してください。

方法③:IPアドレスでブロックする(より確実な方法)

User-Agentは偽装される可能性があるため、IPアドレスベースのブロックも有効な選択肢です。User-Agentブロックと組み合わせると、より強固な設定になります。

SemrushBotが使用するIPアドレス範囲(調査時点の情報)

・46.229.160.0/20(ヨーロッパ)
・185.191.171.0/24(北米)
・167.114.156.0/22(カナダ)

IPアドレスベースのブロック設定例(.htaccess)

<RequireAll>
  Require all granted
  Require not ip 46.229.160.0/20
  Require not ip 185.191.171.0/24
  Require not ip 167.114.156.0/22
</RequireAll>

SemrushBotが使用するIPアドレスは変更される可能性があります。IPアドレスブロックは定期的な確認が必要です。変更への追従が難しい場合は、User-Agentブロックだけでも十分に効果があります。

エックスサーバーでSemrushBotをブロックする具体的な手順

国内シェアNo.1のレンタルサーバー「エックスサーバー」を使っている方向けに、サーバーパネルからの具体的な設定手順を解説します。

エックスサーバーは.htaccessをサーバーパネルから直接編集できるため、FTPソフトを使わずにブラウザだけで設定を完結できます。

チェック

エックスサーバーはnginx環境下でも.htaccessをそのまま利用できる仕様です。Apache向けの設定コードをそのまま使用できます。

サーバーパネルから.htaccessを編集する手順(6ステップ)

STEP 1:サーバーパネルにログインする
エックスサーバーのサーバーパネル(panel.xserver.ne.jp)にアクセスしてログインします。

STEP 2:「.htaccess編集」をクリックする
サーバーパネルのメニューから「.htaccess編集」を選択します。

STEP 3:対象ドメインを選んで「選択する」をクリック
複数ドメインがある場合は、設定を変更したいドメインを選んでください。

STEP 4:「.htaccess編集」タブをクリックして内容を追記する
既存の記述(WordPressのRewriteRuleなど)は絶対に消さないよう注意しながら、以下のコードを追記します。

追記するコード(既存の記述の末尾に貼り付けてください)

# SemrushBotのブロック設定
SetEnvIf User-Agent “SemrushBot” deny_bot
SetEnvIf User-Agent “SiteAuditBot” deny_bot
SetEnvIf User-Agent “SemrushBot-BA” deny_bot
<RequireAll>
  Require all Granted
  Require not env deny_bot
</RequireAll>

<Files robots.txt>
  Require all Granted
</Files>

STEP 5:「確認画面へ進む」→「実行する」をクリック
設定内容を確認したうえで保存します。

STEP 6:サイトが正常に表示されることを確認する
ブラウザでサイトを開き、500エラーなど表示の異常がないかを必ず確認してください。

エックスサーバー .htaccess編集での注意点

・サーバーパネルで保存すると文字コードが「EUC-JP」になります。日本語コメントを入れる場合は文字化けに注意してください
・既存のWordPressの記述(RewriteRuleなど)を絶対に削除しないでください
・設定後にサイトが表示されなくなった場合は、すぐに元のバックアップファイルを復元してください

エックスサーバーはサーバー設定の自由度が高く、国内のWordPressサイトの3分の1以上(シェア35.2%)が利用している国内シェアNo.1のレンタルサーバーです。まだ使っていない方や乗り換えを検討している方は、ぜひ公式サイトを確認してみてください。

WordPressサイトの運営環境を見直すなら

エックスサーバーの公式サイトを見る

国内シェアNo.1 / 月額693円〜 / ドメイン永久無料特典あり

ブロック設定が正しく機能しているか確認する方法

設定を行ったあとは、実際にブロックが機能しているかを確認することが重要です。

robots.txtの設定確認

① ブラウザでrobots.txtにアクセスする
「https://あなたのドメイン/robots.txt」にアクセスし、設定した内容が表示されることを確認します。

② Google Search Consoleで構文を確認する
Google Search Consoleの「設定」→「robots.txtテスター」から構文が正しいかチェックできます(調査時点での機能です)。

③ アクセスログでSemrushBotのアクセス減少を確認する
設定から1〜7日後に、アクセスログのSemrushBotからのリクエスト数が減っているかを確認します。

.htaccessの設定確認

.htaccessによるブロックは設定後すぐに効果が出ます。エックスサーバーならサーバーパネルの「エラーログ」から、SemrushBotのアクセスに対して403エラーが返されていることを確認できます。

効果が出るまでの目安タイムライン

.htaccess設定直後:即座にブロック開始
robots.txt設定から1〜2時間後:効果が出始める
robots.txt設定から24時間後:SemrushBotがrobots.txtを再読み込みする
設定から1週間後:ほぼ完全に効果が確認できる状態になる

効果が出ない場合のよくある原因として、robots.txtの文字コードの問題(UTF-8が推奨)、.htaccessのパーミッション設定(644推奨)、サブドメインに別途設定が必要なケースなどが挙げられます。

ブロックしてもよいのか?SEOへの影響を考える

「SemrushBotをブロックしてGoogleの検索順位が下がらないか心配」という声はよく聞きます。

結論から言えば、SemrushBotをブロックしてもGoogleの検索順位には一切影響しません。SemrushBotはGooglebotとは完全に別のクローラーであり、GoogleやBing・Yahoo!などの検索エンジンのインデックスとは無関係です。

ただし、SemrushBotをブロックすると以下の点に影響が出ることがあります。

SemrushBotをブロックした場合に起こりうること

自分でSemrushを使って自サイトを監査したとき、最新データが取得できない:Site Auditの結果が古いままになる場合があります
競合からSemrushで分析されにくくなる:競合があなたのバックリンクを調べても情報が古いままになります(競合対策の観点では有効ともいえます)
Semrushのデータを使う他ツールの精度が下がる可能性がある:Semrushのデータに依存した被リンク分析ツールに影響が出る場合があります

自分でSemrushを積極活用している場合は、完全ブロックではなくCrawl-delayによる制限に留めることも一つの選択肢です。一方で、Semrushを使っていない・使う予定もない場合は、完全ブロックを迷わず実施して問題ありません。

Semrushとは?ブロック前に知っておきたいこと

Semrushは、SEO・コンテンツマーケティング・競合分析などを一括で管理できるオールインワンのマーケティングツールです。142カ国以上で使われており、特にキーワード調査・競合サイト分析・被リンクのチェックといった用途で広く活用されています。

Semrushを使えば、競合サイトがどんなキーワードで上位表示されているかや、どのサイトからリンクをもらっているかを把握できます。ブログ運営やアフィリエイトサイトの改善にも直結する、強力なツールです。

まだ使ったことがない方は、まずSemrush公式サイトで機能の詳細を確認してみてください。

よくある質問

Q. robots.txtに書いたのにSemrushBotがまだ来ています。なぜですか?

robots.txtはあくまで「お願い」であり、ボットが必ず守るとは限りません。SemrushBotは基本的にrobots.txtに準拠しますが、設定直後は反映まで数日かかることがあります。即座・確実にブロックしたい場合は、.htaccessによるブロック設定に切り替えてください。

Q. SemrushBotをブロックするとGoogleの順位は下がりますか?

下がりません。SemrushBotはGooglebotとは完全に別のクローラーです。SemrushBotをブロックしても、Googleによるクロール・インデックス・順位付けには一切影響しません。

Q. AhrefsBotやMJ12botも一緒にブロックできますか?

できます。.htaccessのSetEnvIf行を追加するだけで複数のボットをまとめてブロックできます。同じRequireAll ブロック内に「SetEnvIf User-Agent “AhrefsBot” deny_bot」「SetEnvIf User-Agent “MJ12bot” deny_bot」のように追記してください。

Q. エックスサーバーでも.htaccessは使えますか?

使えます。エックスサーバーはnginx環境下でも.htaccessをそのまま利用できる仕様になっています。サーバーパネルの「.htaccess編集」機能から、FTPなしでブラウザ上だけで設定できるため、初心者の方でも比較的簡単に対応できます。

まとめ

SemrushBotのブロックには、robots.txt・.htaccess・IPアドレスの3つの方法があります。

最も手軽なのはrobots.txtですが、強制力がないため確実性に欠けます。確実にブロックしたいなら.htaccessの設定が最もおすすめです。エックスサーバーを使っている場合はサーバーパネルから簡単に編集でき、設定後は即座に効果が出ます。

SemrushBotをブロックしても検索順位への影響はありません。自分のサーバーリソースを守るために、不要なクローラーはしっかりブロックしておきましょう。

サーバー環境が不安定に感じている方や、より快適なWordPress環境を探している方は、国内シェアNo.1のエックスサーバーも選択肢に入れてみてください。

安定したサーバーでサイト運営をもっと快適に

エックスサーバーの公式サイトを見る

国内シェアNo.1 / 月額693円〜 / ドメイン永久無料特典あり

コメント