HTTPステータスコード – なぜ私のウェブサイトはクロールされないのでしょうか?

使い方

HTTPステータスコード Screaming Frog SEO Spiderでクロールするとき

Screaming Frog SEO Spiderが1ページしかクロールしない、または期待通りにクロールしない場合、何が問題かを特定するために最初に確認するのは「ステータス」と「ステータスコード」です。
ステータスとは、ハイパーテキスト転送プロトコル(HTTP)の一部で、サーバーの応答ヘッダーの中にあり、数値のステータスコードと同等のテキストステータスで構成されています。

SEOスパイダーにURLが入力され、クロールが開始されると、レスポンスヘッダからURLの数値ステータスが「ステータスコード」列に表示され、同等のテキストが「内部」タブビュー内の「ステータス」列に表示されます(例:)。


サイトがクロールできないときに遭遇する可能性の高いステータスコードと、そのトラブルシューティングの手順は以下のとおりです。

 

ステータスコード – ステータス

0 – Robots.txtによってブロックされました。
0 – DNS検索に失敗しました
0 – 接続タイムアウト
0 – 接続拒否
0 – 接続エラー / 0 – 応答なし
200 – OK
301 – 恒久的に移動した / 302 – 一時的に移動した
400 – Bad Request / 403 – Forbidden / 406 – Status Not Acceptable(ステータスが受け付けられない
404 – ページが見つかりません / 410 – 削除されました。
429 – リクエストが多すぎる
500 – 内部サーバーエラー / 502 – 不正なゲートウェイ / 503 – サービスが利用できない

 

0 – robots.txtによってブロックされている

Spiderに含まれる「0」ステータスコードは、サーバーからのHTTPレスポンスがないことを意味します。ステータスは、なぜステータスが返されなかったかを正確に知る手がかりとなります。

この場合、サイトのrobots.txtがSEO SpiderのユーザーエージェントがリクエストされたURLにアクセスするのをブロックしていることを示しています。したがって、実際のHTTPレスポンスは、disallowディレクティブのために見ることができません。


確認すること サイトのrobots.txtで何が禁止されているか?(クロールされたURLのサブドメインに/robots.txtを追加する)。

試してみたいこと SEO Spiderがrobots.txtを無視するように設定する(設定 > Robots.txt > 設定 > Robots.txtを無視する)、またはカスタムrobots.txt設定を使ってクロールを許可する。

理由 SEO Spiderはデフォルトでrobots.txtの不許可ディレクティブに従います。

 

0 – DNS ルックアップに失敗しました

ウェブサイトがまったく検出されない。多くの場合、サイトが存在しないか、インターネット接続が到達できないことが原因です。


確認すること ドメインが正しく入力されているか。

確認すること ブラウザでサイトが表示されている。

理由:ブラウザで表示できない場合、PC/ネットワークの接続に問題がある可能性があります。サイトが見られる場合は、何か(アンチウイルスやファイアウォールなど)が Spiderのインターネットへの接続をブロックしているので、そのための例外を設定する必要があります。

 

0 – 接続タイムアウト

接続タイムアウトは、SEO SpiderがサーバーからHTTPレスポンスを一定時間(デフォルトでは20秒)受信するのに苦労した場合に発生します。


確認すること ブラウザでサイトを見ることができるか、読み込みが遅くないか?

試してみること 遅い場合は、レスポンスタイムアウトを長くして、クロールの速度を下げてみてください。

理由 SEOスパイダーが情報を受け取る時間が長くなり、サーバーへの負担が少なくなります。

 

確認すること 他のサイトがクロールできるか?(bbc.co.ukとscreamfrog.co.ukは良いコントロールテストです).

試してみたいこと ファイアウォールやアンチウイルスソフトでSEOスパイダーの例外を設定する(ITチームにご相談ください)。

理由: この問題がすべてのサイトで発生する場合、あなたまたはあなたのPC/ネットワークに起因する問題である可能性があります。

 

確認すること プロキシが有効になっているか(設定 > システム > プロキシ)。

試してみること。プロキシが有効な場合、プロキシを無効にする。

理由:正しく設定されていない場合、SEO Spiderが正しくリクエストを送受信できていない可能性があります。

0 – 接続拒否

接続拒否」は、SEOスパイダーがローカルマシンとWebサイトの間で接続を試みたが拒否された場合に返されます。


確認すること 他のサイトをクロールできるか?(bbc.co.ukとscreamfrog.co.ukは良いコントロールテストです)。

確認すること ファイアウォールやアンチウィルスソフトでSEOスパイダーの例外を設定する(ITチームにご相談ください)。

理由: この問題がすべてのサイトで発生する場合、お客様またはお客様のPC/ネットワークに起因する問題である可能性があります。

 

確認すること ブラウザでそのページを見ることができるか、または同様のエラーが返されるか?

試してみること ページが表示される場合は、ユーザーエージェントをChromeに設定してください(設定 > ユーザーエージェント)。Googlebotのユーザーエージェントも試してみる価値があります。ただし、なりすましのGooglebotをブロックするサイトも珍しくはありません。

理由 サーバーがSEOスパイダーのページ要求を拒否しています(未知のユーザーエージェントに対する保護/セキュリティのためと思われます)。

 

0 – 接続エラー / 0 – 応答なし

SEOスパイダーが接続できない、または応答を受信できない状態です。


確認すること プロキシ設定(コンフィギュレーション>システム>プロキシ)。

試してみたいこと プロキシが有効な場合は、プロキシを無効にしてください。

理由:正しく設定されていない場合、SEO Spiderが正しくリクエストを送受信できていない可能性があります。

 

確認すること ブラウザでページを表示できるか、または同様のエラーを返すか?

理由:ネットワークやサイトに問題がある場合、ブラウザでも同じような問題が発生する可能性があります。

 

200 – OK

サーバーからの応答受信に問題はなかったので、返されたコンテンツに問題があるのでしょう。


確認すること リクエストされたページには、meta robots ‘nofollow’ ディレクティブがページ上/HTTPヘッダーにあるか、ページ上のすべてのリンクにrel=’nofollow’属性があるか。

試してみたいこと Internal/External Nofollowに従うように設定する(設定 > スパイダー)。

理由: デフォルトでは、SEO Spiderは’nofollow’ディレクティブに従います。

 

確認すること リンクはJavaScriptか?(JavaScriptを無効にしたブラウザでページを表示します。)

試してみたいこと JavaScriptレンダリングを有効にする(設定 > Spider > レンダリング > JavaScript)。JavaScriptのクローリングについて詳しくは、JavaScriptクローリングガイドをご覧ください。

理由: デフォルトでは、SEO Spider は HTML ソースコード内の <a href=””>, <img src=””>, <link rel=”canonical”> リンクのみをクロールし、DOM は読みません。SEO Spiderは、Googleの非推奨のAJAXクロールスキームを使用します。これは基本的に、JavaScriptバージョンのページではなく、レンダリングされたJavaScriptページのHTMLスナップショットをクロールすることを意味します。

 

確認事項:「設定>スパイダー」の「制限」タブで、特に「検索深度の制限」と「検索合計の制限」を確認します。

理由:これらのチェックがそれぞれ0または1に設定されている場合、SEO Spiderは単一のURLのみをクロールするよう指示されています。

 

確認すること そのサイトはCookieを要求しているか?(Cookieを無効にしたブラウザでページを表示する)。

試してみること 設定 > スパイダー > 詳細タブ > Cookieを許可する。

理由 Cookieが無効な場合、SEOスパイダーに別のメッセージまたはページが表示されることがあります。

 

試してみたいこと ユーザーエージェントをGooglebotに変更する([設定]>[ユーザーエージェント])。

理由 サイト/サーバーは、クッキーを受け入れる必要なしに検索ボットにHTMLを提供するように設定されている可能性があります。

 

確認すること コンテンツ’カラムに何が指定されているか?

試してみること 空欄の場合、JavaScriptレンダリングを有効にし(設定 > Spider > レンダリング > JavaScript)、クロールを再試行します。

理由: HTTPヘッダーにコンテンツタイプが指定されていない場合、SEOスパイダーはそのURLが画像なのかPDFなのかHTMLページなのか分からないため、クロールしてさらにリンクがあるかどうかを判断することができないからです。レンダリングモードを有効にすると、SEO Spiderはドキュメントの<head>に<meta http-equiv>が指定されているかどうかを確認するため、これを回避することが可能です。

 

確認すること エイジゲートはあるか?

試してみたいこと ユーザーエージェントをGooglebotに変更する(設定>ユーザーエージェント)。

原因 サイト/サーバーが、年齢を入力しなくても検索ボットにHTMLを提供するように設定されている可能性があります。

301- 恒久的に移動した / 302 – 一時的に移動した

これは、要求されたURLが移動し、別の場所にリダイレクトされたことを意味します。

確認すること リダイレクト先はどこですか?(返されたURLのアウトリンクを確認する)。

試してみたいこと リダイレクト先がリダイレクト元のURLと同じ場合は、「なぜURLは自分自身にリダイレクトされるのか」FAQに記載されている手順に従ってください。

理由 リダイレクトがループしており、SEOスパイダーがクロール可能なHTMLページに到達していない。もしこれがクッキーの削除によるものであれば、上記のリンク先のFAQに記載されている手順で回避することができます。

 

確認すべきこと 外部タブ。

試してみること。設定 > スパイダー > すべてのサブドメインをクロールする。

理由 SEO Spiderは、異なるサブドメインを外部として扱い、デフォルトではクロールしません。異なるサブドメインにリダイレクトしているサブドメインをクロールしようとすると、外部タブで報告されます。

 

確認すべきこと そのサイトはCookieを必要としますか?(Cookieを無効にしたブラウザでページを表示する)。

試してみること 設定 > Spider > 詳細タブ > Cookieを許可する。

理由 SEO SpiderがCookieをドロップするURLにリダイレクトされているが、Cookieを受け入れない。

 

400 – Bad Request / 403 – Forbidden / 406 – Status Not Acceptable(ステータスが受け付けられません

サーバーがリクエストを処理できない、または処理しようとしない / SEOスパイダーがリクエストされたURLを表示することを拒否しています。


確認すること ブラウザでそのページを見ることができるか、または同様のエラーが返されるか?

試してみること ページが表示できる場合は、ユーザーエージェントをChromeに設定する(設定 > ユーザーエージェント)。Googlebotのユーザーエージェントも試してみる価値があります。ただし、なりすましのGooglebotをブロックするサイトも珍しくはありません。

理由 サイトがSEOスパイダーのページ要求を拒否している(未知のユーザーエージェントに対する保護/セキュリティのためと思われます)。

 

404 – ページが見つかりません / 410 – 削除されました

サーバーは、ページが削除されたことを示しています。


確認すること 要求されたURLは、ブラウザに正常なページをロードしているか?

試してみること 他のツール(Websniffer、Rexswain、ブラウザプラグインなど)でもステータスコードが同じかどうか。

理由:すべてのツールでステータスコードが正しく報告されない場合、ページが存在するにもかかわらず、サイト/サーバーがエラー応答コードを提供するように誤って設定されている可能性があります。

 

試してみたいこと ページが表示できる場合は、ユーザーエージェントをChromeに設定します([設定]-[ユーザーエージェント])。Googlebotのユーザーエージェントも試してみる価値があります。ただし、なりすましのGooglebotをブロックするサイトも珍しくありません。

理由 サイトがSEOスパイダーにサーバーエラーを提供している(不明なユーザーエージェントに対する保護/セキュリティのためと思われます)。

 

429 – リクエストが多すぎます

一定時間内にサーバーへのリクエストが多すぎる。

確認すること ブラウザでサイトを表示できますか?または、同様のエラーメッセージが表示されますか?

試してみること クロール速度を下げるか、Googlebotのユーザーエージェントをテストしてください。

原因 短時間に多くのリクエストを受けたため、サーバーがこれ以上のリクエストを許可していません。リクエストの速度を下げるか、この制限が適用されないユーザーエージェントを試すとよいでしょう。

 

500 / 502 / 503 – 内部サーバー エラー

サーバーに問題があることを告げています。


確認すること ブラウザでサイトを見ることができますか、それともダウンしていますか?

試してみること 表示できる場合は、ユーザーエージェントをChromeに設定してください(「設定」→「ユーザーエージェント」)。Googlebotのユーザーエージェントも試してみる価値があります。ただし、なりすましのGooglebotをブロックするサイトも珍しくはありません。

理由 サイトがSEOスパイダーにサーバーエラーを提供している(不明なユーザーエージェントに対する保護/セキュリティのためと思われる)。

 

例えば、JavaScriptのページにはmetaの’nofollow’タグがあるなど、同じページに複数の問題が存在する可能性があるのです。

このほかにもさまざまなレスポンスコードがありますが、私たちの経験では、これらのレスポンスコードに遭遇することは、たとえあったとしてもまれです。これらの多くは、上記の他の類似のレスポンスコードと同じ手順を踏むことで解決する可能性があります。

レスポンスコードの詳細については、https://en.wikipedia.org/wiki/List_of_HTTP_status_codes をご覧ください。

コメント

タイトルとURLをコピーしました