パブリッシャー向けガイド 第2章
モバイルとデスクトップでのページ構成
最終確認:2026年11月
読者は、ニュースのページにとどまる価値があるかどうかを、すぐに判断します。見出しは素早く表示され、ページは動かず、どのタップにも反応が返ってくるべきです。GoogleはページのモバイルバージョンをインデックスするのでSearchでも、スマートフォンのレイアウトが基準になります。
目指す数値
GoogleのCore Web Vitalsには、3つの指標と、それぞれの明確な目標があります。
| 指標 | 測るもの | 良好 |
|---|---|---|
| Largest Contentful Paint(LCP) | 読み込み | 2.5秒以内 |
| Interaction to Next Paint(INP) | 入力への応答 | 200ミリ秒以内 |
| Cumulative Layout Shift(CLS) | 視覚的な安定性 | 0.1以下 |
ページ読み込みの75パーセンタイルを、モバイルとデスクトップを分けて測ります。3つの指標すべてが、そのパーセンタイルで目標を満たしたとき、ページは合格です。
実際の訪問から得たフィールドデータを使います。Search ConsoleのCore Web Vitalsレポート、PageSpeed Insights、Chrome User Experience Reportなどです。Lighthouseはラボでの確認に役立ちますが、INPを測れず、代わりにTotal Blocking Timeを報告します。
Googleは、ページエクスペリエンスの単一のシグナルは存在しないとしています。一方で、Core Web VitalsはGoogleのランキングシステムで使われているとし、ページエクスペリエンスのほかの側面は、サイトの順位に直接は寄与しないものの、使いやすさを高められると述べています。
両方の画面に1つのページ
Googleは、実装と保守がいちばん簡単なパターンとして、レスポンシブデザインを推奨しています。同じHTMLがすべての端末に配信されるため、余計な作業なしに、コンテンツとメタデータが一致します。モバイル用のページを別に運用する場合は、次の点をデスクトップと同一に保ってください。
- 主要なコンテンツ
- 見出し
- 構造化データ
- robotsメタタグ(誤って残った
noindexが、モバイルページをインデックスから外すことがあります)
まずviewportタグを設定し、そのうえで、幅320 CSSピクセルで横スクロールなしにページがリフローされることを確認します。
<meta name="viewport" content="width=device-width, initial-scale=1">
モバイルでは
- 見出し、署名、目に見える日付を最初に置き、次にリード画像か冒頭の段落を置きます。
- 記事の本文はHTMLに含めてください。タップすると残りを取得する「続きを読む」ボタンは、クリックも、スワイプも、入力もしないGoogleから、その本文を隠してしまうことがあります。
- タッチターゲットは、WCAG 2.2 AAの最小である24×24 CSSピクセル以上にします。メニューや閉じるボタンは、AAAレベルの44×44を目指してください。
- 固定ヘッダーは低く保ち、
scroll-padding-topにその高さを設定して、フォーカスされたリンクがヘッダーの陰に隠れないようにします。
デスクトップでは
- 本文は1行80文字以内にします。中国語、日本語、韓国語では40文字です。これはWCAGのAAAのガイドラインで、すべての読者の助けになります。
- 段落内の行間は、1.5以上にします。
- 補足のコンテンツは、読み込まれても記事を動かさないサイドバーに置きます。
読み込みを速く
ニュースのページで最も大きな要素は、多くの場合リード画像です。ページで最も重要なリクエストとして扱ってください。
<img
src="/images/lead-1200.jpg"
srcset="/images/lead-800.jpg 800w, /images/lead-1200.jpg 1200w"
sizes="(min-width: 768px) 720px, 100vw"
width="1200"
height="675"
alt="Describe what the photo shows"
fetchpriority="high">
- LCPの画像は、決して遅延読み込みにしないでください。
- スクリプトが動く前にブラウザーが見つけられるよう、最初のHTMLに含めます。
fetchpriority="high"は、多くても1〜2枚の画像にだけ使います。それ以上は効果がなくなります。loading="lazy"は、最初のビューポートの外にある画像とiframeにだけ使います。- リダイレクトを減らし、ページをキャッシュ可能に保ちます。固有のURLパラメーターがあると、リクエストがCDNではなくオリジンサーバーに戻ってしまうことがあります。
動かないページ
- すべての画像と動画に
widthとheightを設定し、CSSではheight: autoを保ちます。 srcset内のすべての画像で、同じアスペクト比を使います。- 広告、埋め込み、iframeは、読み込まれる前に場所を確保します。枠のサイズは、広告の章で扱っています。
- Cookieの通知や登録の案内は、重ねて表示するか、場所を確保して、記事を押し下げないようにします。
font-display: optionalを使うか、Webフォントの寸法に合わせて調整した代替フォントを使います。- アニメーションには
transformを使います。topやleftをアニメーションさせると、レイアウトのずれが起きます。
すばやい応答
操作にかかる時間は3つの部分で成り立っています。コードが動き出すまでの待ち時間、コードそのもの、そしてその後の描画です。50ミリ秒を超えるタスクは、すべてロングタスクです。
- イベントのコールバックでは、できるだけ何もしません。まず画面を更新し、残りは後回しにします。
- 長い処理は
scheduler.yield()で分割し、対応していないブラウザーではsetTimeoutで代用します。 - DOMを小さく保ちます。長い記事一覧では、
content-visibilityを使って、画面外の項目の描画を後にできます。 - iframeごとに専用のメインスレッドがあることを覚えておき、遅い操作がどのフレームから来たのかを確認します。
長いページと無限スクロール
セクションのページが際限なくスクロールする場合は、?page=12 のような絶対的なページ番号で、各まとまりに固有の永続的なURLを与え、それらのページを順番にリンクします。読者が進むにつれて、History APIでアドレスを更新します。Googleはスクロールもクリックもしないため、遅延読み込みされるコンテンツは、何も操作しなくても、ビューポートに入った時点で読み込まれる必要があります。
チェックリスト
- Search Consoleで、モバイルとデスクトップを分けて、LCP、INP、CLSを確認する。
- いちばんアクセスの多い記事テンプレートをスマートフォンで開き、見出しと日付が最初の画面にあることを確認する。
- 記事の全文が、サーバーが送るHTMLに含まれていることを確認する。
- モバイルとデスクトップで、コンテンツ、見出し、構造化データ、robotsタグが一致しているかを比べる。
- リード画像から
loading="lazy"を外し、fetchpriority="high"を追加する。 - すべての画像と動画に
widthとheightを追加する。 - すべての広告、埋め込み、バナーの場所を確保する。
-
scroll-padding-topを、固定ヘッダーに合わせて設定する。 - 幅320 CSSピクセルでページをテストする。
- 無限スクロールのページの、すべてのまとまりに固有のURLを与える。
出典
- Understanding Google Page Experience、Google Search Central
- Understanding Core Web Vitals and Google search results、Google Search Central
- Mobile-first Indexing Best Practices、Google Search Central
- Fix Lazy-Loaded Website Content、Google Search Central
- Web Vitals、web.dev
- Optimize Largest Contentful Paint、web.dev
- Optimize Cumulative Layout Shift、web.dev
- Optimize Interaction to Next Paint、web.dev
- Optimize long tasks、web.dev
- Browser-level image lazy loading for the web、web.dev
- Web Content Accessibility Guidelines (WCAG) 2.2、W3C
- Understanding Target Size (Enhanced)、W3C WAI
- Understanding Visual Presentation、W3C WAI