PWAのSEO

プログレッシブウェブアプリのSEO — 「PWA化」がランキングを向上させない理由、manifest.jsonがSEOに無関係である理由、設定を誤ったサービスワーカーがGooglebotに古いキャッシュを提供する可能性、そしてCore Web VitalsとHTTPSがSEOと実際に(そして実際には)重なる点と重ならない点。

初回公開:2026年7月3日 · 最終更新:2026年8月3日 · Advanced
言語

PWAはマニフェストとサービスワーカーで拡張されたウェブサイトであり、Googleにとっては通常の(通常はJavaScript/SPAの)サイトであり、固有のランキング上の利点はありません。manifest.jsonはSEOに無関係です(インストール可能性を制御し、インデックス作成は制御しません)。PWA固有の実際のリスクはサービスワーカーです。Googleのレンダラーはインデックス作成時にサービスワーカーを実行しないため、キャッシュファーストのHTML戦略はGooglebotに古いページやオフラインページを提供する可能性があります。HTMLに対してネットワークファーストを使用することで修正でき、残りは通常のJS/SPA SEOです。

TL;DR — PWAは、ほぼ常にJS/SPAサイトであるものの上にマニフェストとサービスワーカーを重ねたものです。したがって、JavaScript/SPA SEOのレンダリングルールは変更なしで適用され、さらにPWA固有の2つの懸念事項があります。GoogleはPWAにランキング上の利点を与えていません(ミューラー)。manifest.jsonはインストール可能性を管理するものであり、インデックス作成を管理するものではなく、ランキングシステムがそれを読み取るという証拠はありません。サービスワーカーが本当のリスクです。Googleのレンダラーはインデックス作成時にサービスワーカーを実行しないため、キャッシュファーストのHTML戦略では、古いまたはオフラインのシェルがインデックスされる可能性があります。HTMLにはネットワークファースト、静的アセットにはキャッシュファーストを使用してください。HTTPSはサービスワーカーの必須要件であり*、*また別途、わずかなランキングシグナルでもあります。これらを「PWAの方がランキングが上がる」と結び付けてはいけません。Core Web Vitalsだけが正当な重複であり、それはPWAというラベルではなくエンジニアリングの問題です。

Evidence for this claim A progressive web app is still a web application; installability features do not replace indexable HTML and URLs. Scope: Current official or standards documentation. Confidence: high · Verified: web.dev: Progressive web apps Evidence for this claim JavaScript applications must expose crawlable links, meaningful content, metadata, and status behavior to Google. Scope: Current official or standards documentation. Confidence: high · Verified: Google: JavaScript SEO basics

PWAはまずウェブサイトである

最も有用な捉え方は、プログレッシブウェブアプリは、2つのものが追加された通常のウェブサイトであるということです。Google自身の定義によると、PWAは*「最新のAPIで構築および拡張されたウェブアプリであり、拡張された機能を提供しながら、単一のコードベースで任意のデバイスの任意のウェブユーザーにリーチします。」* Googleが挙げる3つの柱は、CapableReliableInstallableです。この3つのどれも「ランキング可能」ではないことに注意してください。

アーキテクチャ的には、そのコードベースはほぼ常にシングルページアプリケーションパターンを実行するJavaScriptフレームワークです。つまり、JS/SPAのインデックス可能性を左右するすべてが、変更なしでPWAのインデックス可能性を左右するということです。アドレス可能性には実際の<a href>リンクとHistory-APIルーティング(ハッシュフラグメントではなく)が必要です。コンテンツの可用性にはサーバーサイドレンダリングまたはプリレンダリングが必要です。レンダリングされたDOMには、ルートごとの正規化、タイトル、メタが必要です。JavaScript SEOとSPA SEOの資料を読んだことがあれば、PWA SEOの90%はすでにご存知でしょう。特にアプリシェルの失敗モードは、Googleが明示的に文書化しているものです:“Some JavaScript sites may use the app shell model where the initial HTML does not contain the actual content and Google needs to execute JavaScript before being able to see the actual page content that JavaScript generates.” (翻訳) 「一部のJavaScriptサイトでは、初期HTMLに実際のコンテンツが含まれておらず、GoogleがJavaScriptを実行して初めて実際のページコンテンツを確認できるアプリシェルモデルを使用する場合があります。」 SSRやプリレンダリングなしで空のシェルを配信するPWAは、その問題を直接引き継ぎます。

したがって、PWA固有の SEO記事の正直な範囲は小さいものです:マニフェストとサービスワーカーです。それ以外はすべて、マニフェストをまとったJS/SPA SEOです。

中核となる神話:「PWA化」はランキングを向上させない

これが見出しです。Googleはこれについて異常なほど率直です。John Mueller氏は、Search Centralのオフィスアワーセッションで、PWAは*“currently don’t have any advantage in Google Search, and as far as I know, there are no plans to change this,”* (翻訳) 「現在、Google検索において何らかの利点はなく、私の知る限り、これを変更する計画はありません。」と述べ、PWAへの変換が役立つかと尋ねられた際には、“By default, saying going to a PWA will make your rankings better — I don’t think that is the case.” (翻訳) 「デフォルトでは、PWAにするとランキングが良くなると言うのは、そうではないと思います。」と述べました。

また、彼は「競合他社がPWAに移行してランキングが急上昇した」というよくある反論も先取りしました。彼の答えは次のとおりです:“So just the fact that one of your competitors has moved from one framework to another, and has seen an improvement in search, that framework change from my point of view wouldn’t be responsible for that.” (翻訳) 「つまり、競合他社の1つが別のフレームワークに移行して検索で改善が見られたという事実だけでは、そのフレームワークの変更がその原因ではないと私の見解では考えられます。」そしてその理由について:“These are essentially different ways of making a website… for the most part, we see these as normal HTML pages.” (翻訳) 「これらは本質的にウェブサイトを作るさまざまな方法であり…ほとんどの場合、これらを通常のHTMLページとして見ています。」

PWAの再起動がランキングの向上と相関する場合、それは大規模な再構築に伴う交絡因子によるものです:近代化された内部リンク、リフレッシュされ拡張されたコンテンツ、真の速度改善、そして通常は再起動に伴うマーケティング活動です。そのどれもPWAというラベルを必要としません。10〜15年かけて有機的に成長したサイトを再構築する場合、一度に多くのことを変更します。その結果を「PWA」に帰属させるのは相関エラーです。

上記のMueller氏のオフィスアワーでの発言は、Search Engine Journalと、同じ2021年11月のセッションをカバーするSearch Engine Roundtableによって独立して伝えられています。私は元のビデオを再生していないため、これらは報告された公式見解として扱ってください。

Manifest.json:インストール可能性 ≠ インデックス可能性

manifest.jsonファイルは、アプリをインストール可能にするために存在します。そのフィールド(nameshort_nameiconsstart_urldisplaytheme_color)は、インストールプロンプト、ホーム画面のアイコン、スプラッシュ画面、およびアプリがスタンドアロンで開くかブラウザタブで開くかを制御します。それがすべての役割です。

Googleのランキングまたはインデックスシステムがマニフェストをシグナルとして読み取るという証拠はありません。最も明確な外部確認は、Google自身のPWAチェックリストです。そこでは*“Is installable”* (翻訳) 「インストール可能である」と*“Discoverable in search”* (翻訳) 「検索で発見可能である」が2つの別々の独立したチェックリストカテゴリとしてリストされており、発見可能性は通常のSEOの基本として定義されています:“Enable search engine discovery through unique URLs, descriptive titles, meta descriptions, and structured data.” (翻訳) 「一意のURL、説明的なタイトル、メタディスクリプション、構造化データを通じて検索エンジンの発見を有効にします。」 インストール可能性(マニフェスト駆動)と発見可能性(クラシックSEO)は、一方が他方を支えるのではなく、並行する関心事として扱われます。つまり、有効なマニフェストを維持することは、アプリをインストール可能にするために重要ですが、SEOとして分類しないでください。

Googleは、manifest.jsonがランキングから除外されていると正確な言葉で明記したページを公開していません。これは、「利点なし」という声明、チェックリストにおける2つのカテゴリの分離、およびGoogleのランキング要素に関するドキュメントにmanifestが完全に存在しないことから十分に裏付けられた推論です。「読み取られるという証拠はない」と表現し、「無視されることが確認された」とは表現しないでください。

サービスワーカー:PWA固有の唯一の実質的なSEOリスク

ここに最も重要な事実があり、これはPWA固有のものです。Googleのレンダリングサービスは、インデックス作成のためにページをレンダリングする際に、あなたのサービスワーカーを実行しません。 その理由は、Martin Splitt氏の言葉を借りれば、「SERPからあなたのページをクリックする人は初めての訪問者であると想定しなければならないため、サービスワーカーを実行してもあまり効果がないのが通常です。」 サービスワーカーの要点は、キャッシュからの再訪アクセスを高速化することです。そしてGooglebotは、設計上、常に初めての訪問者として扱われるため、高速化する対象がありません。Splitt氏は再びこう述べています:「検索結果からあなたのページにアクセスするユーザーは、以前にそこに訪れたことがない可能性があるため、私たちはそれをサポートしていません。」 Mueller氏は、これが一時的な状態ではなく安定した方針であることを確認しています:「これが変わるとは思っていません。インデックス作成のためにこのようにバックグラウンドでサービスワーカーを実行するのは計算コストが高いからです。」

これら3つの担当者の発言はSearchViuによって中継されています(Splitt氏はGoogle I/O 2019/2020、Mueller氏は2023年7月に報告)。Splitt氏とMueller氏の引用がそのページの正確な部分文字列であることを確認しましたが、これは第三者による中継であり、Google所有のURLではありません。また、「決して実行しない」はやや絶対的すぎることに注意してください。GoogleのSplitt氏は、ウェブワーカーが時々実行される可能性があることを示しています。安全な表現は、「レンダリングサービスは設計上サービスワーカーを実行しない」であり、「いかなる状況でも実行しない」ではありません。

では、なぜそれがリスクなのでしょうか? それは、あなたのサービスワーカーが実際のユーザーのブラウザでは実行されるからです。そして、もしHTMLをキャッシュファーストで配信するように指示した場合(保存されたコピーを返し、ネットワークをスキップする)、実際の再訪ユーザーは高速なキャッシュページを見ることになりますが、それはGooglebotが決して実行しない戦略です。危険なのは逆のケースです。つまり、何らかのエラーやフォールバック条件の下で、古いドキュメントやオフラインのフォールバックページを返すキャッシュパターンです。レンダリングはステートレスであり、WRSはすべてのフェッチを新しいものとして扱うため、キャッシュ戦略の設定ミスは、PWAがライブコンテンツの代わりに古いまたは空のオフラインシェルをGooglebotにインデックスさせる原因となります。

キャッシュ戦略の経験則:

  • HTMLドキュメント → ネットワークファースト(または短いTTLでのstale-while-revalidate)。ライブページを取得します。キャッシュはオフラインのフォールバックとしてのみ使用し、そのフォールバックが新しいクロールでインデックスされることが決してないようにしてください。
  • 静的アセット(JS、CSS、画像、フォント)→ キャッシュファーストで問題なく、望ましいです。これらはリクエストごとに変化せず、インデックス可能なドキュメントではありません。

監査方法: Googlebotが見るものと、再訪ユーザーのブラウザがキャッシュから配信するものを比較します。Search ConsoleのURL Inspection(ライブテスト)を使用して、Googleが実際に取得するレンダリングされたHTMLを確認し、ライブページと照合します。それらが異なる場合、サービスワーカーまたはSSRの設定が最初の容疑者です。また、ハイブリッド設定でのレンダリングタイムアウトに注意してください。Hamlet Batista氏がダイナミックレンダリングの時代に指摘したように、「レンダリングサービスは、ページの読み込みが完了するのを永遠に待つことはありません。」 (その特定の記事はダイナミックレンダリングに関するもので、Googleは現在SSRを推奨してこれを推奨していません。タイムアウトの原則を引用し、パターン自体は引用しないでください。)

HTTPS:サービスワーカーの要件であり、別途小さなランキングシグナル

PWAのSEOに関する投稿では、「PWAにはHTTPSが必要で、HTTPSはランキングを向上させる。したがって、PWAはSEOにより適している」と示唆するものがあります。これは、2つの真実の事実が誤って結び付けられたものです。

Fact one: service workers only run in a secure context. Per MDN: “Service workers are only available in secure contexts: this means that their document is served over HTTPS, although browsers also treat http://localhost as a secure context, to facilitate local development.” That’s a browser platform rule, not an SEO tactic — no HTTPS, no service worker, full stop.

事実2: HTTPSはGoogleの実際のランキングシグナルですが、ごくわずかなものです。Google自身の2014年の発表: “we’re starting to use HTTPS as a ranking signal. For now it’s only a very lightweight signal — affecting fewer than 1% of global queries, and carrying less weight than other signals such as high-quality content.” (翻訳) 「HTTPSをランキングシグナルとして使い始めています。今のところ、これは非常に軽量なシグナルに過ぎません。全世界のクエリの1%未満に影響し、高品質なコンテンツなどの他のシグナルよりも重みが小さいものです。」

要点: どのHTTPSサイトも同じ小さなシグナルを得ます。PWAかどうかは関係ありません。PWAがHTTPSに対して追加のSEOクレジットを得るわけではありません。ただ、HTTPSなしでは機能できないだけです。HTTPSをPWAのSEOメリットとして売り込まないでください。

Core Web Vitals: 唯一の正当な重複部分

「優れたPWA」と「優れたSEO」が本当に交わる場所があるとすれば、それはパフォーマンスです。GoogleのPWAガイダンスは信頼性を最優先にしています — “A reliable Progressive Web App feels fast and dependable regardless of the network” (翻訳) 「信頼性の高いプログレッシブウェブアプリは、ネットワークに関係なく高速で信頼できると感じられます」— そしてCore Web Vitalsは確認された(控えめではありますが)ランキング要素です。適切に設計されたPWAが高速に読み込まれ、応答性を維持するなら、Vitalsで良いスコアを出す傾向があります。

しかし、因果関係を注意深く読んでください: それはエンジニアリングであって、PWAらしさではありません。 肥大化したPWA — 巨大なJSバンドル、レンダリングをブロックするハイドレーション、過剰に熱心なサービスワーカー — は、プレーンなサーバーサイドレンダリングのページよりも簡単に悪いCore Web Vitalsを記録します。Vitalsの勝利は、パフォーマンスの作業を適切に行うことから生まれます。これはマニフェストの有無にかかわらず実行できます。PWAであることは、優れたVitalsを保証するものでも、その近道を与えるものでもありません。

アプリのような機能はUXであり、ランキング要素ではない

ホーム画面への追加、オフラインモード、プッシュ通知、アプリのようなナビゲーション — これらはすべて本物で価値のあるPWAの利点であり、すべてエンゲージメント/リテンション機能であり、インデックス作成やランキングへの入力ではありません。GoogleのPWAチェックリストは、「インストール可能」と「検索で発見可能」を別々のバケットに置くことで、その区別を明確にしています。

「インストール可能」を単一の普遍的な機能として扱わないでください。ブラウザやOSによって異なります。これは、それがSEOシグナルになり得ないもう一つの理由です(Googleには報酬を与える一貫したクロスブラウザの動作がありません)。PWAが独自のカスタムインストールUIを表示できるようにするbeforeinstallpromptイベントは、Chromiumのみのメカニズムです。MDNのPWAインストール可能性ガイドによると、“not supported on iOS.” (翻訳) 「iOSではサポートされていません。」iOS Safariでは、インストールは手動の共有 → ホーム画面に追加フロー(iOS 16.4+のChrome、Edge、Firefox、Orionに拡張されており、これらはすべてiOSでAppleの必須WebKitエンジンを使用しているため、同じ制限を共有します)でのみ行われ、自動プロンプトではありません。そのどれもSEOの状況を変えるものではありません。つまり、「私のPWAがインストール可能かどうか」は、訪問者がどのブラウザとOSを使用しているかに依存しないイエス/ノーの事実ではないということです。

Twitter Liteは、誰もが「PWAがSEOに役立つ」ことの証明として挙げるケーススタディです。そして、その文書化された結果は本物です(ページあたりのセッション数が65%増加送信ツイート数が75%増加直帰率が20%減少)— しかし、そのすべてはエンゲージメント指標です。Google自身のケーススタディでは、SEO、オーガニック検索、ランキングについてはまったく言及されていません。素晴らしい結果ですが、間違った列です。

EコマースPWAストアフロント: 簡単な注意点

PWAストアフロントには、言及する価値のあるいくつかの難点があります。SPAのリスクを悪化させるからです。クライアントサイドルーティングとファセットナビゲーションを組み合わせると、すべて同じシェルに解決されるクロール可能に見えるURL、またはパラメータURLの爆発を生成する可能性があります。カートとチェックアウトの状態はクライアントサイドに存在し、インデックス可能な製品コンテンツをゲートしてはなりません。また、各製品ページは独立して実際の一意のHTMLを返す必要があります。アプリシェルの罠は、ページが最も多い場所で最もコストがかかります。修正はEコマースとファセットナビゲーションSEOと同じです。PWAレイヤーはそれらを変更せず、SSR/プリレンダリングの規律をより重要にするだけです。

BingとPWA

一言で言えば、BingはPWA固有のランキングやインデックスに関するガイダンスを一切公開していません。Bingのウェブマスター向けガイドラインはPWAに依存しないもの(一般的なクロール可能性、サイトマップ、robots.txt、IndexNow)であり、Microsoftの広範なPWAドキュメントはすべてEdgeのインストールプロンプト、PWABuilder、Microsoft Storeのパッケージングに関するものです。つまり、配布とインストールという、ウェブ検索インデックスとは別のトラックです。したがって、Bingについては、通常のJSレンダリングのクロール可能性ガイダンスをデフォルトにしてください。PWAに特有の例外はありません。

結論

PWA SEOは、JavaScript/SPA SEOに、正確に2つの追加事項を加えたものです。マニフェストをSEO入力として無視すること(インストール可能性のため)、そしてサービスワーカーがGooglebotを古いキャッシュやオフラインキャッシュに閉じ込めないように設定することです。これらを正しく行えば、PWAは他のよく構築されたサイトとまったく同じようにインデックスされます。ボーナスもペナルティもなく、同じルールが適用されるだけです。

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.