# Modo Manutenção e Brevemente: guia completo

> O Modo Manutenção e Brevemente (dfmaintenancepro) mostra uma página de espera desenhada aos visitantes não autorizados (contagem decrescente, captação de e-mails, acesso de testadores por IP ou token e soft…

- Página: <https://www.datafirefly.com/pt/documentation/dfmaintenancepro/>
- Idioma: pt
- Atualizado em: 2026-09-03
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/dfmaintenancepro/index.md), [en](https://www.datafirefly.com/en/documentation/dfmaintenancepro/index.md), [es](https://www.datafirefly.com/es/documentation/dfmaintenancepro/index.md), [de](https://www.datafirefly.com/de/documentation/dfmaintenancepro/index.md), [it](https://www.datafirefly.com/it/documentation/dfmaintenancepro/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfmaintenancepro/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfmaintenancepro/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

O Modo Manutenção e Brevemente (`dfmaintenancepro`) mostra uma página de espera desenhada aos visitantes não autorizados (contagem decrescente, captação de e-mails, acesso de testadores por IP ou token e soft launch por país) sem nunca ativar o modo de manutenção nativo do PrestaShop. A loja continua tecnicamente online: o back-office, os webhooks de pagamento e as tarefas agendadas continuam a funcionar normalmente.

## Instalação

1. No back-office, abra **Módulos > Gestor de módulos > Instalar um módulo**.
2. Carregue o arquivo `dfmaintenancepro.zip` e clique em **Instalar**.
3. Clique em **Configurar** para abrir o painel do módulo.

A instalação cria a tabela `dfmp_subscriber` (e-mails captados), regista o separador oculto « Subscribers » e gera automaticamente um token de acesso único. Não é instalado nenhum override: o módulo assenta unicamente no hook `actionDispatcherBefore`.

O módulo fica desativado por defeito depois da instalação: configure tranquilamente a sua página, pré-visualize-a e ative-a no momento pretendido.

## Painel de informação

No topo da página de configuração, um painel resume o essencial:

- **Estado**: badge verde « ACTIVE » quando a página é servida aos visitantes, badge neutro caso contrário.
- **URL de testador**: a ligação `https://a-sua-loja.pt/?dfmp_token=XXXX` a partilhar: coloca um cookie de acesso no navegador do testador.
- **Regenerar o token**: invalida instantaneamente todos os cookies de acesso já concedidos.
- **Pré-visualizar**: mostra a página de manutenção mesmo com o módulo desativado (parâmetro `dfmp_preview`).
- **E-mails captados**: acesso direto à lista dos inscritos com o seu número.

## Configuração geral

- **Ativar a página de manutenção**: o interruptor principal. Uma vez ativado, todos os visitantes não autorizados veem a página de espera.
- **Modo**: « Brevemente (pré-lançamento) » ou « Manutenção (indisponibilidade temporária) ». Esta escolha só muda o badge apresentado na página; o comportamento SEO regula-se na secção SEO.
- **Data de lançamento**: formato `AAAA-MM-DD HH:MM`, fuso horário do servidor (Europe/Lisbon numa loja portuguesa; atenção à mudança de hora de verão). Alimenta a contagem decrescente e o cabeçalho `Retry-After`.
- **Mostrar a contagem decrescente**: o contador dias/horas/minutos/segundos oculta-se automaticamente assim que a data é atingida.

## Acesso de teste (IP e token)

### Lista branca de IP

Uma entrada por linha (ou separadas por vírgulas). São aceites três formatos:

- Endereços exatos IPv4 ou IPv6: `82.64.12.7`
- Intervalos CIDR: `192.168.1.0/24` ou `2001:db8::/32`
- Wildcards IPv4: `192.168.1.*`

### Ligação de testador com token

Partilhe o URL apresentado no painel de informação. Na abertura, é colocado um cookie assinado com HMAC SHA-256 no navegador do testador durante a duração configurada (72 horas por defeito): navega depois na loja real como se nada fosse. O campo **Duração do cookie de acesso** controla essa validade.

Uma ligação foi divulgada? Clique em « Regenerar o token »: o token muda e todos os cookies já colocados tornam-se inválidos imediatamente.

### Webhooks de pagamento

A opção **Autorizar os controladores front dos módulos** (ativada por defeito) deixa passar todos os pedidos `fc=module`: os IPN e callbacks de pagamento (PayPal, Stripe, IfthenPay, Easypay, etc.) nunca são bloqueados, mesmo em plena manutenção.

Os colaboradores autenticados no back-office veem sempre a loja real, sem qualquer configuração: a sessão de administração basta.

## Soft launch por país

Este modo transforma a página de espera numa ferramenta de lançamento progressivo:

1. Ative o **Soft launch**.
2. Preencha os **códigos de país ISO 3166-1 alpha-2** autorizados, separados por vírgulas: `PT,ES,FR,BR`.
3. Escolha o comportamento para um **país indeterminado**: mostrar a página de manutenção (por defeito, prudente) ou deixar entrar.

A deteção do país segue esta ordem:

1. Cabeçalhos de geolocalização do CDN: `CF-IPCountry` (Cloudflare), `CloudFront-Viewer-Country` (AWS), `X-Vercel-IP-Country`, `X-Geoip-Country` (nginx).
2. Base GeoLite2 do PrestaShop se a geolocalização estiver configurada em **Parâmetros internacionais > Geolocalização**.

Sem CDN nem base GeoLite2, o país não pode ser determinado: todos os visitantes seguem então a regra « país indeterminado ». Verifique a sua configuração antes de ativar um soft launch em produção.

## Conteúdo e design

- **Título, subtítulo, mensagem**: traduzíveis idioma a idioma através das bandeiras; a mensagem aceita HTML simples.
- **Logótipo**: URL absoluto de uma imagem (PNG/SVG aconselhado). Vazio, aparece o nome da loja em texto.
- **Cores**: fundo, destaque (contagem decrescente, botão, badge) e texto, através dos seletores de cor.
- **Redes sociais**: Facebook, Instagram, X, LinkedIn, YouTube: preencha apenas as que quer mostrar, os ícones SVG estão integrados.
- **CSS personalizado**: injetado no fim dos estilos para ajustar tudo com precisão.

A página gerada é 100 % autónoma: CSS e JavaScript inline, nenhum tipo de letra nem script de terceiros, nenhum pedido externo. Respeita `prefers-reduced-motion` e adapta-se ao telemóvel.

Use o botão « Pré-visualizar a página de manutenção » a cada ajuste: funciona com o módulo desativado, pelo que desenha sem risco antes da ativação.

## Captação de e-mails

- **Ativar a captação**: mostra o formulário sob a contagem decrescente.
- **Placeholder, designação do botão, mensagem de sucesso, menção RGPD**: todos traduzíveis por idioma.

O formulário funciona em AJAX com um campo honeypot invisível que neutraliza os bots. Cada inscrição regista o e-mail, o idioma, o país detetado, o IP e a data, com unicidade por endereço e por loja.

O e-mail, o IP e o país captados são dados pessoais: a menção RGPD deve indicar a finalidade (informar do lançamento), a identidade do responsável pelo tratamento e a forma de retirar o consentimento. Em Portugal, a prospeção por e-mail a particulares exige um consentimento prévio (opt-in) nos termos da Lei n.º 41/2004, sob a alçada da CNPD: esta inscrição vale como consentimento apenas para o que estiver escrito na menção.

### Lista dos inscritos e exportação CSV

A partir do painel de informação, abra **E-mails captados**: a lista filtra-se por coluna, ordena-se, limpa-se em massa e exporta-se em CSV através do botão **Exportar CSV**, pronta a importar na sua ferramenta de e-mail marketing no dia do lançamento.

## SEO

- **Código HTTP 503** (recomendado): assinala ao Google uma indisponibilidade temporária. O cabeçalho `Retry-After` é calculado com base no tempo restante até à data de lançamento (limitado a 7 dias); sem data futura, é usado o valor do campo **Retry-After**.
- **Código HTTP 200**: para uma página « brevemente » duradoura e indexável.

Em todos os casos, a página envia uma etiqueta `noindex, nofollow` e cabeçalhos `no-cache`: o seu catálogo continua indexado, a página de espera não.

## Funcionamento técnico

A cada pedido do front-office, o módulo avalia as autorizações por esta ordem e deixa passar no primeiro sucesso:

1. Colaborador autenticado no back-office (cookie `psAdmin`).
2. Parâmetro `dfmp_token` válido no URL (coloca o cookie de acesso).
3. Cookie de acesso assinado ainda válido.
4. IP presente na lista branca.
5. País autorizado se o soft launch estiver ativo.

Caso contrário, a página de manutenção é renderizada e a execução para antes do controlador front. Multiloja: a configuração e a lista de inscritos são próprias de cada loja.

## Resolução de problemas

- **Continuo a ver a loja apesar de o módulo estar ativo**: está provavelmente autenticado no back-office no mesmo navegador, ou um cookie de acesso ainda está válido. Teste em navegação privada.
- **Um testador vê a página de manutenção apesar da ligação com token**: o token pode ter sido regenerado desde o envio da ligação; reenvie o URL apresentado no painel de informação.
- **O soft launch bloqueia toda a gente**: nenhum cabeçalho de CDN nem base GeoLite2 disponível: o país é indeterminado e a regra por defeito bloqueia. Passe « País desconhecido » para « Autorizar » ou configure a geolocalização.
- **A contagem decrescente não aparece**: verifique que a data de lançamento está no formato `AAAA-MM-DD HH:MM` e situada no futuro.
- **Desinstalação**: elimina a tabela dos inscritos: exporte o CSV antes se quiser conservar os endereços.
