# Modalità Manutenzione & Coming Soon — Guida completa

> Modalità Manutenzione & Coming Soon (dfmaintenancepro) mostra una pagina di attesa curata ai visitatori non autorizzati — conto alla rovescia, raccolta email, accesso tester per IP o token e soft…

- Pagina: <https://www.datafirefly.com/it/documentation/dfmaintenancepro/>
- Lingua: it
- Aggiornato il: 2026-07-16
- Altre lingue: [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), [pl](https://www.datafirefly.com/pl/documentation/dfmaintenancepro/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfmaintenancepro/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfmaintenancepro/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

Modalità Manutenzione & Coming Soon (`dfmaintenancepro`) mostra una pagina di attesa curata ai visitatori non autorizzati — conto alla rovescia, raccolta email, accesso tester per IP o token e soft launch per paese — senza mai attivare la modalità manutenzione nativa di PrestaShop. Il negozio resta tecnicamente online: il back-office, i webhook di pagamento e le attività pianificate continuano a funzionare normalmente.

## Installazione

1. Nel back-office, apri **Moduli > Gestore moduli > Carica un modulo**.
2. Carica l'archivio `dfmaintenancepro.zip` e fai clic su **Installa**.
3. Fai clic su **Configura** per aprire il pannello del modulo.

L'installazione crea la tabella `dfmp_subscriber` (email raccolte), registra la scheda nascosta «Subscribers» e genera automaticamente un token di accesso unico. Nessun override viene installato: il modulo si basa sul solo hook `actionDispatcherBefore`.

Il modulo è disattivato per impostazione predefinita dopo l'installazione: configura la tua pagina con calma, visualizzane l'anteprima e attivala quando sei pronto.

## Pannello informativo

In cima alla pagina di configurazione, un pannello riassume l'essenziale:

- **Stato** — badge verde «ACTIVE» quando la pagina viene servita ai visitatori, badge neutro altrimenti.
- **URL tester** — il link `https://tuonegozio.com/?dfmp_token=XXXX` da condividere: imposta un cookie di accesso nel browser del tester.
- **Rigenera token** — invalida all'istante tutti i cookie di accesso già concessi.
- **Anteprima** — mostra la pagina di manutenzione anche a modulo disattivato (parametro `dfmp_preview`).
- **Email raccolte** — accesso diretto all'elenco degli iscritti con il conteggio.

## Configurazione generale

- **Attiva la pagina di manutenzione** — l'interruttore principale. Una volta attivato, tutti i visitatori non autorizzati vedono la pagina di attesa.
- **Modalità** — «Coming soon (pre-lancio)» o «Manutenzione (indisponibilità temporanea)». Cambia solo il badge mostrato sulla pagina; il comportamento SEO si regola nella sezione SEO.
- **Data di lancio** — formato `AAAA-MM-GG HH:MM`, fuso orario del server. Alimenta il conto alla rovescia e l'header `Retry-After`.
- **Mostra conto alla rovescia** — il contatore giorni/ore/minuti/secondi si nasconde automaticamente al raggiungimento della data.

## Accesso di prova (IP e token)

### Whitelist IP

Una voce per riga (o separate da virgole). Sono accettati tre formati:

- Indirizzi IPv4 o IPv6 esatti: `82.64.12.7`
- Intervalli CIDR: `192.168.1.0/24` o `2001:db8::/32`
- Wildcard IPv4: `192.168.1.*`

### Link tester con token

Condividi l'URL mostrato nel pannello informativo. All'apertura, un cookie firmato HMAC SHA-256 viene impostato nel browser del tester per la durata configurata (72 ore per impostazione predefinita): da quel momento naviga nel negozio reale come se nulla fosse. Il campo **Durata del cookie di accesso** controlla questa validità.

Un link è trapelato? Fai clic su «Rigenera token»: il token cambia e tutti i cookie già impostati diventano immediatamente non validi.

### Webhook di pagamento

L'opzione **Consenti controller front dei moduli** (attiva per impostazione predefinita) lascia passare tutte le richieste `fc=module`: gli IPN e i callback di pagamento (PayPal, Stripe, ecc.) non vengono mai bloccati, nemmeno in piena manutenzione.

I dipendenti collegati al back-office vedono sempre il negozio reale, senza alcuna configurazione: basta la sessione admin.

## Soft launch per paese

Questa modalità trasforma la pagina di attesa in uno strumento di rollout progressivo:

1. Attiva **Soft launch**.
2. Inserisci i **codici paese ISO 3166-1 alpha-2** autorizzati, separati da virgole: `IT,CH,SM`.
3. Scegli il comportamento per un **paese indeterminato**: mostrare la pagina di manutenzione (predefinito, prudente) o lasciare entrare.

Il rilevamento del paese segue quest'ordine:

1. Header di geolocalizzazione CDN: `CF-IPCountry` (Cloudflare), `CloudFront-Viewer-Country` (AWS), `X-Vercel-IP-Country`, `X-Geoip-Country` (nginx).
2. Database GeoLite2 di PrestaShop se la geolocalizzazione è configurata in **Internazionale > Geolocalizzazione**.

Senza CDN né database GeoLite2, il paese non può essere determinato: tutti i visitatori seguono allora la regola «paese sconosciuto». Verifica la tua configurazione prima di attivare un soft launch in produzione.

## Contenuto e design

- **Titolo, sottotitolo, messaggio** — traducibili lingua per lingua tramite le bandiere; il messaggio accetta HTML semplice.
- **Logo** — URL assoluto di un'immagine (PNG/SVG consigliato). Vuoto, viene mostrato il nome del negozio in testo.
- **Colori** — sfondo, accento (conto alla rovescia, pulsante, badge) e testo, tramite i selettori colore.
- **Social** — Facebook, Instagram, X, LinkedIn, YouTube: compila solo quelli da mostrare, le icone SVG sono integrate.
- **CSS personalizzato** — iniettato in coda agli stili per regolazioni fini.

La pagina generata è 100 % autonoma: CSS e JavaScript inline, nessun font né script di terze parti, zero richieste esterne. Rispetta `prefers-reduced-motion` e si adatta al mobile.

Usa il pulsante «Anteprima della pagina di manutenzione» dopo ogni regolazione: funziona a modulo disattivato, quindi progetti senza rischi prima dell'attivazione.

## Raccolta email

- **Attiva la raccolta** — mostra il modulo sotto il conto alla rovescia.
- **Placeholder, etichetta del pulsante, messaggio di successo, avviso GDPR** — tutti traducibili per lingua.

Il modulo funziona in AJAX con un campo honeypot invisibile che neutralizza i bot. Ogni iscrizione registra email, lingua, paese rilevato, IP e data, con unicità per indirizzo e per negozio.

### Elenco iscritti ed esportazione CSV

Dal pannello informativo, apri **Email raccolte**: l'elenco si filtra per colonna, si ordina, si pulisce in massa e si esporta in CSV con il pulsante **Export CSV** — pronto da importare nel tuo strumento di emailing il giorno del lancio.

## SEO

- **Codice HTTP 503** (consigliato) — segnala a Google un'indisponibilità temporanea. L'header `Retry-After` è calcolato sul tempo rimanente fino alla data di lancio (con tetto di 7 giorni); senza data futura, viene usato il valore del campo **Retry-After**.
- **Codice HTTP 200** — per una pagina coming soon duratura e indicizzabile.

In ogni caso, la pagina invia un tag `noindex, nofollow` e header `no-cache`: il tuo catalogo resta indicizzato, la pagina di attesa no.

## Funzionamento tecnico

A ogni richiesta front, il modulo valuta le autorizzazioni in quest'ordine e lascia passare al primo successo:

1. Dipendente collegato al back-office (cookie `psAdmin`).
2. Parametro `dfmp_token` valido nell'URL (imposta il cookie di accesso).
3. Cookie di accesso firmato ancora valido.
4. IP presente nella whitelist.
5. Paese autorizzato se il soft launch è attivo.

Altrimenti, la pagina di manutenzione viene resa e l'esecuzione si ferma prima del controller front. Multinegozio: configurazione ed elenco iscritti sono propri di ciascun negozio.

## Risoluzione dei problemi

- **Vedo ancora il negozio anche se il modulo è attivo** — probabilmente sei collegato al back-office nello stesso browser, oppure un cookie di accesso è ancora valido. Prova in navigazione privata.
- **Un tester vede la pagina di manutenzione nonostante il link con token** — il token potrebbe essere stato rigenerato dopo l'invio del link; invia di nuovo l'URL mostrato nel pannello informativo.
- **Il soft launch blocca tutti** — nessun header CDN né database GeoLite2 disponibile: il paese è indeterminato e la regola predefinita blocca. Imposta «Paese sconosciuto» su «Consenti» o configura la geolocalizzazione.
- **Il conto alla rovescia non appare** — verifica che la data di lancio usi il formato `AAAA-MM-GG HH:MM` e sia nel futuro.
- **Disinstallazione** — rimuove la tabella degli iscritti: esporta prima il CSV se vuoi conservare gli indirizzi.
