ログファイル分析
ログファイル分析は、ウェブサーバーのアクセスログを調査し、Googlebotなどの検索エンジンボットが実際にどのURLをクロールしているのか、いつ、どのくらいの頻度で、どのレスポンスコードを受け取っているのかを把握するためのテクニカルSEO手法です。推測に頼るのではなく、サーバーが記録した実際のボットの挙動に基づいて、クロールバジェットの無駄やクロールの問題を診断します。
ログファイル分析は、サーバーアクセスログという一次取得のファーストパーティデータを読み取り、検索エンジンのボットが実際に何をクロールしたかを正確に把握する技術的SEO施策です。
Google Search ConsoleがGoogleのクロール判断の結果だけを示すのに対し、ログにはすべてのクローラーのリクエストが欠けることなくリアルタイムで記録されるため、より完全な全体像を把握できます。
これにより、クロール頻度、HTTPステータスコード、クロールバジェットの無駄、孤立ページ、さらにはボットのなりすましまで明らかにできます。
その効果はサイト規模が大きいほど高まります。数万から数百万のURLを持つ大規模サイトでは、クロールバジェットの配分がSEO成果を直接左右します。
代表的なツールにはScreaming Frog Log File AnalyserとSemrush Log File Analyzerがあり、Apache、Nginx、IISのログに対応しています。
概要
ログファイル分析とは、Webサーバーが自動的に記録するアクセスログをダウンロードして確認し、バグ、クロールの問題、その他の技術的SEO上の問題が深刻な影響を及ぼす前に洗い出す作業です。ページへのリクエストが発生するたびに、サーバーはリクエスト時刻、送信元IPアドレス、要求されたURL、返されたHTTPステータスコード、そしてリクエスターを識別するUser-Agent文字列を含む1行を書き込みます。このUser-Agentによって、一般ユーザーとGooglebot, Bingbot、ChatGPT-User。
この価値の核は、データの性質にあります。Search Console は出力データであり、Google がクロールを終えた後の結果だけを示します。一方、ログファイルは、実際に bot が行ったリクエストを記録する一次データです。つまり、ログが明らかにするのは「Google がクロールすると判断したもの」ではなく、「Google が実際にクロールしたもの」であり、そこに推測の余地はありません。
わかること
これらは、ログファイル分析で確認できる代表的な項目です。
クロール頻度どのページやディレクトリが頻繁にクロールされ、どこがほとんど訪問されていないかを測定し、検索エンジンがサイト内のどの領域を優先しているかを把握できます。
クロールバジェットの浪費重複 URL や低価値 URL がクロール資源を過度に消費し、本当に重要なセクションが十分にクロールされていないかを定量化します。
HTTP ステータスコードbot が遭遇した 4xx(404 など)や 5xx エラーを把握し、リダイレクトチェーンや、同じパスが 404 と 301 の間で交互に切り替わるような不整合なステータスコードを検出します。
孤立ページそれらを指す内部リンクがないページを特定します。ログに現れるもののサイトのクロールマップにない URL は、孤立ページ候補です。
bot の検証User-Agent だけでは偽装できるため、逆引き DNS で IP を確認し、本物の Googlebot と偽装されたなりすましを見分けます。
リソース種別の消費HTML、JavaScript、画像など、bot がどのファイルタイプに時間を費やしているかを確認し、クロール資源が重要なコンテンツに向かっていることを検証します。
ツール
最も広く使われているツールはScreaming Frog Log File Analyserです。。このデスクトップアプリは、Apacheログ、W3C Extended形式(Apache、IIS、NGINXを含む)、およびAmazon ELBのカスタム形式に対応しています。検索エンジンボットを自動で検証し、偽装IPをフラグ付けし、クロール頻度、ステータスコード、レスポンスタイム、孤立URLのダッシュボードを備えています。無料版はログイベント1,000件と1つのプロジェクトに制限されますが、有料版ではこれらの制限がなくなり、年間GBP 99です。
TheSemrush Log File AnalyzerはCombined Log Format、W3C Extendedなどに対応しています。Googlebotのアクティビティチャートでは、クロール頻度の急増や急減を監視でき、さらに不整合なステータスコードや、crawl budgetを浪費する価値の低いページを特定します。どちらのツールも、Ahrefs、Majestic、Mozなどのプラットフォームからエクスポートした被リンクCSVやサイトクロールデータをインポートして横断分析でき、external linkの人気度やinternal linkの構造とボットの挙動を結び付けられます。
クロールバジェットとの関係
Googleの公式ドキュメントによると、crawl budgetはcrawl capacity limitとcrawl demandによって決まり、実質的にはGooglebotがクロールでき、かつクロールしたいURLの数を意味します。Googleは、URL数が数千未満のサイトは通常効率的にクロールされるため、crawl budgetを心配する必要はないと案内しています。逆に、数万から数百万のURLを持つ大規模サイトでは、重複URLや不要なURLがクロール時間を消費することが深刻な問題となり、まさにこの点でログファイル分析が、URL空間全体にわたってGooglebotのcrawl budgetがどのように配分されているかを数値化します。
証拠
Semrushのブログでは、30日間でChatGPT-Userエージェントが1つのサイト上の約7,000のユニークURLを48,000回以上リクエストした実例が紹介されており、ログがAI crawlerの挙動まで捉えることを示しています(出典: Semrush)。また、同じパスが404と301ステータスコードを交互に返すパターンは、リダイレクト設定の不備を示す兆候だと説明しています。Screaming Frogは、ログファイルを使うと4XXおよび5XXエラー、恒久的および一時的なリダイレクト、時間の経過とともにレスポンスコードが変化するページ、そして平均バイト数とレスポンスタイムで測定される遅いページを特定できると述べています(出典: Screaming Frog)。crawl budgetの定義と、「数千URL未満では心配不要」という基準は、Googleの公式クロールドキュメントに基づいています(出典: Google Search Central)。
実行チェックリスト
ホスティング管理画面、FTP、またはサーバーからアクセスログをダウンロードし、十分な期間(最低2〜4週間)をカバーします。
Screaming Frog Log File AnalyserまたはSemrush Log File Analyzerにログをインポートし、形式(Apache、Nginx、W3C、またはELB)を確認します。
逆引きDNSでUser-AgentのIPを検証し、本物のGooglebotと偽装ボットを切り分けます。
クロール頻度で並べ替え、頻繁にクロールされている領域と、ほとんど無視されている重要ページを比較します。
4xxおよび5xxエラーを抽出し、リダイレクトチェーンや不整合なステータスコードを確認して、修正の優先順位を設定します。
ログで検出されたURLをサイトのクロールマップと照合し、オーファンページを見つけます。
重複URLや低価値URLがクロールバジェットを消費している場合は、canonical、リダイレクト、robots.txt、またはnoindexで整理します。
ボットアクティビティのチャートを定期的に監視し、クロール頻度の急増や急減を確認して、サーバーの問題やデプロイの影響を検知します。