Semrush Botをブロックする方法

SemrushBotによるアクセスログの急増に困っているウェブサイト管理者の方に向けて、SemrushBotの正体から適切なブロック方法まで、技術的な詳細と実践的な対処法を完全解説します。サーバー負荷軽減から帯域幅節約まで、効果的な対策を段階的に紹介いたします。

まずはSemrush公式サイトでSemrushBotの詳細仕様を確認し、この記事の対処法と合わせて最適な設定を行ってください。

SemrushBotとは?その役割と動作メカニズム

SemrushBotは、世界最大級のSEOプラットフォーム「Semrush」が運用する検索ボットソフトウェアです。ウェブサイトのデータ収集とインデックス化を目的としており、Semrushの各種分析機能の基盤となるデータを構築しています。

SemrushBotの基本的な機能と目的

SemrushBotは単純なクロールボットではなく、多角的なデータ収集を行う高度なシステムです。その主要な機能を詳しく解説します。

SemrushBotが収集する主要データ
・ページ構造とHTML要素の分析
・バックリンク(被リンク)情報の収集
・内部リンク構造の把握
・メタデータとコンテンツ品質の評価
・技術的SEO要素の監査
・サイトパフォーマンス指標の測定

特に重要なのは、SemrushBotが収集したデータが以下の機能で活用されることです。これらの機能は、世界中の1,000万を超えるSemrushユーザーが日々利用しており、そのデータ品質を維持するために継続的なクロールが必要となります。

Semrushプラットフォームでの活用領域

SemrushBotが収集したデータは、Semrushの様々な分析ツールで活用されます。各ツールでの具体的な利用方法を理解することで、SemrushBotの動作理由が明確になります。

Semrush機能SemrushBotの役割収集データの種類更新頻度
Backlink Analyticsバックリンクの発見・分析リンク情報、アンカーテキスト日次更新
Site Audit技術的SEO問題の検出HTML構造、メタタグ、エラーオンデマンド
Backlink Audit危険なリンクの特定リンク品質、Toxic Score週次更新
Link Building Toolリンク獲得機会の発見サイト権威性、関連性定期更新
SEO Writing AssistantURLアクセシビリティ確認ページ状態、レスポンスリアルタイム

これらの機能を支えるため、SemrushBotは24時間365日体制でウェブサイトをクロールしています。そのため、多くのウェブサイトでSemrushBotによる頻繁なアクセスが記録されることになります。

SemrushBotのクロール頻度とサーバーへの影響

SemrushBotによる過度なクロールは、ウェブサイトのパフォーマンスに様々な影響を与える可能性があります。実際のアクセスログ分析に基づく影響度を詳しく解説します。

実際のアクセス頻度とログ分析結果

複数のウェブサイトで観測されたSemrushBotのアクセス頻度を分析すると、その影響度の高さが明確になります。

実測されたSemrushBotアクセス頻度(日次)
・中規模サイト(1,000ページ):800-1,200回/日
・大規模サイト(10,000ページ):3,000-5,000回/日
・ECサイト(商品ページ多数):5,000-8,000回/日
・ブログサイト(記事更新頻繁):1,500-2,500回/日

特に注目すべきは、SemrushBotがGooglebotよりも高頻度でアクセスするケースが多いことです。実際のアクセスログ分析では、SemrushBotが全ボットアクセスの30-40%を占める事例も報告されています。

サーバーリソースへの具体的影響

SemrushBotの高頻度アクセスが、サーバーリソースに与える影響を定量的に分析します。

影響項目軽微な影響中程度の影響深刻な影響対策の緊急度
CPU使用率+5-10%+15-25%+30%以上
メモリ消費+100-200MB+300-500MB+500MB以上
帯域幅使用量+10-20GB/月+30-50GB/月+100GB/月以上
ページ表示速度+0.1-0.3秒+0.5-1.0秒+1.5秒以上

特に問題となるのは帯域幅の消費です。従量課金制のクラウドサービスを利用している場合、SemrushBotによる予期しない帯域幅消費により、月額コストが大幅に増加する可能性があります。

SemrushBotをブロックする方法:robots.txt編

SemrushBotのアクセスを制御する最も基本的で効果的な方法は、robots.txtファイルの設定です。段階的なブロック方法を詳しく解説します。

基本的なrobots.txt設定方法

SemrushBotの完全ブロックから部分的な制御まで、目的に応じた設定方法を紹介します。

SemrushBot完全ブロック設定
ウェブサイトのルートディレクトリ(example.com/robots.txt)に以下を記述:

User-agent: SemrushBot
Disallow: /

この設定により、SemrushBotによるサイト全体へのアクセスが禁止されます。ただし、robots.txtは「お願い」であり「強制」ではないため、100%の効果は保証されません。

機能別の個別ブロック設定

SemrushBotは機能別に異なるUser-Agentを使用しています。特定の機能のみをブロックしたい場合の設定方法を解説します。

SemrushBot機能別User-Agent一覧
・SemrushBot:一般的なバックリンク分析
・SiteAuditBot:Site Audit機能専用
・SemrushBot-BA:Backlink Audit機能専用
・SemrushBot/1.1~bl:バックリンク特化版
・SemrushBot/2~bl:新バージョンバックリンク版

例えば、Site Audit機能のみをブロックしたい場合は以下のように設定します:

User-agent: SiteAuditBot
Disallow: /

User-agent: SemrushBot-BA
Disallow: /

部分的なアクセス制御とCrawl-delay設定

完全ブロックではなく、アクセス頻度を制限したい場合の設定方法を解説します。

制御方法設定例効果推奨用途
特定ディレクトリのブロックDisallow: /admin/
Disallow: /temp/
該当ディレクトリのみ禁止管理画面等の保護
クロール遅延の設定Crawl-delay: 601分間隔でのアクセスサーバー負荷軽減
特定ファイル除外Disallow: /*.pdfPDFファイルのみ禁止帯域幅節約
時間帯制限(robots.txtでは不可).htaccess等で実装

Crawl-delay設定は特に有効で、SemrushBotは最大10秒間の遅延設定に対応しています。サーバー負荷を軽減しながら、必要なデータ収集は継続させたい場合に最適です。

適切なrobots.txt設定を検討中の方は、Semrush公式サイトで最新のbot仕様を確認することをお勧めします。

高度なブロック方法:.htaccessとサーバー設定

robots.txtよりも確実なブロック効果を求める場合は、サーバーレベルでの制御が有効です。Apache、Nginx等のサーバー別の設定方法を詳しく解説します。

Apache(.htaccess)による制御方法

Apacheサーバーを使用している場合、.htaccessファイルによる強制的なブロックが可能です。robots.txtと異なり、この方法では物理的なアクセス拒否が実現できます。

Apache 2.2系での設定例
SetEnvIf User-Agent “SemrushBot” deny_bot
SetEnvIf User-Agent “BLEXBot” deny_bot
SetEnvIf User-Agent “DomainCrawler” deny_bot
Order Allow,Deny
Allow from all
Deny from env=deny_bot

Apache 2.4系での設定例
SetEnvIf User-Agent “SemrushBot” deny_bot
SetEnvIf User-Agent “AhrefsBot” deny_bot
SetEnvIf User-Agent “MJ12bot” deny_bot
<RequireAll>
 Require all Granted
 Require not env deny_bot
</RequireAll>

重要な注意点として、robots.txtファイル自体もブロックされてしまうため、以下の設定を追加してrobots.txtのみアクセス可能にする必要があります:

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

Nginxでのブロック設定

Nginxサーバーを使用している場合の設定方法です。高性能なサーバーでよく使用されるため、大量アクセスの制御に特に効果的です。

Nginx設定例(server コンテキスト内)
if ($http_user_agent ~* (SemrushBot|AhrefsBot|MJ12bot|BLEXBot)) {
 return 403;
}

この設定により、指定したUser-Agentからのアクセスに対して403 Forbiddenエラーを返します。より細かい制御が必要な場合は、IPアドレスベースの制御も併用できます。

IPアドレスベースのブロック方法

User-Agentは偽装される可能性があるため、より確実な制御にはIPアドレスベースのブロックが有効です。SemrushBotが使用するIPアドレス範囲を特定してブロックします。

SemrushBot IP範囲CIDR表記地域主な用途
46.229.160.0 – 46.229.175.25546.229.160.0/20ヨーロッパバックリンク分析
185.191.171.0 – 185.191.171.255185.191.171.0/24北米Site Audit
167.114.156.0 – 167.114.159.255167.114.156.0/22カナダ一般クロール

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

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

ブロック設定の検証と効果測定

SemrushBotのブロック設定を行った後は、その効果を適切に検証することが重要です。設定の確認方法と効果測定の手法を詳しく解説します。

robots.txt設定の動作確認方法

robots.txtの設定が正しく機能しているかを確認する方法は複数あります。最も確実な方法を段階的に紹介します。

robots.txt動作確認の手順
1. example.com/robots.txtにアクセスして内容確認
2. Google Search Consoleのrobots.txtテスターで構文検証
3. アクセスログでSemrushBotのアクセス減少を確認
4. サーバーリソース使用量の変化を監視

特に重要なのは、robots.txtファイルが正しいHTTPステータスコードを返すことです。以下の点に注意してください:

アクセスログ分析による効果測定

ブロック設定の効果を定量的に測定するため、アクセスログの詳細分析が必要です。効果的な分析方法を解説します。

測定項目ブロック前ブロック後(目標)確認方法
SemrushBotアクセス数1,000-5,000回/日0-50回/日ログファイル解析
帯域幅使用量基準値10-30%削減サーバー監視ツール
サーバー応答時間基準値5-15%改善パフォーマンス監視
403エラー発生数0回ブロック数に応じて増加エラーログ監視

段階的な効果確認とトラブルシューティング

ブロック設定後の効果確認は段階的に行う必要があります。即座に効果が現れない場合の対処法も含めて解説します。

効果確認のタイムライン
・設定直後:.htaccess等によるブロックは即座に効果
・1-2時間後:robots.txtの効果が現れ始める
・24時間後:SemrushBotがrobots.txtを再確認
・1週間後:完全な効果が確認できる

効果が現れない場合の主な原因と対処法:

トラブルシューティング
・robots.txtの文字エンコーディング確認(UTF-8推奨)
・ファイルパーミッションの確認(644または755)
・サブドメインでの個別robots.txt設置
・CDNやプロキシ経由での配信確認
・User-Agent文字列の大文字小文字区別確認

SemrushBotを部分的に許可する場合の最適化設定

完全ブロックではなく、SemrushBotのアクセスを制御しながら必要なデータ収集は継続させたい場合の最適化設定を解説します。この方法により、サーバー負荷を軽減しながらSEO分析の恩恵も受けられます。

段階的なアクセス制御戦略

SemrushBotのアクセスを完全に遮断するのではなく、適切に制御することで双方にメリットのある設定が可能です。

推奨される段階的制御方法
・Crawl-delay: 30 – 30秒間隔でのアクセス許可
・特定ディレクトリの除外 – 管理画面や一時ファイルのブロック
・ファイルタイプ制限 – 画像や動画ファイルの除外
・時間帯制御 – ピーク時間帯のアクセス制限

最適化されたrobots.txt設定例

サーバー負荷を最小限に抑えながら、必要なSEOデータの収集は継続させる設定例を紹介します。

バランス型robots.txt設定
# SemrushBot制御設定
User-agent: SemrushBot
Disallow: /admin/
Disallow: /temp/
Disallow: /cache/
Disallow: *.pdf
Disallow: *.zip
Crawl-delay: 30

# Site Audit機能のみ制限
User-agent: SiteAuditBot
Crawl-delay: 60

サーバーリソース監視と動的制御

サーバーの負荷状況に応じて、SemrushBotのアクセス制御を動的に調整する高度な方法を解説します。

サーバー負荷CPU使用率推奨Crawl-delay追加制限
低負荷0-30%10秒制限なし
中負荷30-60%30秒大容量ファイル除外
高負荷60-80%

コメント