SEO per PWA

SEO per Progressive Web App — perché "diventare PWA" non migliora il posizionamento, perché il manifest.json è irrilevante per la SEO, come un service worker configurato male può servire a Googlebot una cache obsoleta, e dove Core Web Vitals e HTTPS effettivamente (e non) si sovrappongono alla SEO.

Prima pubblicazione: 3 lug 2026 · Ultimo aggiornamento: 3 ago 2026 · Advanced
Lingue

Una PWA è un sito web potenziato con un manifest e un service worker — per Google è ancora un sito normale (di solito JavaScript/SPA), senza alcun vantaggio intrinseco di posizionamento. Il manifest.json è irrilevante per la SEO (controlla l'installabilità, non l'indicizzazione). L'unico vero rischio specifico delle PWA è il service worker: il renderer di Google non esegue i service worker durante l'indicizzazione, quindi una strategia cache-first per l'HTML può consegnare a Googlebot una pagina obsoleta o offline. Risolvi con network-first per l'HTML, e il resto è normale SEO per JS/SPA.

TL;DR — Una PWA è un manifest + un service worker sovrapposti a ciò che è quasi sempre un sito JS/SPA — quindi le regole di rendering da JavaScript/SPA SEO si applicano invariate, più due preoccupazioni specifiche delle PWA. Google non dà alle PWA nessun vantaggio di ranking (Mueller). Il manifest.json governa l’installabilità, non l’indicizzazione, e non ci sono prove che i sistemi di ranking lo leggano. Il service worker è il vero rischio: il renderer di Google non esegue i service worker durante l’indicizzazione, quindi una strategia HTML cache-first può indicizzare una shell obsoleta o offline — usa network-first per l’HTML, cache-first per gli asset statici. HTTPS è un requisito rigido per i service worker e separatamente un piccolo segnale di ranking; non concatenare questi in “le PWA si classificano meglio.” Core Web Vitals è l’unica sovrapposizione legittima, ed è l’ingegneria, non l’etichetta 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

Una PWA è prima di tutto un sito web

La cornice più utile: una Progressive Web App è un normale sito web con due cose aggiunte sopra. Secondo la definizione di Google, le PWA “sono app web costruite e potenziate con API moderne per fornire capacità avanzate pur raggiungendo qualsiasi utente web su qualsiasi dispositivo con un’unica base di codice.” I tre pilastri che Google nomina sono Capable, Reliable e Installable — nota che nessuno dei tre è “rankable.”

Architetturalmente, quel codebase è quasi sempre un framework JavaScript che esegue un pattern di applicazione a pagina singola. Il che significa: tutto ciò che governa l’indicizzabilità JS/SPA governa l’indicizzabilità PWA, senza modifiche. Link reali <a href> e routing con History-API (non frammenti hash) per l’addressability; rendering lato server o prerendering per la disponibilità dei contenuti; canonical, title e meta per rotta nel DOM renderizzato. Se hai letto il materiale su JavaScript SEO e SPA SEO, conosci già il 90% della PWA SEO — il failure mode dell’app shell, in particolare, è uno che Google documenta esplicitamente: “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.” (traduzione) «Alcuni siti JavaScript possono usare il modello app shell in cui l’HTML iniziale non contiene il contenuto effettivo e Google deve eseguire JavaScript prima di poter vedere il contenuto effettivo della pagina che JavaScript genera.» Una PWA che fornisce una shell vuota senza SSR/prerender eredita direttamente quel problema.

Quindi l’ambito onesto di un articolo specifico per PWA SEO è piccolo: il manifest e il service worker. Tutto il resto è JS/SPA SEO con un manifest.

Il mito centrale: “diventare PWA” non migliora il posizionamento

Questo è il titolo principale. Google è stato insolitamente diretto al riguardo. John Mueller, in una sessione di office-hours di Search Central, ha detto che le PWA “currently don’t have any advantage in Google Search, and as far as I know, there are no plans to change this,” e — alla domanda se convertire in PWA avrebbe aiutato — “By default, saying going to a PWA will make your rankings better — I don’t think that is the case.” (traduzione) «Attualmente non hanno alcun vantaggio nella Ricerca Google e, per quanto ne so, non ci sono piani per cambiare questo» e «Per impostazione predefinita, dire che passare a una PWA migliorerà il tuo posizionamento — non credo che sia il caso.»

Ha anche prevenuto la solita contro-argomentazione, cioè che “il nostro concorrente è passato a PWA e il loro posizionamento è balzato in alto.” La sua risposta: “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.” (traduzione) «Quindi solo il fatto che uno dei tuoi concorrenti sia passato da un framework all’altro e abbia visto un miglioramento nella ricerca, quel cambiamento di framework dal mio punto di vista non sarebbe responsabile di ciò.» E sul perché: “These are essentially different ways of making a website… for the most part, we see these as normal HTML pages.” (traduzione) «Questi sono essenzialmente modi diversi di creare un sito web… per la maggior parte, li vediamo come normali pagine HTML.»

Dove i rilanci PWA correlano con miglioramenti del posizionamento, sono i confondenti che accompagnano qualsiasi grande ricostruzione: linking interno modernizzato, contenuti aggiornati ed espansi, miglioramenti reali della velocità e di solito una spinta di marketing legata al rilancio. Niente di tutto ciò richiede l’etichetta PWA. Se ricostruisci un sito cresciuto organicamente di 10-15 anni, cambi una dozzina di cose contemporaneamente — attribuire il risultato a “PWA” è un errore di correlazione.

Le dichiarazioni di Mueller nelle office-hours sopra sono riportate da Search Engine Journal e indipendentemente da Search Engine Roundtable che coprono la stessa sessione del Nov 2021; non ho rivisto il video originale, quindi trattale come riportate-ufficiali.

Manifest.json: installabilità ≠ indicizzabilità

Il file manifest.json esiste per rendere la tua app installabile. I suoi campi — name, short_name, icons, start_url, display, theme_color — guidano il prompt di installazione, l’icona della schermata home, la splash screen e se l’app si apre standalone o in una scheda del browser. Questo è l’intero lavoro.

Non ci sono prove che i sistemi di ranking o indicizzazione di Google leggano il manifest come segnale. La conferma esterna più chiara è la checklist PWA di Google stessa, che elenca “Is installable” e “Discoverable in search” come due categorie di checklist separate e indipendenti — dove la discoverability è definita come fondamentali SEO ordinari: “Enable search engine discovery through unique URLs, descriptive titles, meta descriptions, and structured data.” (traduzione) «Abilita la scoperta da parte dei motori di ricerca tramite URL unici, titoli descrittivi, meta description e dati strutturati.» Installabilità (guidata dal manifest) e discoverability (SEO classica) sono trattate come preoccupazioni parallele, non una che alimenta l’altra. Quindi: mantieni un manifest valido perché è ciò che rende l’app installabile — semplicemente non metterlo sotto SEO.

Google non pubblica una pagina che dichiari esplicitamente che manifest.json è escluso dal ranking; si tratta di un’inferenza ben supportata dalla dichiarazione “nessun vantaggio”, dalla separazione delle due categorie nella checklist e dalla totale assenza del manifest dai documenti sui fattori di ranking di Google — formula come “nessuna prova che venga letto”, non “confermato ignorato”.

Service worker: l’unico vero rischio SEO specifico delle PWA

Ecco il fatto più importante, ed è specifico delle PWA: il servizio di rendering di Google non esegue il tuo service worker quando renderizza una pagina per l’indicizzazione. Il ragionamento, da Martin Splitt: “As we have to assume that someone clicking on your page from a SERP is a first-time visitor, running a service worker is usually not going to do much good.” (traduzione) «Dato che dobbiamo presumere che chi clicca sulla tua pagina da una SERP sia un visitatore alla prima visita, eseguire un service worker di solito non servirà a molto.» Lo scopo di un service worker è accelerare le visite ripetute da una cache — e Googlebot è, per progettazione, sempre trattato come un visitatore alla prima visita, quindi non c’è nulla da accelerare. Splitt di nuovo: “We’re not supporting that because users clicking onto your page from the search result might never have been there beforehand.” (traduzione) «Non lo supportiamo perché gli utenti che cliccano sulla tua pagina dal risultato di ricerca potrebbero non esserci mai stati prima.» Mueller ha confermato che questa è una politica stabile, non uno stato temporaneo: “I wouldn’t expect it to change — it’s computationally expensive to run service-workers in the background like this for indexing.” (traduzione) «Non mi aspetterei che cambi — è computazionalmente costoso eseguire service worker in background in questo modo per l’indicizzazione.»

Queste tre dichiarazioni sono riportate da SearchViu (Splitt a Google I/O 2019/2020; Mueller riportato a luglio 2023); ho confermato le citazioni di Splitt e Mueller come sottostringhe esatte su quella pagina, ma si tratta di una trasmissione di terze parti, non di un URL di proprietà di Google. Nota anche che “mai eseguito” è leggermente troppo assoluto — Splitt di Google ha indicato che i web worker a volte possono essere eseguiti; la formulazione sicura è “il servizio di rendering non esegue i service worker per progettazione”, non “in nessuna circostanza”.

Allora perché è un rischio? Perché il tuo service worker viene eseguito nei browser degli utenti reali, e se gli hai detto di servire HTML cache-first — restituisci la copia salvata, salta la rete — allora un visitatore ripetuto reale vede una pagina cache veloce, ma è una strategia che Googlebot non esegue mai. Il pericolo è il caso inverso: un pattern di caching che, in qualsiasi condizione di errore o fallback, restituisce un documento obsoleto o la pagina di fallback offline. Poiché il rendering è stateless e il WRS tratta ogni fetch come nuovo, una strategia di caching mal configurata è il modo in cui una PWA finisce con Googlebot che indicizza una shell offline obsoleta o vuota invece del contenuto live.

La regola pratica per la strategia di caching:

  • Documenti HTML → network-first (o stale-while-revalidate con TTL breve). Ottieni la pagina live; usa la cache solo come fallback offline e assicurati che quel fallback non sia mai ciò che una scansione fresca indicizzerebbe.
  • Asset statici (JS, CSS, immagini, font) → cache-first è giusto e desiderabile — non cambiano per richiesta e non sono il documento indicizzabile.

Come verificarlo: confronta ciò che Googlebot vede con ciò che il browser di un visitatore ripetuto serve dalla cache. Usa URL Inspection in Search Console (test live) per vedere l’HTML renderizzato che Google riceve effettivamente e confrontalo con la pagina live. Se divergono, il tuo service worker o la configurazione SSR è il primo sospetto. E osserva i timeout di rendering su configurazioni ibride — come ha notato Hamlet Batista dall’era del dynamic rendering, “Rendering services won’t wait forever for a page to finish loading.” (traduzione) «I servizi di rendering non aspetteranno per sempre che una pagina finisca di caricarsi.» (Quell’articolo specifico riguarda il dynamic rendering, che Google ora sconsiglia a favore di SSR — cita il principio del timeout, non il pattern.)

HTTPS: un requisito per i service worker e, separatamente, un segnale di ranking minimo

Vedrai post SEO sulle PWA implicare “le PWA richiedono HTTPS, e HTTPS migliora il ranking, quindi le PWA sono più SEO-friendly.” Due fatti veri, collegati in modo errato.

Fatto uno: i service worker funzionano solo in un contesto sicuro. Secondo 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.” (traduzione) «I service worker sono disponibili solo in contesti sicuri: ciò significa che il loro documento è servito su HTTPS, sebbene i browser trattino anche http://localhost come un contesto sicuro, per facilitare lo sviluppo locale.» Questa è una regola della piattaforma browser, non una tattica SEO — niente HTTPS, niente service worker, punto.

Fatto due: HTTPS è un vero segnale di ranking di Google, ma minuscolo. L’annuncio del 2014 di Google: “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.” (traduzione) «Stiamo iniziando a usare HTTPS come segnale di ranking. Per ora è solo un segnale molto leggero — che influisce su meno dell’1% delle query globali e ha meno peso di altri segnali come i contenuti di alta qualità.»

Il punto: qualsiasi sito HTTPS riceve lo stesso minuscolo segnale — PWA o no. Una PWA non ottiene credito SEO extra per HTTPS; semplicemente non può funzionare senza. Non vendere HTTPS come un beneficio SEO delle PWA.

Core Web Vitals: l’unica sovrapposizione legittima

Se c’è un posto reale dove “buona PWA” e “buona SEO” si incontrano, è la performance. La guida PWA di Google inizia con l’affidabilità — “A reliable Progressive Web App feels fast and dependable regardless of the network” (traduzione) «Una Progressive Web App affidabile risulta veloce e affidabile indipendentemente dalla rete» — e i Core Web Vitals sono un fattore di ranking confermato (seppur modesto). Una PWA ben ingegnerizzata che si carica velocemente e rimane reattiva tenderà a ottenere buoni punteggi sui Vitals.

Ma leggi la causalità con attenzione: è l’ingegneria, non l’essere PWA. Una PWA gonfia — bundle JS enorme, hydration che blocca il rendering, un service worker troppo zelante — può facilmente ottenere Core Web Vitals peggiori di una semplice pagina renderizzata lato server. Il vantaggio sui Vitals deriva dal fare bene il lavoro di performance, cosa che potresti fare con o senza un manifest. Essere una PWA non garantisce buoni Vitals né concede una scorciatoia per ottenerli.

Le funzionalità simili alle app sono UX, non fattori di ranking

Aggiunta alla schermata home, modalità offline, notifiche push, navigazione simile alle app — tutti benefici PWA genuini e preziosi, e tutte funzionalità di coinvolgimento/fidelizzazione, non input per l’indicizzazione o il ranking. La checklist PWA di Google rende esplicita la divisione mettendo “installabile” e “scopribile nella ricerca” in categorie separate.

Non trattare “installabile” come una capacità singola e universale — varia a seconda del browser e del sistema operativo, il che è un altro motivo per cui non può essere un segnale SEO (Google non avrebbe un comportamento coerente e cross-browser da premiare). L’evento beforeinstallprompt che permette a una PWA di mostrare la propria UI di installazione personalizzata è un meccanismo solo per Chromium; secondo la guida all’installabilità PWA di MDN, è “not supported on iOS.” (traduzione) «non supportato su iOS.» Su iOS Safari, l’installazione avviene solo tramite il flusso manuale Condividi → Aggiungi alla schermata Home (esteso a Chrome, Edge, Firefox e Orion su iOS 16.4+, tutti usano il motore WebKit richiesto da Apple su iOS e quindi condividono questa limitazione), non un prompt automatico. Nulla di tutto ciò cambia il quadro SEO — significa solo che “la mia PWA è installabile” non è un fatto sì/no indipendente dal browser e dal sistema operativo su cui si trova il visitatore.

Twitter Lite è il caso di studio a cui tutti ricorrono come “prova che le PWA aiutano la SEO” — e i suoi risultati documentati sono reali (un aumento del 65% delle pagine per sessione, aumento del 75% dei Tweet inviati, diminuzione del 20% della frequenza di rimbalzo) — ma ognuno di questi è una metrica di coinvolgimento. Il caso di studio di Google su di esso non menziona mai SEO, ricerca organica o ranking. Ottimo risultato; colonna sbagliata.

Storefront ecommerce PWA: una breve nota

Gli storefront PWA aggiungono alcune complicazioni degne di nota, perché amplificano i rischi delle SPA. Il routing lato client combinato con la navigazione a faccette può generare URL che sembrano crawlable ma che risolvono tutti allo stesso shell, o un’esplosione di URL con parametri. Lo stato del carrello e del checkout vive lato client e non dovrebbe mai bloccare i contenuti di prodotto indicizzabili. E ogni pagina prodotto deve restituire in modo indipendente HTML reale e unico — la trappola dell’app-shell è più costosa proprio dove hai più pagine. Le soluzioni sono le stesse della SEO per ecommerce e navigazione a faccette; il livello PWA non le cambia, rende solo più importante la disciplina di SSR/prerender.

Bing e le PWA

Vale una riga: Bing non ha pubblicato nessuna guida specifica per PWA su ranking o indicizzazione. Le sue linee guida per i webmaster sono agnostiche rispetto alle PWA (crawlability generale, sitemap, robots.txt, IndexNow), e l’ampia documentazione PWA di Microsoft riguarda interamente i prompt di installazione di Edge, PWABuilder e il packaging per Microsoft Store — distribuzione e installazione, un percorso separato dall’indicizzazione nella ricerca web. Quindi per Bing, attieniti alle normali linee guida di crawlability per il rendering JavaScript; non c’è alcuna eccezione PWA da imparare.

Il punto fondamentale

La SEO per PWA è la SEO per JavaScript/SPA più esattamente due aggiunte: ignora il manifest come input SEO (serve per l’installabilità) e configura il service worker in modo che non intrappoli mai Googlebot in una cache obsoleta o offline. Se fai queste cose correttamente, una PWA viene indicizzata esattamente come qualsiasi altro sito ben costruito — nessun bonus, nessuna penalità, solo le stesse regole.

Add an expert note

Pin an expert quote

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