総合的なSEO診断ツール「Ahrefs」のサイト内部監査(Site Audit)を実行した際、いくつかのページでエラーが発生。403Forbiddenのエラーが表示され、どうやらクローラーによるクロールがブロックされているよう。
Ahrefs以外にも、サイト内部監査に特化したSEOツールには Sitebulb や Screaming Frog などがありますね。
下画像のように、AhrefsのSite Audit(サイト内部監査)で、403 Forbiddenステータスとして検出され、アクセス不可な状態として判断されました。
該当のページはCloudFlareのPage Rules機能でリダイレクトを設定したページであり、ブラウザから閲覧したところ問題なくリダイレクトされ、実際にはリダイレクト先のページが閲覧できています。
また、本来は数百ページが存在するところ、Ahrefs Site AuditによりAhrefsのクローラーが辿れたのはわずか6ページのみ。
このことから、何らかの要因によってAhrefsのクローラーが該当ページへのアクセスを拒否されたと考えられました。
クローラーがきちんと動作するようにされなければ、せっかくのヘルススコア診断や内部サイトSEO診断も精度が下がってしまうことに。
そこで以下、Ahrefsクローラーによる403 Forbiddenエラーを解消させるための原因調査結果と403エラー解消方法をお伝えします。
目次:
- Ahrefsで403 Forbiddenが発生する要因
- AhrefsクローラーのIPアドレス範囲を確認
- CloudFlareでAhrefsクローラーのIPアドレスをホワイトリスト一括登録
- DNSサーバーのキャッシュ更新を待って再度Ahrefsでクロール
- WordPressのセキュリティプラグインにAhrefsのIPをホワイトリスト登録
- WordPressセキュリティプラグイン"BBQ Pro"がAhrefsクローラーをファイアウォールでブロックしていた
- BBQ ProにホワイトリストIPを設定する方法
- WordfenceにもホワイトリストIPを登録
- 各レイヤーのファイアウォールにAhrefsクローラーIPをホワイトリスト登録したことで、サイト内部監査がエラーなく実行されるように
- SEO分析やSEO改善施策について、お気軽にご相談ください
Ahrefsで403 Forbiddenが発生する要因
ここでまず、AhrefsのヘルプページでAhrefsにおける403 Forbiddenの取り扱いをみてみましょう。
The 403 (Forbidden) HTTP status code indicates that our crawler was not allowed to access the linked URL. Your server could have started to block requests from our crawler at some point of a crawl. This might happen due to a server or firewall configuration. You can whitelist our IP addresses and run a new crawl. This can also happen when your page has outgoing external links, and the external server blocks our crawler.
"Page has links to broken page" error in Site Audit | Help Center - Ahrefs
何らかの事情でAhrefsのクローラがページへのアクセスを拒否されたことから、403エラーとなっているようです。
This means that your site is most probably returning different content for our user-agent. In this case, you should check that you do not have a system/plugin blocking bots; and if you do, to whitelist our user-agent on that system.
What does '403 Forbidden' error mean in Site Audit? | Help Center - Ahrefs
以上から、Ahrefsクローラーがブロックされている要因として
- サーバー側ファイアウォール設定
- ソフトウェア側でのファイアウォール設定(WordPressであればセキュリティプラグイン等)
- BASIC認証などによるアクセス制限
など、各レイヤーにおけるファイアウォールやアクセス制限でAhrefsのクローラーがブロックされている可能性が浮かび上がります。
また、今回のクロール不可ページは「リダイレクト設定をかけているURL」のみエラーとなっていたため、サーバー側でのリダイレクト設定による影響の可能性がありました。
「CloudflareのPage RuleによるCDNリダイレクトと、.htaccess設定によるサーバー側リダイレクトによってトップページに二重のリダイレクト設定がされていたので .htaccess設定によるリダイレクトを削除。しかしクロールできない事象に変化はなく、リダイレクト設定が原因ではなかったようす。
最終的な原因は、「WordPressのセキュリティプラグイン(BBQ Pro)によるIPブロック」が原因でした。
原因はWordPressプラグインでしたが、CloudFlareファイアウォール設定によって403エラーが引き起こされている可能性があったため、AhrefsクローラーのIPアドレスをホワイトリストに登録する方法を調べました。
そこで以下、
- CloudflareファイアウォールにAhrefsクローラーのIPアドレスをホワイトリスト登録する方法
- WordPressセキュリティプラグイン(BBQ Pro, Wordfence)にAhrefsクローラーのIPをホワイトリスト登録する方法
をご紹介します。
AhrefsクローラーのIPアドレス範囲を確認
CloudFlareホワイトリストに登録する必要があるAhrefsクローラーのIPアドレスの範囲。 下記ページで確認することができます。
What is the list of your IP ranges? | Help Center - Ahrefs
CloudFlareでAhrefsクローラーのIPアドレスをホワイトリスト一括登録
あとは、CloudFlareのIPリスト機能を利用して、AhrefsクローラーのIPアドレスをホワイトリストに一括登録します。
詳細な方法は CloudFlareファイアウォールのホワイトリストにIPアドレスを一括登録(IPリスト機能) に記載しました。
DNSサーバーのキャッシュ更新を待って再度Ahrefsでクロール
Cloudflareにホワイトリストを登録できたら、各所のDNSサーバーのキャッシュが更新されるのを待ちましょう。
CloudFlareファイアウォールが原因なら、再度AhrefsのAudit(サイト内部監査)のクロールを実行させると、無事にすべてのページをAhrefsクローラーでクロールさせることができるはずです。
手動で新規にクロールさせるには、Site Audit > 該当ドメイン > 画面右上の”New Crawl” で新しくクロールさせ直してサイト内部SEO監査を実行することができます。
WordPressのセキュリティプラグインにAhrefsのIPをホワイトリスト登録
WordPressセキュリティプラグイン"BBQ Pro"がAhrefsクローラーをファイアウォールでブロックしていた
私はWordPressのセキュリティプラグインとして、ファイアウォール機能をもつ"BBQ Pro"(有料版)を導入しています。
BBQ Firewall – WordPress plugin | WordPress.org
今回、Ahrefsがクロールできなかった原因はBBQ ProがAhrefsクローラーをブロックしていたためでした。
BBQ ProにホワイトリストIPを設定する方法
WordPressのセキュリティプラグイン(BBQ Pro)においてホワイトリストIPを登録する方法は下記。
BBQ Pro > Settings から、画面最下部の"Whitelist IPs"へ AhrefsクローラーのIPアドレス範囲をすべて登録。
設定は各IPアドレスごとにコンマで区切る必要があります。エディタ等で正規表現を用いて文末に, を追加して登録しましょう。
画像のように、改行があってもきちんとそれぞれホワイトリストIPとして認識してくれました。
コンマ区切り処理めんどくさい…! という人のために下に貼っておきます。(文頭矢印をクリックでリストを開く)
WordfenceにもホワイトリストIPを登録
軽量総合セキュリティプラグイン"Wordfence"にもAhrefsクローラーのIPをホワイトリストに登録します。
How to whitelist your IP in WordFence so you don't get locked out - Silicon Dales
Wordfence > Firewall > All Firewall Options > Advanced Firewall Options内 Allowlisted IP addresses that bypass all rules に記載します。
Wordfenceではコンマ区切りまたは各行区切りでOKのようなので、What is the list of your IP ranges? | Help Center - Ahrefs に記載されているAhrefsのIPアドレスをコピーしてそのままペースト。
各レイヤーのファイアウォールにAhrefsクローラーIPをホワイトリスト登録したことで、サイト内部監査がエラーなく実行されるように
以上のように、CloudFlareおよびWordPressセキュリティプラグインにおけるファイアウォール設定にてそれぞれAhrefsクローラーIPをホワイトリスト登録。 Ahrefsのクローラーについてファイアウォールを通してあげることで、無事にAhrefs Site Audit(サイト内部監査)でクローラーが辿れるようになりました。
冒頭画像の6ページのみのクロールではなく、無事に650ページほどクロール出来ていることが分かります。
無事に解決。Ahrefs内部SEO監査での403Forbiddenエラーが出たときは、各レイヤーのファイアウォール設定を見直して、Ahrefsクローラーが通れるようにしてあげましょう。
SEO分析やSEO改善施策について、お気軽にご相談ください
SEOコンサルタントとして、アクセス低下の原因分析や改善施策のご提案、また施策の実行までサポートしています。
🍀 Webサイト制作とSEOの専門家 - Marketing Wizard
上リンクには私のプロフィール・実績を掲載しています。
アルゴリズム変更の影響を受けてアクセスが下落したおそれのある方、原因はよく分からないがSEOが上手くいかないという方、SEOに力を入れていきたいがリソースが不足しているという方、ぜひお気軽にご相談くださいませ。
この記事の気になった箇所を読み返す:
- Ahrefsで403 Forbiddenが発生する要因
- AhrefsクローラーのIPアドレス範囲を確認
- CloudFlareでAhrefsクローラーのIPアドレスをホワイトリスト一括登録
- DNSサーバーのキャッシュ更新を待って再度Ahrefsでクロール
- WordPressのセキュリティプラグインにAhrefsのIPをホワイトリスト登録
- WordPressセキュリティプラグイン"BBQ Pro"がAhrefsクローラーをファイアウォールでブロックしていた
- BBQ ProにホワイトリストIPを設定する方法
- WordfenceにもホワイトリストIPを登録
- 各レイヤーのファイアウォールにAhrefsクローラーIPをホワイトリスト登録したことで、サイト内部監査がエラーなく実行されるように
- SEO分析やSEO改善施策について、お気軽にご相談ください
Category: SEO