SEOの基礎知識

Googleはどこまで読むのか?GoogelbotのHTML 2MB制限とSEO対策

Googlebotは、あなたのページを丸ごと読んでいるわけではありません。
実は最初の2MBだけを取得して、残りは完全に無視しています。
この記事では「2MBってどのくらい?」「何が原因で超えるの?」を具体的な例で解説します。

まず「Googlebot」って何者?

「Googlebot=1台のロボットが世界中のWebを巡回している」とイメージしがちですが、実際は違います。GooglebotはGoogle社内の共通クロールインフラへのアクセス名です。

Google検索・Google ショッピング・AdSenseなど、数十のサービスが同じインフラを通じてページを取得しており、ログに残る「Googlebot」はそのうちのGoogle検索によるリクエストです。Googlebot以外のクローラー名はGoogleのドキュメントで確認できます。

2MBルールとは?

Googlebotは1つのURLにつき、先頭から2MBぶんのデータだけを取得します。2MBに達した瞬間に取得をぴったり止め、残りのHTMLは一切取得しません。

⚠ 要注意: この2MBにはHTTPレスポンスヘッダーも含まれます。
Set-Cookie・Content-Security-Policy・Link プリロードなど大量のヘッダーがあると、本文に使える容量がその分削られます(一般的なヘッダーで数KB〜数十KB)。

ビジュアルで見る「2MBの壁」

Googlebotの2MB制限イメージ図:最初の2MBは取得・インデックス登録、それ以降は完全無視される様子を示す帯グラフ

Googlebotの2MB制限イメージ図:最初の2MBは取得・インデックス登録、それ以降は完全無視される様子を示す帯グラフ

↑ 上記の図が示すようにHTMLは先頭2MBだけ取得。それ以降のバイトはインデックスにも届かない。

2MBって実際どのくらい?

🇯🇵
日本語テキスト
約67万字
文庫本 2〜3冊分
(UTF-8 で1字3バイト)
🇺🇸
英語テキスト
約200万字
単語にすると約35万語
💻
HTMLの行数
約2〜2.5万行
インデント・タグ込みの目安
⚠️
HTTPヘッダーも含む
数KB〜数十KB
Cookie・CSP など大量ヘッダーは本文を圧迫する

日本語テキストで約67万字・HTML換算で約2〜2.5万行。通常のページならまず問題なし!

改めて整理すると:

2MB の目安
  • 📖 日本語テキスト: 約67万字(文庫本2〜3冊分)
  • 📖 英語テキスト: 約200万字・単語35万語
  • 💻 HTMLのコード行数: 約20,000〜25,000行(インデント込み)

普通のページなら絶対に超えません。超えるのはページに「余計な重さ」が含まれているとき。

クローラー別・取得サイズ上限

Googlebotだけでなく、Googleのクローラー全体でサイズ制限が決まっています。

クローラー 上限サイズ 対象コンテンツ 備考
Googlebot(HTML) 2 MB Webページ全般 HTTPヘッダーを含む
Googlebot(PDF) 64 MB PDFファイル HTML用とは別枠
画像クローラー / 動画クローラー 製品による 画像・動画 faviconは超小さい〜Image Searchは大きい
その他クローラー(上限未指定) 15 MB コンテンツタイプ問わず デフォルト値
💡 ポイント: PDFは64MBと大きな枠が割り当てられています。また、外部CSS・JSファイルはそれぞれ独自の2MB枠を持つため、親ページの容量には影響しません。

取得後に何が起きる? レンダリング(WRS)をわかりやすく

Googlebotがバイトを取得した後、それを「見える状態」にするのが レンダリング(WRS / Web Rendering Service) というシステムです。

あなたがChromeでWebページを開くと、きれいに整ったサイトが表示されますよね。それはブラウザがHTMLを読み込み、JavaScriptを実行して、文字を並べ、画像を表示してくれているからです。この「変換作業」がレンダリングです。
レンダリングは、Googleが持っているそのブラウザの役割を果たすシステムです。Googlebotが取得したHTMLを受け取り、実際のブラウザと同じようにページを組み立てて、「このページには何が書いてあるか」をインデックスに登録します。

流れを図で見ると

サーバーから
HTMLを取得
(最大2MB)
JS・CSSを
外部から取得
(各自2MB枠)
WRSが
JSを実行
画面を構築
テキスト・
構造を
インデックス登録
2MB以降
のバイトは
🚫 無視

レンダリング(WRS)の3つの重要な制約

① 取得できたコードしか実行しない
2MBを超えた部分にJavaScriptが書いてあっても、レンダリング(WRS)はそれを実行しません。2MB以降の動的コンテンツはGooglebotには存在しないも同然です。

② ローカルストレージ・セッションは毎回リセット
レンダリング(WRS)はページを「ステートレス(記憶なし)」で処理します。前回の訪問で保存したlocalStorageの値などはすべてクリアされた状態でレンダリングされます。ログイン状態に依存した動的コンテンツはインデックスされない可能性があります。

③ 画像・動画・フォントはリクエストしない
レンダリング(WRS)がテキストと構造の理解に集中するため、imgタグの画像ファイル本体は取得しません。ただし、CSS・JS・XHRリクエストは処理します。

2MBを超えやすい「犯人」はこれだ

① Base64埋め込み画像(最大の要注意ポイント)

通常、HTMLの中に画像を入れる場合は <img src="photo.jpg"> のようにURLを書きます。このとき画像ファイル本体は別途サーバーに置かれ、HTMLの容量には影響しません。

一方、Base64という方法を使うと、画像のデータそのものをHTML内にテキストとして直接書き込めます。画像が「1ファイルで完結」するメリットはありますが、データが文字列に変換されると元のファイルサイズの約1.33倍に膨れ上がります。

❌ Base64(HTML直書き)

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA
...(数万文字が続く)...">

300KBの画像 → HTMLに約400KB分の文字列が追加される。画像10枚で4MB超え。

✅ 外部ファイル参照(推奨)

<img src="/images/photo.jpg" alt="説明">

HTMLへの影響はこの1行だけ(数十バイト)。画像は別のリクエストで取得される。

※ちなみに、Base64は「画像のデータそのものを文字列に変換してHTMLに直接埋め込む」方式です。画像ファイルを開いて中身を「abcdefghij…」みたいな文字の羅列に変換したものが base64, の後に延々と続きます。開発者向けの機能なので、普通に記事を書いているぶんには自分で使うことはまずないですが、WordPressテーマやプラグインが小さいアイコン画像などをBase64でHTMLに埋め込んでいることがあります。

⚠ 具体例: 300KBの画像をBase64にするとHTML内に約400KBの文字列が埋まります。これが10枚あると、それだけで4MB以上になり、2MBの壁をとっくに超えます。本文や構造化データはその後ろに追い出され、Googlebotには見えなくなります。

② インラインCSS・JavaScript

スタイルシートやスクリプトを <style><script> タグで直接HTMLに書いていると、その分だけHTMLのサイズが増えます。外部ファイル(.css / .js)として読み込めば、それぞれが独自の2MB枠を持つため、親ページのサイズには影響しません。

③ ページ上部の巨大なナビゲーション

ページ先頭に何百もの項目を持つメニューがHTMLとしてあると、実際の本文コンテンツはかなり下の位置に来ます。2MBは「何行目か」ではなく「先頭からのバイト数」で決まるため、本文が2MB以降に押し出されてしまうことがあります。

④ 巨大な構造化データ(JSON-LD)

商品リストや大量のFAQなどをJSON-LDで記述する場合、それ自体が数百KBになることがあります。構造化データが2MB以降にあると、リッチリザルトの対象として認識されない恐れがあります。

今すぐできる対策チェックリスト

  • <title>・canonical・構造化データ(JSON-LD) は <head> の早い段階、または <body> の先頭近くに配置する
  • CSS・JSは外部ファイル化する(<style>・<script> をインラインで大量に書かない)
  • Base64画像の埋め込みは原則禁止。画像は外部URLで参照する
  • ページのHTML全体のサイズを確認する(Chrome DevTools → Network → ドキュメントのサイズを確認)
  • サーバーの応答速度を監視する。応答が遅いとGooglebotが自動的にクロール頻度を下げる
  • メタタグや重要なテキストがページ上部に集まっているか確認する

まとめ

Googlebotの2MB制限は、ほとんどのWebサイトには関係のない話です。しかし、Base64画像・大量のインラインCSS/JS・肥大したナビゲーションなどが重なると、意外と簡単に壁に当たります。

重要なのは「何が2MB以内に入っているか」です。重要なメタ情報・コンテンツ・構造化データを先頭近くに置き、重いリソースは外部化するという基本を守ることで、Googlebotにとって「読みやすいページ」になります。

💡 補足: この2MBという数値は固定ではなく、Webの進化に合わせてGoogleが変更する可能性があるとのことです。最新情報はGoogle Search Centralで確認してください。

参考:Inside Googlebot: demystifying crawling, fetching, and the bytes we process(Google Search Central Blog, 2026年3月)

  • この記事を書いた人
  • 最新記事
集客ジョーズ SEOコンサルタントRei Suzuki

REI SUZUKI

慶應義塾大学卒業。SEOおよびAI活用を専門とするSEOコンサルタント。スタートアップ企業のマーケティング責任者として参画し、SEO・広告を中心とした集客施策を統括。独立後は個人でアフィリエイトメディアを立ち上げ、収益化。ASPの新人賞を受賞。その後、複数のSEO支援会社や事業会社のプロジェクトに関わる。趣味は水族館巡りとアイドル鑑賞(B&ZAI橋本涼さんのオタク)。サメの保全や海洋環境問題をテーマにしたYouTubeチャンネルも運営中。

-SEOの基礎知識