SEO PWA

Progressive Web App SEO — why "going PWA" doesn't poprawić rankings, why the manifest.json jest SEO-irrelevant, how a misconfigured service worker może serve Googlebot a stale pamięć podręczna, i gdzie Core Web Vitals i HTTPS actually (i don't) overlap z SEO.

Opublikowano po raz pierwszy: 3 lip 2026 · Ostatnia aktualizacja: 3 sie 2026 · Advanced
Języki

A PWA jest a website enhanced z a manifest i a service worker — it's nadal a normal (zwykle JavaScript/SPA) witryna to Google, z no inherent ranking advantage. The manifest.json jest SEO-irrelevant (it controls installability, nie indeksowanie). The one rzeczywisty PWA-specific risk jest the service worker: Google's renderer doesn't run service workers gdy indeksowanie, so a pamięć podręczna-pierwszy HTML strategy może hand Googlebot a stale lub offline strona. Fix że z network-pierwszy dla HTML, i the rest jest ordinary JS/SPA SEO.

TL;DR — A PWA jest a manifest + a service worker layered on top of co jest almost zawsze a JS/SPA witryna — so the renderowanie reguły z JavaScript/SPA SEO apply unchanged, plus two PWA-specific concerns. Google gives PWAs no ranking advantage (Mueller). The manifest.json governs installability, nie indeksowanie, i there’s no dowód the ranking systemy read it. The service worker jest the rzeczywisty risk: Google’s renderer robi nie run service workers gdy indeksowanie, so a pamięć podręczna-pierwszy HTML strategy może index a stale lub offline shell — używać network-pierwszy dla HTML, pamięć podręczna-pierwszy dla statyczny assets. HTTPS jest a trudny requirement dla service workers i osobno a tiny ranking signal; don’t chain tamte do “PWAs rank better.” Core Web Vitals jest the tylko legitimate overlap, i it’s the engineering, nie the PWA label.

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 jest a website pierwszy

The single najbardziej użyteczny frame: a Progressive Web App jest a normal website z two things added on top. Per Google’s own definition, PWAs “są web apps built i enhanced z modern APIs to zapewniać enhanced capabilities podczas gdy nadal reaching dowolny web użytkownik on dowolny urządzenie z a single codebase.” The three pillars Google nazwy są Capable, niezawodny, i Installable — note że none of the three jest “rankable.”

Architecturally, że codebase jest almost zawsze a JavaScript framework running a single-strona-application pattern. który means: everything że governs JS/SPA indexability governs PWA indexability, z no modification. rzeczywisty <a href> links i History-API routing (nie hash fragments) dla addressability; serwer-side renderowanie lub prerendering dla treść dostępność; per-route canonical, tytuł, i meta in the wyrenderowany DOM. If you’ve przeczytaj SEO JavaScript i SPA SEO material, you już know 90% of PWA SEO — the app-shell awaria mode, w szczególności, jest one Google explicitly documents: “niektóre JavaScript witryny może użyj app shell model gdzie the initial HTML robi nie contain the rzeczywisty treść i Google needs to execute JavaScript przed będąc able to see the rzeczywisty strona treść że JavaScript generates.” A PWA że ships an empty shell z no SSR/prerender inherits że problem directly.

So the honest scope of a PWA-specific SEO artykuł jest mały: the manifest, i the service worker. Everything else jest JS/SPA SEO wearing a manifest.

The core myth: “going PWA” robi nie poprawić rankings

ten jest the headline. Google ma był unusually bezpośredni o it. John Mueller, in a Search Central office-hours session, said PWAs “currently don’t mieć dowolny advantage in Google Search, i as far as I know, there są no plans to change ten,” i — asked whether converting to a PWA by pomagać — “By domyślny, saying going to a PWA będzie make twój rankings better — I don’t think że jest the case.”

He również pre-empted the usual counter-argument, że “nasz competitor went PWA i ich rankings jumped.” His answer: “So just the fakt że one of twój competitors ma moved z one framework to another, i ma seen an improvement in search, że framework change z my point of view wouldn’t być responsible dla że.” And on why: “te są essentially różny ways of making a website… dla the najbardziej part, we see te as normal HTML strony.”

gdzie PWA relaunches robić correlate z ranking lifts, it’s the confounds że come z dowolny big rebuild: modernized internal linking, refreshed i expanded treść, genuine speed improvements, i zwykle a marketing push tied to the relaunch. None of że wymaga the PWA label. If you rebuild a 10-to-15-year-old organically-grown witryna, you change a dozen things at once — attributing the wynik to “PWA” jest a correlation błąd.

Mueller’s office-hours statements above są relayed by wyszukiwarka Journal i independently by wyszukiwarka Roundtable covering the same Nov 2021 session; I mieć nie replayed the original video, so treat them as reported-official.

Manifest.json: installability ≠ indexability

The manifest.json file exists to make twój app installable. jego pola — name, short_name, icons, start_url, display, theme_color — drive the install prompt, the home-screen icon, the splash screen, i whether the app opens standalone lub in a przeglądarka tab. że’s the entire job.

There’s no dowód Google’s ranking lub indeksowanie systemy przeczytaj manifest as a signal. The cleanest external confirmation jest Google’s own PWA checklist, który listy “jest installable” and “Discoverable in search” as two oddzielny, independent checklist kategorie — gdzie discoverability jest defined as ordinary SEO fundamentals: “Enable wyszukiwarka discovery przez unique URLs, descriptive tytuły, meta opisy, i dane strukturalne.” Installability (manifest-driven) i discoverability (classic SEO) są treated as parallel concerns, nie one feeding the other. So: zachować a prawidłowy manifest ponieważ it’s co makes the app installable — just don’t file it poniżej SEO.

Google doesn’t publikować a strona stating in dokładny words że manifest.json jest excluded z ranking; ten jest a well-supported inference z the “no advantage” statement, the checklist’s separation of the two kategorie, i the manifest’s total absence z Google’s ranking-factor docs — phrase it as “no evidence it’s read,” nie “confirmed ignored.”

Service workers: the one rzeczywisty PWA-specific SEO risk

Here’s the fakt że matters najbardziej, i it’s PWA-specific: Google’s renderowanie service robi nie run twój service worker gdy it renders a strona dla indeksowanie. The reasoning, z Martin Splitt: “As we mieć to assume że someone clicking on twój strona z a SERP jest a pierwszy-time visitor, running a service worker jest zwykle nie going to robić much good.” A service worker’s whole point jest speeding up repeat visits z a pamięć podręczna — i Googlebot jest, by design, zawsze treated as a pierwszy-time visitor, so there’s nothing dla it to speed up. Splitt again: “We’re nie supporting że ponieważ użytkownicy clicking onto twój strona z the wynik wyszukiwania może nigdy mieć był there beforehand.” Mueller ma confirmed ten jest stable polityka, nie a temporary state: “I wouldn’t expect it to change — it’s computationally expensive to run service-workers in the background like ten dla indeksowanie.”

te three rep statements są relayed by SearchViu (Splitt at Google I/O 2019/2020; Mueller reported July 2023); I’ve confirmed the Splitt i Mueller cytaty as dokładny substrings on że strona ale they’re a third-party relay, nie a Google-owned URL. Note również że “never runs” jest slightly too absolute — Google’s Splitt ma indicated web workers może czasami execute; the bezpieczny framing jest “the rendering service doesn’t run service workers by design,” nie “under no circumstance.”

So why jest że a risk? ponieważ twój service worker robi run in rzeczywisty użytkownicy’ przeglądarki, i if you told it to serve HTML pamięć podręczna-pierwszy — zwracać the saved copy, skip the network — then a rzeczywisty repeat visitor sees a fast cached strona, ale że’s a strategy Googlebot nigdy executes. The danger jest the reverse case: a buforowanie pattern że, poniżej dowolny błąd lub fallback condition, hands back a stale document lub the offline-fallback strona. ponieważ renderowanie jest stateless i the WRS treats każdy fetch as fresh, a misconfigured buforowanie strategy jest how a PWA ends up z Googlebot indeksowanie an outdated lub empty offline shell zamiast live treść.

The buforowanie-strategy reguła of thumb:

  • HTML documents → network-pierwszy (lub stale-podczas gdy-revalidate z a short TTL). Get the live strona; użyj pamięć podręczna tylko as an offline fallback, i upewnij się że fallback jest nigdy co a fresh crawl by index.
  • statyczny assets (JS, CSS, images, fonts) → pamięć podręczna-pierwszy jest fine i desirable — they don’t change per żądanie i aren’t the indeksowalny document.

How to audit it: porównywać co Googlebot sees wobec co a repeat visitor’s przeglądarka serves z pamięć podręczna. używać URL Inspection in Search Console (live test) to see the wyrenderowany HTML Google actually gets, i sprawdzenie it wobec the live strona. If they diverge, twój service worker lub SSR setup jest the pierwszy suspect. i watch renderowanie timeouts on hybrid setups — as Hamlet Batista noted z the dynamiczny-renderowanie era, “renderowanie services won’t wait forever dla a strona to finish ładowanie.” (że specific artykuł jest o dynamiczny renderowanie, który Google now discourages in favor of SSR — cite the timeout principle, nie the pattern.)

HTTPS: a service-worker requirement, i osobno a tiny ranking signal

You’ll see PWA SEO posts imply “PWAs need HTTPS, i HTTPS boosts rankings, therefore PWAs są więcej SEO-friendly.” Two prawdziwy fakty, wrongly chained.

fakt one: service workers tylko run in a secure context. Per MDN: “Service workers są tylko available in secure contexts: ten means że ich document jest served ponad HTTPS, although przeglądarki również treat http://localhost as a secure context, to facilitate local development.” że’s a przeglądarka platforma reguła, nie an SEO tactic — no HTTPS, no service worker, pełny stop.

fakt two: HTTPS jest a rzeczywisty Google ranking signal, ale a minuscule one. Google’s own 2014 announcement: “we’re starting to używać HTTPS as a ranking signal. dla now it’s tylko a bardzo lightweight signal — affecting fewer than 1% of global zapytania, i carrying mniej weight than other signals such as wysoki-quality treść.”

The point: dowolny HTTPS witryna gets że same tiny signal — PWA lub nie. A PWA doesn’t get extra SEO credit dla HTTPS; it just może’t function bez it. Don’t sprzedawać HTTPS as a PWA SEO benefit.

Core Web Vitals: the one legitimate overlap

If there’s a rzeczywisty place gdzie “good PWA” i “good SEO” meet, it’s wydajność. Google’s PWA guidance leads z reliability — “A niezawodny Progressive Web App feels fast i dependable regardless of the network” — i Core Web Vitals są a confirmed (if modest) czynnik rankingowy. A well-engineered PWA że loads fast i stays responsive będzie tend to score well on Vitals.

ale przeczytaj causation carefully: it’s the engineering, nie the PWA-ness. A bloated PWA — huge JS bundle, blokujący renderowanie hydration, an ponad-eager service worker — może easily post worse Core Web Vitals than a plain serwer-wyrenderowany strona. The Vitals win comes z doing the wydajność działać well, który you mógł robić z lub bez a manifest. będąc a PWA neither guarantees good Vitals nor grants a shortcut to them.

App-like funkcje są UX, nie czynniki rankingowe

dodawać-to-home-screen, offline mode, push notifications, app-like navigation — wszystkie genuine, valuable PWA benefits, i wszystkie engagement/retention funkcje, nie indeksowanie lub ranking inputs. Google’s PWA checklist makes the split explicit by putting “installable” i “discoverable in search” in oddzielny buckets.

Don’t treat “installable” as a single, universal capability either — it varies by przeglądarka i OS, który jest one więcej powód it może’t być an SEO signal (Google by mieć no spójny, cross-przeglądarka behavior to reward). The beforeinstallprompt event że lets a PWA pokazywać jego own custom install UI jest a Chromium-tylko mechanism; per MDN’s PWA installability poradnik, it’s “not supported on iOS.” On iOS Safari, installation happens tylko przez the manual Share → dodawać to Home Screen flow (extended to Chrome, Edge, Firefox, i Orion on iOS 16,4+, wszystkie of który używać Apple’s required WebKit engine on iOS i so share że limitation), nie an automatic prompt. None of że changes the SEO picture — it just means “is my PWA installable” isn’t a yes/no fakt independent of który przeglądarka i OS a visitor jest on.

Twitter Lite jest the case study everyone reaches dla as “proof PWAs help SEO” — i jego udokumentowany wyniki są rzeczywisty (a 65% increase in strony per session, 75% increase in Tweets sent, 20% decrease in bounce rate) — ale każdy one of tamte jest an engagement metric. Google’s own case study of it nigdy mentions SEO, organic search, lub rankings at wszystkie. Great wynik; błędny column.

Ecommerce PWA storefronts: a short callout

PWA storefronts dodawać a kilka wrinkles worth naming, ponieważ they compound the SPA risks. Client-side routing plus nawigacja fasetowa może generate crawlable-looking URLs że wszystkie resolve to the same shell, lub an explosion of parametr URLs. Cart i realizacja zakupu state lives client-side i powinien nigdy gate the indeksowalny produkt treść. i każdy produkt strona musi independently zwracać rzeczywisty, unique HTML — the app-shell trap jest najbardziej expensive exactly gdzie you mieć the najbardziej strony. The fixes są the same ones z ecommerce i faceted-navigation SEO; the PWA warstwa doesn’t change them, it just makes the SSR/prerender discipline więcej ważny.

Bing i PWAs

Worth a wiersz: Bing ma opublikowany no PWA-specific ranking lub indeksowanie guidance. jego webmaster guidelines są PWA-agnostic (general możliwość indeksowania, sitemaps, robots.txt, IndexNow), i Microsoft’s extensive PWA docs są entirely o Edge install prompts, PWABuilder, i Microsoft sklep packaging — distribution i installation, a oddzielny track z web-search indeksowanie. So dla Bing, domyślny to ordinary JS-renderowanie możliwość indeksowania guidance; there’s no PWA exception to learn.

The bottom wiersz

PWA SEO jest JavaScript/SPA SEO plus exactly two additions: ignore the manifest as an SEO input (it’s dla installability), i configure the service worker so it nigdy traps Googlebot in a stale lub offline pamięć podręczna. Get tamte right i a PWA indexes exactly like dowolny other well-built witryna — no bonus, no penalty, just the same reguły.

Add an expert note

Pin an expert quote

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