SEO para PWA

SEO para Progressive Web Apps: por qué "pasar a PWA" no mejora el posicionamiento, por qué el manifest.json es irrelevante para el SEO, cómo un service worker mal configurado puede servir a Googlebot una caché obsoleta y dónde se solapan (y dónde no) Core Web Vitals (Métricas web esenciales) y HTTPS con el SEO.

Publicado por primera vez: 3 jul 2026 · Última actualización: 13 ago 2026 · Avanzado
Idiomas

Una PWA es un sitio web ampliado con un manifest y un service worker: para Google sigue siendo un sitio normal (habitualmente JavaScript/SPA), sin ninguna ventaja de posicionamiento inherente. El manifest.json es irrelevante para el SEO (controla la instalabilidad, no la indexación). El único riesgo realmente específico de las PWA es el service worker: el renderizador de Google no ejecuta service workers al indexar, así que una estrategia de HTML cache-first puede entregar a Googlebot una página obsoleta o sin conexión. Se corrige con network-first para el HTML, y el resto es SEO ordinario de JS/SPA.

TL;DR — Una PWA es un manifest + un service worker superpuestos a lo que casi siempre es un sitio JS/SPA, así que las reglas de renderizado del SEO en JavaScript/SPA se aplican sin cambios, más dos preocupaciones específicas de las PWA. Google no concede a las PWA ninguna ventaja de posicionamiento (Mueller). El manifest.json rige la instalabilidad, no la indexación, y no hay evidencia de que los sistemas de posicionamiento lo lean. El service worker es el riesgo real: el renderizador de Google no ejecuta service workers al indexar, así que una estrategia de HTML cache-first puede indexar un armazón obsoleto o sin conexión; use network-first para el HTML y cache-first para los recursos estáticos. HTTPS es un requisito ineludible para los service workers y, por separado, una señal de posicionamiento mínima; no encadene ambas cosas para llegar a “las PWA posicionan mejor”. Core Web Vitals (Métricas web esenciales) es el único solapamiento legítimo, y lo que cuenta es la ingeniería, no la etiqueta de 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 es, antes que nada, un sitio web

El marco mental más útil: una Progressive Web App es un sitio web normal con dos cosas añadidas encima. Según la propia definición de Google, las PWA “are web apps built and enhanced with modern APIs to provide enhanced capabilities while still reaching any web user on any device with a single codebase.” (traducción) «son aplicaciones web creadas y mejoradas con APIs modernas para ofrecer capacidades avanzadas sin dejar de llegar a cualquier usuario web en cualquier dispositivo con una sola base de código». Los tres pilares que Google enumera son Capable, Reliable e Installable (capaz, fiable e instalable): conviene notar que ninguno de los tres es “rankable” (posicionable).

Desde el punto de vista arquitectónico, esa base de código es casi siempre un framework de JavaScript que ejecuta un patrón de aplicación de una sola página (SPA). Lo que significa: todo lo que rige la indexabilidad de JS/SPA rige la indexabilidad de una PWA, sin ninguna modificación. Enlaces <a href> reales y enrutamiento con la History API (no fragmentos hash) para la direccionabilidad; renderizado en el servidor o prerrenderizado para la disponibilidad del contenido; canonical, título y metaetiquetas por ruta en el DOM renderizado. Si ha leído el material sobre SEO en JavaScript y SEO para SPA, ya conoce el 90 % del SEO para PWA: el modo de fallo del app shell, en particular, es uno que Google documenta explícitamente: “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.” (traducción) «Algunos sitios con JavaScript pueden usar el modelo de app shell, en el que el HTML inicial no contiene el contenido real y Google necesita ejecutar JavaScript para poder ver el contenido real de la página que genera JavaScript». Una PWA que publica un armazón vacío sin SSR/prerrenderizado hereda ese problema directamente.

Así que el alcance honesto de un artículo de SEO específico de las PWA es reducido: el manifest y el service worker. Todo lo demás es SEO en JavaScript/SPA con un manifest puesto.

El mito central: “pasar a PWA” no mejora el posicionamiento

Este es el titular. Google ha sido inusualmente directo al respecto. John Mueller, en una sesión de office-hours de Search Central, dijo que las PWA “currently don’t have any advantage in Google Search, and as far as I know, there are no plans to change this,” (traducción) «actualmente no tienen ninguna ventaja en la Búsqueda de Google y, por lo que sé, no hay planes de cambiarlo», y —preguntado sobre si convertir un sitio en PWA ayudaría— “By default, saying going to a PWA will make your rankings better — I don’t think that is the case.” (traducción) «Por defecto, decir que pasar a una PWA mejorará tu posicionamiento: no creo que sea así».

También se anticipó al contraargumento habitual, el de “nuestro competidor pasó a PWA y su posicionamiento subió”. Su respuesta: “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.” (traducción) «Así que el simple hecho de que uno de sus competidores haya pasado de un framework a otro y haya visto una mejora en la búsqueda: ese cambio de framework, desde mi punto de vista, no sería el responsable». Y sobre el motivo: “These are essentially different ways of making a website… for the most part, we see these as normal HTML pages.” (traducción) «Son esencialmente formas distintas de hacer un sitio web… en su mayor parte, las vemos como páginas HTML normales».

Cuando los relanzamientos de PWA se correlacionan con subidas de posicionamiento, son los factores de confusión que acompañan a cualquier reconstrucción grande: enlazado interno modernizado, contenido actualizado y ampliado, mejoras reales de velocidad y, normalmente, un empujón de marketing ligado al relanzamiento. Nada de eso requiere la etiqueta de PWA. Si se reconstruye un sitio de 10 a 15 años crecido de forma orgánica, se cambian una docena de cosas a la vez: atribuir el resultado a la “PWA” es un error de correlación.

Las declaraciones de Mueller en las office-hours citadas arriba las relatan Search Engine Journal y, de forma independiente, Search Engine Roundtable, que cubren la misma sesión de noviembre de 2021; no he vuelto a reproducir el vídeo original, así que trátelas como oficiales-reportadas.

Manifest.json: instalabilidad ≠ indexabilidad

El archivo manifest.json existe para que la aplicación sea instalable. Sus campos —name, short_name, icons, start_url, display, theme_color— determinan el mensaje de instalación, el icono de la pantalla de inicio, la pantalla de bienvenida y si la aplicación se abre de forma independiente o en una pestaña del navegador. Ese es todo su cometido.

No hay evidencia de que los sistemas de posicionamiento o de indexación de Google lean el manifest como señal. La confirmación externa más limpia es la propia lista de comprobación de PWA de Google, que enumera “Is installable” («Es instalable») y “Discoverable in search” («Se puede descubrir en la búsqueda») como dos categorías de la lista separadas e independientes, donde la descubribilidad se define como los fundamentos habituales del SEO: “Enable search engine discovery through unique URLs, descriptive titles, meta descriptions, and structured data.” (traducción) «Facilita la detección por parte de los motores de búsqueda mediante URLs únicas, títulos descriptivos, metadescripciones y datos estructurados». La instalabilidad (gobernada por el manifest) y la descubribilidad (SEO clásico) se tratan como preocupaciones paralelas, no como que una alimente a la otra. Así que: mantenga un manifest válido porque es lo que hace que la aplicación sea instalable, pero no lo archive bajo SEO.

Google no publica una página que afirme con esas palabras exactas que manifest.json queda excluido del posicionamiento; se trata de una inferencia bien fundamentada a partir de la declaración de «ninguna ventaja», de la separación de ambas categorías en la lista de comprobación y de la ausencia total del manifest en la documentación de Google sobre factores de posicionamiento: formúlelo como «no hay evidencia de que se lea», no como «confirmado que se ignora».

Service workers: el único riesgo de SEO realmente específico de las PWA

Este es el hecho que más importa, y es específico de las PWA: el servicio de renderizado de Google no ejecuta el service worker cuando renderiza una página para indexarla. El razonamiento, de 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.” (traducción) «Como tenemos que asumir que quien hace clic en tu página desde una SERP es un visitante que llega por primera vez, ejecutar un service worker normalmente no va a servir de mucho». Todo el sentido de un service worker es acelerar las visitas repetidas desde una caché, y Googlebot, por diseño, se trata siempre como un visitante que llega por primera vez, así que no hay nada que acelerar. De nuevo Splitt: “We’re not supporting that because users clicking onto your page from the search result might never have been there beforehand.” (traducción) «No lo admitimos porque los usuarios que hacen clic en tu página desde el resultado de búsqueda puede que nunca hayan estado allí antes». Mueller ha confirmado que es una política estable, no un estado temporal: “I wouldn’t expect it to change — it’s computationally expensive to run service-workers in the background like this for indexing.” (traducción) «No esperaría que cambie: es computacionalmente costoso ejecutar service workers en segundo plano de esta manera para la indexación».

Estas tres declaraciones de representantes las relata SearchViu (Splitt en Google I/O 2019/2020; Mueller, según se informó, en julio de 2023); he confirmado las citas de Splitt y de Mueller como subcadenas exactas en esa página, pero es un relato de terceros, no una URL propiedad de Google. Tenga en cuenta además que “never runs” (traducción) «nunca los ejecuta» resulta algo demasiado absoluto: Splitt, de Google, ha indicado que los web workers a veces pueden ejecutarse; el encuadre seguro es “the rendering service doesn’t run service workers by design,” (traducción) «el servicio de renderizado no ejecuta service workers por diseño», no “under no circumstance.” (traducción) «bajo ninguna circunstancia».

¿Y por qué es eso un riesgo? Porque el service worker se ejecuta en los navegadores de los usuarios reales y, si se le indicó servir el HTML con cache-first —devolver la copia guardada y saltarse la red—, un visitante real que repite ve una página rápida desde la caché, pero es una estrategia que Googlebot nunca ejecuta. El peligro es el caso inverso: un patrón de caché que, ante cualquier error o condición de reserva, devuelva un documento obsoleto o la página de reserva sin conexión. Como el renderizado no mantiene estado y el WRS trata cada petición como nueva, una estrategia de caché mal configurada es la vía por la que una PWA acaba con Googlebot indexando contenido desactualizado o un armazón vacío sin conexión en lugar del contenido en vivo.

Regla general para la estrategia de caché:

  • Documentos HTML → network-first (o stale-while-revalidate con un TTL corto). Obtenga la página en vivo; use la caché solo como reserva sin conexión y asegúrese de que esa reserva nunca sea lo que indexaría un rastreo nuevo.
  • Recursos estáticos (JS, CSS, imágenes, fuentes) → cache-first está bien y es deseable: no cambian en cada petición y no son el documento indexable.

Cómo auditarlo: compare lo que ve Googlebot con lo que el navegador de un visitante que repite sirve desde la caché. Use URL Inspection (herramienta de inspección de URLs) en Search Console con la prueba en vivo para ver el HTML renderizado que Google obtiene realmente y compárelo con la página en vivo. Si divergen, el primer sospechoso es el service worker o la configuración de SSR. Y vigile los tiempos de espera de renderizado en configuraciones híbridas: como señaló Hamlet Batista en la época del renderizado dinámico, “Rendering services won’t wait forever for a page to finish loading.” (traducción) «Los servicios de renderizado no esperarán indefinidamente a que una página termine de cargar». (Ese artículo concreto trata del renderizado dinámico, que Google ahora desaconseja en favor del SSR: cite el principio del tiempo de espera, no el patrón.)

HTTPS: un requisito de los service workers y, por separado, una señal de posicionamiento mínima

Verá artículos de SEO para PWA que insinúan: “las PWA necesitan HTTPS y HTTPS mejora el posicionamiento; por tanto, las PWA son más favorables al SEO”. Dos hechos verdaderos, mal encadenados.

Hecho uno: los service workers solo se ejecutan en un contexto seguro. Según 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.” (traducción) «Los service workers solo están disponibles en contextos seguros: esto significa que su documento se sirve mediante HTTPS, aunque los navegadores también tratan http://localhost como un contexto seguro para facilitar el desarrollo local». Es una regla de la plataforma del navegador, no una táctica de SEO: sin HTTPS, no hay service worker, y punto.

Hecho dos: HTTPS es una señal de posicionamiento real de Google, pero minúscula. El propio anuncio de Google de 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.” (traducción) «estamos empezando a usar HTTPS como señal de posicionamiento. Por ahora es solo una señal muy ligera: afecta a menos del 1 % de las consultas globales y tiene menos peso que otras señales, como el contenido de alta calidad».

La cuestión: cualquier sitio con HTTPS recibe esa misma señal mínima, sea PWA o no. Una PWA no obtiene crédito de SEO extra por HTTPS; simplemente no puede funcionar sin él. No venda HTTPS como un beneficio de SEO de las PWA.

Core Web Vitals (Métricas web esenciales): el único solapamiento legítimo

Si hay un lugar real donde se encuentran “buena PWA” y “buen SEO”, es el rendimiento. La guía de PWA de Google empieza por la fiabilidad —“A reliable Progressive Web App feels fast and dependable regardless of the network” (traducción) «Una Progressive Web App fiable se percibe rápida y de confianza independientemente de la red»— y las Core Web Vitals son un factor de posicionamiento confirmado (aunque modesto). Una PWA bien construida que cargue rápido y se mantenga receptiva tenderá a puntuar bien en las Vitals.

Pero lea la causalidad con cuidado: lo que cuenta es la ingeniería, no el hecho de ser PWA. Una PWA hinchada —un bundle de JS enorme, hidratación que bloquea el renderizado, un service worker demasiado agresivo— puede registrar fácilmente peores Core Web Vitals que una página sencilla renderizada en el servidor. La ganancia en Vitals viene de hacer bien el trabajo de rendimiento, algo que se puede hacer con manifest o sin él. Ser una PWA no garantiza buenas Vitals ni concede un atajo hacia ellas.

Las funciones tipo app son UX, no factores de posicionamiento

Añadir a la pantalla de inicio, modo sin conexión, notificaciones push, navegación tipo app: todos son beneficios reales y valiosos de las PWA, y todos son funciones de interacción/retención, no entradas de indexación ni de posicionamiento. La lista de comprobación de PWA de Google hace explícita la separación al poner “installable” (traducción) «instalable» y “discoverable in search” (traducción) «localizable en la búsqueda» en bloques distintos.

Tampoco trate “instalable” como una capacidad única y universal: varía según el navegador y el sistema operativo, lo cual es una razón más por la que no puede ser una señal de SEO (Google no tendría un comportamiento consistente entre navegadores que premiar). El evento beforeinstallprompt, que permite a una PWA mostrar su propia interfaz de instalación personalizada, es un mecanismo exclusivo de Chromium; según la guía de instalabilidad de PWA de MDN, “not supported on iOS.” (traducción) «no se admite en iOS». En iOS Safari, la instalación ocurre únicamente mediante el flujo manual Share → Add to Home Screen (traducción) «Compartir → Añadir a pantalla de inicio» (extendido a Chrome, Edge, Firefox y Orion en iOS 16.4+, todos los cuales usan el motor WebKit que Apple exige en iOS y por tanto comparten esa limitación), no mediante un mensaje automático. Nada de eso cambia el panorama de SEO: solo significa que “¿es instalable mi PWA?” no es un hecho de sí o no independiente del navegador y del sistema operativo del visitante.

Twitter Lite es el caso de estudio al que todo el mundo recurre como “prueba de que las PWA ayudan al SEO” —y sus resultados documentados son reales (un aumento del 65 % en páginas por sesión, un aumento del 75 % en tweets enviados, una reducción del 20 % en la tasa de rebote)—, pero cada una de esas cifras es una métrica de interacción. El propio caso de estudio de Google no menciona en ningún momento el SEO, la búsqueda orgánica ni el posicionamiento. Gran resultado; columna equivocada.

Escaparates de ecommerce en PWA: una nota breve

Los escaparates PWA añaden algunos matices que merece la pena nombrar, porque agravan los riesgos de las SPA. El enrutamiento en el cliente más la navegación por facetas pueden generar URLs con aspecto rastreable que resuelven todas al mismo armazón, o una explosión de URLs con parámetros. El estado del carrito y del checkout vive en el cliente y nunca debería condicionar el contenido de producto indexable. Y cada página de producto debe devolver de forma independiente HTML real y único: la trampa del app shell sale más cara justo donde hay más páginas. Las soluciones son las mismas del SEO para ecommerce y del SEO de navegación por facetas; la capa PWA no las cambia, solo hace más importante la disciplina de SSR/prerrenderizado.

Bing y las PWA

Merece una línea: Bing no ha publicado ninguna guía de posicionamiento o indexación específica para PWA. Sus directrices para webmasters son agnósticas respecto a las PWA (rastreabilidad general, sitemaps, robots.txt, IndexNow), y la extensa documentación de PWA de Microsoft trata por completo de los mensajes de instalación de Edge, PWABuilder y el empaquetado para Microsoft Store: distribución e instalación, una vía separada de la indexación en la búsqueda web. Así que, para Bing, aplique por defecto la guía habitual de rastreabilidad con renderizado de JavaScript; no hay ninguna excepción PWA que aprender.

La conclusión

El SEO para PWA es SEO en JavaScript/SPA más exactamente dos añadidos: ignorar el manifest como entrada de SEO (es para la instalabilidad) y configurar el service worker para que nunca atrape a Googlebot en una caché obsoleta o sin conexión. Si se acierta en eso, una PWA se indexa exactamente igual que cualquier otro sitio bien construido: sin bonificación, sin penalización y con las mismas reglas.

Add an expert note

Pin an expert quote

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