Guide PWA SEO

Progressive Web App SEO — pourquoi "going PWA" doesn't améliorer rankings, pourquoi the manifest.json is SEO-irrelevant, how a misconfigured service worker peut serve Googlebot a stale cache, and où Core Web Vitals and HTTPS en réalité (and don't) overlap with SEO.

Première publication : 3 juil. 2026 · Dernière mise à jour : 3 août 2026 · Advanced
Langues

A PWA is a website enhanced with a manifest and a service worker — it's encore a normal (usually JavaScript/SPA) site to Google, with aucun inherent ranking advantage. The manifest.json is SEO-irrelevant (it contrôle installability, pas indexation). The un réel PWA-specific risk is the service worker: Google's renderer doesn't run service workers quand indexation, so a cache-first HTML strategy peut hand Googlebot a stale or offline page. Fix que with network-first pour HTML, and the rest is ordinary JS/SPA SEO.

TL;DR — A PWA is a manifest + a service worker layered on top of ce que is almost toujours a JS/SPA site — so the rendering rules from JavaScript/SPA SEO appliquer unchanged, plus two PWA-specific concerns. Google donne PWAs aucun ranking advantage (Mueller). The manifest.json governs installability, pas indexation, and there’s aucun evidence the ranking systems lire it. The service worker is the réel risk: Google’s renderer ne fait pas run service workers quand indexation, so a cache-first HTML strategy peut index a stale or offline shell — utiliser network-first pour HTML, cache-first pour static assets. HTTPS is a hard requirement pour service workers and separately a tiny ranking signal; don’t chain ceux into “PWAs rank better.” Core Web Vitals is the seulement legitimate overlap, and it’s the engineering, pas the PWA étiquette.

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

A PWA is a website premier

The unique la plupart utile frame: a Progressive Web App is a normal website with two choses ajouté on top. Per Google’s propre definition, PWAs “are web apps construit and enhanced with modern APIs to provide enhanced capabilities pendant que encore reaching quelconque web utilisateur on quelconque device with a unique codebase.” The three pillars Google noms are Capable, Reliable, and Installable — remarque que none of the three is “rankable.”

Architecturally, que codebase is almost toujours a JavaScript framework running a single-page-application pattern. Qui signifie: everything que governs JS/SPA indexability governs PWA indexability, with aucun modification. Réel <a href> liens and History-API routing (pas hash fragments) pour addressability; rendu côté serveur or prerendering pour content availability; per-route canonical, title, and meta in the rendered DOM. Si you’ve lire the JavaScript SEO and SPA SEO material, vous déjà know 90% of PWA SEO — the app-shell échec mode, in particulier, is un Google explicitly documents: “Some JavaScript sites may utiliser the app shell model où the initial HTML ne fait pas contain the réel content and Google nécessite to execute JavaScript avant being able to voir the réel page content que JavaScript generates.” A PWA que ships an vide shell with aucun SSR/prerender inherits que problem directement.

So the honest scope of a PWA-specific SEO article is petit: the manifest, and the service worker. Everything sinon is JS/SPA SEO wearing a manifest.

The core myth: “going PWA” ne fait pas améliorer rankings

Ce is the headline. Google has been unusually direct à propos de it. John Mueller, in a Search Central office-hours session, said PWAs “currently don’t have quelconque advantage in Recherche Google, and as far as I know, là are aucun plans to modifier ce,” and — asked si converting to a PWA voudrait aider — “By par défaut, saying going to a PWA va faire votre rankings meilleur — I don’t think que is the cas.”

He aussi pre-empted the usual counter-argument, que “our competitor went PWA and leur rankings jumped.” His answer: “So simplement the fact que un of votre competitors has déplacé from un framework to un autre, and has seen an improvement in search, que framework modifier from my point of view wouldn’t be responsible pour que.” And on why: “Ces are essentially différent façons of making a website… pour the la plupart partie, we voir ces as normal HTML pages.”

Où PWA relaunches do correlate with ranking lifts, it’s the confounds que come with quelconque big rebuild: modernized maillage interne, refreshed and expanded content, genuine speed improvements, and usually a marketing push tied to the relaunch. None of que exige the PWA étiquette. Si vous rebuild a 10-to-15-year-old organically-grown site, vous modifier a dozen choses at une fois — attributing le résultat to “PWA” is a correlation error.

Mueller’s office-hours statements ci-dessus are relayed by Moteur de recherche Journal and independently by Moteur de recherche Roundtable covering the même Nov 2021 session; I have pas replayed the original video, so treat les as reported-official.

Manifest.json: installability ≠ indexability

The manifest.json fichier exists to faire votre app installable. Its fields — name, short_name, icons, start_url, display, theme_color — drive the install prompt, the home-screen icon, the splash screen, and si the app opens standalone or in a navigateur tab. That’s the entier job.

There’s aucun evidence Google’s ranking or indexation systems lire the manifest as a signal. The cleanest external confirmation is Google’s propre PWA checklist, qui listes “Is installable” and “Discoverable in search” as two separate, independent checklist categories — où discoverability is défini as ordinary SEO fundamentals: “Enable moteur de recherche discovery via unique URLs, descriptive titles, meta descriptions, and données structurées.” Installability (manifest-driven) and discoverability (classic SEO) are treated as parallel concerns, pas un feeding the autre. So: garder a valid manifest parce que it’s ce que rend the app installable — simplement don’t fichier it sous SEO.

Google doesn’t publish une page stating in exact words que manifest.json is excluded from ranking; ce is a well-supported inference from the “no advantage” statement, the checklist’s separation of the two categories, and the manifest’s total absence from Google’s ranking-factor docs — phrase it as “no evidence it’s read,” pas “confirmed ignored.”

Service workers: the un réel PWA-specific SEO risk

Here’s the fact que matters la plupart, and it’s PWA-specific: Google’s rendering service ne fait pas run votre service worker quand it renders une page pour indexation. The reasoning, from Martin Splitt: “As we have to assume que someone clicking on votre page from a SERP is a first-time visitor, running a service worker is usually pas going to do beaucoup bon.” A service worker’s whole point is speeding up repeat visits from a cache — and Googlebot is, by design, toujours treated as a first-time visitor, so there’s nothing pour it to speed up. Splitt à nouveau: “We’re pas supporting que parce que utilisateurs clicking onto votre page from the résultat de recherche pourrait jamais have been là beforehand.” Mueller has confirmed ce is stable policy, pas a temporary state: “I wouldn’t expect it to modifier — it’s computationally expensive to run service-workers in the background comme ce pour indexation.”

Ces three rep statements are relayed by SearchViu (Splitt at Google I/O 2019/2020; Mueller reported July 2023); I’ve confirmed the Splitt and Mueller quotes as exact substrings on que page but they’re a third-party relay, pas a Google-owned URL. Remarque aussi que “never runs” is slightly aussi absolute — Google’s Splitt has indicated web workers peut parfois execute; the safe framing is “the rendering service doesn’t run service workers by design,” pas “under no circumstance.”

So pourquoi is que a risk? Parce que votre service worker fait run in réel utilisateurs’ navigateurs, and si vous told it to serve HTML cache-first — retourner the enregistré copy, skip the network — alors a réel repeat visitor sees a fast mis en cache page, but that’s a strategy Googlebot jamais executes. The danger is the reverse cas: a mise en cache pattern que, sous quelconque error or fallback condition, hands back a stale document or the offline-fallback page. Parce que rendering is stateless and the WRS treats every récupérer as fresh, a misconfigured mise en cache strategy is how a PWA ends up with Googlebot indexation an outdated or vide offline shell au lieu de live content.

The caching-strategy rule of thumb:

  • HTML documents → network-first (or stale-while-revalidate with a short TTL). Obtenir the live page; utiliser the cache seulement as an offline fallback, and assurez-vous que fallback is jamais ce que a fresh explorer voudrait index.
  • Static assets (JS, CSS, images, fonts) → cache-first is fine and desirable — ils don’t modifier per requête and aren’t the indexable document.

How to audit it: comparer ce que Googlebot voit contre ce que a repeat visitor’s navigateur sert from cache. Utiliser Inspection d’URL in Search Console (live tester) to voir the rendered HTML Google en réalité obtient, and vérifier it contre the live page. Si ils diverge, votre service worker or SSR setup is the premier suspect. And watch rendering timeouts on hybrid setups — as Hamlet Batista noted from the dynamic-rendering era, “Rendering services won’t wait forever pour une page to finish chargement.” (Que spécifique article is à propos de dynamic rendering, qui Google now discourages in favor of SSR — cite the timeout principle, pas the pattern.)

HTTPS: a service-worker requirement, and separately a tiny ranking signal

You’ll voir PWA SEO posts imply “PWAs besoin HTTPS, and HTTPS boosts rankings, therefore PWAs are plus SEO-friendly.” Two vrai facts, wrongly chained.

Fact un: service workers seulement run in a secure context. Per MDN: “Service workers are seulement disponible in secure contexts: ce signifie que leur document is served over HTTPS, although navigateurs aussi treat http://localhost as a secure context, to facilitate local development.” That’s a navigateur platform rule, pas an SEO tactic — aucun HTTPS, aucun service worker, complet arrêter.

Fact two: HTTPS is a réel Google ranking signal, but a minuscule un. Google’s propre 2014 announcement: “we’re starting to utiliser HTTPS as a ranking signal. Pour now it’s seulement a very lightweight signal — affecting fewer que 1% of global requêtes, and carrying moins weight que autre signals tel as high-quality content.”

The point: quelconque HTTPS site obtient que même tiny signal — PWA or pas. A PWA doesn’t obtenir supplémentaire SEO credit pour HTTPS; it simplement can’t function sans it. Don’t sell HTTPS as a PWA SEO benefit.

Core Web Vitals: the un legitimate overlap

Si there’s a réel placer où “good PWA” and “good SEO” meet, it’s performances. Google’s PWA guidance leads with reliability — “A reliable Progressive Web App feels fast and dependable regardless of the network” — and Core Web Vitals are a confirmed (si modest) ranking factor. A well-engineered PWA que loads fast and stays responsive va tend to score bien on Vitals.

But lire the causation carefully: it’s the engineering, pas the PWA-ness. A bloated PWA — huge JS bundle, render-blocking hydration, an over-eager service worker — peut easily post worse Core Web Vitals que a plain server-rendered page. The Vitals win comes from doing the performances fonctionner bien, qui vous pourrait do with or sans a manifest. Being a PWA neither guarantees bon Vitals nor grants a shortcut to les.

App-like fonctionnalités are UX, pas ranking factors

Add-to-home-screen, offline mode, push notifications, app-like navigation — tout genuine, valuable PWA benefits, and tout engagement/retention fonctionnalités, pas indexation or ranking inputs. Google’s PWA checklist rend the split explicit by putting “installable” and “discoverable in search” in separate buckets.

Don’t treat “installable” as a unique, universal capability soit — it varies by navigateur and OS, qui is un plus raison it can’t be an SEO signal (Google voudrait have aucun consistent, cross-browser behavior to reward). The beforeinstallprompt event que lets a PWA montrer its propre custom install UI is a Chromium-only mechanism; per MDN’s PWA installability guide, it’s “not supported on iOS.” On iOS Safari, installation se produit seulement via the manual Share → Ajouter to Home Screen flow (extended to Chrome, Edge, Firefox, and Orion on iOS 16,4+, tout of qui utiliser Apple’s requis WebKit engine on iOS and so share que limitation), pas an automatic prompt. None of que changements the SEO picture — it simplement signifie “is my PWA installable” isn’t a yes/aucun fact independent of qui navigateur and OS a visitor is on.

Twitter Lite is the cas study everyone reaches pour as “proof PWAs help SEO” — and its documented results are réel (a 65% augmenter in pages per session, 75% augmenter in Tweets sent, 20% decrease in bounce rate) — but every un of ceux is an engagement metric. Google’s propre cas study of it jamais mentions SEO, organic search, or rankings at tout. Great result; incorrect column.

Ecommerce PWA storefronts: a short callout

PWA storefronts ajouter a few wrinkles worth naming, parce que ils compound the SPA risks. Client-side routing plus faceted navigation peut generate crawlable-looking URLs que tout resolve to the même shell, or an explosion of parameter URLs. Cart and checkout state lives client-side and devrait jamais gate the indexable product content. And chaque product page doit independently retourner réel, unique HTML — the app-shell trap is la plupart expensive exactly où vous have the la plupart pages. The fixes are the même ones from ecommerce and faceted-navigation SEO; the PWA couche doesn’t modifier les, it simplement rend the SSR/prerender discipline plus important.

Bing and PWAs

Worth a line: Bing has publié aucun PWA-specific ranking or indexation guidance. Its webmaster guidelines are PWA-agnostic (general crawlability, sitemaps, robots.txt, IndexNow), and Microsoft’s extensive PWA docs are entirely à propos de Edge install prompts, PWABuilder, and Microsoft Store packaging — distribution and installation, a separate track from web-search indexation. So pour Bing, par défaut to ordinary JS-rendering crawlability guidance; there’s aucun PWA exception to apprendre.

L’essentiel

PWA SEO is JavaScript/SPA SEO plus exactly two additions: ignore the manifest as an SEO input (it’s pour installability), and configurer the service worker so it jamais traps Googlebot in a stale or offline cache. Obtenir ceux correct and a PWA indexes exactly comme quelconque autre well-built site — aucun bonus, aucun penalty, simplement the même rules.

Add an expert note

Pin an expert quote

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