WP WebApp - PWA Manager
Convierte tu sitio WordPress en una Progressive Web App (PWA) instalable en Android, iOS y escritorio. Panel de administración completo para configurar manifest, iconos, service worker y botón de instalación.
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/ayelmo70/wp_webapp/archive/refs/heads/main.zipPlugin completo de WordPress para convertir tu sitio en una Progressive Web App (PWA) instalable en Android, iOS y escritorio.
🚀 Características
✅ Panel de administración intuitivo con interfaz visual ✅ Generación automática de manifest.json dinámico ✅ Service Worker automático con caché offline ✅ Subida de iconos desde WordPress Media Library ✅ Botón de instalación flotante personalizable ✅ Compatible con iOS (Apple Touch Icons) ✅ Soporte para iconos maskable (Android adaptativo) ✅ Colores personalizables con color picker ✅ Herramientas de prueba integradas ✅ 100% genérico - funciona con cualquier sitio WordPress
📋 Requisitos
- WordPress 5.0 o superior
- PHP 7.0 o superior
- HTTPS (obligatorio para PWAs)
- Permisos de administrador
📦 Instalación
Método 1: Subir ZIP desde WordPress
- Ve a Plugins → Añadir nuevo → Subir plugin
- Selecciona el archivo
wp-webapp.zip - Haz clic en "Instalar ahora"
- Activa el plugin
Método 2: FTP Manual
- Sube la carpeta
wp-webappa/wp-content/plugins/ - En WordPress: Plugins → Activar "WP WebApp - PWA Manager"
⚙️ Configuración
1. Acceder al panel
Menú lateral → PWA Manager (icono 📱)
2. Configurar datos básicos (Pestaña General)
- Nombre de la aplicación: Nombre completo de tu web
- Nombre corto: Máximo 12 caracteres
- Descripción: Breve descripción
- Color del tema: Color de la barra de estado (Android)
- Color de fondo: Color de pantalla de carga
- Display:
Standalone(recomendado) - Orientación: Cualquiera, Portrait o Landscape
3. Subir iconos (Pestaña Iconos)
Obligatorios:
- ✅ Icono 192x192 píxeles (PNG)
- ✅ Icono 512x512 píxeles (PNG)
Opcionales (recomendados):
- Icono Maskable 192x192
- Icono Maskable 512x512
- Apple Touch Icon (iOS)
💡 Usa Maskable.app para crear iconos maskable correctos.
4. Configurar botón (Pestaña Botón de Instalación)
- Activar/desactivar botón flotante
- Personalizar texto
- Elegir posición (4 esquinas disponibles)
5. Guardar y probar (Pestaña Probar PWA)
- Botón "Probar" para verificar Manifest
- Botón "Probar" para verificar Service Worker
- Instrucciones para Android, iOS y Chrome DevTools
🧪 Verificar que funciona
Chrome DevTools (F12):
- Application → Manifest - Ver configuración
- Application → Service Workers - Debe estar "activated"
- Lighthouse → PWA - Score recomendado > 80
En dispositivos:
Android (Chrome/Edge):
- Menú ⋮ → Instalar aplicación
iOS (Safari):
- Botón Compartir → Añadir a pantalla de inicio
📱 Cómo funciona
Archivos generados automáticamente:
/manifest.json- Configuración de la PWA/sw.js- Service Worker para caché offline
Ambos se generan dinámicamente desde la configuración del panel.
Meta tags añadidos automáticamente:
El plugin añade en el <head>:
- Link al manifest
- Meta theme-color
- Meta tags para iOS
- Apple touch icon
Botón de instalación:
- Se muestra automáticamente cuando la PWA es instalable
- Se oculta si ya está instalada
- En iOS muestra instrucciones (Safari no soporta install prompt)
🎨 Personalización
Valores por defecto:
Al activar el plugin, se configuran automáticamente:
- Nombre: Tomado de tu sitio WordPress
- Descripción: Tomada de tu sitio WordPress
- Color del tema: Azul WordPress (
#2271b1) - Todo es editable desde el panel
Hooks disponibles:
// Personalizar manifest
add_filter('wp_webapp_manifest', function($manifest) {
$manifest['categories'] = ['business', 'productivity'];
return $manifest;
});
// Añadir URLs al caché
add_filter('wp_webapp_cache_urls', function($urls) {
$urls[] = '/pagina-importante/';
return $urls;
});
🛠️ Solución de problemas
El banner no aparece en Android
Causas:
- Tu sitio no es HTTPS ❌
- No has visitado 2 veces con 5 minutos de diferencia
- Ya rechazaste el banner previamente
Solución:
- Usa el botón de instalación flotante (siempre funciona)
- O instala manualmente: ⋮ → Instalar aplicación
Los archivos manifest.json o sw.js dan 404
Solución:
- Ve a Ajustes → Enlaces permanentes
- Haz clic en "Guardar cambios" (sin modificar nada)
- Esto reconstruye las reglas de rewrite
El icono no se ve en iOS
Verifica:
- Has configurado el Apple Touch Icon
- El icono es PNG (no JPG)
- La URL es accesible
📂 Estructura del plugin
wp-webapp/
├── wp-webapp.php # Archivo principal
├── README.md # Esta documentación
├── includes/
│ └── functions.php # Funciones auxiliares
├── admin/
│ └── settings-page.php # Panel de administración
└── assets/
├── css/admin.css # Estilos del panel
└── js/admin.js # JavaScript (tabs, uploader, etc.)
❓ FAQ
¿Funciona con cualquier tema?
Sí, es completamente independiente del tema.
¿Es compatible con otros plugins?
Sí, compatible con WooCommerce, Elementor, Gutenberg, etc.
¿Afecta al SEO?
No, al contrario. Google favorece las PWAs.
¿Necesito saber programar?
No, todo se configura visualmente desde el panel.
¿Tiene notificaciones push?
Esta versión 1.0 no incluye push notifications. Planificado para futuras versiones.
¿Funciona offline?
Sí, el Service Worker cachea recursos para uso offline básico.
🔧 Configuración avanzada
Añadir más URLs al caché:
Edita wp-webapp.php y busca la variable $urlsToCache en la función serve_service_worker().
Cambiar estrategia de caché:
Por defecto usa Network First, falling back to cache. Puedes modificar el Service Worker para usar otras estrategias (Cache First, Network Only, etc.).
📊 Compatibilidad
| Plataforma | Navegador | Instalable | Notas |
|---|---|---|---|
| Android | Chrome 76+ | ✅ | Banner automático |
| Android | Edge 79+ | ✅ | Banner automático |
| Android | Samsung Internet 11+ | ✅ | Banner automático |
| iOS | Safari 11.3+ | ✅ | Solo manual |
| iOS | Chrome | ❌ | Usar Safari |
| Windows | Chrome/Edge | ✅ | Desde barra de direcciones |
| macOS | Chrome/Edge | ✅ | Desde barra de direcciones |
| Linux | Chrome/Edge | ✅ | Desde barra de direcciones |
📝 Changelog
Version 1.0.0
- ✅ Lanzamiento inicial
- ✅ Panel de administración completo
- ✅ Generación dinámica de manifest y SW
- ✅ Botón de instalación personalizable
- ✅ Soporte iOS y Android
- ✅ Herramientas de prueba integradas
🤝 Contribuir
Este es un plugin open-source. Contribuciones son bienvenidas:
- Fork el repositorio
- Crea una rama para tu feature
- Commit tus cambios
- Push y crea un Pull Request
📄 Licencia
GPL v2 or later - https://www.gnu.org/licenses/gpl-2.0.html
🔗 Enlaces útiles
💬 Soporte
¿Problemas o preguntas?
- Lee esta documentación completa
- Revisa la pestaña "Probar PWA" del plugin
- Verifica la consola del navegador (F12)
- Crea un issue en GitHub
¡Convierte tu WordPress en una PWA en minutos! 🚀