🔧 Correções PWA - Tools Artes do Sul
✅ Arquivos Criados/Atualizados
1. manifest-tools.json ✅
- Manifest específico para o site principal (index.html)
- Configurado com
start_url: "/" - Ícones apontando para
/icons/ - Theme color:
#0d6efd(azul Bootstrap)
2. sw-tools.js ✅
- Service Worker específico para o site principal
- Cache de recursos estáticos
- Estratégia Network First com fallback
3. index.html ✅
- Adicionado
<link rel="manifest" href="/manifest-tools.json"> - Adicionado meta tags PWA (theme-color, description)
- Adicionado ícones (apple-touch-icon, favicon)
- Adicionado código de registro do Service Worker
- Adicionado handler para
beforeinstallprompt
🚨 Problemas Identificados e Soluções
Problema 1: Manifest não encontrado
Sintoma: PWA não ativa, erro 404 no manifest
Solução:
- Verificar se
manifest-tools.jsonestá na raiz do servidor - Verificar se o arquivo está acessível:
https://tools.artesdosul.com/manifest-tools.json - Verificar Content-Type: deve ser
application/manifest+json
Alternativa: Se preferir usar manifest.json:
# Renomear o arquivo
mv manifest-tools.json manifest.json
# Atualizar no index.html
# De: <link rel="manifest" href="/manifest-tools.json">
# Para: <link rel="manifest" href="/manifest.json">
Problema 2: Service Worker não registra
Sintoma: Service Worker não aparece no DevTools
Solução:
- Verificar se
sw-tools.jsestá na raiz do servidor - Verificar se está acessível:
https://tools.artesdosul.com/sw-tools.js - Verificar console do navegador para erros
- Verificar se está usando HTTPS (obrigatório em produção)
Problema 3: Ícones não encontrados
Sintoma: Ícones aparecem quebrados ou não aparecem
Solução:
- Verificar se a pasta
icons/existe na raiz - Verificar se todos os arquivos PNG existem
- Verificar permissões de arquivo no servidor
- Testar acesso direto:
https://tools.artesdosul.com/icons/icon-192x192.png
Problema 4: PWA não instala
Sintoma: Botão de instalação não aparece
Possíveis causas:
- Manifest inválido (verificar JSON)
- Falta ícone 192x192 ou 512x512
- Não está em HTTPS
- Service Worker não está registrado
- Já está instalado
📋 Checklist de Deploy
Antes de Publicar:
manifest-tools.jsonestá na raiz do servidorsw-tools.jsestá na raiz do servidor- Pasta
icons/existe e contém todos os ícones - Todos os caminhos no manifest estão corretos
- Site está servindo via HTTPS
Após Publicar:
- Acessar
https://tools.artesdosul.com/manifest-tools.json(deve retornar JSON) - Acessar
https://tools.artesdosul.com/sw-tools.js(deve retornar JavaScript) - Acessar
https://tools.artesdosul.com/icons/icon-192x192.png(deve retornar imagem) - Abrir DevTools > Application > Manifest (deve mostrar o manifest)
- Abrir DevTools > Application > Service Workers (deve mostrar SW registrado)
- Verificar console para erros
🔍 Ferramenta de Diagnóstico
Use o arquivo diagnostico-pwa.html para verificar:
- Se HTTPS está ativo
- Se Service Worker API está disponível
- Se manifest está carregando
- Se Service Worker está registrado
- Se ícones estão acessíveis
- Se PWA está pronta para instalar
Como usar:
- Fazer upload de
diagnostico-pwa.htmlpara o servidor - Acessar
https://tools.artesdosul.com/diagnostico-pwa.html - Verificar os resultados
🛠️ Comandos Úteis
Verificar se arquivos estão acessíveis:
# Manifest
curl -I https://tools.artesdosul.com/manifest-tools.json
# Service Worker
curl -I https://tools.artesdosul.com/sw-tools.js
# Ícones
curl -I https://tools.artesdosul.com/icons/icon-192x192.png
curl -I https://tools.artesdosul.com/icons/icon-512x512.png
Verificar Content-Type:
curl -I https://tools.artesdosul.com/manifest-tools.json | grep -i content-type
# Deve retornar: Content-Type: application/manifest+json
📝 Notas Importantes
- HTTPS é obrigatório para PWA em produção
- Service Worker só funciona via HTTP/HTTPS (não funciona com
file://) - Ícones obrigatórios: 192x192 e 512x512 são mínimos recomendados
- Manifest deve ser JSON válido (sem erros de sintaxe)
- Scope deve incluir todas as páginas que você quer que funcionem offline
🎯 Próximos Passos
- Fazer upload dos arquivos para o servidor
- Verificar acessibilidade usando
diagnostico-pwa.html - Testar no Chrome DevTools
- Executar Lighthouse PWA Audit
- Testar instalação em diferentes dispositivos