Le novità della piattaforma

Cosa c'è di nuovo

Qui trovi tutte le migliorie, le nuove funzioni e le correzioni più importanti del Sales Intelligence Hub, spiegate in modo semplice. Le voci più recenti sono in cima.

Domenica 1 novembre

1 release
Versione 2.50.8

Domenica 1 novembre

2026-11-01 Aggiornata una libreria di sistema che leggeva certificati e chiavi con troppa lentezza su dati costruiti apposta. Per te non cambia niente.

Manutenzione di sicurezza, invisibile a chi usa l'applicazione. Una delle librerie con cui il server legge certificati e chiavi poteva essere rallentata fino a bloccarsi con dati costruiti apposta. Ora c'è la versione corretta, uscita il 27 ottobre.

Manutenzione

  • Dove: da nessuna parte che tu possa vedere. Le pagine e i passi dell'analisi sono identici a ieri.
  • Perché: perché nessuno possa tenere occupato il server mandandogli dati fatti apposta per rallentarlo.

Giovedì 29 ottobre

1 release
Versione 2.50.7

Giovedì 29 ottobre

2026-10-29 La mappa non si perde se cambi pagina; social e foto letti giusti quando il sito è un profilo Instagram.

Tre correzioni nate da quattro segnalazioni sullo stesso prospect. Se durante la scansione della mappa di visibilità si cambiava pagina o si premeva «Ricarica ora», la scansione finiva comunque ma la mappa non compariva più: ora la pagina continua ad aspettarla da sola, anche se la riapri, per dieci minuti. Quando sulla scheda Google al posto del sito c'è un profilo Instagram, lo step dei social proponeva link tecnici di Instagram scambiati per una pagina Facebook e per un profilo Instagram: ora propone il profilo vero. Nella diagnosi, il punteggio della scheda Google contava zero foto e orari mancanti anche quando c'erano.

Correzione

  • Dove: step 2 Visibilità locale (Mappa visibilità), step 4 Social (riquadro dei link trovati), step 6 Diagnosi e proposta (punteggio della scheda Google).
  • Cosa cambia per te: la mappa pagata non va più persa e il tasto «Avvia» resta bloccato finché la scansione è in corso, così non ne parte una seconda; i social proposti sono quelli dell'attività; foto e orari della scheda entrano nel punteggio, e da 10 foto in su si legge «almeno 10 foto».

Venerdì 23 ottobre

1 release
Versione 2.50.6

Venerdì 23 ottobre

2026-10-23 Aggiornato l'elenco delle autorità di cui il server si fida nelle connessioni sicure. Per te non cambia niente.

Manutenzione di sicurezza, invisibile a chi usa l'applicazione. Quando il server si collega ai servizi esterni che alimentano le analisi, controlla l'identità di chi risponde confrontandola con un elenco di autorità di fiducia. L'elenco installato comprendeva alcune autorità le cui chiavi risultano compromesse: ora c'è quello aggiornato, che le esclude.

Manutenzione

  • Dove: da nessuna parte che tu possa vedere. Le pagine e i passi dell'analisi sono identici a ieri.
  • Perché: perché nessuno possa spacciarsi per uno dei servizi da cui arrivano i dati delle tue analisi.

Venerdì 16 ottobre

1 release
Versione 2.50.5

Venerdì 16 ottobre

2026-10-16 «Nessun sito» solo quando il sito manca davvero; la mappa recupera da sola un report pronto.

Due correzioni nate dalla segnalazione di un agente (#243). Alcune attività con un sito vero comparivano con l'etichetta «Nessun sito», e il punteggio di opportunità ne teneva conto: il filtro che scarta profili social e portali cercava le sigle dei link brevi di Google (g.co, goo.gl) in qualunque punto dell'indirizzo, e un dominio come parking.com le contiene. Ora il filtro guarda solo il dominio. Nella mappa di visibilità, se l'attesa dei risultati si interrompe, la pagina controlla da sola se il report è pronto e lo carica, invece di dire che la scansione è ancora in elaborazione.

Correzione

  • Dove: step 1 Ricerca prospect (card, etichetta «Sito presente» e punteggio di opportunità), modalità Smart, Racconto; step 2 Visibilità locale, riquadro Mappa visibilità.
  • Cosa cambia per te: un'attività con il sito non finisce più tra quelle «senza sito»; se la mappa tarda, il report pronto compare da solo, e resta il tasto «Riprova caricamento».

Lunedì 28 settembre

1 release
Versione 2.49.2

Lunedì 28 settembre

2026-09-28 Mappa visibilità sospesa per un problema di Local Falcon.

Mappa visibilità temporaneamente sospesa. Local Falcon, il servizio esterno che genera la mappa di posizionamento su Google Maps, sta avendo problemi tecnici sui suoi server. Non dipende da Sales Intelligence Hub. Per non farti aspettare a vuoto né consumare crediti abbiamo sospeso le scansioni: un avviso giallo in cima a ogni pagina lo ricorda e sparisce da solo quando la mappa torna disponibile.

Avviso

  • Dove: step 2, Visibilità locale, riquadro Mappa visibilità; l'analisi automatica in serie dallo step 1; la modalità Smart prosegue senza mappa.
  • Cosa cambia per te: tutto il resto dell'analisi funziona normalmente, prosegui con gli altri step.

Giovedì 24 settembre

1 release
Versione 2.49.1

Giovedì 24 settembre

2026-09-24 La mappa di visibilità non si blocca più quando Local Falcon è lento.

Scansione della mappa più affidabile. Quando Local Falcon impiegava molto ad accettare la richiesta, la scansione restava in elaborazione e poi compariva l'errore «Failed to fetch». Ora la scansione parte una volta sola e la pagina ti dice che è in corso, con il tasto per ricaricare i risultati appena sono pronti.

Correzione

  • Dove: step 2, Visibilità locale, riquadro Mappa visibilità; anche la modalità Smart.
  • Cosa cambia per te: se la mappa non arriva subito, usa «Riprova caricamento» dopo qualche minuto invece di rilanciare la scansione.

Mercoledì 23 settembre

1 release
Versione 2.49.0

Mercoledì 23 settembre

2026-09-23 I consulenti AI passano alla versione più recente del motore: ragionano prima di rispondere.

Motore AI aggiornato per tutti i consulenti. I tredici consulenti, A.V.A. compresa, girano sulla versione più recente del motore di intelligenza artificiale. Prima di scrivere la risposta ora ragionano sui dati del cliente: le schede restano le stesse, nello stesso formato.

Miglioramento

  • Dove: in ogni scheda dei consulenti AI, nel briefing della modalità Smart e nel Racconto.
  • Cosa cambia per te: niente da fare. Una scheda può metterci qualche secondo in più ad arrivare.

Venerdì 18 settembre

2 release
Versione 2.48.1

Venerdì 18 settembre

2026-09-18 Le chiamate all'intelligenza artificiale vengono contate anche nel registro centrale dei costi. Per te non cambia niente.

Manutenzione, invisibile a chi usa l'applicazione. Ogni chiamata al modello Claude (analisi, racconto, briefing) viene registrata anche in HQ SEO, il registro dove Pagine Sì tiene mese per mese i costi delle API di tutte le sue applicazioni. Se il registro non risponde, l'analisi va avanti lo stesso: niente attese in più, niente schermate nuove.

Manutenzione

  • Dove: da nessuna parte che tu possa vedere. Le pagine e i passi dell'analisi sono identici a ieri.
  • Perché: per sapere quanto costa ogni applicazione, su quale modello e per cosa, in un posto solo.
Versione 2.48.0

Venerdì 18 settembre

2026-09-18 Riapri un cliente e ritrovi tutta l'analisi, senza rifarla. E la stampa ora rispecchia lo schermo.

Il lavoro fatto resta fatto. Fino a ieri, rientrando in un cliente già lavorato, l'applicazione ripartiva da capo: scansione locale, Web & SEO, social e confronto competitor andavano rifatti, con minuti di attesa — un problema serio davanti al cliente. Ora ogni passo salva i propri risultati sul tuo account: riaprendo il cliente, da qualunque computer, ritrovi subito tutto com'era, con la data a cui risalgono i dati e un bottone per aggiornarli solo se lo vuoi tu. Nessuna analisi riparte da sola.

Stampa: quello che vedi è quello che esce. In stampa si perdevano molte informazioni (sezioni chiuse, tabelle con intestazioni invisibili, colori spariti) e il confronto con i competitor non compariva mai. Ora le pagine di analisi si stampano complete e a colori, e i due documenti della Diagnosi (audit e proposta) hanno una veste nuova: copertina con punteggio, aree a barre colorate, mappa di copertura, confronto competitor, velocità del sito, recensioni e checklist.

Novità Tutti i passi dell'analisi Stampa

  • Dove: passi 2, 3, 4 e 5 dell'analisi completa e pagina Diagnosi & Proposta; riapertura dallo Storico, dalla dashboard o cercando di nuovo il cliente dalla Home.
  • Cosa cambia per te: rientrando in un cliente vedi un avviso «Stai vedendo l'analisi del…» con i risultati già pronti. Per numeri freschi premi «Aggiorna l'analisi» (o «Rifai la scansione»).
  • Da sapere: vale per le analisi fatte da oggi in poi. Per i clienti lavorati prima di questo aggiornamento ritrovi il punteggio, ma il dettaglio dei passi va rifatto una volta.
  • Stampa: usa i bottoni «Stampa Audit completo» e «Stampa proposta completa» nella Diagnosi, oppure la stampa del browser su qualunque passo: sezioni chiuse, tabelle e colori escono tutti. L'audit resta senza prezzi; la proposta li include.
  • Grazie a: le segnalazioni degli agenti del team.

Martedì 1 settembre

1 release
Versione 2.47.2

Martedì 1 settembre

2026-09-01 Riaprendo un cliente dallo Storico ritrovi il punteggio del lavoro già fatto.

Il lavoro fatto non sparisce più alla riapertura. Fino a ieri, riaprendo dallo Storico un cliente già analizzato, la pagina Diagnosi ripartiva con punteggio a zero come se l'analisi non fosse mai stata fatta. Ora il sistema recupera automaticamente l'ultima analisi salvata e ti mostra il punteggio complessivo e le barre delle singole aree così come le avevi lasciate, con la data a cui risalgono. Appena rifai una scansione o un'analisi aggiornata, i numeri nuovi prendono il posto di quelli storici.

Correzione Storico + Diagnosi

  • Dove: pagina Diagnosi & Proposta quando riapri un cliente dallo Storico o dalla dashboard.
  • Cosa cambia per te: niente più punteggio azzerato sui clienti già lavorati — ritrovi lo score dell'ultima analisi con la sua data.
  • Grazie a: la segnalazione di un agente del team (ticket #241).

Lunedì 31 agosto

1 release
Versione 2.47.1

Lunedì 31 agosto

2026-08-31 Screenshot nelle segnalazioni di nuovo attivo e selezione cliente sempre pulita.

Due correzioni nate dalle segnalazioni del team. Il bottone «Cattura la pagina» nel modulo Segnala non produceva più lo screenshot: ora funziona di nuovo e puoi allegare la schermata del problema con un clic. Risolto anche un caso residuo di «cliente fantasma»: partendo dalla ricerca della Home, in alcune situazioni gli step di analisi mostravano ancora i dati del cliente lavorato in precedenza. Ora anche da lì ogni nuova selezione riparte pulita.

Correzione Segnalazioni + Home

  • Dove: bottone «Cattura la pagina» del modulo Segnala e ricerca/selezione cliente dalla Home.
  • Cosa cambia per te: puoi di nuovo allegare lo screenshot alle segnalazioni; il cliente che scegli dalla Home è sempre quello che vedi negli step di analisi.
  • Grazie a: le due segnalazioni arrivate oggi da un agente del team (ticket #239 e #240).

Domenica 30 agosto

1 release
Versione 2.47.0

Domenica 30 agosto

2026-08-30 Il servizio si controlla da solo, giorno e notte.

Più affidabilità, anche quando nessuno sta lavorando. Nel weekend il servizio ha avuto un’interruzione rimasta inosservata proprio perché non c’era nessuno collegato. Da oggi un controllo automatico verifica di continuo che tutto risponda e, se serve, riavvia il servizio da solo: notte, weekend e festivi compresi. In più, le segnalazioni aperte con il bottone «Segnala» sono ora visibili anche alla direzione, così vengono prese in carico prima.

Novità Affidabilità

  • Dove: dietro le quinte — non cambia nulla nel tuo modo di lavorare.
  • Cosa cambia per te: meno rischio di trovare la piattaforma irraggiungibile; se capita un problema, riparte da sola nel giro di pochi minuti.
  • Segnalazioni: i feedback ancora aperti sono sotto gli occhi anche della direzione, che può seguirne l’avanzamento.

Venerdì 28 agosto

2 release
Versione 2.46.2

Venerdì 28 agosto

2026-08-28 Il cliente che scegli è sempre quello che vedi negli step successivi.

Basta scambi di cliente tra un’analisi e l’altra. In alcuni casi, selezionando un nuovo cliente dalla ricerca subito dopo averne lavorato un altro, gli step successivi (ad esempio l’analisi Web & SEO) mostravano ancora i dati del cliente precedente. Ora ogni nuova selezione fa piazza pulita dei dati del cliente prima: quello che scegli è quello che analizzi.

Correzione Tutti gli step

  • Dove: selezione del cliente nello Step 1 e passaggio agli step di analisi.
  • Cosa cambia per te: niente più analisi «fantasma» del cliente precedente; se noti ancora dati che non tornano, ricarica la pagina e ripeti la selezione, poi segnalacelo.
  • Grazie a: la segnalazione arrivata oggi da un agente del team (ticket #238) che ha permesso di individuare il caso esatto.
Versione 2.46.0

Venerdì 28 agosto

2026-08-28 Report di utilizzo esportabile, con periodo a scelta.

Quanto viene usata la piattaforma, nero su bianco. Nell’area di amministrazione arriva la nuova scheda «Report utilizzo»: scegli un periodo con il selettore «Dal / Al» e vedi, agente per agente, quante volte è entrato, quante ricerche e analisi ha fatto, quante proposte ha inviato e chiuso, e in quanti giorni diversi ha lavorato sulla piattaforma. Tutto esportabile in CSV apribile in Excel, sia come riepilogo del periodo sia come dettaglio giorno per giorno.

Novità Area amministrazione

  • Dove: area amministrazione, nuova scheda «Report utilizzo».
  • Cosa cambia per te: chi amministra la piattaforma può rispondere in un minuto a domande come «chi si è loggato questo mese?» o «quante ricerche ha fatto il team a luglio?», con un CSV pronto da condividere.
  • Da sapere: il report copre gli ultimi 180 giorni (retention del registro attività); per conservare lo storico più a lungo basta esportare il CSV periodicamente.

Giovedì 30 luglio

2 release
Versione 2.45.8

Giovedì 30 luglio

2026-07-30 Se c’è un problema tecnico, lo vedi subito chiaro.

Niente più schermate che sembrano funzionare ma non rispondono. Se la piattaforma ha un problema tecnico serio, ora lo riconosce da sola e ti mostra subito la pagina «Torniamo tra poco» invece di una schermata di accesso che non va a buon fine. Appena il servizio rientra, la stessa pagina ti riporta automaticamente al lavoro, senza che tu debba ricaricare o riprovare a caso.

Novità Affidabilità

  • Dove: tutta la piattaforma, in caso di disservizio.
  • Cosa cambia per te: se capita un problema, niente tentativi a vuoto — una pagina chiara ti dice che ci stiamo lavorando e ti riporta dentro appena tutto riparte.
Versione 2.45.7

Giovedì 30 luglio

2026-07-30 Servizio ripristinato e reso più robusto.

La piattaforma è tornata pienamente operativa. Questa mattina il servizio non era raggiungibile per un cambiamento tecnico nell’ambiente che ospita la piattaforma, fuori dal nostro controllo. Abbiamo individuato la causa e rifatto il collegamento tra i componenti interni in un modo che non dipende più da quel meccanismo: oltre a risolvere il problema, la piattaforma ora riparte da sola più in fretta in situazioni simili.

Fix Affidabilità

  • Dove: tutta la piattaforma.
  • Cosa cambia per te: nulla nell’uso quotidiano — tutto funziona come prima, con un servizio più stabile.

Lunedì 27 luglio

2 release
Versione 2.45.6

Lunedì 27 luglio

2026-07-27 Rilasci degli aggiornamenti più affidabili.

Verifica più paziente dopo ogni aggiornamento. Quando pubblichiamo una nuova versione, il sistema controlla da solo che tutto sia ripartito correttamente. Quel controllo era troppo frettoloso e in certi casi segnalava un problema che non c’era, facendoci perdere tempo in verifiche manuali. Ora aspetta il tempo necessario prima di dare l’esito. Per te non cambia nulla: e’ manutenzione che rende i rilasci più sereni.

Fix Manutenzione

Versione 2.45.5

Lunedì 27 luglio

2026-07-27 La Modalità Racconto non si blocca più con l’errore sporadico in generazione.

Generazione del Racconto più solida. In alcuni casi la generazione si interrompeva con un errore e bisognava riprovare: capitava quando il consulente AI, oltre alla scheda del racconto, aggiungeva qualche riga di commento fuori posto. Ora quelle righe vengono riconosciute e scartate automaticamente, e il racconto arriva in fondo al primo colpo.

Fix Modalità Racconto

  • Dove: Modalità Racconto, generazione della scheda.
  • Cosa cambia per te: niente da rifare due volte — se prima ogni tanto vedevi un errore e dovevi rigenerare, ora non succede più.

Domenica 26 luglio

5 release
Versione 2.45.4

Domenica 26 luglio

2026-07-26 I consulenti AI non si fanno più dare istruzioni da chi scrive le recensioni.

I consulenti AI ora distinguono i dati dalle istruzioni. Quando analizzano un cliente, leggono materiale scritto da altri: recensioni su Google, testi presi dal sito. Qualcuno poteva nascondere l’à dentro delle frasi costruite per farsi passare come ordini rivolti all’AI, e influenzare l’analisi che poi porti in appuntamento. Ora quel materiale viaggia dentro un contenitore riconoscibile e i consulenti sanno che lì dentro c’è roba da valutare, mai da eseguire.

AI Protezione dati

  • Dove: tutti i consulenti AI e A.V.A., in ogni step.
  • Cosa cambia per te: nulla nell’uso. Le analisi restano quelle di prima, con una garanzia in più su chi le influenza.
Versione 2.45.3

Domenica 26 luglio

2026-07-26 Registro accessi più pulito e più leggibile.

Il registro degli accessi non porta più annotazioni inutili. Ogni riga si portava dietro una nota tecnica pensata per segnalare richieste sospette, ma che finiva per comparire su tutte le richieste normali. Un avviso che si accende sempre non avvisa di nulla: ora compare solo quando serve davvero.

Protezione dati Miglioramento

  • Cosa cambia per te: nulla nell’uso quotidiano. L’indirizzo registrato per ogni operazione resta quello vero.
Versione 2.45.2

Domenica 26 luglio

2026-07-26 Ultimi controlli di sicurezza chiusi.

Chiusi gli ultimi controlli rimasti dalla revisione di sicurezza. Sono tutti interventi interni: nessuna schermata cambia e non devi fare nulla di diverso. Riguardano il modo in cui il sistema si difende da richieste anomale e come teniamo sotto controllo gli aggiornamenti dei componenti che usiamo.

Protezione dati Miglioramento

  • Cosa cambia per te: nulla di visibile. Lo segnaliamo per trasparenza, perché ogni intervento sulla sicurezza dei dati dei tuoi clienti viene scritto qui.
Versione 2.45.1

Domenica 26 luglio

2026-07-26 Registro accessi: l’indirizzo di provenienza ora è quello vero.

Il registro degli accessi non è più falsificabile. Il registro annota da quale indirizzo di rete arriva ogni operazione: serve a ricostruire cosa è successo se qualcosa va storto. Finora quel dato poteva essere alterato da chi faceva la richiesta, rendendolo inaffidabile proprio quando serve. Ora viene rilevato direttamente e non può essere dichiarato da fuori.

Protezione dati Correzione

  • Cosa cambia per te: nulla nell’uso quotidiano.
  • Perché: il primo tentativo, uscito poche ore prima, si basava su un’ipotesi sbagliata su come arrivano le richieste. Misurandolo sul campo è emerso il comportamento reale, e la correzione è ora verificata con una prova diretta.
Versione 2.45.0

Domenica 26 luglio

2026-07-26 Un giro di controlli sulla protezione dei dati dei tuoi clienti.

Uscendo dall’account, il browser non conserva più i dati del cliente. Prima, dopo il logout, nel browser restavano il nome e i recapiti del prospect su cui stavi lavorando, l’esito dell’analisi e la proposta con i prezzi. Su una postazione condivisa in filiale, chi si collegava dopo di te poteva ritrovarseli davanti. Ora al logout viene ripulito tutto.

Protezione dati Miglioramento

  • Dove: pulsante di uscita, in alto a destra.
  • Cosa resta: le tue preferenze, come le novità già viste e gli avvisi che hai chiuso. Non ricompaiono da capo a ogni accesso.

Il codice di verifica in due passaggi vale una volta sola. Se lo usi per entrare, per la sicurezza non è più riutilizzabile subito dopo per una seconda operazione delicata: in quel caso attendi che l’app ne mostri uno nuovo, sono pochi secondi.

  • Quando lo noti: solo se entri e poi, nel giro di mezzo minuto, vuoi disattivare la verifica in due passaggi o rigenerare i codici di riserva.
  • In più: la verifica in due passaggi non può più essere sostituita senza inserire prima la password e il codice attuale.

Accessi revocati subito. Quando un account viene disattivato o gli viene cambiata la password, le sessioni già aperte smettono di funzionare immediatamente, invece di restare valide fino alla scadenza naturale.

Grafici e mappe si caricano dal nostro server. Non dipendono più da servizi esterni: una fonte in meno di rallentamenti e di cose che possono rompersi indipendentemente da noi. Per te non cambia nulla, se non qualche caricamento più prevedibile.

Un tetto orario sulle analisi più pesanti. Alcune analisi hanno ora un limite di utilizzi all’ora per singolo agente. I limiti sono tarati sopra l’uso reale di una giornata piena: nel lavoro normale non li incontri. Servono a evitare che un errore o un uso anomalo consumi le risorse di tutti.

  • Se lo incontri: compare un messaggio che dice quanto attendere. Se ti capita durante il lavoro normale, segnalacelo: vuol dire che il limite è tarato male.

Venerdì 24 luglio

5 release
Versione 2.44.1

Venerdì 24 luglio

2026-07-24 A.V.A. non si rilegge più da sola, ed è chiara sugli errori.

Messaggi di errore di A.V.A. finalmente leggibili. Quando A.V.A. non riusciva a rispondere mostrava un codice tecnico e nient’altro, tipo «HTTP 400», senza spiegare cosa fosse andato storto. La spiegazione c’era già, ma andava persa per strada. Ora arriva fino a te.

A.V.A. Correzione

  • Dove: riquadro di A.V.A. in tutti gli step.
  • Cosa cambia: al posto del codice compare il motivo reale. Se ti ricapita, quel testo è esattamente quello che ci serve per intervenire: segnalacelo.
  • Perché: un errore segnalato da Giuseppe che senza il messaggio non era diagnosticabile.

A.V.A. non rilegge più le proprie risposte precedenti. Per spiegarti uno step, A.V.A. tiene conto dei pareri che i consulenti hanno già prodotto su quel cliente. Tra questi finiva per sbaglio anche il suo stesso parere di prima: si rileggeva, con il rischio di riformulare quanto già detto invece di ripartire dai dati. Ora legge solo i consulenti veri.

  • Cosa cambia: risposte più ancorate ai dati quando premi «Rigenera».
  • In più: il contatore «ho letto N pareri dei consulenti» ora dice il numero giusto: prima contava anche A.V.A. stessa.
Versione 2.44.0

Venerdì 24 luglio

2026-07-24 Consulenti AI e A.V.A. su un motore più capace.

Tutti i consulenti AI sono passati al motore più capace disponibile, A.V.A. compresa. Prima convivevano due livelli di qualità: alcuni consulenti giravano su un motore più leggero, altri su uno più potente. Ora sono tutti allo stesso livello, il più alto. Per te cambia la sostanza delle analisi — ragionamenti più solidi e collegamenti migliori tra gli step — non il modo di usarle.

Consulenti AI Novità

  • Dove: tutti i consulenti AI degli step 2-5, il Direttore Commerciale, il Briefing Smart, la Modalità Racconto e A.V.A.
  • Cosa cambia: analisi più approfondite a parità di dati. Nessuna modifica ai pulsanti, alle schermate o al modo di lavorare.
  • Sotto il cofano: allineato anche il calcolo dei costi nella dashboard di amministrazione.
Versione 2.43.1

Venerdì 24 luglio

2026-07-24 Schede Google: messaggio chiaro al posto di una pagina di errore.

Apertura di una scheda Google più robusta. Quando l’identificativo di una scheda arrivava in un formato non riconosciuto, la piattaforma rispondeva con un errore generico. Ora restituisce un messaggio comprensibile e non interrompe il lavoro sulla pagina.

Affidabilità Correzione

  • Dove: apertura del dettaglio di una scheda Google.
  • Cosa cambia: nessuna schermata di errore; al suo posto un avviso che spiega il problema.
  • Perché: emerso analizzando il ticket #237.
Versione 2.43.0

Venerdì 24 luglio

2026-07-24 Ricerca senza città: trova le schede per nome in tutta Italia.

La città nella ricerca è ora facoltativa. Alcune attività — NCC, artigiani, servizi a domicilio — non hanno una sede sulla scheda Google: indicano solo l’area in cui operano. Prima la piattaforma richiedeva comunque una città o un CAP e queste schede erano difficili da raggiungere. Ora basta scrivere il nome dell’attività nel campo di ricerca e lasciare la città vuota: la ricerca avviene in tutta Italia.

Ricerca prospect Novità

  • Dove: ricerca prospect nella home, nello step 1, in modalità Smart e in modalità Racconto.
  • Cosa cambia: il campo Città è contrassegnato come facoltativo; senza città né CAP la ricerca usa solo il testo inserito (ideale col nome esatto della scheda).
  • Perché: suggerimento di un agente (ticket #236) bloccato su un’attività NCC senza sede sulla scheda Google.
Versione 2.42.3

Venerdì 24 luglio

2026-07-24 Analisi velocità: messaggio chiaro quando il sito del cliente non esiste più.

Siti con dominio scaduto riconosciuti nell’analisi velocità. Se il sito indicato sulla scheda Google di un’attività non esiste più (dominio scaduto o sito chiuso), l’analisi delle performance nello step Sito Web & SEO mostrava un errore generico che sembrava un malfunzionamento della piattaforma. Ora la situazione viene riconosciuta e spiegata chiaramente: il sito non è più raggiungibile — un’informazione preziosa da portare in appuntamento.

Sito Web & SEO Fix

  • Dove: step 3 — Sito Web & SEO, card Performance / Core Web Vitals.
  • Cosa cambia: al posto di «Il servizio ha risposto con un errore (HTTP 400)» ora compare un messaggio che spiega che il dominio del sito è scaduto o il sito è stato chiuso, e suggerisce di usarlo come leva commerciale.
  • Perché: segnalazione di un agente (ticket #235) su un’attività il cui sito, ancora indicato sulla scheda Google, non esiste più.

Domenica 19 luglio

1 release
Versione 2.42.2

Domenica 19 luglio

2026-07-19 Caricamento foto delle attività più robusto quando la rete è lenta.

Gestione più solida dei rallentamenti esterni. In rari casi il caricamento delle foto o della scheda di un’attività può rallentare per cause esterne alla piattaforma. Prima questi episodi generavano un errore generico; ora vengono riconosciuti e gestiti con un messaggio chiaro che invita semplicemente a riprovare, senza alcun impatto sul resto dell’analisi.

Affidabilità Fix

  • Dove: foto e scheda dell’attività (hub e step Visibilità Locale).
  • Cosa cambia: se il recupero di una foto o della scheda rallenta, l’errore viene gestito in modo pulito e basta riprovare; niente più segnalazioni anomale.
  • Perché: un episodio di lentezza esterna il 15 luglio ha mostrato che questi casi non erano gestiti con la dovuta grazia.

Sabato 18 luglio

1 release
Versione 2.42.1

Sabato 18 luglio

2026-07-18 Modalità Racconto: testo della sezione Proposta commerciale allineato al comportamento reale della stampa.

Chiarimento nella Modalità Racconto. La sezione «Proposta commerciale» in fondo al Racconto diceva ancora che i prodotti selezionati sarebbero finiti nel PDF stampato, ma dal 21 maggio il PDF del Racconto contiene per scelta solo l’audit narrativo da consegnare al cliente: la proposta con i prezzi resta a video, come supporto alla trattativa. Abbiamo aggiornato il testo così la pagina spiega esattamente cosa finisce nel PDF e cosa no, senza creare false aspettative.

Racconto Chiarezza

  • Dove: Modalità Racconto, sezione «Proposta commerciale — PagineSi».
  • Cosa cambia: la nota sotto il listino ora dice chiaramente che la proposta resta solo a video e che il PDF stampato contiene l’audit narrativo.
  • Perché: il testo precedente risaliva a prima della modifica che ha tolto il listino dal PDF e poteva far pensare a un malfunzionamento.

Giovedì 9 luglio

2 release
Versione 2.42.0

Giovedì 9 luglio

2026-07-09 Sicurezza: rinnovato il motore che custodisce le sessioni di accesso. Nessun cambiamento nell'uso quotidiano, nessun nuovo login richiesto.

Manutenzione preventiva sulla sicurezza degli accessi. Abbiamo rinnovato il componente interno che firma e verifica le sessioni di lavoro (il «badge digitale» che ti tiene collegato dopo il login), adottando una tecnologia più moderna e con una superficie di rischio più piccola. È un intervento invisibile ma importante: meno ingranaggi significa meno punti deboli potenziali da sorvegliare. Per te non cambia nulla — la sessione attiva resta valida, non serve rifare il login e tutte le funzioni si comportano esattamente come prima.

Sicurezza Accessi Manutenzione

  • Dove: dietro le quinte, nel sistema di login e sessioni.
  • Per te: nessun impatto — niente logout, niente passaggi in più. Solo fondamenta più solide.
Versione 2.41.2

Giovedì 9 luglio

2026-07-09 Racconto e Smart: la categoria principale della scheda Google non viene più segnalata come mancante quando in realtà è impostata.

Basta falsi allarmi sulla categoria della scheda Google. Nell'audit in modalità Racconto (e nelle card della modalità Smart) la categoria principale della scheda Google poteva comparire tra le cose «da implementare» anche quando il cliente l'aveva regolarmente impostata — un'indicazione sbagliata e imbarazzante da presentare in appuntamento. La causa: la categoria letta dalla scheda si perdeva per strada e non arrivava mai al motore che scrive l'audit, che quindi la considerava assente. Ora la categoria viaggia insieme agli altri dati della scheda e l'audit la valuta per quello che è. Grazie a Sergio Cappelletti per la segnalazione (ticket #233).

Bug fix Racconto · Smart Ticket #233

  • Dove: audit Racconto (sezione «Sicurezza e ottimizzazione tecnica») e card «Scheda Google» della modalità Smart.
  • Prima: la categoria risultava sempre «mancante» o «non impostata». Ora: viene letta correttamente dalla scheda Google.

Venerdì 3 luglio

3 release
Versione 2.41.1

Venerdì 3 luglio

2026-07-03 Step 4: il bottone «Riprova» su un social fallito non cancella più le analisi già fatte sugli altri profili.

«Riprova» senza perdere il lavoro fatto. Allo step 4, se un social non dava risultati (capitava soprattutto con Facebook) e cliccavi «Riprova», il sistema rilanciava l'analisi solo su quel profilo e nel salvare il risultato azzerava tutto il resto: le analisi già completate sugli altri canali sparivano, insieme ai link dei profili. Da questa patch il «Riprova» rilancia l'analisi su tutti i profili che hanno un link inserito: quelli già analizzati vengono ripresi dalla memoria del sistema (nessuna attesa in più, nessun consumo extra) e il quadro social resta completo. Grazie a Tommaso Terenziani per la segnalazione (ticket #232).

Bug fix Step 4 · Social Ticket #232

  • Dove: step 4, bottone «Riprova» sulla card di un social fallito.
  • Prima: il retry cancellava analisi e link degli altri profili. Ora: il quadro resta completo.
Versione 2.41.0

Venerdì 3 luglio

2026-07-03 Step 2: nuova verifica della categoria della scheda Google — il sistema confronta la categoria del prospect con quelle dei migliori competitor sulla mappa e dà un verdetto: coerente o disallineata.

Verifica categoria GBP allo step 2. Dopo ogni scansione della mappa, sotto il confronto competitor compare la nuova sezione «Categoria della scheda Google»: il sistema legge la categoria principale dei migliori competitor dell'area e la confronta con quella del prospect. Se la maggioranza di chi domina la mappa usa una categoria diversa, il verdetto è Disallineata — con i numeri in chiaro («4 dei 5 migliori competitor usano Impresa di costruzioni, il prospect è Appaltatore generale»). Se coincide, Coerente. La categoria è uno dei fattori del ranking locale, quindi un disallineamento è un dato oggettivo da portare in appuntamento. Il giudizio è sempre ancorato ai competitor reali della zona: niente valutazioni astratte. Nato dal ticket #226 di Matteo Pecelli.

Nuova funzione Step 2 · Visibilità locale Ticket #226

  • Dove: step 2, sezione «Categoria della scheda Google» sotto il confronto competitor (compare dopo la scansione).
  • Verdetto: Coerente / Disallineata / Nessun disallineamento, con la distribuzione delle categorie dei top competitor.
  • Limite dichiarato: viene confrontata la categoria principale della scheda (le categorie aggiuntive non sono esposte pubblicamente).
Versione 2.40.1

Venerdì 3 luglio

2026-07-03 Risolto il bug dei consulenti AI premium che rispondevano a vuoto: Direttore Commerciale, Gestione Obiezioni e gli altri esperti di punta tornano a scrivere i loro brief.

I consulenti AI premium tornano a parlare. Dopo l'aggiornamento del motore AI di ieri (v2.39.0), i consulenti di fascia premium — Direttore Commerciale, Gestione Obiezioni, SEO Expert, Consulente GBP, Analista Competitor, la scheda Smart e il Racconto — potevano restituire una risposta completamente vuota: il pannello mostrava «brief rigenerato» ma senza una riga di testo. Il nuovo motore, se non istruito diversamente, consuma il budget di scrittura in una fase di ragionamento interno e arriva a fine corsa senza aver scritto nulla. Ora ogni consulente ha l'istruzione esplicita di dedicare tutto il budget al testo che leggi tu. In più, se mai una risposta dovesse arrivare vuota, non viene più salvata: ricevi un messaggio di errore chiaro e puoi rigenerare subito, invece di ritrovarti una card vuota «congelata». Ripulite anche le risposte vuote rimaste in memoria da ieri, così la prossima apertura rigenera il brief da zero. Grazie a Matteo Pecelli per la segnalazione (ticket #230).

Bug fix Consulenti AI premium Ticket #230

  • Dove: step 6 (Direttore Commerciale, Gestione Obiezioni), step 2/3/5 (consulenti verticali premium), Smart Mode e Racconto.
  • Effetto: i brief tornano a generarsi con il testo completo; le eventuali risposte vuote già salvate sono state rimosse e si rigenerano alla prossima apertura.
  • In più: una risposta vuota non viene mai più salvata — al suo posto un errore esplicito con invito a riprovare.

Giovedì 2 luglio

3 release
Versione 2.40.0

Giovedì 2 luglio

2026-07-02 Nuovo bottone «Reset MFA» nella gestione agenti del pannello admin: se un agente perde il telefono o cambia dispositivo, l'admin gli azzera la verifica a due fattori in un click, con 7 giorni per riattivarla.

Reset MFA self-service per l'admin. Finora, se un agente perdeva l'accesso alla sua app di autenticazione (telefono perso, cambio dispositivo), sbloccarlo richiedeva un intervento manuale sul server. Da questa versione, nella tabella agenti del pannello admin compare il bottone «Reset MFA» accanto a «Reset pw» — visibile solo per gli agenti che hanno la verifica a due fattori attiva. Il reset azzera la configurazione MFA e riapre la finestra di grazia: l'agente rientra con la sola password e ha 7 giorni per riattivare la verifica dal suo profilo, dopodiché il sistema lo blocca di nuovo come da policy. Ogni reset viene registrato nel log attività due volte: sull'admin che l'ha eseguito e sull'agente che l'ha ricevuto, così l'audit trail resta completo.

Nuova funzione Admin · Sicurezza MFA

  • Dove: pannello admin → tabella agenti → bottone «Reset MFA» (solo su agenti con MFA attiva).
  • Effetto: l'agente entra con sola email + password e ha 7 giorni per riattivare la MFA dal profilo.
  • Audit: doppia registrazione nel log attività (chi ha eseguito il reset e chi l'ha ricevuto).
Versione 2.39.1

Giovedì 2 luglio

2026-07-02 Pannello admin «AI & Costi»: corretta la tariffa storica delle chiamate premium, che sovrastimava i costi passati di circa 3 volte. Sistemati anche due controlli automatici interni rimasti indietro.

Costi AI storici finalmente accurati. Nel pannello admin la tariffa applicata alle vecchie chiamate dei consulenti premium era rimasta a un listino superato (quello di una versione ancora precedente del modello): i costi passati risultavano circa il triplo del reale. Da questa patch il calcolo usa il listino corretto, quindi i totali storici in «AI & Costi» scendono — non è un errore, è la cifra giusta. Corretta di conseguenza anche la stima di risparmio del passaggio al nuovo motore annunciato nella v2.39.0: a listino è circa il 40% in meno per chiamata, non «un quinto». Sistemati infine due controlli automatici interni che si erano disallineati dal codice (nessun impatto su quello che vedi nelle pagine).

Bug fix Admin AI & Costi Trasparenza costi

  • Cosa cambia per l'admin: i costi storici delle chiamate premium in «AI & Costi» sono ricalcolati col listino corretto (piu' bassi di ~3x rispetto a ieri).
  • Cosa NON cambia: le tariffe dei modelli attuali (standard e premium) erano gia' corrette.
Versione 2.39.0

Giovedì 2 luglio

2026-07-02 I consulenti AI «premium» (Direttore Commerciale, Consulente SEO, Gestione Obiezioni, Analista Competitor, Racconto) passano al motore AI di nuova generazione: risposte più rapide e costi per chiamata ridotti (circa il 40% in meno a listino).

Motore AI aggiornato per i consulenti premium. Le analisi più complesse della piattaforma (brief del Direttore Commerciale, strategia SEO, gestione obiezioni, confronto competitor e Racconto a 14 sezioni) finora usavano il modello AI di fascia alta della generazione precedente. Da questa versione passano al modello di nuova generazione: il fornitore lo posiziona come più veloce a parità di capacità, e costa circa il 40% in meno per ogni chiamata. Per te non cambia nulla nel flusso di lavoro: stessi bottoni, stessi brief — arrivano solo un po' prima.

Aggiornamento AI Consulenti premium Costi ridotti

  • Cosa cambia: le 7 analisi AI «premium» (tra cui Racconto e brief comparativo competitor) usano il modello di nuova generazione.
  • Cosa NON cambia: i consulenti tattici (interpretazioni rapide, AVA) restano sul modello standard, già ottimale per quel lavoro.
  • Per l'admin: nella tab «AI & Costi» la card Premium traccia il nuovo modello; lo storico delle chiamate precedenti resta visibile con la sua tariffa.

Sabato 27 giugno

1 release
Versione 2.38.7

Sabato 27 giugno

2026-06-27 Step 5 «Confronto con i competitor»: la card «Social» del prospect ora riusa l'analisi gia' fatta negli step precedenti invece di rilanciarla da zero. Confronto coi competitor finalmente coerente con quello che hai visto.

Confronto social piu' affidabile. Allo step 5 «Competitor intelligence», la card «Social» del prospect veniva ricostruita ogni volta lanciando una nuova rilevazione live. Quando la rilevazione live falliva (sito che risponde lento, redirect, blocco temporaneo) la card mostrava meno canali di quelli che avevi appena registrato nello step 4 — e il confronto col competitor sembrava ingiusto. Da questa patch la card riusa direttamente i canali e i follower che hai gia' analizzato e salvato negli step precedenti; il confronto coi competitor parte dagli stessi numeri che hai sotto gli occhi. La rilevazione live resta come fallback se non hai ancora fatto l'analisi social.

Bug fix Step 5 Competitor Coerenza tra step

  • Cosa cambia: la card «Social» del prospect nello step 5 mostra esattamente gli stessi canali / follower dello step 4.
  • Quando viene rilanciata la rilevazione live: solo se nello step 4 non hai ancora analizzato il prospect.
  • Effetto sul confronto: i delta «canali attivi» e «follower totali» vs competitor sono ora coerenti col profilo che hai gia' visto.

Venerdì 26 giugno

4 release
Versione 2.38.6

Venerdì 26 giugno

2026-06-26 Trasparente per chi usa il prodotto. Pipeline di rilascio: anche l'ultimo passo del deploy automatico (la verifica finale che il motore stia davvero servendo la nuova versione) ora gira da dentro al server invece di chiamare da fuori, per lo stesso motivo della v2.38.4. Tutta la pipeline e' ora immune dal filtro anti-bot del provider.

Trasparente per chi usa il prodotto. Completamento della patch infrastrutturale iniziata con la v2.38.4. In quella patch avevamo spostato il riavvio del motore dell'applicazione da una chiamata esterna a una interna al server, per non farlo intercettare dal filtro anti-bot del provider. Restava però ancora un passo «esterno»: la verifica finale che il numero di versione esposto dal motore coincidesse con quello dei file appena caricati — chiamata anch'essa dall'esterno, ed esattamente per la stessa ragione finiva ogni tanto intercettata e dichiarata fallita. Con questa patch anche quel passo gira da dentro il server: legge il file della versione direttamente dal disco e interroga il motore in loopback locale. Ora l'intera pipeline e' immune dal filtro anti-bot. Nessun cambio visibile: zero modifiche all'esperienza di chi usa lo strumento.

Patch Solo infrastruttura Pipeline rilascio

  • Effetto pratico: i deploy automatici si chiudono al primo colpo end-to-end, senza intervento manuale per il check finale.
  • Bonus: il vecchio check delle pagine pubbliche aveva un bug nascosto — trattava come «OK» anche le risposte HTTP intermedie (es. quelle del filtro anti-bot), mascherando il problema. Eliminato.
Versione 2.38.5

Venerdì 26 giugno

2026-06-26 Step 3 «Web & SEO»: quando il check tecnico segnala «Contenuto misto rilevato» ora puoi aprire l'elenco dei link non sicuri trovati in pagina — così sai esattamente cosa segnalare al cliente da sistemare.

Su segnalazione di un agente: nello step 3 il check «Contenuto misto» (sito sicuro che però carica risorse non sicure) si fermava al semaforo rosso senza dire DOVE fosse il problema. Diceva «rilevato» e basta. Per il commerciale era inutile: vedeva il flag ma non aveva nulla in mano da girare al cliente o al suo tecnico. Da questa patch, sotto la segnalazione compare un accordion «Mostra le risorse HTTP trovate»: clicchi e vedi la lista deduplicata dei link incriminati (fino a 25), cliccabili per ispezione veloce. Ora la criticità diventa subito azionabile: copi la lista, la mandi al cliente e proponi la sostituzione con HTTPS.

Patch Step 3 · Web & SEO Esperienza agenti

  • Per chi vende: il check tecnico passa da informativo («c'è un problema») ad azionabile («ecco i link da sistemare»).
  • Cap: mostriamo fino a 25 URL deduplicati per evitare elenchi ingestibili su siti pesanti. Nella stragrande maggioranza dei casi i link incriminati sono pochi (1-5 link tipo CDN vecchi, «realizzato da» senza HTTPS, badge esterni).
Versione 2.38.4

Venerdì 26 giugno

2026-06-26 Trasparente per chi usa il prodotto. Pipeline di rilascio: il passo che riavvia il motore dell'applicazione dopo un aggiornamento ora gira da dentro al server invece di chiamarlo da fuori, cosi' non puo' piu' essere intercettato dal filtro anti-bot del provider. I rilasci automatici tornano a chiudersi al primo colpo.

Trasparente per chi usa il prodotto. Modifica interna alla pipeline di rilascio. Nel rilascio della v2.38.3 (stessa giornata) il passo finale — quello che riavvia il motore dell'applicazione dopo aver aggiornato i file — veniva fatto chiamando una pagina pubblica del nostro server da una postazione remota. Il filtro anti-bot del provider, in modo intermittente, scambiava quella chiamata per traffico sospetto e rispondeva con una pagina di verifica invece di eseguire il riavvio: risultato, file aggiornati ma motore fermo sulla versione precedente. Con questa patch il riavvio gira da dentro il server stesso: niente piu' filtro anti-bot in mezzo, il passaggio fila al primo colpo. Nessun cambio visibile: nessuna nuova schermata, nessun comportamento diverso per agenti commerciali.

Patch Solo infrastruttura Pipeline rilascio

  • Effetto pratico: i rilasci automatici tornano a chiudersi senza intervento manuale. Prima, quando il filtro anti-bot scattava, serviva lanciare il riavvio a mano.
  • Nessun altro cambio: zero modifiche a interfaccia, dati, comportamento delle pagine prodotto.
Versione 2.38.3

Venerdì 26 giugno

2026-06-26 Step 4 «Social»: il rilevamento automatico dei canali social dal sito del prospect ora è piu' robusto. Se la prima scansione fatta nella pagina di ricerca non aveva trovato nulla per un motivo temporaneo, lo step 4 ritenta da solo invece di dare per buono il vuoto.

Su segnalazione di un agente: aprendo lo step 4 di un prospect, i social presenti nel suo sito non venivano riconosciuti e i flag delle piattaforme restavano spenti, anche se i canali erano effettivamente sul footer. Causa: durante la prima scansione fatta nella pagina di ricerca (lazy-load veloce con timeout corto) ci può essere stato un fallimento temporaneo (rete lenta, sito momentaneamente irraggiungibile), e quel risultato vuoto veniva memorizzato per 30 minuti facendo sembrare anche allo step 4 che non ci fossero canali. Ora lo step 4 si fida della memoria solo quando contiene almeno un canale: se vede un risultato vuoto rilancia la scansione da capo. L'agente trova le caselle già compilate.

Patch Step 4 · Social Esperienza agenti

  • Per chi vende: nessun click in piu'. Se il sito del prospect ha link a Facebook/Instagram/LinkedIn/YouTube/TikTok nel footer, lo step 4 li trova e pre-attiva le piattaforme.
  • Quando non funziona: se il prospect non ha sito, oppure se i social sono solo sul profilo Google Business e non linkati dal sito, lo strumento non li puo' vedere (Google non ce li restituisce nei dati pubblici della scheda). In quel caso le caselle restano da compilare a mano.

Giovedì 25 giugno

4 release
Versione 2.38.2

Giovedì 25 giugno

2026-06-25 Strumento admin: la tab «Certificazione accessi» ora registra il vero indirizzo IP del visitatore invece del solo indirizzo del server interno, rendendola realmente utilizzabile come traccia per audit GDPR/NIS2.

Solo per amministratori. Subito dopo l'attivazione della nuova tab «Certificazione accessi» (v2.38.0) abbiamo notato che la colonna IP riportava sempre lo stesso valore 127.0.0.1 per ogni evento. Era il limite della catena interna fra il server web e il motore dell'applicazione: l'IP del visitatore non veniva propagato al motore, che vedeva solo l'indirizzo locale del proprio servizio. Con questa patch il dato viene propagato correttamente: gli eventi di login (riusciti o falliti) registrati da adesso in poi avranno l'IP pubblico effettivo del visitatore.

Patch Solo admin Audit GDPR/NIS2

  • Storico precedente: gli eventi registrati prima di questa patch resteranno con IP 127.0.0.1 — non possiamo ricostruirlo a posteriori. Le voci della tab si riempiranno con l'IP corretto man mano che arrivano nuovi login.
  • Nessun altro cambio: nessuna nuova schermata, nessun comportamento diverso per agenti commerciali.
Versione 2.38.1

Giovedì 25 giugno

2026-06-25 Patch infrastrutturale: il deploy automatico ora forza sempre il riavvio del backend e verifica end-to-end che il codice nuovo sia effettivamente attivo, prima di dichiarare il deploy concluso.

Trasparente per chi usa il prodotto. Modifica interna alla pipeline di rilascio. Durante il rilascio della v2.38.0 ci siamo accorti che in alcuni casi il riavvio del motore dell'applicazione veniva saltato anche se il caricamento dei file era andato bene — risultato: pagine nuove ma motore vecchio. Con questa patch il deploy automatico chiude quel buco: forza sempre il riavvio del motore dopo l'aggiornamento e, prima di dare l'OK, controlla che il numero di versione esposto dal motore coincida con quello dei file appena caricati. Se non coincidono, il deploy fallisce in modo visibile invece di riuscire silenziosamente con i file vecchi.

Patch infrastrutturale Pipeline rilascio

  • Nessun cambio funzionale: nessuna nuova schermata, nessuna nuova funzione, nessun comportamento diverso per agenti o admin.
  • Più affidabilità nei rilasci futuri: le prossime versioni vanno in produzione con un controllo end-to-end (motore + file) che certifica l'effettivo allineamento.
Versione 2.38.0

Giovedì 25 giugno

2026-06-25 Strumento admin: nuova tab «Certificazione accessi» che mostra ogni evento di login (riuscito o fallito) con quando, IP, esito — sorgente affidabile per audit GDPR/NIS2. La tab Agenti adesso distingue «Login certificato» (password + MFA superate) da «Ultimo tentativo».

Solo per amministratori. Domanda nata da Giuseppe: «Quello che vedo in piattaforma come ‘ultimo accesso’ degli agenti è certificato al 100%?». Risposta onesta: no, la colonna che vedevi finora era il timestamp dell'ultima volta che un agente aveva digitato una password corretta — ma se poi sbagliava il codice MFA (verifica in due passaggi) o cambiava password via link reset, il valore si aggiornava lo stesso, dando un falso positivo. Da questa release c'è una sorgente certificata e una tab dedicata per audit.

Nuova funzione Solo admin Audit GDPR/NIS2

  • Nuova tab «Certificazione accessi» nel pannello admin: lista di ogni evento di login con quando, chi, esito (verde = riuscito, rosso = fallito), IP. Filtri per agente, intervallo date, esito. Bottone «↓ Esporta CSV» per scaricare il report.
  • Tab Agenti aggiornata: la vecchia colonna «Ultimo login» è stata sostituita da due colonne distinte: Login certificato (ultimo accesso che ha veramente completato anche la verifica in due passaggi) e Ultimo tentativo (per audit anti-intrusione, mostra anche login falliti).
  • Eventi tracciati: login completato, password errata, codice MFA fallito, account bloccato, rate limit, MFA attivata/disattivata, password reset, logout.
  • Retention 180 giorni: per coerenza con la policy GDPR Art. 5(1)(c) di minimizzazione (già in vigore), gli eventi vengono cancellati dopo 6 mesi. Se ti serve un periodo più lungo, esporta in CSV regolarmente.
  • Cosa non cambia: nessuna modifica per gli agenti commerciali. Tutto resta interno al pannello admin.
Versione 2.37.0

Giovedì 25 giugno

2026-06-25 Storico Prospect: nuovo pulsante «Esporta in Excel» che scarica in un click la lista corrente — rispetta i filtri attivi (stato, città, parola chiave).

Era una richiesta che ricorreva da settimane: poter portare fuori dallo Storico Prospect i lead lavorati per fare cernita personalizzata, condivisione con il team o pianificazione visite in Excel/Google Sheets. Da questa release nella toolbar dello Storico c'è un pulsante «💾 Esporta in Excel» che produce un file CSV pronto da aprire con doppio click. Il file rispetta esattamente quello che stai vedendo: se hai filtrato per «Aperti» e cercato una città, esporta solo quei prospect.

Nuova funzione

  • Posizione: bottone «💾 Esporta in Excel» nella toolbar dello Storico Prospect, accanto agli altri filtri.
  • Cosa esporta: nome, città, indirizzo, categoria, telefono, sito web, rating, recensioni, stato, codice cliente, origine (Completa/Smart/Racconto), step completati, tag, nota, data analisi, ultimo aggiornamento.
  • Rispetta i filtri: se filtri per stato, città o parola chiave, l'export contiene solo i prospect visibili. Nessuna sorpresa.
  • Compatibile Excel italiano: file UTF-8 con BOM, separatore ;, accenti corretti. Doppio click sul file e si apre subito senza wizard di importazione.
  • Nome file con timestamp: storico-prospect-AAAAMMGG-HHMM.csv, così gli export non si sovrascrivono fra loro.

Mercoledì 24 giugno

1 release
Versione 2.36.9

Mercoledì 24 giugno

2026-06-24 Strumento admin: nella tab Agenti ora puoi scegliere la finestra temporale (7 / 30 / 90 giorni o 1 anno) ed esportare in un colpo solo tutte le statistiche in CSV (apribile in Excel).

Solo per amministratori. La tab «Agenti» del pannello admin mostrava da sempre una sola finestra fissa di 30 giorni; quando un agente storicamente molto attivo aveva fatto gran parte del lavoro a inizio mese poteva sembrare che le sue statistiche si fossero «resettate». In realtà non c'era alcun reset: i conteggi delle ultime 4 settimane scorrono naturalmente, e tutto ciò che è più vecchio esce dalla finestra. Da questa release puoi scegliere il periodo (7 giorni, 30, 90 oppure 1 anno) e i conteggi si ricalcolano subito. In più un pulsante «↓ Esporta CSV» scarica una tabella completa di tutti gli agenti con email, ruolo, stato, ultimo login, contatori azioni per il periodo selezionato e prospect per stato — pronta da aprire in Excel.

Nuova funzione Solo admin

  • Selettore periodo: accanto al pulsante «Nuovo agente», scegli fra 7 giorni, 30, 90 o 1 anno. Le colonne Ricerche, Scan mappa, Proposte, Won e Conversione si aggiornano subito.
  • Prospect = totale assoluto: le due colonne Prospect (totale e Won) restano il valore complessivo, perché in archivio i prospect non hanno una «data di ingresso pipeline» comparabile.
  • Esporta CSV: file UTF-8 con BOM (Excel apre subito con accenti corretti). Nome file `agenti_30gg_2026-06-24.csv` con il periodo scelto. 21 colonne tra cui breakdown azioni e prospect per stato.
  • Nessuna modifica ai dati: la finestra di 30 giorni resta il default, e nulla è mai stato cancellato lato server. Verifica fatta su tutto l'archivio attività del 2026.

Sabato 20 giugno

1 release
Versione 2.36.8

Sabato 20 giugno

2026-06-20 Analisi social più precisa: lo Stratega Social ora cita per ogni canale i numeri esatti rilevati, senza più mescolare l'engagement di un canale con quello di un altro.

Risolta l'incoerenza tra i dati rilevati sui canali social e quelli ripresi dallo Stratega Social. Su alcuni prospect (specie quando lo stesso brand usa lo stesso nome account sia su Instagram sia su TikTok) capitava che lo Stratega Social citasse per Instagram un engagement che in realtà era quello di TikTok, o viceversa. La radice del problema era che l'assistente AI, leggendo numeri simili per canali con handle identico, li scambiava. Da questa release l'assistente riceve una tabella vincolante, canale per canale, con follower ed engagement esatti: deve obbligatoriamente attenersi a quei valori e non può trasferirli da un canale all'altro.

Correzione Step 4 — Presenza Social

  • Numeri allineati al rilevamento: Instagram, Facebook, TikTok e gli altri canali nello Stratega Social riportano gli stessi follower ed engagement che vedi nelle card sopra. Niente più cifre sbagliate.
  • Brand con stesso handle: anche se il prospect usa lo stesso nome utente su più piattaforme (caso comune nei retail e nelle gallerie), ogni canale resta separato con i suoi dati.
  • Nessuna azione richiesta: la modifica si applica automaticamente alla prossima generazione dello Stratega. Se hai analisi già salvate con i vecchi numeri, basta cliccare «Rigenera» per ottenere la versione corretta.

Martedì 16 giugno

2 release
Versione 2.36.7

Martedì 16 giugno

2026-06-16 Stabilità rinforzata: piccoli scollegamenti di rete tra app e database non producono più errori sporadici sulla campanella e su altre pagine pollanti.

Eliminati gli errori transitori che apparivano ogni tanto sulla campanella notifiche e su altri pannelli che si aggiornano da soli ogni mezzo minuto. Quando l'infrastruttura di rete tra il nostro strumento e l'archivio dati ha un piccolo intoppo (capita sui server condivisi, di solito dopo periodi di inattività), prima poteva apparire per qualche secondo un errore sulla campanella o un caricamento fallito. Da questa release l'intoppo viene assorbito in modo silenzioso: l'aggiornamento successivo (quello automatico ogni 30 secondi) riparte da una connessione fresca e tutto torna fluido. Nessuna azione richiesta da te.

Stabilità Backend

  • Campanella notifiche più affidabile: non vedrai più il messaggio rosso intermittente sulla campanella nei momenti in cui il server condiviso droppava connessioni inattive.
  • Pannelli auto-refresh stabili: stesso beneficio per i pannelli che si aggiornano da soli (verifica stato 2FA, lock prospect, sezione MFA).
  • Errori segnalati con la causa vera: in casi rari di errore residuo, ora il monitoraggio interno riceve il motivo esatto del problema invece di una falsa segnalazione, e Giuseppe può intervenire mirato.
Versione 2.36.6

Martedì 16 giugno

2026-06-16 Aggiornamento di sicurezza preventivo di un componente interno. Nessun cambiamento nell'uso quotidiano dello strumento.

Aggiornata una libreria di crittografia interna per chiudere un avviso di sicurezza recente. Una libreria che lo strumento usa per proteggere dati riservati e per firmare i token di accesso aveva un avviso di sicurezza pubblicato pochi giorni fa. L'aggiornamento è già in produzione. Non cambia nulla per chi usa lo strumento: non serve rifare il login, non serve svuotare la cache, le pagine continuano a funzionare esattamente come prima.

Sicurezza Componente interno

  • Manutenzione preventiva: intervento programmato dopo un avviso pubblico recente. Nessuna evidenza di abuso sul nostro ambiente.
  • Trasparente per l'utente: nessun cambio di interfaccia, nessuna funzione modificata, nessun logout forzato.
  • Continuità del servizio: rilasciato senza periodo di manutenzione. Se vedi il messaggio «ricarica per ottenere la nuova versione» basta un refresh.

Lunedì 15 giugno

1 release
Versione 2.36.1

Lunedì 15 giugno

2026-06-15 Nuova sezione GEO — Visibilità AI: scopri quanto il brand del prospect compare nelle risposte generative di Google — con esempi reali di prompt dove il sito viene citato.

Le AI generative sono il nuovo motore di ricerca: ora puoi mostrare al prospect quanto è visibile (o invisibile) quando le persone chiedono a Google AI. Al passo 3 — Web & SEO trovi una nuova sezione GEO — Visibilità AI con quattro indicatori chiave: quante volte il brand del prospect viene nominato dalle risposte di Google AI Overviews, quante volte il sito viene citato come fonte, la posizione media e il traffico potenzialmente intercettabile. Sotto trovi anche un bottone «Vedi esempi di prompt» che mostra alcuni casi reali in cui il prospect (o il suo settore) viene citato dall'AI: una leva fortissima da usare in appuntamento.

Novità Pillar 3 — Web & SEO

  • Quattro KPI a colpo d'occhio: menzioni del brand, link al sito nelle risposte AI, posizione media, traffico AI potenziale — con confronto rispetto al periodo precedente quando disponibile.
  • Verdetto narrativo automatico sotto i numeri: ti spiega se il prospect è invisibile, citato senza link, in crescita o consolidato, per agganciare subito una proposta.
  • Esempi di prompt reali: clicca «Vedi esempi di prompt» per leggere le ricerche concrete dove il sito viene citato dall'AI (volume mensile incluso). Esempi reali per paginesi.it: «rid bancario» (4.400/mese), «iperottica» (480/mese), «sostituzione bombola gpl vicino a me» (390/mese).
  • Dataset Google AI Overviews aggiornato mensilmente. La data dell'ultimo aggiornamento è visibile accanto al bottone esempi.
  • Cache 30 giorni: ripetere l'analisi sullo stesso prospect non costa nulla finché il dataset non si aggiorna.

Mercoledì 10 giugno

2 release
Versione 2.33.6

Mercoledì 10 giugno

2026-06-10 Risolto il blocco all'accesso per chi doveva ancora attivare la verifica in due passaggi: ora si viene accompagnati direttamente alla pagina di attivazione.

Accesso sbloccato per chi non aveva ancora attivato la verifica in due passaggi. Alla scadenza del periodo concesso per attivare la verifica in due passaggi, lo strumento disconnetteva l'agente dopo pochi secondi anche dalla pagina dove si completa l'attivazione: il risultato era un giro continuo di accessi ed espulsioni senza mai riuscire ad attivarla. Ora alla scadenza vieni portato direttamente alla pagina di attivazione, con tutto il tempo necessario per inquadrare il QR-code e confermare il codice.

Bug fix Sicurezza

  • Niente più disconnessione forzata. A termine scaduto le funzioni dello strumento restano comunque bloccate finché non attivi la verifica in due passaggi, ma la pagina di attivazione ora resta sempre raggiungibile e utilizzabile.
  • Attivazione guidata. Al login vieni accompagnato automaticamente al tuo profilo con la finestra di attivazione già aperta; un banner rosso ti ricorda cosa manca.
  • Il bottone «Attiva ora» del banner apre direttamente la finestra di attivazione, senza passaggi intermedi.
Versione 2.33.5

Mercoledì 10 giugno

2026-06-10 Aggiornamento di sicurezza preventivo di un componente interno. Nessun cambiamento nell'uso quotidiano dello strumento.

Manutenzione di sicurezza sotto al cofano. Abbiamo aggiornato alla versione più recente un componente interno usato solo dal nostro team tecnico, chiudendo in via definitiva una segnalazione di sicurezza che era già stata valutata come non pericolosa per lo strumento. Non cambia nulla in quello che vedi e usi ogni giorno: è pura manutenzione preventiva.

Sicurezza

  • Componente interno aggiornato. La segnalazione di sicurezza, già classificata a rischio praticamente nullo, ora è chiusa alla radice.
  • Zero impatto operativo. Nessuna pagina, funzione o flusso di lavoro è cambiato.

Sabato 6 giugno

1 release
Versione 2.33.4

Sabato 6 giugno

2026-06-06 La scansione mappa ora mostra sempre i risultati della parola chiave che hai scelto: se la cambi prima di rilanciare, vedi quella nuova e non più quella di prima.

La scansione di visibilità locale rispetta sempre la parola chiave scelta. Poteva capitare questo: lanciavi la scansione mappa, ti accorgevi che la parola chiave proposta non era quella giusta, la cambiavi e rilanciavi… ma a volte ti ritrovavi i risultati della parola chiave precedente, mostrati però sotto quella nuova. Succedeva quando si chiedeva di ricaricare i risultati prima che la nuova scansione fosse pronta. Ora l'app carica solo il report che corrisponde davvero alla parola chiave richiesta: se quello nuovo non è ancora pronto, resta in attesa invece di mostrarti dati sbagliati.

Correzione

  • Parola chiave sempre corretta. Cambiala prima di rilanciare la scansione: vedrai i risultati di quella nuova, mai più di una precedente.
  • Niente dati fuorvianti. Se la nuova scansione è ancora in elaborazione, l'app aspetta invece di proporti un report che non c'entra.

Mercoledì 3 giugno

1 release
Versione 2.33.3

Mercoledì 3 giugno

2026-06-03 Risolto il blocco di accesso per chi non aveva ancora attivato la verifica in due passaggi (2FA): ora si rientra e si attiva senza intoppi.

Accesso di nuovo regolare per chi doveva ancora attivare la 2FA. Alcuni di voi, scaduto il termine per attivare la verifica in due passaggi, si sono ritrovati bloccati: si entrava con email e password ma poi ogni pagina dava errore, senza però portarvi alla schermata per attivare la 2FA. Risultato: impossibile sia lavorare sia mettere in regola l'account. Abbiamo corretto il problema: ora, se il termine è scaduto, venite accompagnati direttamente alla pagina del profilo dove attivare la 2FA in un minuto. Abbiamo anche riportato a tutti gli account interessati una nuova finestra di 7 giorni per completare l'attivazione con calma, e reso di nuovo visibile il promemoria in cima alle pagine.

Correzione SECURITY

  • Ritorno alla schermata di attivazione. Dopo lo scadere del termine, l'app vi porta in automatico al profilo per attivare la 2FA, invece di lasciarvi su pagine in errore.
  • Nuovi 7 giorni di tempo. Chi era rimasto bloccato ha una finestra fresca per attivare la verifica in due passaggi senza fretta.
  • Promemoria di nuovo visibile. Il banner in cima alle pagine che ricorda di attivare la 2FA torna a comparire correttamente.

Domenica 31 maggio

1 release
Versione 2.33.1

Domenica 31 maggio

2026-05-31 Nuovo campo CAP facoltativo nella ricerca: restringi i risultati a una zona precisa. Puoi cercare per città, per CAP, o entrambi — su tutte le modalità (Hub, Smart, Racconto).

Ricerca più mirata con il CAP. Nella ricerca trovi ora un campo CAP facoltativo, accanto alla città. Se lo compili (5 cifre, es. 20121), i potenziali clienti vengono cercati in quella zona specifica invece che su tutta la città — comodo nelle aree metropolitane come Milano o Roma, dove ogni agente lavora quartieri e zone di competenza precise. Puoi anche cercare solo con il CAP, senza scrivere la città. È del tutto opzionale: se lasci vuoto il CAP, la ricerca funziona come prima. Disponibile su tutte le modalità di ricerca (Hub, Smart, Racconto e ricerca classica).

Novità

  • Campo CAP facoltativo. Accetta un CAP italiano di 5 cifre, presente in tutte le barre di ricerca.
  • Cerca per città, CAP o entrambi. Basta indicare almeno uno dei due: puoi anche cercare per solo CAP.
  • Risultati più pertinenti. Con il CAP la ricerca si concentra sulla zona indicata; senza, resta sull'intera città.
  • Si salva con la ricerca. Nella ricerca classica, il CAP viene ricordato tra i preferiti insieme a categoria e città.

Venerdì 29 maggio

1 release
Versione 2.32.2

Venerdì 29 maggio

2026-05-29 Risolto il blocco di accesso con la verifica in due passaggi (2FA): ora dopo email e password compare correttamente il campo per il codice.

Accesso con verifica in due passaggi di nuovo regolare. Chi aveva attivato la 2FA, dopo aver inserito email e password non vedeva più comparire il campo per digitare il codice a 6 cifre dell'app authenticator e restava bloccato fuori. Abbiamo corretto il problema: ora il campo del codice appare subito, con il pulsante Verifica codice e la possibilità di tornare al login normale. Nessuna azione richiesta da parte tua: al prossimo accesso funziona.

Correzione

  • Campo codice 2FA visibile. Dopo email e password compare il riquadro per il codice a 6 cifre dell'app authenticator.
  • Annulla disponibile. Dal riquadro del codice puoi tornare al login normale con un clic, senza ricaricare la pagina.

Martedì 26 maggio

8 release
Versione 2.32.1

Martedì 26 maggio

2026-05-26 Aggiungi sito manualmente quando Google non lo trova + bottone "Azzera preventivo" per ripartire pulito dallo step 6.

Due richieste degli agenti chiuse in un colpo solo. 1) Aggiungi sito web manualmente. Capita che Google non abbia il sito del cliente nel suo profilo Business — il nostro sistema vedeva "Nessun sito" e quel campo restava vuoto per il resto dell'analisi. Da oggi sulla strip business in alto allo step 2 (Visibilità Locale) trovi un bottone + Aggiungi sito accanto a "Nessun sito": ci clicchi, inserisci l'URL, salvi. Il sito viene legato al prospect ed è subito disponibile per gli step successivi (SEO, Social, Competitor). Se Google invece c'era ma vuoi correggerlo, accanto al sito ti compare un'icona matita per modificarlo. 2) Azzera preventivo. Allo step 6 nella toolbar del catalogo completo trovi un nuovo bottone rosso × Azzera preventivo: cliccandolo (con conferma) svuoti tutte le sigle selezionate e tutte le modifiche manuali (quantità, prezzi, note, sconti) per ripartire da zero senza chiudere e riaprire la pagina.

Feature Ticket #214 Ticket #216

  • Sito aggiungibile a mano (#214 Sergio). Bottone "+ Aggiungi sito" allo step 2 quando Google non lo espone. Schema https:// aggiunto automaticamente se ometti il prefisso. Max 500 caratteri.
  • Sito modificabile (#214 Sergio). Icona matita accanto al sito esistente per correggerlo. Bottone "Rimuovi" nel modal per scollegarlo.
  • Azzera preventivo (#216 Tommaso). Conferma esplicita prima di azzerare ("Vuoi azzerare? Le N sigle selezionate verranno rimosse"). Funziona anche su selezioni miste fra catalogo completo e pacchetti pre-tarati.
  • Audit log. Quando aggiungi un sito a mano la modifica viene tracciata nel log attività (azione "prospect_website_manual_set") così gli admin la vedono nella dashboard.
Versione 2.32.0

Martedì 26 maggio

2026-05-26 2FA obbligatoria entro 7 giorni per tutti gli account, con banner rosso di promemoria. Aggiunti codici di recupero per non rimanere bloccati.

Tre cambiamenti in arrivo per la sicurezza. 1) 2FA obbligatoria entro 7 giorni. Tutti gli account commerciali e admin che non hanno ancora attivato la 2FA devono farlo entro 7 giorni di calendario dal rilascio di oggi. Da oggi vedete in cima a ogni pagina un banner rosso con countdown ("hai 6 giorni... 5 giorni..."): cliccando "Attiva ora" andate diretti al profilo. Allo scadere il sistema vi disconnette automaticamente e al prossimo login chiede di completare l\'attivazione prima di poter rifare qualunque altra cosa. Niente paura — il flusso e\' semplicissimo, basta scansionare un QR-code con l\'app del telefono in 60 secondi. 2) Codici di recupero. Quando attivate la 2FA il sistema vi mostra 8 codici di recupero da salvare in un posto sicuro. Servono se un giorno perdete il telefono: con uno qualsiasi di quei codici potete rientrare nel tool. Sono usa-e-getta (ogni codice funziona una sola volta), si rigenerano dal profilo. 3) Deploy automatico. Cambio interno: la pipeline di rilascio ora installa le dipendenze nuove e applica le modifiche al database in automatico. Risolve la classe di problemi che ha causato l'outage di 33 minuti questa mattina.

SECURITY 2FA OBBLIGATORIA DEPLOY

  • Banner rosso con countdown. In cima a ogni pagina vedi un banner che ti ricorda quanti giorni hai per attivare la 2FA. Si toglie da solo appena la attivi.
  • Allo scadere: logout automatico + obbligo enroll. Dopo 7 giorni se non l\'hai ancora attivata, il tool ti scollega e al prossimo login devi obbligatoriamente fare l\'attivazione.
  • 8 codici di recupero al primo enroll. Bottoni per copiarli negli appunti oppure scaricarli come file .txt. Salvali nel password manager o stampali. Quando finiscono o ne vuoi di nuovi, li rigeneri dal profilo (serve password + codice 2FA corrente).
  • Login con codice di recupero. Se sei senza telefono, alla pagina del codice 2FA puoi inserire uno dei codici di recupero al posto dei 6 cifre normali. Una volta usato, quel codice si auto-elimina (era usa-e-getta).
  • Hotfix QR-code visualizzato a metà. Sistemato un problema che faceva apparire il QR-code croppato in alcuni browser (mancava una proprietà SVG, ora aggiunta).
  • Deploy automatico (interno). La pipeline ora esegue pip install e applicazione modifiche schema database in automatico dopo l'SFTP.
Versione 2.31.1

Martedì 26 maggio

2026-05-26 UI self-service per attivare l'autenticazione a due fattori dal profilo: QR-code, conferma codice, e prompt 2FA al login.

Completata l'esperienza utente del 2FA aperto in v2.31.0. Adesso puoi attivare l'autenticazione a due fattori dal tuo profilo senza chiamare nessuno: vai su Dashboard Utente → Profilo, scorri in fondo alla pagina e trovi la card «Sicurezza account». Clicca «Attiva 2FA», scansiona il QR-code con la tua app authenticator (Google Authenticator, 1Password, Authy o Microsoft Authenticator) e conferma con il primo codice che vedi. Da quel momento ogni login chiede password + codice 2FA. Sulla pagina di login il prompt del codice compare automaticamente dopo aver inserito email e password.

SECURITY UI

  • Card "Sicurezza account" nel profilo. Mostra se il 2FA è attivo o no, da quando, e ti dà il bottone per attivarlo o disattivarlo.
  • QR-code generato server-side. Il QR-code viene reso direttamente dal nostro server (libreria segno, no servizi terzi): il secret 2FA non transita mai da fornitori esterni di rendering.
  • Inserimento manuale come fallback. Sotto al QR trovi la chiave Base32 testuale con un bottone «Copia», utile se la fotocamera non funziona.
  • Login con prompt 2FA automatico. Quando il backend risponde «serve il codice 2FA», la pagina di login mostra automaticamente un campo a 6 cifre senza farti rifare email + password.
  • Disattivazione protetta. Per disattivare il 2FA dal profilo serve la password attuale + un codice 2FA valido: chi avesse rubato la sessione attiva non può togliere la protezione.
Versione 2.31.0

Martedì 26 maggio

2026-05-26 Autenticazione a due fattori (MFA) disponibile per tutti gli account: attivala dal tuo profilo per proteggere il login con un codice usa-e-getta.

Autenticazione a due fattori — l'ultimo blocco di sicurezza dal report del consulente esterno. Adesso puoi proteggere il tuo account con un secondo fattore: dopo email + password, il sistema ti chiede un codice da 6 cifre usa-e-getta generato dalla tua app di authenticator (Google Authenticator, 1Password, Authy, Microsoft Authenticator). L'attivazione e' opzionale: niente cambia se non lo abiliti, ma per gli account che gestiscono prospect e proposte la consigliamo. Una volta attiva, chi avesse rubato la tua password non potrebbe entrare senza anche il telefono. Come si attiva: endpoint /api/auth/mfa/enroll → QR-code → scansiona con l'app → /verify-enroll col primo codice per confermare. Una UI dedicata nel profilo arriverà in un rilascio successivo (questa release apre l'API). Come si disattiva: /disable richiede di nuovo password + codice corrente.

SECURITY FEATURE

  • Standard di settore (TOTP). Usiamo lo standard TOTP a 30 secondi (lo stesso di banche, Google, Microsoft, GitHub). Funziona con qualunque app di authenticator già sul tuo telefono.
  • Attivazione opzionale, raccomandata per admin. Quando lo standard NIS2 entrerà in fase 2 diventerà obbligatoria per gli admin — meglio prendere l'abitudine adesso.
  • Disattivazione protetta. Per disattivare il MFA serve sia la password sia un codice valido. Se qualcuno avesse rubato la sessione attiva del browser non potrebbe spegnerti la protezione.
  • Account senza MFA continuano a funzionare come prima. Niente cambia per chi non vuole attivarlo: login con email + password e via.
  • Hotfix Trivy. Sistemato il riferimento alla action Trivy (v0.36.0 invece di 0.36.0) che impediva ancora ai deploy di passare dopo il primo tentativo di fix.
Versione 2.30.1

Martedì 26 maggio

2026-05-26 Continuazione hardening sicurezza: chiavi API cifrate nel database, rotazione automatica dei dati Google ogni 30 giorni, build a prova di manomissione.

Secondo blocco di interventi dal report di sicurezza esterno. Quattro aree chiuse, sempre dietro le quinte. Chiavi API protette: le chiavi dei fornitori (Anthropic, Google, Local Falcon, SEOzoom, ScrapeCreators, YouTube, PageSpeed, Sentry) custodite nel database sono adesso cifrate a livello applicativo con una chiave master separata. Rotazione dati Google automatica: ogni domenica notte il blob JSON delle response Google Places piu' vecchio di 30 giorni viene rimosso dal database (Google ToS Section 3.2.3). I dati visibili nel tuo prospect (nome, rating, citta') restano e si rinfrescano alla prossima apertura. Retention log automatica: ogni notte alle 3:30 i log di attivita' (login, ricerche, audit) piu' vecchi di 180 giorni vengono cancellati — adempimento GDPR Art. 5(1)(c) + Determinazione ACN 283727/2025. Build a prova di manomissione: ogni libreria Python che usiamo ha l'impronta crittografica salvata nel lockfile, l'installer rifiuta qualunque pacchetto che non corrisponda all'impronta attesa (difesa supply-chain). Hotfix: sistemato un bug del workflow di deploy che aveva impedito ai rilasci precedenti di pubblicarsi.

SECURITY GDPR SUPPLY CHAIN

  • Chiavi API cifrate (Fernet). Le chiavi dei fornitori nel nostro database sono cifrate con una chiave master separata che vive solo nel server applicativo. Il backup del database, da solo, non basta a leggerle.
  • Rotazione dati Google automatica. Ogni domenica notte il blob JSON delle response Google Places piu' vecchio di 30 giorni viene rimosso. I dati visibili (nome, rating, citta') si rinfrescano alla prossima apertura del prospect.
  • Retention log automatica. Ogni notte alle 3:30 i log piu' vecchi di 180 giorni vengono cancellati. Adempimento GDPR + ACN.
  • Lockfile + verifica delle impronte. Ogni dipendenza Python ha l'impronta crittografica nel lockfile; l'installer rifiuta libraries non corrispondenti. Difesa supply-chain.
  • Hotfix deploy bloccato. Sistemato bug nel workflow CI/CD (riferimento a una versione inesistente dello scanner Trivy + un test pre-esistente che falliva) che aveva impedito ai due rilasci precedenti di pubblicarsi in produzione.
Versione 2.30.0

Martedì 26 maggio

2026-05-26 Hardening di sicurezza: chiusura porte di servizio, riduzione del tempo di vita della sessione e gating automatico sulle vulnerabilità delle dipendenze.

Primo blocco di interventi sulla base dell'audit di sicurezza esterno. Il consulente cybersecurity ha consegnato un report con 21 finding da chiudere; questa release ne risolve nove. Lato sicurezza tecnica: gli endpoint interni che svuotavano la cache delle chiamate ai fornitori esterni adesso richiedono il ruolo amministratore (prima chiunque arrivasse al server poteva svuotarli e farci ri-pagare le chiamate); le librerie con vulnerabilità pubbliche note sono state aggiornate (libreria JWT, motore HTTP del server, client HTTP, client SSH); la pipeline di rilascio adesso blocca automaticamente un merge se una dipendenza ha un CVE non risolto e fa una scansione di sicurezza dell'intero codice prima del deploy. Lato durata della sessione: il login attivo passa da 7 giorni a 24 ore, ma con un rinnovo automatico ogni volta che lavori — quindi tu non noti nulla se sei sul tool, mentre una sessione abbandonata si chiude da sola entro la giornata. Lato manutenzione futura: abbiamo attivato il bot di GitHub che monitora settimanalmente le dipendenze Python, le GitHub Actions e l'immagine Docker e apre pull request automatiche quando un componente va aggiornato.

SECURITY HARDENING CI/CD

  • Porte di servizio richiudate. Gli endpoint /api/cache/stats e /api/cache/purge ora richiedono il ruolo amministratore: prima erano aperti e un attaccante poteva forzarci a re-interrogare i fornitori esterni a pagamento (DoS economico). Niente cambia per te se sei agente normale.
  • 4 dipendenze critiche aggiornate. Libreria JWT (decodifica del login), motore HTTP del server, client HTTP per chiamare i fornitori, client SSH per i deploy: tutte spostate su una versione che chiude i CVE pubblicati sulle precedenti. Comportamento utente invariato.
  • Sessione 24h con rinnovo automatico. Da oggi il token di login dura 24 ore invece di 7 giorni. Non noterai nulla se sei attivo: ogni richiesta al server estende la sessione di altre 24 ore. Una sessione abbandonata per 24 ore si chiude da sola — questa è la difesa contro furto di sessione su computer condivisi.
  • Build bloccata se trova vulnerabilità. Prima la CI segnalava le CVE delle dipendenze come warning e mergeva lo stesso. Da oggi sulla branch main il merge si blocca se una dipendenza ha un CVE non risolto.
  • Scansione di sicurezza pre-deploy. Il workflow di deploy adesso esegue Trivy (scanner di vulnerabilità) prima di toccare il server: se trova un problema HIGH/CRITICAL fixabile, il deploy si interrompe.
  • Bot Dependabot attivo. Settimanalmente apre pull request automatiche quando esce un aggiornamento di una libreria Python, una GitHub Action o l'immagine Docker di base. Niente più "dimentichi di aggiornare e ti accorgi al prossimo audit".
Versione 2.29.3

Martedì 26 maggio

2026-05-26 Stampa audit affidabile anche da Mac e categorie prospect sempre in italiano nella Performance.

Due piccoli ma fastidiosi inciampi sistemati. Primo: stampare l'audit completo dallo step 6 da Mac (Safari e Chrome) non funzionava sempre — la finestra si apriva ma partiva a vuoto, oppure il browser bloccava in silenzio il popup e cliccavi su «Stampa» senza che succedesse nulla. Ora la stampa attende che il documento sia davvero pronto prima di aprire il dialog, mette a fuoco la finestra (richiesto da Safari) e, se il browser blocca il popup, mostra un avviso con le istruzioni per sbloccarlo. Secondo: nella tua Dashboard Utente → Performance, alcune categorie di prospect comparivano in inglese («Wedding venue», «Swimming pool», «Wellness center»): ora sono mappate in italiano e il traduttore copre anche i display name «Title case» di Google, non solo gli identificativi tecnici.

FIX stampa FIX lingua

  • Stampa audit da Mac, finalmente solida. Sia Safari sia Chrome su macOS aprivano la finestra e poi stampavano a vuoto, o non aprivano nulla per via del popup blocker silenzioso. Risolto su entrambi i punti di stampa dello step 6: l'audit completo e la proposta riassuntiva.
  • Popup bloccato? Ora lo sai. Se il browser blocca la finestra di stampa, un avviso ti dice cosa fare in pochi click sia su Safari sia su Chrome. Niente più click silenziosi senza effetto.
  • Categorie sempre in italiano. Aggiunti i nomi mancanti (sala ricevimenti, piscina, centro benessere, sauna, spazio eventi) e corretto il caso in cui Google restituisce il display name già in inglese capitalizzato: ora viene comunque tradotto se presente nel nostro dizionario.
Versione 2.29.2

Martedì 26 maggio

2026-05-26 Il «Gancio commerciale» dei consulenti AI resta a vista per te, ma sparisce dal PDF consegnato al cliente.

Il «Gancio commerciale» non finisce più nel PDF stampato. Da v2.21.8 l'audit stampato include in coda i brief dei consulenti AI (Consulente GBP, SEO Locale, Stratega Social, Analista Competitor, Narratore Audit) già generati negli step precedenti. Ogni brief però chiude con una sezione «Gancio commerciale»: una leva di vendita scritta per te, non per il cliente. Da oggi quella sezione viene ripulita dal PDF in fase di stampa: la vedi ancora a video sui pannelli AI degli step 2/3/4/5 quando lavori l'audit, ma il documento che lasci al prospect mostra solo la parte diagnostica.

FIX presentazione

  • Solo nella stampa. A schermo nulla cambia: continui a vedere il Gancio commerciale di ciascun consulente AI mentre prepari l'appuntamento.
  • Cinque consulenti coperti. Consulente GBP, SEO Locale, Stratega Social, Analista Competitor, Narratore Audit: tutti i brief che includevano la voce vengono ripuliti in stampa.
  • Resto del brief intatto. Diagnosi, azioni, gap restano nel PDF. Sparisce solo la sezione marcata «Gancio commerciale».

Giovedì 21 maggio

22 release
Versione 2.29.0

Giovedì 21 maggio

2026-05-21 Competitor reali della mappa locale: i consulenti AI non guardano più rivali finti per affinità di dominio.

Competitor «veri» della mappa locale per i consulenti AI. Il provider che usiamo per le metriche SEO del sito suggerisce anche «competitor per affinità di dominio»: su business locali però questa lista è spesso fuori target — portali nazionali, business in altre città, siti di settore senza geografia. I consulenti AI ci finivano sopra e prendevano abbagli ("il suo competitor X copre il triplo del traffico"... ma X è un sito nazionale che non compete davvero col prospect locale). Da oggi cambia la sorgente: per ogni analisi il sistema prende i 4 rivali reali della mappa locale dallo scan Local Falcon (quelli che emergono per la stessa keyword nella stessa zona), recupera per ciascuno il sito reale e la categoria via Google, filtra i casi in cui il rivale ha solo un profilo social o è ospitato da un portale (PagineGialle, TripAdvisor, TheFork, Yelp, Linktree, ecc.), e per chi ha un sito proprio aggiunge le metriche SEO. Tutto questo viene passato ai consulenti come fonte autorevole. Risultato: il Consulente SEO senior, il Consulente GBP, lo Stratega Social, il Direttore Commerciale e A.V.A. ragionano sui rivali davvero vicini al prospect, e sanno trasformare in leva commerciale i casi in cui il rivale non ha sito («in zona i diretti concorrenti non hanno un sito proprio, lei prende tutto lo spazio se investe»).

UPGRADE qualità AI

  • Sorgente competitor = Local Falcon. Top 4 dalla scansione mappa, già ordinati per copertura. Geograficamente reali, stessa keyword del prospect.
  • Arricchimento Google Places. Per ogni competitor estraiamo il sito proprio e la categoria precisa dalla scheda Google.
  • Filtro siti reali. Profili Facebook / Instagram / TikTok / LinkedIn, pagine su PagineGialle / TripAdvisor / TheFork / Yelp / Linktree non sono «siti propri»: il consulente li riconosce e li tratta come opportunità commerciale per il prospect.
  • Metriche SEO solo per chi ha sito proprio. Autorità di dominio + keyword + traffico stimato, solo sui rivali con dominio proprio.
  • 5 personas aggiornate. Consulente SEO senior, Consulente GBP, Stratega Social, Direttore Commerciale, A.V.A.: tutti istruiti a usare il nuovo campo competitors_local e a ignorare i competitor per affinità di dominio.
  • Cache 24h. Lookup Google + SEO per place_id e dominio cachati, così dopo il primo agente che analizza una zona, gli altri pagano latenza zero sugli stessi rivali.
Versione 2.28.5

Giovedì 21 maggio

2026-05-21 Il Consulente SEO senior non parlerà più di foto, orari o categoria scheda Google: quelle leve appartengono al Consulente GBP, separato.

Consulente SEO senior: perimetro netto. Segnalato un caso reale dove il brief del SEO senior, su un prospect pedagogista aperto dallo Storico, listava come criticità principali «zero foto, orari non configurati, categoria primaria generica sulla scheda Google». Vero o falso che fossero, sono leve GBP, non SEO. Il SEO si occupa di sito, autorità di dominio, keyword posizionate, competitor di dominio. Doppio fix: (1) il payload non contiene più un blocco GBP «vuoto» quando i dati GBP non sono stati raccolti in sessione (per esempio quando il prospect è aperto dallo Storico senza Places Details fresh): in quel caso il blocco viene marcato available: false con un motivo chiaro, e il modello sa di non doverlo usare. (2) il prompt del SEO senior è stato riscritto con una sezione «Perimetro rigoroso»: le leve foto/orari/categoria scheda/descrizione owner/post GBP sono esplicitamente listate come NON di tua competenza, e il modello deve limitarsi a una nota a margine («il Consulente GBP allo step 2 può approfondire») senza dedicare paragrafi a queste leve. La cache dei 58 brief SEO già generati è stata invalidata: il prossimo Consulente SEO senior sarà quello nuovo.

FIX critico

  • Payload SEO ripulito. Blocco GBP available:false quando non c'è sih_scan_business fresh. Niente piu' numeri a zero interpretati come reali criticità.
  • Prompt seo_expert: sezione Perimetro Rigoroso. Foto/orari/categoria scheda/descrizione owner/post GBP/risposte recensioni esplicitamente listate come dominio del Consulente GBP. Il modello le menziona al massimo come nota a margine.
  • Cache SEO invalidata. 58 brief vecchi cancellati dal database: i prossimi click rigenerano col prompt nuovo.
Versione 2.28.3

Giovedì 21 maggio

2026-05-21 Hotfix definitivo al bug «prospect fantasma»: il guard ora confronta sempre col database e cancella i dati incoerenti prima che la pagina li mostri.

Prospect fantasma: hotfix definitivo. Segnalato ancora dopo i fix precedenti: aprendo un prospect dallo Storico (Marika Spinelli) e passando allo step Web e SEO, comparivano i dati di un prospect analizzato in una sessione precedente (Yard Restaurant). Causa: il guard cross-step (v2.25) si attivava solo quando l'URL aveva ?prospectId=N e quando almeno una chiave del localStorage aveva un id inequivocabile. Vecchie scritture non salvavano l'id prospect a livello top: il consensus check passava per valori mancanti e il guard lasciava passare dati di un altro cliente. Fix in 3 livelli: (1) step 2 ora scrive sempre prospect_id e prospect_place_id a livello top del payload salvato — il guard ha riferimenti deterministici. (2) guard esteso che confronta i place_id tra le 3 chiavi locali (sih_proposal_data, sih_prospect_selected, sih_scan_business): se anche solo due divergono, cancellazione immediata. (3) nuovo controllo finale via database: prima di lasciar passare i dati locali, il guard contatta il backend e confronta il place_id del prospect con quello in memoria. Mismatch → cancella e ricarica dal database. Una fetch in piu' per page-load (~150 ms), in cambio della certezza che l'agente vede sempre il cliente giusto.

FIX critico

  • Step 2 ora persiste prospect_id + prospect_place_id top-level. Sessioni nuove sempre tracciabili in modo deterministico.
  • Guard cross-step: triplo check. URL prospectId / id locale / place_id locale confrontati tra loro e col database. Mismatch a qualunque livello → cleanup + refetch.
  • Place_id source-of-truth fino al database. Anche scritture vecchie senza id top-level vengono catturate dal confronto place_id locale vs prospect.place_id sul backend.
  • Fallback piu' sicuro. Se per qualunque ragione i dati non sono recuperabili dal DB, la pagina mostra empty state invece di dati sbagliati.
Versione 2.28.2

Giovedì 21 maggio

2026-05-21 Consulenti AI (GBP, SEO, Social, Direttore Commerciale) e A.V.A. spostati in fondo a ogni step: prima leggi tu, poi (se serve) chiedi all'AI.

Consulenti AI in fondo a ogni step. Tua osservazione: i riquadri viola dei consulenti AI rubavano troppo l'attenzione in cima allo step e spingevano gli agenti a cliccare subito senza prima leggere i dati raccolti. Doppio costo: chiamate AI sprecate per click esplorativi e agenti che non si allenano a interpretare i numeri da soli. Da oggi i consulenti AI (Consulente GBP nello step 2, Consulente SEO senior nello step 3, Stratega Social nello step 4, Direttore Commerciale nello step 6) e A.V.A. sono stati spostati in fondo alla pagina, subito sopra il bottone «Vai al prossimo step». Restano sempre disponibili e funzionano anche senza scan / dati parziali (l'assenza diventa leva commerciale). La logica e i bottoni sono identici a prima: cambia solo la posizione. Lo step 5 (Competitor) era già così: il brief dell'Analista Competitor compare dopo il click su «Confronta», ora anche A.V.A. atterra in fondo per coerenza.

UX

  • Step 2 (Visibilità Locale). Consulente GBP + A.V.A. in fondo, dopo scan + scorecard, prima del bottone «Web e SEO →».
  • Step 3 (Web e SEO). Consulente SEO senior + A.V.A. in fondo, dopo metriche / kw / pagine, prima del bottone «Analizza i Social →».
  • Step 4 (Social). Stratega Social + A.V.A. in fondo, dopo le piattaforme, prima del bottone «Competitor Intelligence →».
  • Step 5 (Competitor). A.V.A. in fondo (era in cima). L'Analista Competitor era già in posizione corretta.
  • Step 6 (Diagnosi e Proposta). Direttore Commerciale + A.V.A. in fondo, dopo scorecard / catalogo / proposta, prima del bottone «Torna all'Hub».
Versione 2.28.0

Giovedì 21 maggio

2026-05-21 Fix definitivo a un bug serio: i consulenti AI non possono più restituire o salvare il brief di un altro cliente per sbaglio.

Anti-cross-prospect: i consulenti AI non sbagliano più cliente. Su segnalazione Giuseppe: il Consulente SEO Senior, il Direttore Commerciale e a volte A.V.A. capitava restituissero il brief di un prospect precedente (es. mostravano un'analisi su una palestra di Torino mentre stavi guardando un ristorante di Verona). Causa: il sistema usava come riferimento un id prospect che in certi casi rimaneva agganciato a un cliente vecchio dopo navigazioni rapide tra schede e step. Risolto in modo strutturale: il nuovo riferimento autorevole è il place_id di Google (codice univoco della scheda dell'attività). Ogni chiamata al backend trasporta il place_id; il server lo usa come fonte di verità e, se rileva un disallineamento col vecchio riferimento, lo corregge automaticamente prima di salvare o riusare un brief. Tutti i call site dell'AI (Consulente GBP, Consulente SEO Senior, Stratega Social, Analista Competitor, Direttore Commerciale, Analista Sentiment, A.V.A.) sono stati allineati al nuovo protocollo. Bonus: ho ripulito 3 brief inquinati che erano già stati salvati al cliente sbagliato (rigenerali quando torni sulle relative analisi).

FIX critico

  • Backend: anti-cross-prospect guard. Endpoint /api/ai/interpret valida il prospect via place_id Google e auto-corregge l'id sbagliato. Mai più brief appiccicati al cliente errato.
  • Audit trail. Ogni correzione automatica viene loggata (azione «ai_interpret_pid_corrected» nell'activity log admin) per tracciare i casi in cui il FE manda un id incoerente.
  • Frontend allineato. Tutti i 7 punti dove un agente può chiamare un consulente AI ora trasportano il place_id come identità del prospect, non solo il numero interno.
  • Pulizia dati. 3 brief inquinati cancellati dal database (id 223-225). Non riapparirano in nessuna lettura futura.
Versione 2.27.0

Giovedì 21 maggio

2026-05-21 Nella tua Dashboard arriva la sezione «Le mie comunicazioni»: storico completo di tutto quello che ti è stato inviato, con filtri per tipo e ricerca.

Storico comunicazioni nella tua Dashboard. Idea tua durante il test del modal di stamattina: la campanella in alto mostra solo le ultime 10 non lette, ma non c'era un posto dove rivedere quello che era arrivato negli scorsi giorni. Da oggi nella Dashboard utente, sotto «I miei ticket», c'è una nuova sezione collassabile chiamata «Le mie comunicazioni»: l'elenco completo di annunci, notifiche di sistema e risposte ai ticket che hai ricevuto. Click su una qualsiasi riapre il riquadro di dettaglio (lo stesso aggiunto in v2.26.4). Si può filtrare per tipo (Tutte, Annunci, Ticket, Sistema, Altro), cercare per testo nel titolo o nel corpo, vedere solo le non lette, e c'è un bottone per segnarle tutte come lette in un colpo. Carica 20 alla volta con «Carica altre» in fondo.

NUOVO

  • Sezione «Le mie comunicazioni» in Dashboard utente. Mostra storico completo, badge con totale e numero di non lette nel titolo collassato.
  • Filtri tipo + ricerca + solo non lette. Pill orizzontali per tipo, casella di ricerca con debounce, checkbox «Solo da leggere».
  • Apertura dettaglio con il modal esistente. Stesso riquadro centrale del v2.26.4 con titolo, orario, corpo integrale, bottone primario contestuale.
  • Paginazione progressiva. 20 elementi alla volta, bottone «Carica altre» in fondo.
  • Segna tutte come lette. Bottone in alto a destra quando ci sono non lette, sincronizzato con il badge della campanella.
Versione 2.26.4

Giovedì 21 maggio

2026-05-21 Le notifiche con un messaggio lungo (come gli annunci broadcast) ora aprono un riquadro di dettaglio, invece di portarti subito al link senza farti leggere il contenuto.

Dettaglio comunicazioni nelle notifiche. Su segnalazione: cliccando una notifica con un messaggio articolato (per esempio l'annuncio broadcast di A.V.A. di stamattina) il sistema portava subito alla destinazione del link, senza dare modo di leggere il testo completo. Ora le notifiche con un corpo di una certa lunghezza aprono un riquadro di dettaglio in primo piano (tipo ticket) che mostra titolo, orario e contenuto integrale, con due bottoni in fondo: Chiudi oppure il bottone primario per aprire la destinazione (con etichetta contestuale tipo Apri la guida, Apri il ticket, ecc.). Le notifiche brevi con link diretto (es. ticket risolto) mantengono il vecchio comportamento di salto immediato, perché il contenuto sta già tutto nel riquadro della campanella. Funziona su tutte le pagine.

FIX UX

  • Modal dettaglio per notifiche con corpo lungo. Soglia: oltre 80 caratteri di testo. Sotto soglia il salto al link resta diretto come prima.
  • Bottone primario contestuale. Apri la guida / Vai a Scopri / Apri il ticket / Apri admin in base alla destinazione del link.
  • Chiusura comoda. Click su sfondo, tasto Esc, X in alto, oppure bottone Chiudi.
Versione 2.26.1

Giovedì 21 maggio

2026-05-21 Allineamento documentazione: aggiunto capitolo A.V.A. nella Guida e corretto un numero rimasto a 3gg sulla pagina Scopri (giusto: 7gg lead protetti).

Allineamento documentazione. Due ritocchi editoriali su segnalazione. (1) La Guida per commerciali non parlava ancora di A.V.A. (il coach AI introdotto stamattina). Ho aggiunto un capitolo dedicato tra il flusso 6-step e il Racconto narrativo, con tutto quello che serve sapere: dove la trovi, cosa la rende diversa dai consulenti tecnici, come integra i pareri dei consulenti, cosa succede quando i dati specifici mancano, identità e onestà AI, costo. (2) Sulla pagina Scopri, in cima nel blocco numeri, c'era ancora scritto 3gg Lead protetti: ma da metà maggio il lock dura 7 giorni. Corretto il numero. Tutto allineato.

FIX docs

  • Guida: nuovo capitolo dedicato ad A.V.A. Inserito tra il capitolo 2 (flusso in 6 step) e il capitolo 3 (Racconto narrativo). Indice di navigazione aggiornato. Spiega quando A.V.A. compare, come usarla insieme ai consulenti tecnici, come comportarsi quando i dati specifici mancano, e in che modo si differenzia dalle modalità Smart e Racconto.
  • Scopri: numero «Lead protetti» da 3 a 7. Tile in cima alla pagina che mostrava la durata del lock era rimasta indietro. Ora dice 7gg coerente con la realtà.
Versione 2.26.0

Giovedì 21 maggio

2026-05-21 Fix definitivo categoria Google + sottotitolo «Potenziato da A.V.A.» nel logo in alto a sinistra.

Fix definitivo categoria + nuovo branding A.V.A. nel logo. Risolto un bug strutturale che faceva salvare alcuni prospect con categoria generica (es. una pedagogista finiva come «Consulente» invece di «Pedagogista»). Conseguenza: A.V.A. e i consulenti AI ragionavano su un settore sbagliato. Da oggi, prima di salvare un prospect, il sistema verifica che la categoria sia specifica; se è generica, fa una seconda chiamata a Google per recuperare la categoria precisa. Aggiunto inoltre nel pannello admin un nuovo strumento per ri-arricchire i prospect storici già salvati male. A.V.A. ora sa anche riconoscere quando la categoria salvata è generica e ragiona sul settore reale dedotto dal nome dell'attività. Aggiunto sottotitolo Potenziato da A.V.A. — Assistente Virtuale Agenti nel logo in alto a sinistra: il branding del coach AI è ora sempre presente.

FIX categoria UX branding

  • Salvataggio categoria intelligente: quando salviamo un prospect, se la categoria iniziale è in una blacklist di valori generici (Consulente, Studio, Centro, Attività, Establishment, Point of interest, Servizio, Consulenza), il sistema fa una seconda chiamata a Google Places per recuperare il display name corretto della categoria primaria. La categoria che finisce in archivio è quella specifica.
  • Strumento admin di ri-arricchimento storico: nuovo endpoint /api/admin/prospects/enrich-categories (e statistiche su /api/admin/prospects/categories-stats) che esamina i prospect già salvati con categoria generica e li aggiorna chiamando Google Places. Default in modalità dry-run per evitare consumo accidentale di quota: produce un anteprima delle modifiche e l'admin decide se applicarle.
  • A.V.A. consapevole della categoria generica: il prompt di A.V.A. ora ha una sezione dedicata che le dice di non costruire ragionamenti specifici su categorie troppo larghe e di dedurre il settore reale dal nome del prospect (es. «Pedagogista Parma - Dott.ssa X» → ragiona da pedagogista, non da consulente).
  • Sottotitolo logo: sotto «Sales Intelligence Hub» nel logo in alto a sinistra ora compare la riga « Potenziato da A.V.A. · Assistente Virtuale Agenti».
Versione 2.25.2

Giovedì 21 maggio

2026-05-21 Hotfix A.V.A.: ora legge sempre il prospect mostrato a video, non quello più vecchio in cache. Niente più risposte sul prospect sbagliato.

Hotfix A.V.A. su prospect riaperti. Segnalato pochi minuti fa: dopo aver aperto un prospect dallo Storico, cliccando A.V.A. capitava di vedere una spiegazione che riguardava il prospect aperto prima — non quello mostrato a video. Era un disallineamento tra i dati in memoria della pagina (corretti) e quelli nella cache locale del browser (rimasti vecchi). A.V.A. leggeva la cache invece dei dati attivi. Da oggi A.V.A. legge per prima cosa il prospect attualmente caricato in memoria; la cache è solo un fallback se la memoria non è ancora pronta. Niente più risposte sul prospect sbagliato.

FIX A.V.A. ghost

  • Priorità memoria sulla cache: sih-ava.js ora preferisce window.proposalData (variabile di pagina aggiornata in tempo reale dal sistema) rispetto a localStorage.sih_proposal_data (cache più lenta a sincronizzarsi).
  • Compatibilità con modalità admin sola lettura: in admin-view il sistema popola la memoria di pagina ma non tocca la cache del browser dell'admin. Ora A.V.A. funziona correttamente anche in quel contesto.
Versione 2.25.1

Giovedì 21 maggio

2026-05-21 Hotfix A.V.A.: non drammatizza più quando manca lo scan locale. Racconta cosa sa già dalla scheda Google e suggerisce le analisi da fare.

Hotfix A.V.A. su prospect «vergini». Capitava che A.V.A., aperta su uno step prima che fosse stata eseguita l'analisi specifica (es. step 2 senza scan Local Falcon), rispondesse con un tono troppo drammatico: «i dati non sono arrivati, il nome non è valorizzato». Non era vero — il nome dell'attività, l'indirizzo, rating e recensioni della scheda Google erano sempre presenti. A mancare era solo l'analisi opzionale di quello step. A.V.A. confondeva «dato non valorizzato» con «analisi non ancora eseguita». Da oggi A.V.A. distingue chiaramente le due cose: racconta cosa può già dire dai dati della scheda Google (livello reputazione, categoria, presenza sito, ecc.) e suggerisce con calma quale analisi lanciare per completare il quadro. Niente più allarmismi inutili.

FIX A.V.A.

  • Distinzione esplicita tra dati core e analisi step-specifiche: il prompt sistema di A.V.A. ora include una sezione 'GESTIONE CORRETTA dei dati mancanti' che separa i campi sempre disponibili (nome, indirizzo, rating, recensioni, categoria, sito, telefono) dai blocchi opzionali (scan, seo, social, competitor) che mancano solo se l'agente non ha ancora lanciato quell'analisi.
  • Stato dei dati passato esplicitamente al modello: prima della richiesta, A.V.A. riceve un riepilogo schematico tipo «business.name: \"Gescom\" / scan: NON ANCORA ESEGUITO» cosí non può confondere le due categorie.
  • Esempio CORRETTO vs SBAGLIATO aggiunto al prompt: il messaggio drammatico che hai visto è ora marcato come pattern da non ripetere. A.V.A. ora apre con cosa sa (es. «rating 4,2 con 120 recensioni, niente male come base») e poi spiega cosa manca e cosa fare.
Versione 2.25.0

Giovedì 21 maggio

2026-05-21 A.V.A. ora ha nome esteso, decide da sola quanto dilungarsi e legge i pareri dei consulenti già consultati. Hotfix bug prospect fantasma negli step 3-4-5-6.

A.V.A. evoluta + hotfix prospect fantasma. Tre miglioramenti sul coach AI introdotto ieri e un fix critico sulla navigazione tra step. (1) A.V.A. si presenta ora con il nome esteso Assistente Virtuale Agenti, scritto con i puntini per ricordare che è un'intelligenza artificiale. (2) Niente più limite di parole: A.V.A. decide da sola quanto dilungarsi in base alla ricchezza dei dati. Se c'è tanto da raccontare prende lo spazio necessario, se i dati sono scarsi resta sintetica. (3) A.V.A. ora legge i pareri dei consulenti verticali già generati per il prospect (Consulente SEO Senior, Consulente GBP, Stratega Social, Analista Competitor, ecc.) e li integra nella sua spiegazione. Se invece nota che servirebbe un parere che non c'è ancora, te lo suggerisce: «ti consiglio di consultare prima il Consulente SEO Senior, poi torna su di me e clicca Rigenera».

Hotfix prospect fantasma: riaprendo un prospect dalla dashboard e navigando agli step Web&SEO, Social, Competitor o Diagnosi, capitava di vedere ancora i dati del prospect precedente. Risolto con un controllo che, all'apertura di uno step, verifica sempre che il prospect mostrato sia quello indicato nell'URL e non quello rimasto in memoria da una sessione precedente.

FEAT A.V.A. FIX prospect fantasma

  • A.V.A. nome esteso e identità rafforzata: l'intestazione del riquadro mostra A.V.A. — il tuo coach AI (Assistente Virtuale Agenti). Anche il bottone dice Chiedi ad A.V.A. di spiegartelo.
  • Lunghezza libera: rimosso il vincolo «180-280 parole». A.V.A. ora valuta caso per caso. Su prospect ricchi di dati può produrre testi più articolati (anche 600-800 parole); su prospect appena analizzati resta sintetica.
  • Integrazione con i consulenti verticali: prima di rispondere, A.V.A. fetcha i brief già generati per il prospect e li usa come fonte di contesto. Sotto la risposta vedi quanti pareri ha letto. Se non ce ne sono, ti suggerisce quale consulente attivare.
  • Hotfix prospect fantasma: aggiunto un controllo all'apertura degli step 3-4-5-6 che, se l'URL indica un prospect diverso da quello in memoria, pulisce i dati cached e ricarica il prospect corretto.
Versione 2.24.0

Giovedì 21 maggio

2026-05-21 Dopo ogni aggiornamento ora compare in alto a destra un riquadro che ti racconta cosa è cambiato. Cosí sai perché hai ricaricato la pagina e dove andare a vedere.

Sai sempre cosa è cambiato. Capitava che il banner viola in alto dicesse «Aggiornamento disponibile, ricarica» e tu ricaricavi senza sapere cosa stesse arrivando di nuovo. Da oggi, dopo la ricarica, in alto a destra compare un riquadro non invasivo con le 1-3 novità principali dall'ultima volta che hai aperto l'app: titolo, breve descrizione, tag (Novità / Fix / UX) e versione. Un clic su «Ho capito» chiude e ricorda la tua scelta — non riapparirà per quella versione. Sul riquadro c'è anche un link al changelog completo per chi vuole vedere tutto.

Niente popup bloccanti: il riquadro è un toast che puoi ignorare e iniziare subito a lavorare. Sui telefoni si adatta a tutta la larghezza dello schermo. Nelle pagine dove non serve (login, pagina di manutenzione, lo stesso changelog) non compare.

UX

  • Solo novità che ti riguardano: i fix tecnici interni o le correzioni admin-only non triggerano il popup. Vedi solo feature, fix utenti e cambiamenti d'esperienza significativi.
  • Tracking per agente: dopo che chiudi, la tua scelta resta sul browser. Il popup riapparirà solo alla prossima release con novità utenti, non ad ogni ricarica.
  • Nuovi agenti: chi entra per la prima volta non vede popup di release vecchie — viene impostata la version corrente come baseline.
  • Modalità admin sola lettura: il popup non disturba quando stai ispezionando un prospect altrui come admin.
Versione 2.23.0

Giovedì 21 maggio

2026-05-21 Arriva AVA: in ogni step della Modalità Completa ti spiega in italiano semplice cosa raccontano i dati del prospect. Niente più numeri senza contesto.

AVA — il tuo coach AI in italiano semplice. Negli step 2, 3, 4, 5 e 6 della Modalità Completa trovi ora un riquadro viola con bordo luminoso: dentro c'è AVA, un'assistente virtuale che ti spiega in parole semplici come sta messo il prospect su quel preciso step. Niente schemi, niente liste fredde: due o tre paragrafi colloquiali, come se un collega esperto ti aggiornasse in macchina prima di entrare in appuntamento. Ti chiama per nome, cita il cliente, traduce i numeri in concetti («esce sulla mappa solo nel 14% della zona» invece di «SoLV 14») e chiude sempre con una frase concreta da portare in trattativa. AVA è un’AI — lo dice subito, non si nasconde. I consulenti tecnici (Consulente SEO, Consulente GBP, Stratega Social ecc.) restano sotto come approfondimenti per chi vuole il dettaglio: AVA è il primo livello, veloce e leggibile.

FEAT AVA

  • 5 step coperti in Modalità Completa: Visibilità locale, Web & SEO, Social, Competitor, Diagnosi. Lo step 1 (Ricerca) non è coperto perché ancora non hai selezionato il prospect specifico da spiegare.
  • Tono colloquiale e italiano corretto: paragrafi narrativi 180-280 parole, niente liste puntate, niente sigle non tradotte, niente fuffa.
  • Risposta veloce: la prima volta su un prospect richiede 15-25 secondi, le volte successive è istantanea (cache 60 giorni). Pulsante Rigenera per ricalcolare se i dati sono cambiati.
  • I consulenti tecnici esistenti (Consulente SEO Senior, Esperto SEO Locale, Consulente GBP, Stratega Social, Reputation Manager, Analista Competitor) restano disponibili sotto come approfondimenti per chi vuole l'analisi strutturata.
Versione 2.22.6

Giovedì 21 maggio

2026-05-21 Hotfix carrello prodotti: riaprendo un prospect già analizzato non vengono più rimessi nel carrello i prodotti del pacchetto consigliato che avevi deselezionato.

Hotfix carrello prodotti. Riaprendo un prospect già analizzato dalla dashboard, il carrello prodotti dello step 6 mostrava sia la tua selezione personalizzata (con eventuali rimozioni/sconti che avevi applicato) sia i prodotti del pacchetto consigliato di default. Risultato: i prodotti che avevi già tolto rispuntavano, come se l'app si fosse dimenticata delle tue scelte. Bug introdotto due release fa con il salvataggio automatico delle modifiche (v2.22.0). Da oggi, riaprendo il prospect, la tua selezione salvata sostituisce sempre quella di default — niente più doppioni né prodotti riapparsi.

FIX #208

  • #208 Niente più duplicati nel carrello. All'apertura del prospect, prima di applicare la selezione salvata, il carrello viene svuotato della selezione di default proposta dal tier consigliato. Sincronizzate anche le checkbox del catalogo per restare allineate con quello che vedi nell'elenco. Le tue scelte (prodotti aggiunti/rimossi, prezzi custom, sconti, note) restano intatte come le hai lasciate.
Versione 2.22.5

Giovedì 21 maggio

2026-05-21 Lo screenshot dei ticket nel pannello admin ora si apre in una finestra ingrandita anziché aprire una pagina bianca.

Hotfix screenshot dei ticket nel pannello admin. Cliccando l'immagine allegata a un ticket nel pannello admin si apriva una pagina bianca. Causa: il vecchio meccanismo (link apri in nuova scheda) navigava su un'immagine incorporata in base64, e i browser moderni bloccano questa navigazione per ragioni di sicurezza anti-phishing. Da oggi un clic sullo screenshot apre una finestra ingrandita sopra la pagina admin (lightbox): immagine adattata allo schermo, pulsante × in alto a destra o tasto Esc per chiudere, clic sullo sfondo per chiudere. Niente nuova scheda, nessuna pagina bianca.

FIX #209

  • #209 Screenshot ticket apribili nel pannello admin. Sostituito il vecchio link apri in nuova scheda con una lightbox inline gestita lato JavaScript. Funziona sia per immagini caricate inline (la maggior parte dei ticket) sia per URL esterni. Tre modi per chiudere: pulsante X, tasto Esc, clic sullo sfondo scuro.
Versione 2.22.4

Giovedì 21 maggio

2026-05-21 Hotfix admin-view fantasma: dopo aver aperto un prospect come admin, una nuova ricerca non mostra più il banner di sola lettura del prospect precedente. Aggiunto pulsante «Esci» sul banner.

Hotfix admin-view fantasma. Segnalato da Giuseppe: dopo aver ispezionato un prospect altrui come admin, lanciando una nuova ricerca compariva ancora il banner «Modalità admin — sola lettura» con i dati del prospect precedente. Causa: un meccanismo per-tab usato in maggio per fissare un altro bug riattivava la modalità per 60 secondi anche su pagine che non c'entrano (ricerca, hub, dashboard). Da oggi quel meccanismo agisce solo sugli step di un singolo prospect (step 2–6, Modalità Racconto e Smart): appena navighi verso ricerca, hub, dashboard o admin, il marker viene azzerato e parti con sessione pulita. In più, sul banner admin trovi ora un pulsante «Esci»: un clic ti riporta alla home e pulisce eventuali residui in localStorage, così le pagine seguenti non hanno mai dati di un altro agente.

FIX hotfix

  • Marker per-tab limitato alle pagine prospect. Il fallback sessionStorage usato per propagare lo stato admin tra navigazioni interne (step 2→3→...) ora viene letto e onorato solo sugli step di un prospect (02-...html, 03-...html, 04-...html, 05-...html, 06-...html, racconto.html, smart.html). Su tutte le altre pagine il marker viene rimosso, così non c'è più il banner fantasma per 60 secondi.
  • Pulsante «Esci» sul banner admin. Clic = cancella marker per-tab + pulisce 7 chiavi localStorage di sessione prospect (proposal_data, scan_business, audit_results, prospect_id, prospect_selected, selected_products, selected_tier_name) + redirect a /index.html. Exit esplicito senza dover ricaricare manualmente.
Versione 2.22.3

Giovedì 21 maggio

2026-05-21 Il PDF dell'audit ora include la griglia di ranking colorata della copertura mappa: l'immagine visiva che vedi a schermo nello step 2 finisce anche nel documento da consegnare al cliente.

Griglia di copertura mappa nel PDF audit. Finora il PDF generato dallo step 6 conteneva i numeri (SoLV, ARP, punti trovato/totali, top competitor) ma non la griglia di ranking 5x5 o 7x7 colorata che vedi a schermo dopo lo scan Local Falcon. È il grafico che racconta meglio la storia di dove il prospect compare e dove no. Da oggi la griglia è riprodotta nel PDF come SVG vettoriale (qualità stampa perfetta): celle colorate per posizione (verde top 3, giallo medio, rosso oltre il 20°, grigio non trovato), numero di posizione dentro ogni cella, anello viola tratteggiato sul punto centrale (la sede del prospect) e legenda compatta sotto. Niente librerie aggiunte, niente immagini esterne: il documento resta leggero e si stampa pulito.

FEAT #207

  • #207 Griglia di ranking nel PDF audit. Sotto i KPI dello step 2 (SoLV/ARP/ATRP/Punti) il documento stampato ora include la rappresentazione visuale della copertura mappa, con legenda dei colori e anello tratteggiato che marca il punto della sede. Funziona per le scansioni effettuate da questa versione in avanti (lo step 2 ora memorizza anche i punti della griglia oltre agli aggregati). Per i prospect analizzati prima di questa versione, basta rilanciare lo scan dallo step 2 per averla nel PDF.
Versione 2.22.2

Giovedì 21 maggio

2026-05-21 Sui competitor dello step 5 ora vedi quale URL stiamo analizzando per la SEO e puoi correggerlo se il sistema sta leggendo i dati di un portale aggregato invece del sito del competitor.

Trasparenza sull'analisi SEO del competitor. Capita che un competitor non abbia un sito proprio e si appoggi a un portale aggregato (es. un sessuologo che ha solo una scheda su guidapsicologi.it). Il nostro fornitore SEO in quei casi restituisce le metriche dell'intero portale — non del singolo professionista — e i numeri risultano gonfiati (cento volte tanto). Da oggi sotto le metriche SEO di ogni colonna (prospect + 2 competitor) compare la riga «Sorgente: dominio.it» con un pulsante Cambia URL. Se vedi il dominio di un portale, premi e sostituisci con l'URL corretto (oppure lascialo vuoto se il competitor non ha sito reale): le metriche si ricaricano subito e il confronto torna realistico. Le correzioni vengono salvate sul prospect e restano valide anche alla riapertura. Un badge «corretto» + un pulsante «Reset» indicano gli slot modificati a mano.

FEAT #203

  • #203 Sorgente SEO trasparente, correggibile dall'agente. Sotto ciascuna scheda SEO competitor compare il dominio analizzato + pulsante Cambia URL (con dialog inline). L'agente può sovrascrivere l'URL e l'analisi viene rieseguita all'istante senza dover ricaricare la pagina. Se modifichi l'URL del prospect, anche i delta dei competitor si ricalcolano. Un badge «corretto» segnala gli slot rivisti, con bottone Reset per tornare all'URL originale. Le correzioni si salvano sul prospect e restano in vigore alla riapertura.
Versione 2.22.1

Giovedì 21 maggio

2026-05-21 Due piccoli fix: «canali attivati» scritto correttamente e categorie della tua dashboard tradotte in italiano.

Microfix di pulizia. Nella scheda Presenza social dello step 6, il dettaglio diceva «3 canalei attivi» — refuso causato dal codice che concatenava plurali in modo errato. Da oggi leggi correttamente «3 canali attivi». Sulla tua dashboard, il widget «Top categorie» mostrava le etichette in inglese (hair_salon, restaurant) perché non applicavamo la traduzione già presente nelle altre pagine. Ora è tradotto in italiano: Parrucchiere, Ristorante, ecc.

FIX #204 FIX #205

  • #204 «canali attivati». Refuso ortografico nella card Presenza social dello step 6 — sostituito il pattern di pluralizzazione errato.
  • #205 Top categorie in italiano. Il widget Top categorie della dashboard agenti ora usa la stessa mappa di traduzione già impiegata nelle altre pagine (oltre 200 categorie Google Places coperte).
Versione 2.22.0

Giovedì 21 maggio

2026-05-21 Tre feature dai vostri ticket: salvataggio automatico delle modifiche alla proposta, sconto manuale per singola voce, apertura diretta sul riepilogo dell'analisi già fatta.

Tre richieste agenti, tre rilasci. Da oggi le modifiche che fai sul carrello dei prodotti dello step 6 (quantità, prezzi custom, sconti, note) sono salvate automaticamente: esci dal prospect, rientri tra una settimana, ritrovi la tua proposta personalizzata pronta — non riparti più dalla proposta AI di default. Per ogni voce ora puoi anche applicare uno sconto (percentuale o importo in euro): il PDF stampato mostra esplicitamente prezzo di listino, sconto applicato e prezzo finale, così il cliente capisce subito il valore. Infine, quando dalla dashboard apri un prospect già analizzato del flusso Completa, atterri direttamente sul riepilogo dell'audit (step 6) invece che ripartire dallo step 2: vedi il punteggio, i pilastri, la proposta già configurata.

FEAT #201 FEAT #197 UX #199

  • #201 Salvataggio automatico delle modifiche. Ogni modifica al carrello prodotti (selezione, quantità, prezzo custom, sconto, nota) viene salvata in background dopo un secondo e mezzo. Riapri il prospect e ritrovi tutto come l'hai lasciato. Funziona solo sul tuo prospect: gli admin in modalità ispezione vedono ma non possono sovrascrivere.
  • #197 Sconto manuale per singola voce. Accanto al prezzo di ogni prodotto trovi un nuovo campo Sconto: scegli percentuale (%) o euro (€) con il selettore a destra. Lo sconto entra nel totale automaticamente. Sul PDF stampato vedi listino · sconto · importo in chiaro, con riga totale che mostra anche lo sconto complessivo applicato.
  • #199 Apertura diretta sul riepilogo. Dalla tua dashboard, cliccando su un prospect già analizzato del flusso Completa, ti porta dritto allo step 6 (Diagnosi & Proposta) con la scorecard e la proposta già caricate. Per i prospect mai analizzati il routing resta sullo step 2 per partire dall'inizio dell'audit.
Versione 2.21.17

Giovedì 21 maggio

2026-05-21 4 fix dai vostri ticket: PDF Racconto più pulito, tasto indietro che torna sempre nel posto giusto, calcolo corretto dei mesi sui prodotti mensili, attesa della mappa più trasparente.

Quattro segnalazioni vostre, quattro fix. Il PDF della Modalità Racconto non includerà più il listino della proposta commerciale: il documento da consegnare in appuntamento resta solo l'audit narrativo (la proposta resta a video per la trattativa). Il tasto «Indietro» tra gli step ora porta sempre alla pagina precedente con il prospect già caricato — niente più pagine vuote dopo aver cliccato. Sul carrello dello step 6, i prodotti mensili (es. SiAdvertising Locale Gestione) trattano il numero come mesi, non come copie: scrivere 3 ora vuol dire 3×250 € = 750 €, come ti aspetti. Sulla scansione della mappa locale, durante l'attesa finale ora vedi un messaggio onesto («può richiedere fino a 5 minuti») e un pulsante Ricarica ora per recuperare il report senza dover ricaricare l'intera pagina.

FIX #198 FIX #200 FIX #202 UX #196

  • #198 PDF Racconto pulito. Il listino prodotti, utile a video per costruire la proposta, non finisce più nella stampa: il PDF consegnato al prospect contiene solo l'audit narrativo, lasciando la trattativa commerciale alla discussione dal vivo.
  • #200 Tasto Indietro affidabile. La barra di navigazione tra step e i pulsanti di ritorno nelle pagine ora propagano sempre il prospect attivo. Tornare allo step precedente non ti farà più ritrovare una pagina vuota.
  • #202 Mesi calcolati come mesi. Sui prodotti con prezzo mensile (es. SiAdvertising Locale Gestione 250 €/mese), il campo «numero» viene ora chiaramente etichettato come mesi: scrivere 3 dà 750 € (3 mesi × 250 €), non più il valore annualizzato moltiplicato.
  • #196 Mappa locale: attesa più trasparente. Quando la scansione arriva alla fase finale, il messaggio dice esplicitamente che può richiedere fino a 5 minuti (su prospect con molti competitor) e appare un pulsante Ricarica ora per forzare il recupero del report senza ricaricare la pagina. Nessuna funzionalità rimossa.

Mercoledì 20 maggio

9 release
Versione 2.21.16

Mercoledì 20 maggio

2026-05-20 SEO Senior: le keyword reinventate dall'AI (variante con città o quartiere) ora vengono riempite di numeri reali se SEOzoom li ha.

Anche le keyword «ritoccate» dall'AI ora hanno i numeri. Capitava che il SEO Senior partisse da una keyword pulita (es. «palestra corso Valdocco») e nel testo finale la riscrivesse aggiungendo la città («palestra corso Valdocco Torino»). La versione ritoccata non era nei dati in ingresso, quindi accanto compariva «volume n.d. · CPC n.d.», anche quando il dato esisteva sul nostro fornitore per quella esatta variante. Da oggi, dopo che il consulente ha scritto la sua analisi, controlliamo ogni bullet con «n.d. · n.d.»: chiediamo al fornitore se conosce quella keyword e, se sì, sostituiamo i valori con i numeri veri (volume, CPC, difficoltà). Le keyword troppo nicchia o inventate di sana pianta che il fornitore non conosce restano «n.d.», com'è corretto.

Versione 2.21.15

Mercoledì 20 maggio

2026-05-20 SEO Senior: anche sui prospect già analizzati prima delle ultime patch, le keyword adesso arrivano con CPC e difficoltà reali.

Keyword arricchite anche sui prospect «storici». La patch di prima (CPC e difficoltà sulle 10 keyword del SEO Senior) funzionava solo sui prospect analizzati dopo il deploy. Per i prospect già analizzati prima, i dati erano stati salvati in cache senza i nuovi campi, e il consulente AI continuava a dire «CPC n.d.». Ora il backend, quando lancia il SEO Senior (o gli altri consulenti che leggono le keyword), riempie al volo i campi mancanti pescandoli dal fornitore SEO. Effetto: rilanciando il consulente su un prospect vecchio, ricevi un brief nuovo con i numeri corretti. Senza dover rifare l'intera analisi.

Versione 2.21.14

Mercoledì 20 maggio

2026-05-20 Modalità admin: i consulenti AI ora si possono lanciare anche aprendo come admin (prima rispondevano errore 403).

Admin view: i consulenti AI ora si avviano. Quando aprivi un prospect dallo Storico usando «Apri come admin» e poi cliccavi su un consulente AI (SEO Senior, Consulente GBP, Reputation Manager, ecc.), la chiamata veniva bloccata con errore 403 dalla guardia di sola-lettura. La guardia era pensata per impedire modifiche al prospect ispezionato, ma consultare un consulente AI è un'azione di lettura (genera un parere, non modifica nulla sul prospect). Da oggi tutti i consulenti AI sono attivabili anche in modalità admin view; restano comunque bloccate le scritture vere (lancio scan, cambio status del prospect, modifica tag, eccetera).

Versione 2.21.13

Mercoledì 20 maggio

2026-05-20 Hotfix: aprendo un prospect in modalità admin e lanciando il SEO Senior non c'è più il crash «slice is not a function».

Hotfix admin view: niente più crash sul SEO Senior. Aprendo un prospect in modalità admin (bottone «Apri come admin» dallo Storico) e lanciando subito il Consulente SEO Senior, l'analisi falliva con un errore JavaScript. Il dato «numero di recensioni» arrivava come numero anziché come lista (perché in modalità admin la pagina non ricarica le recensioni di dettaglio da Google, usa solo i contatori che ha già in database) e la pagina provava a iterarci sopra come se fosse una lista. Da oggi controlliamo il tipo prima di usarlo: se non ci sono recensioni di dettaglio, semplicemente partiamo con lista vuota e l'analisi prosegue normalmente.

Versione 2.21.12

Mercoledì 20 maggio

2026-05-20 Consulente SEO Senior: le 10 keyword consigliate ora hanno volume di ricerca, CPC reale e difficoltà. Numeri concreti da usare in trattativa.

Keyword del SEO Senior: ora con CPC e difficoltà reali. Fino a oggi quando il Consulente SEO Senior ti suggeriva le 10 parole chiave da lavorare per il prospect, accanto trovavi spesso volume n.d. e CPC n.d.. Il volume in realtà c'era (nostra fonte SEO) ma CPC e difficoltà venivano persi nel passaggio: per averli serve una chiamata aggiuntiva al provider su ciascuna keyword. Adesso facciamo proprio questa chiamata aggiuntiva (in parallelo, con cache 60 giorni per non sprecare crediti) e per ogni keyword ottieni: volume mensile, CPC stimato in euro, difficoltà di posizionamento e l'intento di ricerca (commerciale, informativo, locale). Sono i numeri che servono per dire al cliente «sulla keyword X paghi Y € per clic in Ads, ma se la lavori in SEO ti porta Z visite/mese». Le keyword senza dato (long-tail troppo nicchia per essere tracciate) restano segnate «n.d.» come prima — è un limite di Google, non nostro.

Versione 2.21.11

Mercoledì 20 maggio

2026-05-20 Storico admin: bottoni "Apri come admin" e "Racconto" ora impilati verticalmente, niente più testo tagliato né sovrapposizione tra le righe.

Storico admin: cella azioni rimessa in ordine. Sulla tabella Storico (tab admin), il bottone «Apri come admin» finiva a cavallo della cella e quando il prospect aveva anche il Racconto, il bottone viola sotto invadeva la riga successiva. Ora i due bottoni sono impilati verticalmente, restano dentro la cella e non si tagliano più né si sovrappongono. Fix solo cosmetico, lato admin: nessuna modifica al comportamento sotto.

Versione 2.21.10

Mercoledì 20 maggio

2026-05-20 Audit stampato: le letture dei consulenti AI ora sono formattate (titoli, elenchi puntati, grassetti) invece di apparire come testo grezzo con asterischi e cancelletti.

Audit stampato: brief AI ora leggibili davvero. Quando stampavi l'audit completo dallo step 6, le letture dei consulenti AI venivano riversate nel PDF in testo grezzo — cancelletti, asterischi, righe numerate sparse senza struttura. Da oggi il PDF mostra i titoli delle sezioni come titoli, gli elenchi come elenchi puntati e i grassetti come grassetti. Stesso contenuto, stessa lunghezza, ma finalmente impaginato come ti aspetti di consegnarlo al cliente. Il fix tocca anche gli altri commenti AI già presenti nel documento (sentiment delle recensioni, eccetera).

Versione 2.21.9

Mercoledì 20 maggio

2026-05-20 Step Social ora conteggiato correttamente nelle progress dots: la tua dashboard mostra il pallino 4 acceso dopo ogni analisi social.

Step Social: tracciamento riallineato. Le analisi social fatte allo step 4 non aggiornavano il pallino "4" nella riga del prospect (né sulla tua dashboard né nello Storico interno): l'analisi veniva eseguita e i risultati salvati, ma il collegamento col prospect non veniva memorizzato. Ora il legame viene scritto correttamente, quindi ogni nuova analisi social accende il pallino 4 come gli altri step. Le analisi social fatte prima di questa versione restano senza pallino: basta rilanciarle (la cache profilo è ancora valida, quindi nessun credito extra).

Versione 2.21.8

Mercoledì 20 maggio

2026-05-20 Audit stampato più ricco: ora include automaticamente i contributi narrativi dei consulenti AI già consultati nei passaggi precedenti.

Audit più narrativo, meno schematico. Quando stampi l'audit dallo step 6, ora il documento include anche i pareri narrativi dei consulenti AI che hai già consultato nei passaggi precedenti (esperto SEO, consulente GBP, social analyst, stratega social, esperto SEO locale, reputation manager, analista competitor e narratore audit). Ogni brief compare nella sezione dello step corrispondente. Se non hai mai aperto un consulente, semplicemente quel paragrafo non compare: nessuna chiamata extra, nessun costo aggiuntivo, nessun bottone in più da cliccare. I brief commerciali interni (Direttore Commerciale e Gestione Obiezioni) restano fuori dall'audit, perché sono solo per te.

Martedì 19 maggio

8 release
Versione 2.21.7

Martedì 19 maggio

2026-05-19 Modalità admin: ora la barra viola e l'isolamento permangono anche quando il riferimento si perde nei collegamenti interni.

Tenuta della modalità admin anche con link «nudi». Si era visto che, in alcuni passaggi tra step, la pagina seguente perdeva l'indicazione «sei in modalità admin» e tornava a visualizzare il prospect della sessione personale dell'admin. Adesso il browser ricorda per-tab che si sta ispezionando un prospect altrui: anche se un link interno all'applicazione perde l'indicazione, la pagina seguente la recupera automaticamente, la barra viola resta visibile e i dati mostrati restano quelli del prospect ispezionato. La memoria per-tab scompare quando si chiude la tab.

Versione 2.21.6

Martedì 19 maggio

2026-05-19 Modalità admin: chiusa l'ultima finestra di rischio in cui dati di prospect precedenti potevano filtrare durante l'avvio della pagina.

Isolamento immediato all'avvio pagina. Una piccola finestra di tempo (frazioni di secondo) tra l'avvio della pagina e il completamento del caricamento avveniva su background lasciava ancora aperta una via per cui codice esterno poteva leggere dati prospect-specifici dalla sessione personale dell'admin. Sistemato: la protezione «modalità admin» ora si attiva istantaneamente all'inizio del caricamento della pagina, prima che qualunque altro codice abbia possibilità di girare. La barra viola e gli elementi UI compaiono come prima ma il filtro sui dati è già in vigore dal primo istante.

Versione 2.21.5

Martedì 19 maggio

2026-05-19 Modalità admin: chiuso definitivamente il caso del prospect «fantasma» che ricompariva passando alla card social.

Tappato l'ultimo canale di «perdita» in modalità admin. Dopo il fix precedente l'admin riportava ancora il vecchio prospect quando passava alla card social. Causa scoperta: alcuni bottoni interni alle pagine (es. «Continua ai Social» dopo la SEO) hanno un meccanismo di recupero che, se non trovano i dati in memoria, vanno a leggerli dal cassetto locale del browser; in modalità admin quel cassetto contiene però ancora l'ultimo prospect dell'admin e quindi il dato sbagliato passava alla pagina seguente. Adesso, mentre l'admin sta ispezionando un prospect altrui, le pagine non possono più rileggere dalla memoria locale i dati prospect-specifici: l'unica sorgente legittima diventa il bootstrap che carica il prospect ispezionato dal server.

Versione 2.21.4

Martedì 19 maggio

2026-05-19 Modalità admin: anche dopo lo step SEO la card social mostra ora il prospect ispezionato (non si mischia più con uno vecchio dell'admin).

Modalità admin: isolamento completo dalla sessione dell'admin. Dopo il fix delle ore precedenti restava un caso scoperto: passando da Web & SEO alla card social, ricomparivano i dati di un vecchio prospect dell'admin. Il motivo: durante il render normale degli step (non solo al click «Continua») le pagine salvavano silenziosamente i dati del prospect corrente nel cassetto locale del browser dell'admin, e alcuni bottoni programmatici tra step non portavano avanti il contesto «modalità admin». Adesso, quando si è in modalità admin su un prospect altrui, qualunque tentativo di sovrascrivere le chiavi di sessione legate al prospect viene bloccato, e tutte le navigazioni tra step (compresi i bottoni con animazione di transizione) propagano automaticamente il riferimento del prospect ispezionato. Così l'admin può aprire più prospect altrui in sequenza senza vedere «perdite» di dati tra una scheda e l'altra, e la sua sessione personale resta intoccata.

Versione 2.21.3

Martedì 19 maggio

2026-05-19 Sistemato bug della modalità admin sui prospect altrui: cliccare «Web & SEO» o gli altri step da step 2 ora resta sul prospect ispezionato.

Modalità admin: navigazione tra step ora coerente. Aperto un prospect di un altro agente con «Apri come admin», cliccare il bottone «Web & SEO» (o «Vai alla proposta», o «Vai a Social») dalla scheda Visibilità locale portava per sbaglio dentro un altro prospect, già analizzato in precedenza dall'admin stesso. Il motivo: quei bottoni salvavano i dati del prospect ispezionato nel cassetto locale del browser, ma la sessione dell'admin teneva un riferimento ad un suo prospect precedente e la pagina seguente leggeva quel mix sbagliato. Inoltre i link diretti tra step (non passanti dalla barra di navigazione) non preservavano il contesto «modalità admin» e la pagina di destinazione ricadeva sui dati del browser. Sistemato: in modalità admin nessun salvataggio nel cassetto del browser dell'admin, e tutti i link interni alle pagine vengono riscritti automaticamente per portare il riferimento del prospect ispezionato + il contesto admin. La sessione dell'admin sui suoi prospect non viene più toccata.

Versione 2.21.2

Martedì 19 maggio

2026-05-19 Pulizia interna della pagina «Novità»: le funzioni riservate agli amministratori non vengono più mostrate in elenco lì.

Coerenza di scope sulla pagina Novità. La card che annunciava la nuova vista admin sui prospect altrui era finita su scopri.html, la landing «Novità» che vedono tutti gli agenti commerciali: la funzione però è accessibile solo agli amministratori, e mostrarla lì rischiava di generare attese sui bottoni che gli agenti non hanno. Ora è rimossa da quella pagina (resta documentata in changelog, roadmap e documentazione tecnica). Regola dal prossimo rilascio: la pagina Novità elenca solo le funzionalità effettivamente accessibili al pubblico target.

Versione 2.21.0

Martedì 19 maggio

2026-05-19 L'admin può ora aprire i prospect degli altri agenti in sola lettura, con una barra di avanzamento a 7 tacche che mostra fin dove sono arrivati.

Vedere come gli agenti usano lo strumento, senza disturbarli. Nello Storico prospect (tab dell'area admin) ogni riga ha ora una barra di avanzamento con sette pallini colorati: uno per ogni step del flusso (Ricerca, Visibilità locale, Web & SEO, Social, Diagnosi, Proposta, Racconto). Verde = step completato, grigio = non ancora fatto. In un colpo d'occhio l'admin capisce se l'agente ha portato a termine l'analisi o si è fermato prima — e dove. A fianco c'è un nuovo bottone «Apri come admin» che porta dentro il prospect di quell'agente in sola lettura: si vede tutto il lavoro già fatto (scan mappa, audit web, social, scorecard, racconto), si naviga tra gli step con la flowbar normale, ma salvataggi, scan nuovi e invii sono disattivati — non si interferisce con il lavoro dell'agente. Una barra viola in alto ricorda costantemente di essere in modalità ispezione. Se il prospect ha già un Racconto generato, compare anche un secondo bottone viola che apre direttamente la narrazione cached, senza passare dagli step intermedi.

Versione 2.20.25

Martedì 19 maggio

2026-05-19 Eliminare un agente che aveva fatto qualche tentativo di login non andava in errore: ora funziona.

Cancellazione utenti più affidabile. Capitava che, dopo aver creato un nuovo agente che poi non riusciva a entrare, l'admin si trovasse impossibilitato a eliminarlo dalla lista: il sistema rispondeva con un errore generico anche se l'agente non aveva ancora nessun prospect collegato. Il motivo era che i tentativi di login lasciavano una traccia nello storico attività e quella traccia bloccava la rimozione. Adesso, quando un admin elimina un agente, tutte le tracce collegate vengono ripulite o mantenute in forma anonima (storico attività, feedback inviati, racconti, snapshot social) prima di cancellare l'account vero e proprio: la storia del prodotto resta tracciabile per audit, ma l'account utente sparisce davvero. Restano validi i due controlli di sicurezza esistenti: non si può eliminare un agente che abbia prospect attivi (vanno prima riassegnati) e non si può eliminare l'ultimo amministratore rimasto.

Lunedì 18 maggio

16 release
Versione 2.20.24

Lunedì 18 maggio

2026-05-18 Catalogo step 6 ora ha 20 macro piu' granulari, tutte chiuse di default. Bottoni Apri/Chiudi tutto.

Catalogo dello step 6 piu' pulito e navigabile. Le 10 macro della versione precedente erano troppo aggregate: per esempio "Visibilita' Google" conteneva GBP, Google Ads, SEO, Web Directory e Sì!Happy tutti insieme. Adesso ci sono 20 macro piu' granulari (Siti Web, App Mobile, eCommerce, Google Business Profile, Google Ads, SEO Organica + Ad Domain, Web Directory PagineSì, Sì!Happy, Facebook + Instagram, TikTok + YouTube, LinkedIn, Video Produzione, Spot Video TV, AI Assistenti, Si4Business + Si4Lead + SMS, Reputazione, Funebre / Ricordi di Vita, Agenzie Immobiliari, Optional & Accessori, Mantenimenti & Restyling). Sono tutte chiuse di default: vedi solo i 20 titoli con il numero di prodotti, apri solo quello che ti serve. Bottoni Apri tutto / Chiudi tutto in toolbar per chi vuole scorrere. La ricerca testuale apre automaticamente le macro pertinenti. Sigla AGIM (Agenzia Immobiliare) corretta: prima finiva per errore in Funebre.

Versione 2.20.23

Lunedì 18 maggio

2026-05-18 Catalogo step 6 riorganizzato in 10 macro con mantenimenti separati. Badge Property/Concessione/Operatore/No Provvigione accanto a ogni sigla.

Catalogo step 6 piu' facile da navigare. Con 379 sigle nel listino, le 30 categorie originali erano troppe. Le abbiamo raggruppate in 10 macro funzionali: Sito Web, eCommerce, Visibilità Google (con Sì!Happy), Social, Video & Spot TV, AI & Lead, Reputazione, Funebre (Ricordi di Vita), Accessori & Servizi, e Mantenimenti & Restyling separati dal flusso vendita principale (sono i prodotti per rinnovi clienti esistenti, non per nuove proposte). Sulla card di ogni prodotto compare ora il badge Property (viola), Concessione (azzurro), Operatore (arancio) o No Provvigione (grigio) — così sai a colpo d'occhio cosa significa per la tua provvigione, senza dover aprire il listino.

Distribuzione macro

  • Sito Web 18 · eCommerce 47 · Visibilità Google 63 · Social 47 · Video & Spot TV 58 · AI & Lead 30 · Reputazione 4 · Funebre 14 · Accessori & Servizi 25 · Mantenimenti & Restyling 73 (separati).
  • Le sigle che già usavi continuano a funzionare uguale. Sono solo raggruppate diversamente nel dropdown del catalogo. I 3 pacchetti pre-confezionati (Essenziale/Crescita/Dominanza) restano invariati.
Versione 2.20.22

Lunedì 18 maggio

2026-05-18 Testo del catalogo step 6 ora mostra il numero corretto di prodotti (era ancora «67» hardcoded).

Piccola sistemazione cosmetica nel catalogo dello step 6. Sotto il titolo "Tutti i prodotti PagineSi" c'era la frase «Naviga i 67 prodotti per categoria» col numero scritto fisso nel codice. Adesso il numero viene letto in tempo reale dal listino corrente: con il catalogo espanso a 379 sigle la frase diventa "Naviga i 379 prodotti del listino...". A ogni futuro aggiornamento del catalogo il numero si aggiorna da solo.

Versione 2.20.21

Lunedì 18 maggio

2026-05-18 Hotfix urgente: la pagina dei prodotti dello step 6 appariva vuota dopo l'import del catalogo. Sistemato.

Sistemato il catalogo che appariva vuoto. Dopo l'import dei 379 prodotti, alcuni di essi (i prodotti "a preventivo" come AI-ESC o le campagne advertising custom) avevano un prezzo non numerico nel listino. Il rendering dei prodotti incrociava un errore tecnico su quei prezzi non-numerici e si interrompeva, lasciando la lista visibilmente vuota. Adesso quei prodotti vengono mostrati con la dicitura "a preventivo" (in corsivo) accanto al nome, e tutto il resto del listino si vede regolarmente. Catalogo a 379 sigle finalmente visibile.

Versione 2.20.20

Lunedì 18 maggio

2026-05-18 Catalogo prodotti completo (379 sigle) ora effettivamente in produzione. Il rilascio precedente non era andato a buon fine.

Il catalogo completo a 379 sigle è finalmente in produzione. Il rilascio precedente (v2.20.19) non era andato a buon fine perché un controllo automatico interno aveva trovato un'incongruenza nella categorizzazione di alcune nuove sigle (i bundle SMS Si!2SMS erano finiti per errore nella categoria Siti Web invece che in Si4Lead). Sistemato: rimessi nella categoria giusta, i nomi sono più leggibili (es. "Si!2SMS B5 — da 5.000 a 9.999 sms B2B"), e nello scoring abbiamo garantito che il sito web (Si!2Site Ready) resti sempre tra i prodotti consigliati quando il prospect non ha un sito, anche con un catalogo molto più grande.

Versione 2.20.19

Lunedì 18 maggio

2026-05-18 Catalogo prodotti completo: da 67 a 379 sigle importate dal listino ufficiale. Finiscono i "prodotti fantasma" nelle proposte.

Catalogo prodotti completo, finalmente. Fino a oggi nella generazione della proposta il sistema usava un catalogo prodotti ridotto, una shortlist di 67 sigle creata all'avvio dell'hub. Quando un agente vedeva nel Brief AI un prodotto come SOC-ADV50, andava a cercarlo nel selettore e non lo trovava: era un prodotto vero del listino PagineSi che semplicemente non era stato importato nell'app. Da oggi il catalogo dell'hub contiene tutte le 379 sigle del listino ufficiale: tutti i social adv, tutti gli spot video tv (Netflix, Prime, Mediaset, Sky, ecc.), tutti i pacchetti Si4Business, i Sì!Happy, i prodotti AI, gli e-commerce pack, le campagne LinkedIn, e così via. Quello che cita il Brief AI ora lo trovi nel selettore.

Cosa è cambiato in pratica

  • Da 67 a 379 prodotti nel selettore dello step 6. Da 17 a 30 categorie.
  • I 67 prodotti che già usavi sono rimasti identici (stessi prezzi, stesse descrizioni). Nessuna regressione.
  • Aggiunti tra gli altri: tutti i Social ADV, Sì!Happy, spot video Netflix/Prime/Mediaset/Sky, pacchetti eCommerce, Si4Business, Assistenti Digitali AI, campagne LinkedIn, siti Si!2Site (Atom, Ready, Super, Professional, Vertical) e i loro mantenimenti.
  • Il Brief AI non cita più "prodotti fantasma": tutto quello che propone è nel listino e tu lo puoi selezionare.
Versione 2.20.18

Lunedì 18 maggio

2026-05-18 Hotfix: piccolo problema tecnico interno introdotto in v2.20.17 sistemato. Niente di visibile per gli agenti.

Aggiustamento interno. Il rilascio precedente (v2.20.17, lo strumento admin per revisionare i prompt AI) aveva un dettaglio tecnico che impediva al sistema di rispondere correttamente. Sistemato senza cambiare nulla di funzionale. Nessun impatto per chi usa l'hub commerciale.

Versione 2.20.17

Lunedì 18 maggio

2026-05-18 Strumento interno admin: pagina riservata per consultare i prompt delle analisi AI in un colpo solo.

Nuova pagina admin per revisionare le analisi AI. Aggiunto uno strumento riservato agli amministratori per leggere in un unico documento tutte le istruzioni che diamo agli analisti AI (Consulente GBP, Direttore Commerciale, ecc.) per generare le analisi sui prospect. Serve per fare revisioni periodiche e capire dove ritarare il tono o le regole. La pagina è visibile solo a chi ha il ruolo admin: nessun rischio di esporre il know-how all'esterno. Nessun cambiamento per gli agenti commerciali.

Versione 2.20.16

Lunedì 18 maggio

2026-05-18 Sistemato il Consulente GBP che tagliava le frasi a metà: ora completa sempre tutte le righe.

Niente piu' frasi monche nell'analisi dello step 2. Era stato segnalato il caso di una raccomandazione del Consulente GBP che si chiudeva con «...prima dell'appuntamento, per» senza completare la frase. Era un limite di spazio: su prospect con molti dati (tante foto, recensioni numerose, orari completi) il sistema esauriva il budget di scrittura e tagliava la sezione finale. Abbiamo dato più spazio al Consulente GBP e aggiunto una regola che vale per tutte le sintesi AI: se lo spazio sta finendo, accorciare le ultime righe ma mai troncare una frase a metà.

Versione 2.20.15

Lunedì 18 maggio

2026-05-18 Stop ai 15 minuti sprecati: ora scopri subito se un prospect e' gia' in gestione di un collega, senza arrivare allo step 6.

Niente piu' analisi sprecate su lead già presi. Prima poteva capitare che cliccassi su un prospect dalla ricerca e arrivassi fino allo step 6 (15 minuti di analisi) prima di scoprire che era già in gestione di un collega. Da oggi due controlli a cascata: sulla pagina di ricerca, finché il sistema sta verificando la disponibilità, la selezione e l'avvio analisi sono trattenuti con un breve avviso; e se per qualsiasi motivo quel controllo fallisce, appena entri nello step 2 ti appare un avviso bloccante che ti dice chi sta lavorando il prospect e fino a quando, con un solo bottone per tornare alla ricerca. Risultato: o ti accorgi subito, o al primo passo, mai dopo 15 minuti.

Doppio controllo sulla presa in carico (ticket #187)

  • Pagina di ricerca: finché verifichiamo se i prospect mostrati sono già in gestione di qualcuno (di solito poche centinaia di millisecondi), le card mostrano il cursore di attesa. Se clicchi durante questo momento un breve avviso ti chiede di riprovare fra un istante. Subito dopo, se il prospect è lockato, vedi il badge rosso «In gestione da [Nome]» e la card non è piu' selezionabile.
  • Step 2 (Visibilità Locale): se per qualsiasi motivo il controllo della ricerca ti è sfuggito (clic veloce, network lento, ricarica), appena entri nello step 2 ti appare un avviso a tutto schermo: «Questo prospect e' gia' in gestione di [Nome] fino al [data]. Non puoi avviarne l'analisi» + un solo bottone «Torna alla ricerca». Stop netto, nessun modo per proseguire.
Versione 2.20.14

Lunedì 18 maggio

2026-05-18 3 bug fix: barra Racconto non sovrapposta al banner cache, competitor aggiornati al cambio prospect tra tab, tag della dashboard piu' leggibili.

Tre fix mirati dai vostri ticket. Sistemata la sovrapposizione tra la barra "Stampa PDF / Rigenera / Nuova ricerca" e il banner azzurro "Stai vedendo il racconto dalla cache" nella pagina del Racconto. Risolto il caso degli agenti che, lavorando su più prospect in tab diverse, vedevano nello step 5 (Competitor) ancora i concorrenti del prospect precedente: ora quando torni sulla tab, se il prospect è cambiato la pagina si ricarica da sola. Cambiato il colore del testo dei tag nella dashboard, che erano poco leggibili (viola su viola): ora si vedono bene.

Bug fix di sessione

  • Racconto: barra in alto non più sovrapposta al banner cache (#184). La barra con i bottoni "Stampa PDF", "Rigenera racconto" e "Nuova ricerca" e il banner azzurro "Stai vedendo il racconto dalla cache" si pestavano i piedi quando scrollavi. Ora il banner si posiziona sempre sotto la barra anche su mobile dove la barra puo' andare a capo.
  • Step 5 Competitor: aggiornamento automatico al cambio prospect (#185). Se avevi questa pagina aperta in una tab e nel frattempo selezionavi un altro prospect, vedevi ancora i concorrenti del prospect precedente. Ora quando torni alla tab, se il prospect e' cambiato la pagina si ricarica da sola e ti mostra i competitor corretti.
  • Dashboard: tag dei prospect ora leggibili (#186). I tag che assegnavi avevano testo viola su sfondo viola chiaro, praticamente illeggibile. Ora il testo e' viola scuro pieno: il pulsante resta uguale ma si legge benissimo.
Versione 2.20.13

Lunedì 18 maggio

2026-05-18 Allineata la documentazione al lock 7 giorni: alcuni testi parlavano ancora di 3 giorni (vecchia regola).

Pulizia editoriale. Dal 15 maggio il lock sui prospect in «Proposta inviata» dura 7 giorni (prima erano 3), ma alcuni testi in giro per la piattaforma raccontavano ancora la vecchia regola. Abbiamo allineato tutto: scheda Scopri con le feature attuali (7 giorni, promemoria a -3gg e -1gg, bottone «Rilascia lead») e documentazione tecnica. Nessun cambio di logica, solo testi messi a posto. Il funzionamento è sempre stato giusto, era solo il racconto a essere disallineato.

Versione 2.20.12

Lunedì 18 maggio

2026-05-18 Bottone AIUTO! sempre visibile nella barra in alto, in ambra acceso, per ricordarvi che c'è sempre una via di uscita.

Aiuto e supporto ora a portata di click. Da oggi nella barra in alto, tra "Storico" e (per gli admin) "Admin", trovate un nuovo bottone AIUTO! in ambra acceso. Cliccandolo si apre la stessa scheda con la scaletta in 3 step che gia' trovavate nel menu utente: prima la guida, poi un ticket per i bug, e solo come ultima spiaggia il numero di telefono per dubbi sull'uso dell'interfaccia. Lo abbiamo voluto bello visibile cosi' nessuno deve più cercarlo — ma il messaggio resta: provate prima la guida.

Bottone AIUTO! nella barra in alto

  • Sempre visibile su desktop, posizione fissa accanto agli altri bottoni di navigazione.
  • Colore ambra che spicca contro il viola della barra, in modo che riconoscerlo a colpo d'occhio sia immediato.
  • Click = stessa scheda di aiuto con la scaletta guida → ticket → telefono.
  • Su schermi stretti (mobile) la stessa voce resta disponibile nel menu hamburger.
Versione 2.20.11

Lunedì 18 maggio

2026-05-18 Maratona ticket: 4 bug fix (verdetto undefined, orari GBP, traffico Brief AI, sito offline) + 3 chiusure educative + 2 triage feature.

Una raffica di sistemazioni dai vostri feedback. Abbiamo lavorato 9 ticket aperti dagli agenti: 4 bug fix (parola «undefined» nel verdetto, orari della scheda Google che a volte non venivano rilevati, numeri contrastanti nel Brief AI, e una nuova banda di avviso quando il sito del prospect non risponde), più 3 chiusure educative (con rimando alla nuova guida) e 2 idee triage che valuteremo. Grazie a tutti per le segnalazioni: continuate a farci sapere quando qualcosa stride.

Bug fix

  • «undefined» nel verdetto (ticket #178). Quando lo step 6 generava la frase di sintesi del verdetto poteva comparire la parola undefined al posto di uno dei pilastri (era il pilastro Presenza Social, aggiunto allo scoring di recente ma non ancora mappato nella frase). Adesso vedi sempre il nome corretto.
  • Orari GBP che non venivano rilevati pur essendo presenti sulla scheda Google (ticket #176). In alcuni casi gli orari arrivano da Google in un formato strutturato anziché in formato descrittivo: prima li ignoravamo, adesso li leggiamo anche cosi` e contiamo i giorni effettivamente coperti.
  • Brief AI con numeri di traffico apparentemente contrastanti (ticket #179). Il traffico totale del sito e il traffico stimato per singola keyword sono entrambe stime calcolate con metodi diversi dal provider SEO — e' fisiologico che una keyword forte abbia traffico stimato superiore al totale dominio (campione di top-100). L'AI adesso scrive sempre «stima» o «stimato» quando cita questi numeri e non li segnala piu' come contraddizione. Stesso chiarimento anche nelle scorecard sotto il pilastro SEO.

Nuovo avviso «sito non risponde»

  • Se nello step Web e SEO il sito del prospect non risponde (timeout, errore di connessione, certificato HTTPS non valido o reindirizzamenti a vuoto), in cima alla pagina vedrai una banda gialla che ti avvisa: i dati di analisi che vedi sotto possono essere uno snapshot storico, raccolto in passato quando il sito era online. Un'ottima opportunità di vendita: sito da rifare. (ticket #183)
Versione 2.20.10

Lunedì 18 maggio

2026-05-18 Nuova Guida per commerciali + sezione Aiuto e supporto nel menu utente con scaletta guida → ticket → telefono.

Una guida tutta per voi commerciali, accessibile dal menu utente. Aprendo il menu in alto a destra (sul vostro nome) trovate due voci nuove: Guida per commerciali e Aiuto e supporto. La guida copre tutto il flusso dell'hub in linguaggio semplice — 6 step di analisi, Racconto, Dashboard, lead in gestione esclusiva, prodotti, FAQ più comuni, glossario. Pensata per chi sale a bordo la prima volta e per chi ha dubbi nell'uso quotidiano. Il bottone Aiuto e supporto ti mostra invece una scaletta in 3 step su dove cercare aiuto: prima la guida, poi un ticket se c'è un bug, e solo come ultima spiaggia il numero di telefono (per dubbi sull'uso dell'interfaccia, non sulla vendita).

Guida per commerciali — tutto quello che ti serve, in italiano semplice

  • 10 capitoli: benvenuto, flusso in 6 step, Racconto narrativo, Dashboard, lead in gestione esclusiva, prodotti nello scoring, segnalare un problema, 10 FAQ rapide, glossario, aiuto.
  • Sidebar di navigazione con anchor a ogni capitolo e sotto-capitolo, ricerca testuale rapida che evidenzia le voci pertinenti.
  • Linguaggio asciutto e diretto — niente parole tecniche, niente sigle, esempi concreti su come usare ogni step.
  • Si raggiunge dal menu utente (clic sul tuo nome in alto a destra) → Guida per commerciali.

Aiuto e supporto — scaletta chiara in 3 step

  • 1. Leggi la guida — copre tutti i casi normali.
  • 2. Apri un ticket se hai trovato un bug, un errore, una pagina che non carica. Bottone "Segnala un problema" in basso a destra.
  • 3. Solo come ultima spiaggia, se non capisci come si usa una schermata, chiama il 328 131 1516. Supporto supplementare per dubbi sull'interfaccia — non per la vendita, non per problemi tecnici.
Versione 2.20.9

Lunedì 18 maggio

2026-05-18 Nuovo banner che ricorda che lo strumento è pensato per uso desktop — visibile solo su mobile e tablet.

Promemoria desktop-first per chi accede da telefono o tablet. Aprendo qualsiasi pagina dell'hub da uno schermo stretto (largo fino a 1024 px) compare in cima una banda gialla che ricorda che lo strumento è pensato per essere usato da computer. Su mobile alcune visualizzazioni complesse — tabelle, mappe, grafici sociali — possono comportarsi in modo non ottimale. Il messaggio si può chiudere e non riappare più sullo stesso dispositivo.

Banner "Strumento ottimizzato per desktop"

  • Visibile solo su viewport ≤ 1024 px (smartphone, tablet in verticale). Sui monitor desktop normali resta nascosto.
  • Una volta chiuso con la ×, la preferenza viene ricordata: non riappare più per quel browser.
  • Copre tutte le pagine principali dell'hub — home, dashboard, sei step di analisi, racconto, pannello admin.

Triage ticket "non riesco ad arrivare al racconto"

  • Verificato: l'analisi social dello step 4 era andata regolarmente a buon fine (canali rilevati, score calcolato). Il blocco percepito era il bottone "Competitor Intelligence →" in fondo allo step 4, reso di proposito poco evidente per non spingere l'agente a saltare avanti.
  • Risposta all'agente: il flusso completo è step 4 Social → step 5 Competitor → step 6 Diagnosi → Racconto. Se il prospect non ha sito web, i social non si rilevano in automatico e vanno inseriti a mano nei campi URL.

Sabato 16 maggio

2 release
Versione 2.20.8

Sabato 16 maggio

2026-05-16 Sul racconto caricato dalla cache c'è un nuovo bottone «Rigenera ora»: rifai la narrazione senza tornare alla home.

Feature — rigenerazione racconto diretta dalla banner cache. Quando riapri un prospect e vedi il banner azzurro «Stai vedendo il racconto del XX/XX dalla cache», ora c'è un bottone «Rigenera ora» accanto a «Torna alla home». Cliccandolo riparte la generazione AI con gli stessi dati già raccolti (smart audit + scorecard): ottieni una narrazione fresca senza dover rifare la ricerca prospect dalla home.

Bottone «Rigenera ora» sul banner cache del racconto

  • Sul banner azzurro che appare aprendo un racconto da cache (apri prospect dalla Dashboard) c'è ora un bottone «Rigenera ora» in evidenza, prima di «Torna alla home». Click = nuova narrazione AI in 30-45 secondi, senza passare per la ricerca prospect.
  • I dati di base (smart audit, scorecard, prospect selezionato) restano in cache: la rigenerazione riusa tutto e cambia solo il testo della narrazione, come già faceva il bottone «Rigenera» in fondo alla pagina dopo aver visualizzato il racconto.
Versione 2.20.7

Sabato 16 maggio

2026-05-16 Piccola pulizia cosmetica del footer: rimossa la firma autore in fondo a ogni pagina.

Pulizia footer. Il footer in fondo a ogni pagina non mostra più la riga «Ideato e sviluppato da...». Restano logo, indirizzo, copyright e i link a Changelog e Roadmap.

Footer più pulito

  • Rimossa la firma autore in fondo al footer. Nessun altro elemento è cambiato.

Venerdì 15 maggio

2 release
Versione 2.20.6

Venerdì 15 maggio

2026-05-15 Lead in gestione esclusiva per 7 giorni (era 3) con due notifiche promemoria prima della scadenza, e nuovo bottone «Rilascia lead» sulla tua dashboard per liberarlo subito.

Nuova feature — gestione lead più rilassata e più trasparente. Quando porti un prospect in stato «Proposta inviata», il lead resta tuo in esclusiva per 7 giorni (prima erano 3). In questa finestra ricevi automaticamente due promemoria: uno 3 giorni prima e uno 1 giorno prima della liberazione del lock. Se sai già che non chiuderai la trattativa, dalla dashboard utente c'è ora il bottone «Rilascia lead» che riporta il prospect in stato Aperto e lo mette a disposizione degli altri agenti, senza doverlo marcare come «Perso».

Lock prospect a 7 giorni con doppio promemoria

  • La durata del lock per i prospect in Proposta inviata passa da 3 a 7 giorni. La scadenza si riazzera ogni volta che fai un'azione sulla scheda (modifica nota, cambio stato, salvataggio analisi), come prima.
  • Due notifiche automatiche ti raggiungono prima della scadenza: la prima 3 giorni prima ti dà il tempo di pianificare un'ultima telefonata, la seconda nelle ultime 24 ore ti ricorda che il lead sta per tornare disponibile per gli altri. Ogni notifica ha il link diretto alla scheda.

Bottone «Rilascia lead» sulla dashboard utente

  • Sulla tua dashboard utente, ogni prospect in Proposta inviata ha ora un bottone «Rilascia lead» accanto allo status. Premendolo (con conferma esplicita) il prospect torna in stato Aperto, il lock si libera subito e gli altri agenti possono lavorarlo. Lo storico delle analisi, proposte e annotazioni resta intatto, viene rimosso solo l'eventuale codice cliente provvisorio.
  • Resta valida la regola: i prospect con contratto firmato (Chiuso (won)) hanno lock permanente e non possono essere auto-rilasciati. Per quelli serve sempre l'admin via «Sblocca prospect».
Versione 2.20.5

Venerdì 15 maggio

2026-05-15 Il bottone «Elimina tutti i prospect» ora funziona davvero anche quando ci sono racconti narrativi salvati.

Bug fix — rilascio massivo prospect non funzionava con racconti salvati. Cliccando «Elimina tutti i prospect» dalla dashboard, l'operazione falliva silenziosamente con errore tecnico se anche uno solo dei prospect aveva un racconto narrativo salvato in archivio. Adesso il rilascio elimina correttamente sia il prospect sia il suo racconto collegato.

Rilascio massivo prospect — collegamento con racconti riallineato

  • Il rilascio massivo dalla dashboard adesso ripulisce in cascata anche l'archivio dei racconti narrativi del prospect. Prima il bottone tornava un errore tecnico ogni volta che un prospect aveva almeno un racconto AI generato; ora l'operazione completa correttamente e libera la posizione, come per le altre informazioni collegate (analisi, proposte, batch, tag, cache AI).

Martedì 12 maggio

1 release
Versione 2.20.4

Martedì 12 maggio

2026-05-12 «Apri» dalla dashboard ora riapre il prospect giusto, non quello dell'ultima analisi rimasta in cache.

#168 — Apri prospect dalla dashboard non apriva l'analisi già fatta. Dalla Storico Prospect, cliccando «Apri» su un prospect del flusso Completa, la pagina di destinazione (Visibilità Locale) mostrava il prospect analizzato per ultimo nella sessione — non quello effettivamente cliccato — oppure restava sulla schermata vuota se la cache locale era pulita. Ora la pagina riconosce il prospect richiesto dall'indirizzo (URL) e lo carica direttamente dal database, ignorando ciò che era rimasto in cache.

Dashboard Storico — «Apri» carica il prospect giusto (#168)

  • page-02-visibilita-locale.js::vl_loadFromUrlParam: nuovo step di inizializzazione che ha precedenza su tutto. Quando l'URL contiene ?prospectId=N (passato dal bottone «Apri» della dashboard), il prospect viene recuperato direttamente dall'API /api/prospects/N e inizializzato come business attivo. Solo se l'URL non lo specifica, si torna al vecchio comportamento (cache locale). Effetto: l'agente vede sempre l'attività che ha cliccato, anche se la sessione conteneva un altro prospect aperto in precedenza.

Lunedì 11 maggio

1 release
Versione 2.20.3

Lunedì 11 maggio

2026-05-11 Tre fix: categoria competitor non «N/d», niente più scan mappa duplicati sulla stessa keyword, social del Racconto allineati al sito.

Tre ticket di un agente, tutti fix mirati. (1) #165 categoria competitor «N/d»: nel confronto Competitor Intelligence (step 5) la categoria Google dei due competitor risultava sempre «N/d», anche per attività con categoria popolata. Causa: chiamata a un endpoint inesistente per arricchire i dati. Sistemato l'indirizzo: ora la categoria viene recuperata correttamente da Google e mostrata localizzata in italiano. (2) #166 LocalFalcon ricerca tripla: una stessa keyword era stata mandata in scansione mappa tre volte di seguito, bruciando crediti. Aggiunto un controllo pre-scan: se esiste già un report per la stessa keyword fatto negli ultimi 60 minuti, il sistema chiede prima se vuoi riutilizzarlo (gratis) invece di rifare la scansione. (3) #167 social del Racconto «non attivi» ma esistenti: nella Modalità Racconto la sezione «Presenza social media» segnava come non attivi canali che in realtà erano presenti sul sito del prospect. Lo stato dei 4 canali (Facebook, Instagram, YouTube, TikTok) ora viene determinato in modo deterministico dal rilevamento sul sito web, non lasciato alla decisione del modello narrativo.

Step 5 — categoria competitor di nuovo visibile (#165)

  • page-05-competitor-intelligence.js::enrichCompetitor: corretto il path della richiesta di arricchimento dati (chiamava un endpoint inesistente, la 404 veniva silenziata dal try/catch e tutti i campi recuperati a posteriori — categoria, telefono, foto, orari — restavano vuoti). Il fetch ora va sul path corretto: la categoria torna a comparire localizzata in italiano (es. «Salone da parrucchiere») invece di «n/d».

Step 2 — stop alle scansioni duplicate sulla stessa keyword (#166)

  • page-02-visibilita-locale.js::vl_findFreshSameKeywordReport + vl_startScan: prima di partire con uno scan, il sistema verifica se esiste già un report per lo stesso placeId+keyword negli ultimi 60 minuti. Se sí, mostra un dialog «Hai già un report di N min fa, vuoi riutilizzarlo?». OK = caricato dal report esistente (zero crediti). Annulla = parte un nuovo scan come prima. La protezione si attiva solo se la keyword coincide esattamente: cambiarla anche di una parola fa partire un nuovo scan regolarmente.

Modalità Racconto — presenza social allineata al sito reale (#167)

  • routers/racconto.py::_override_social_presenze: dopo che il modello narrativo genera il Racconto, il backend sovrascrive la lista dei 4 canali (FB, IG, YT, TikTok) con uno stato deterministico ricavato dal rilevamento sul sito web del prospect. Regola semplice: se il sito linka un canale → «attivo», se non lo linka → «non trovato». Il verdetto narrativo del modello resta intatto. Cosí un canale presente non viene più segnalato come mancante per una scelta del modello.

Venerdì 8 maggio

2 release
Versione 2.20.2

Venerdì 8 maggio

2026-05-08 Step 2 — mappa ranking 7x7 non si taglia più. Step 3 — aggiunto badge «PageSpeed by Google» sulla card Performance Web.

Due interventi rapidi sui ticket di un nuovo agente. (1) #163 mappa ranking 7x7 tagliata: la griglia di posizionamento sullo step 2 (Visibilità locale) usciva fuori dal contenitore quando l'agente sceglieva la scansione 7x7 invece della 5x5 standard, in particolare con layout a due colonne (mappa LF + griglia ranking affiancate). Causa: la dimensione minima della singola cella era 28 px, sufficiente per 5x5 ma costringeva la 7x7 a sforare. Abbassato il minimo a 22 px: la cella resta leggibile (rank/NF chiari) e la griglia rientra nel contenitore. (2) #164 PageSpeed by Google: la card Performance Web sullo step 3 (Web & SEO) misura velocità di caricamento e Core Web Vitals via API Google PageSpeed Insights, ma il badge sopra la card diceva «speedcheck + Core Web Vitals», troppo tecnico. Sostituito con «PageSpeed by Google» (azzurro brand-friendly) cosí l'agente identifica subito la fonte. Un agente aveva chiesto di aggiungere PageSpeed: in realtà era già integrata da v2.18.19, semplicemente la fonte non era visibile.

Step 2 — griglia 7x7 non sfora più il contenitore (#163)

  • page-02-visibilita-locale.js::vl_renderGrid: clamp del cellSize abbassato da 28 a 22 px. La 7x7 (gap 4 px x 6 = 24 px totali) ora richiede 22*7+24 = 178 px contro i 220 px precedenti, che entra in container ~190 px (layout 2 colonne con mappa LF affiancata). Per 5x5 nulla cambia (il min non veniva mai colpito).

Step 3 — badge «PageSpeed by Google» sulla card Performance Web (#164)

  • 03-web-seo.html: badge sulla section title cambiato da src-internal «speedcheck + Core Web Vitals» a src-pagespeed «PageSpeed by Google». Aggiunta nuova rule CSS .sih-source-badge.src-pagespeed con palette azzurra brand-friendly (background #EBF2FF, color #1A73E8, border #B3CDF6). Title attribute aggiunto: «Dati forniti da Google PageSpeed Insights» per chi passa con il mouse.
Versione 2.20.1

Venerdì 8 maggio

2026-05-08 Classifica feedback — nuova colonna «Inviate»: ora vedi anche le segnalazioni in attesa di integrazione, non solo i punti.

Bug-fix segnalato dagli agenti (#157): «non compaiono le segnalazioni effettuate questo mese». La causa: la classifica mostrava solo i feedback con flag «integrato in produzione», quindi un agente che aveva inviato 5 ticket questo mese ma nessuno ancora chiuso da admin spariva dalla classifica. Ora la tabella mostra anche una colonna «Inviate» (segnalazioni totali inviate, in qualunque stato): cosí il tuo contributo è visibile anche prima dell'integrazione. Il ranking continua a essere basato sui punti integrati (la gamification non cambia), ma chi ha 0 integrate ma 5 inviate ora compare in classifica con «0 punti · 5 inviate» invece di sparire.

Leaderboard — colonna «Inviate» + agenti senza integrate ora visibili (#157)

  • routers/feedback.py::leaderboard: query rifattorizzata. Drop del filtro F.merged_to_prod == True a livello di WHERE. Aggiunti due CASE separati: _cat_count_merged (per i punti, conteggia solo merged_to_prod=True) e _cat_count_submitted (per la nuova colonna, conteggia tutti). Skip in Python degli agenti con submitted_total == 0. Response shape estesa con bug_submitted, ux_submitted, feature_submitted, submitted_total.
  • page-leaderboard.js: aggiunta colonna «Inviate» nella tabella (rank 4+) tra Agente e Bug. Podium card mostra un nuovo footer «X inviate» (badge tratteggiato in basso). Empty state aggiornato: era «Nessuna segnalazione ancora integrata», ora «Nessuna segnalazione ancora inviata» (semantica corretta). leaderboard.html: nuovo <th> + tooltip su tutte le colonne che chiarisce integrate vs inviate. Footer page aggiornato con disclaimer punti vs inviate.
  • tests/test_leaderboard.py: 6/6 passano (no breaking change sui campi esistenti, solo additive).

Mercoledí 6 maggio

6 release
Versione 2.20.0

Mercoledí 6 maggio

2026-05-06 Scorecard step 6 — il pilastro Presenza Social ora concorre al punteggio finale. Pesi calibrati per i 9 settori (alto su retail/estetica/ristorazione, basso su salute/B2B).

Da v2.19.2 la presenza social era una card informativa non legata al punteggio. Ora è un pilastro vero della scorecard: contribuisce al totale come gli altri 5 (GBP, Reputazione, Locale, SEO, Web). Pesi calibrati per settore: ALTO (12-14 pt) su ristorazione, estetica, retail, turismo, sport/fitness. MEDIO (7-8 pt) su artigianato e categorie generiche. BASSO (4-5 pt) su salute e servizi professionali B2B. La somma per settore resta 100, niente score storico inflazionato.

Quando concorre: solo se hai fatto lo step 4 (analisi social) per il prospect. Senza dati social, il pillar resta escluso dal denominatore (auto-normalizzazione già esistente per Local Falcon e SEO mancanti) — gli score di prospect senza step 4 restano identici a prima della v2.20.0. Quando il pillar è escluso compare nel banner «Dati mancanti» come già succede per scan mappa e SEO.

Pillar Social — ora parte integrante dello scoring

  • 4 sub-check valutati: Presenza (almeno 1 canale attivo, peso interno 30%), Cadenza (post/settimana max sulla piattaforma migliore, 30%), Engagement (ER vs soglia di settore: IG/TikTok 1%, FB/LinkedIn 0.5%, YouTube 2%, peso 20%), Diversificazione (numero canali attivi, peso 20%).
  • Tabella pesi per settore (somma 100 ogni riga): ristorazione 34/18/20/12/4/12, estetica_benessere 33/17/18/13/5/14, retail 30/14/17/19/6/14, turismo_hospitality 30/18/16/18/6/12, sport_fitness 32/13/20/15/8/12, artigianato 33/14/20/16/9/8, altro 31/16/18/18/9/8, salute 33/19/19/17/7/5, servizi_professionali 28/17/15/22/13/5 (ordine: GBP/Rep/Locale/SEO/Web/Social).
  • Implementazione: sih-audit.js + smart_scoring.py entrambi aggiornati con nuovi pesi + 4 check items + helper. page-06-diagnosi-proposta.js renderizza il pillar nella scorecard hero con icona X colore rosa #EC4899. La card informativa stop-gap di v2.19.2 (_buildSocialPresenceCard) rimossa, assorbita nel pillar.
  • Tutti i 55 test smart + 9 test sih-audit passano. Verifica somma pesi: 9/9 settori = 100. Smoke locale: prospect senza social → 5 pillar attivi (locale escluso da Smart, social non disponibile). Prospect con social IG+FB → social contribuisce, total +2 punti circa.
Versione 2.19.2

Mercoledí 6 maggio

2026-05-06 Step 6 — Presenza social ora visibile nella scorecard. + Stratega social: sostituiti i nomi tecnici interni con frasi italiane.

Due bug-fix admin segnalati durante la sessione. (1) Presenza Social nella scorecard step 6: prima la sezione «La scorecard della presenza digitale» mostrava i 5 pilastri (GBP, Reputazione, Locale, SEO, Web) ma non la presenza social, che usciva solo nel PDF di stampa. Ora è visibile a schermo come card informativa subito sotto il verdetto: tabella canali con handle, follower, post, ER, frequenza. La card resta informativa (non concorre al punteggio: i 5 pilastri sommano già 100 punti e aggiungere social come 6° richiederebbe ribilanciare i pesi di tutti e 9 i settori). (2) Stratega Social — codici tecnici nascosti: capitava che il modello AI scrivesse nella risposta finale i nomi dei campi del payload (data_gaps, no_social_scan, no_website, website_detect) anche se il prompt glielo proibiva. Ora un sanitizer client-side li sostituisce con frasi italiane (es. «dati parziali», «scan social non eseguito», «detect automatica del sito») prima del rendering, e il prompt include una nuova Regola 5 esplicita: «mai nominare i codici tecnici nella risposta finale».

Step 6 — Presenza Social agganciata alla scorecard (#155)

  • Aggiunta _buildSocialPresenceCard() in page-06-diagnosi-proposta.js. Card renderizzata in scoreSection sotto il verdetto, sopra il benchmark di settore. Fonte dati: proposalData.social.results popolato dallo step 4.
  • Tre stati: (a) canali rilevati → tabella compatta con piattaforma/handle/follower/post/ER/frequenza, (b) scan eseguito ma zero canali attivi → banner «vendita aperta per pacchetto gestione social», (c) scan non eseguito → invito a completare lo step 4.
  • Scoring NON modificato: i 5 pilastri (GBP/Rep/Loc/SEO/Web, pesi calibrati per i 9 settori) restano la fonte unica di verità del punteggio. Aggiungere social come 6° pilastro è un redesign separato (richiederebbe ridistribuire i 100 punti su 9 profili settore) — non incluso qui per non invalidare gli storici.

Stratega Social — sanitizer codici tecnici (#151)

  • page-04-social.js::_ssMdToHtml: aggiunto sanitizer pre-render che sostituisce data_gaps, no_social_scan, no_website_detect, no_website, website_detect (sia nudi che backtick-quoted) con etichette italiane user-friendly.
  • ai_personas.py::_DATA_GAPS_RULES: aggiunta Regola 5 con divieto esplicito di nominare i codici tecnici del payload nella risposta finale. Si applica a tutte le personas che ereditano _DATA_GAPS_RULES.
Versione 2.19.1

Mercoledí 6 maggio

2026-05-06 Storico — ora puoi riaprire il racconto di un prospect dalla dashboard senza rifare l'analisi (e niente piu' «ultimo post 12 anni fa» su YouTube).

Due bug fix segnalati stamattina. (1) Riapertura racconto dallo Storico: cliccando «Apri» su un prospect analizzato in Modalità Racconto, il sistema cadeva nella pagina di ricerca (sembrava di essere tornati alla home). Ora il racconto si riapre correttamente: se è già in cache lo vedi in 2 secondi, altrimenti viene rigenerato dai dati salvati e finisce in cache per le prossime volte. (2) YouTube «ultimo post 12 anni fa»: l'analisi social mostrava la data di creazione del canale al posto della data dell'ultimo video caricato. Ora la pipeline interroga la playlist degli upload e prende la data del video più recente.

Storico — riapertura racconto cached (#147 collegato)

  • Causa: i job Smart non includevano il prospect_id nei loro metadati, quindi quando l'agente cliccava «Genera racconto» il backend riceveva null e saltava la persistenza in cache. Ogni riapertura dallo Storico cadeva in un 404 silenzioso e finivi sulla pagina di ricerca interna.
  • Fix: routers/smart.py ora popola result.meta.prospect_id e lo espone anche al top-level della response. page-racconto.js::tryAutoLoadCached, in caso di smart-cache hit ma racconto-cache miss, rigenera il racconto dai dati Smart in cache (un singolo Opus call ~$0.10) e lo persiste, cosí le riaperture successive sono istantanee.
  • Per i 4 prospect Racconto già esistenti (con cache vuota a causa del bug): la prossima riapertura ricostruisce il racconto e popola la cache automaticamente. Niente intervento manuale richiesto.

Social YouTube — data ultimo video corretta (#147)

  • Causa: social_analytics.py::_fetch_youtube_official usava channel.snippet.publishedAt come «ultimo post» ma quel campo è in realtà la data di creazione del canale. Per canali storici (creati nel 2014, attivi nel 2026) il sistema mostrava «ultimo post 12 anni fa» anche se l'ultimo video era di 3 settimane fa.
  • Fix: la richiesta a channels.list ora include contentDetails per ottenere l'ID della playlist degli upload, poi una playlistItems.list con maxResults=1 recupera il video più recente. La sua publishedAt diventa il vero «ultimo post». Se la chiamata fallisce, fallback alla vecchia data (canale) per non lasciare il campo vuoto.
  • Lato dati grezzi: raw.publishedAt rinominato in raw.channelCreatedAt, aggiunti raw.lastUploadAt + raw.uploadsPlaylistId per debug futuro.
Versione 2.19.0

Mercoledí 6 maggio

2026-05-06 Modalità Racconto rinnovata: scansione mappa locale eseguita davvero, piano d'azione con prodotti PagineSi, listino completo personalizzabile.

Tre cambi importanti sulla Modalità Racconto, dai ticket #141, #143, #144. (1) Scansione mappa locale eseguita davvero: prima la spunta «Scan Local Falcon (mappa)» sulla home era cosmetica e il racconto scriveva sempre «Posizionamento locale non misurato». Ora se la lasci attiva, la pipeline lancia la scansione (5x5, 2 km) e attende il completamento (60-180 sec): il pillar Local SEO arriva nel racconto con dati reali. (2) «Le 3 fasi per crescere» ora è fatta di prodotti PagineSi: ogni azione è una sigla del catalogo (es. GBPP, Si2RE-PM, ISTBS) con nome e motivazione. Niente più consigli generici tipo «aggiungi foto, fai SEO»: il cliente capisce subito che siamo noi a gestirlo. (3) Listino completo nella proposta commerciale: oltre ai prodotti consigliati per il tier, ora c'è un selettore per aggiungere qualsiasi altro prodotto del catalogo (67 in totale). Le aggiunte mostrano un badge «+» e un pulsante per rimuoverle.

Smart + Racconto — scansione mappa locale eseguita davvero (#141)

  • Quando lasci attiva la spunta Scan Local Falcon (mappa) sulla home, ora la pipeline esegue effettivamente la scansione (griglia 5x5 nel raggio di 2 km, parola chiave dalla categoria del prospect). L'analisi richiede 60-180 secondi extra ma in cambio il racconto include il pillar Local SEO con copertura grid e posizione media reali.
  • Se la scansione non termina in tempo, il racconto degrada in modo onesto: scrive «Scansione mappa non eseguita per questa attività: consigliata per misurare la copertura locale» invece di un cripto «non misurato».

Modalità Racconto — le 3 fasi ora propongono prodotti PagineSi (#143)

  • Sezione «Le 3 fasi per crescere» ridisegnata: invece di azioni libere generiche, ogni voce è un prodotto del catalogo PagineSi con sigla, nome e motivazione legata ai dati del prospect (es. «ISTBS — Per recuperare il rating con un flusso costante di nuove recensioni positive»). Cosí il cliente legge subito chi fa cosa: il fai-da-te non c'è più.
  • Sottotitolo della sezione aggiornato: «con i prodotti PagineSi». Inserita una frase introduttiva che chiarisce: «Ogni fase è un percorso pronto, fatto da prodotti che ti accompagniamo a integrare nella tua attività».

Modalità Racconto — listino completo personalizzabile (#144)

  • Nella pagina finale «Proposta commerciale — PagineSi» ora c'è un selettore «Aggiungi un prodotto dal catalogo completo» (raggruppato per categoria) che permette di aggiungere qualsiasi prodotto oltre a quelli del tier consigliato. Prima si vedevano solo i prodotti suggeriti automaticamente.
  • I prodotti aggiunti manualmente compaiono nella tabella con un badge viola «+» e un pulsantino «×» per rimuoverli al volo. Il totale annuale si aggiorna live. In stampa il selettore e i controlli spariscono: il cliente vede solo i prodotti effettivamente proposti.
Versione 2.18.21

Mercoledí 6 maggio

2026-05-06 Home: le icone social tornano su tutti i 60 prospect (alzato il tetto orario). Modalità Racconto: il titolo della sezione social non è più contraddittorio.

Due fix mirati segnalati con i ticket #140 e #142. Home: dal v2.18.18 la home mostra subito 60 prospect, ma il limite orario di rilevamento social era rimasto a 30/h. Risultato: dopo una ricerca in zona affollata, le icone social sparivano dalla seconda metà della griglia. Tetto alzato a 100 rilevamenti/ora — tre ricerche piene + margine, senza intaccare la sicurezza (la chiamata è comunque cheap). Racconto: la pagina «Presenza social media» mostrava il sopratitolo «Da attivare» anche quando il prospect aveva 1 o 2 canali già attivi: contraddittorio. Ora il sopratitolo si adatta al numero reale di canali (Da attivare / Presenza parziale / Buona copertura).

Home — icone social sui prospect (#140)

  • Le icone social (Facebook, Instagram, ecc.) sui prospect della home riapparivano in modo intermittente: il rilevamento era limitato a 30 prospect/ora, e con i 60 caricati subito (v2.18.18) ne restavano 30 senza icone. Limite portato a 100/ora.

Modalità Racconto — sopratitolo social coerente (#142)

  • Sulla pagina «Presenza social media» il sopratitolo era hard-coded a «Da attivare» ma sotto la griglia compariva «2 canali attivi su 5»: stridente. Ora il sopratitolo è condizionale: 0 canali = «Da attivare», 1-2 = «Presenza parziale», 3+ = «Buona copertura». Anche la frase introduttiva si adatta.
Versione 2.18.20

Mercoledí 6 maggio

2026-05-06 Competitor Intelligence: il segno dei delta «vs te» ora è coerente con la realtà (+ se il competitor è davanti, − se è indietro).

Sullo step 5 (Competitor Intelligence) i badge «+X vs te» e «−X vs te» mostravano il segno invertito: un competitor con il 29% di completezza scheda contro il tuo 71% compariva con «+42pp vs te», come se fosse davanti di 42 punti. Era confondente: il colore (verde) ti diceva «buona notizia per te», ma il segno + ti suggeriva il contrario. Adesso il segno segue il senso comune: + quando il competitor è davanti, − quando è indietro. Cosí basta uno sguardo per capire chi sta vincendo su ciascuna metrica, e il badge «Leader del confronto» smette di sembrare assegnato a caso.

Step 5 — segno dei delta nei badge «vs te»

  • Quando il competitor era indietro rispetto a te (es. 29% vs il tuo 71%) il badge mostrava «+42pp vs te»: visivamente sembrava che il competitor avesse 42 punti in più. Ora mostra «−42pp vs te», coerente col fatto che il competitor è sotto.
  • Quando il competitor era davanti (es. rating 4.9 contro il tuo 4.8) il badge mostrava «-2% vs te»: il segno era negativo anche se il competitor stava vincendo. Ora mostra «+2% vs te»: + significa che il competitor è sopra di te.
  • Il colore non cambia: il verde resta «buono per te» (competitor indietro) e il rosso resta «da recuperare» (competitor davanti). Solo segno e leggibilità sono allineati.

Mercoledí 29 aprile

9 release
Versione 2.18.19

Mercoledí 29 aprile

2026-04-29 Performance Web: la scansione attende fino a 1-2 minuti senza interrompersi sui siti pesanti.

Lo step 3 (Web & SEO) lanciava l'analisi Performance Web (Speedcheck + Core Web Vitals) con un timeout di 30 secondi: bastava un sito un po' pesante (negozi con tante immagini, gestionali con molti script) e l'agente vedeva «Il sito ha impiegato troppo tempo a rispondere all'analisi». Adesso la scansione attende fino a 60 secondi lato server e il messaggio mentre carichi avvisa che può richiedere fino a 1-2 minuti: cosí non chiudi la pagina pensando che si sia bloccata, e i prospect commercialmente più interessanti (siti lenti = molto da vendere) tornano misurabili.

Performance Web — timeout esteso a 1-2 minuti

  • Lo step 3 lanciava la scansione Speedcheck + Core Web Vitals con un tetto di 30 secondi: i siti media-heavy (foto grandi, JS pesante, server lenti) sforavano e l'agente vedeva «Il sito ha impiegato troppo tempo a rispondere». Tetto portato a 60 secondi: praticamente tutti i siti reali ora rientrano.
  • Il messaggio durante l'attesa diceva «richiede 10-15 secondi»: troppo ottimista. Ora avvisa che può richiedere fino a 1-2 minuti, soprattutto su siti pesanti, e raccomanda di non chiudere la pagina. Stessa nota anche nel pulsante prima di lanciare l'analisi.
Versione 2.18.18

Mercoledí 29 aprile

2026-04-29 Ricerca prospect dalla home: i 60 prospect arrivano subito, ordinati per opportunità (i «senza sito» in cima).

Quando cerchi un prospect dalla home ora il sistema scarica subito tutti i 60 risultati che Google ha sulla zona (prima ne arrivavano solo 20 e bisognava cliccare «Carica altri 20 da Google» due volte per vedere il resto). I prospect vengono ordinati per opportunità: in cima quelli senza sito o con presenza digitale debole — quelli commercialmente più interessanti — anche se Google li metterebbe più in basso. Il caricamento richiede qualche secondo in più (3 chiamate a Google invece di 1) ma trovi subito i prospect su cui vale la pena lavorare. Bottone «Carica altri 20» rimosso: non serve più.

I 60 prospect arrivano subito, ordinati per opportunità

  • Loader esplicito durante il caricamento («Cerco i 60 prospect della zona... 1/3, 2/3, 3/3»).
  • I prospect senza sito o con scheda Google debole compaiono per primi: trovi subito i candidati più promettenti.
  • Bottone «Carica altri 20» rimosso (i risultati arrivano già tutti).
Versione 2.18.17

Mercoledí 29 aprile

2026-04-29 Storico: i prospect analizzati con la Modalità Racconto ora mostrano davvero il badge «Racconto» (e non «Smart»).

Hotfix dell'aggiornamento precedente. Quando lanciavi un'analisi dalla Modalità Racconto, il sistema marcava comunque il prospect come «Smart»: nello Storico vedevi il badge sbagliato. Risolto: ora la pagina Racconto comunica correttamente al backend la modalità di origine, e il prospect riceve il badge giusto. Per i prospect Racconto fatti prima di questo aggiornamento basta rilanciare l'analisi sullo stesso prospect: il source verrà corretto automaticamente.

Badge Racconto correttamente assegnato anche all'avvio analisi

  • Bug introdotto dal refactor home unificata: la pagina Racconto non comunicava la modalità al backend e il sistema cadeva sul default «Smart».
Versione 2.18.16

Mercoledí 29 aprile

2026-04-29 Step Social: il bottone «Competitor Intelligence» non ti spinge più via dall'analisi social.

Sullo step Social, in fondo alla pagina, il bottone «Competitor Intelligence →» era più grosso e in evidenza rispetto al «← Web & SEO»: a colpo d'occhio attirava verso lo step successivo prima che tu avessi guardato bene i social del prospect. Reso più sobrio (stesso peso del bottone indietro): l'informazione «dove proseguire» resta visibile, ma l'analisi social non viene più oscurata.

Bottone «Competitor Intelligence» reso più sobrio sullo step Social

  • Stessa visibilità del bottone indietro: cosí il flow social non viene «spinto via» dalla gerarchia visiva.
Versione 2.18.15

Mercoledí 29 aprile

2026-04-29 Storico prospect: ora ogni riga ha un badge che indica il tipo di analisi (Completa, Smart o Racconto).

Sullo Storico, accanto al nome di ogni prospect ora compare un piccolo badge colorato che indica con quale modalità è stato analizzato: Completa (verde, audit step-by-step a 6 step), Smart (giallo, scheda 1-pagina), Racconto (viola, audit impaginato). Prima il badge compariva solo per Smart e Racconto e l'analisi Completa restava senza etichetta: a colpo d'occhio non si capiva il tipo di analisi.

Badge tipo di analisi su ogni prospect dello Storico

  • Tre colori distinti: Completa = verde, Smart = giallo, Racconto = viola.
  • Hover sul badge mostra una breve descrizione della modalità.
Versione 2.18.14

Mercoledí 29 aprile

2026-04-29 Modalità Smart, card Competitor: la parola «Competitor» non si spezza più lettera per lettera in verticale.

Sulla card Competitor della Modalità Smart, quando il nome del competitor era molto lungo (es. Carletti Il Mondo della Pasticceria · 4.2 · 1.030 rec), la label «Competitor» veniva schiacciata fino a spezzarsi lettera per lettera in verticale (C-o-m-p-e-t-i-t-o-r), invece di restare sulla stessa riga. Risolto: la label ora ha uno spazio garantito e non viene mai compressa più di tanto.

Etichette dei KPI nelle card Competitor e Inserzioni leggibili anche con valori lunghi

  • L'etichetta non scende più sotto la sua larghezza naturale; il valore lungo va a capo o si distribuisce su più righe senza schiacciare la label.
Versione 2.18.13

Mercoledí 29 aprile

2026-04-29 Tre fix admin: storico mostra tutti i prospect (Smart, Racconto, Completa); categoria Google rilevata correttamente; risposta admin nei ticket non sfora più orizzontalmente.

Tre correzioni segnalate dall'admin. Storico prospect: mostrava solo i prospect Smart, ora elenca anche quelli analizzati con Racconto e con il flusso Completa. Modalità Smart: la card «Scheda Google» segnava la categoria principale come «non impostata» anche quando era presente — ora il controllo riconosce tutti i formati con cui Google ci consegna la categoria. I miei ticket: la risposta dell'admin nei ticket sforava a destra costringendo a scrollare orizzontalmente; ora il testo va a capo correttamente nella card.

Storico prospect: ora vedi tutti, non solo gli Smart

  • Aumentato il numero massimo di prospect caricati nello storico cosí che le analisi più vecchie (Racconto e Completa) non vengano nascoste dai più recenti.

Categoria Google riconosciuta correttamente

  • Sulla card Scheda Google della Modalità Smart la categoria primaria veniva marcata come mancante anche quando in realtà era presente: il check ora gestisce tutti i formati con cui Google la espone.

Risposta admin nei ticket: niente più scroll orizzontale

  • Nella sezione «I miei ticket» la risposta dell'admin sforava a destra per linee molto lunghe: ora il testo va a capo correttamente dentro la card.
Versione 2.18.12

Mercoledí 29 aprile

2026-04-29 Step 5: ora puoi aggiungere manualmente competitor non rilevati dallo scan. Più chiaro il messaggio quando LinkedIn non è raggiungibile.

Due interventi richiesti dagli agenti. Sullo step Competitor in mappa ora c'è un campo per aggiungere manualmente un competitor che lo scan non aveva pescato: digiti il nome, lo cerchiamo su Google Places e lo metti in lista. Sullo step Social, quando LinkedIn rifiuta la lettura automatica di un profilo (privato, anti-bot, pagina chiusa) il messaggio adesso lo dice in modo più chiaro e suggerisce di verificare a mano, invece del laconico «profilo privato o non disponibile».

Aggiunta manuale di competitor allo step 5

  • Sotto il selettore dei concorrenti compare un campo «Aggiungi un competitor non rilevato dallo scan»: digita il nome, clicca «Cerca su Google» e scegli quello giusto dai risultati.
  • Il competitor aggiunto entra nella lista del menu sopra ed è selezionabile come gli altri per il confronto a 3.
  • Funziona anche se lo scan dello step 2 non era stato fatto: in quel caso puoi popolare la lista direttamente con competitor manuali.

Messaggio LinkedIn più chiaro quando il profilo non è scrapabile

  • Se LinkedIn non lascia leggere automaticamente un profilo (privato, protetto, anti-bot), la card lo spiega esplicitamente e ti invita a controllarlo a mano sull'app/sito LinkedIn.
Versione 2.18.11

Mercoledí 29 aprile

2026-04-29 Consulente SEO: la decima keyword non viene più troncata. Scan mappa preservato anche tornando indietro tra gli step.

Due correzioni segnalate dagli agenti. Sullo step Web & SEO, la diagnosi del Consulente SEO si fermava a metà della decima keyword: ora ha più spazio e completa sempre l'elenco. Sulla pagina «Competitor in mappa», dopo aver fatto uno scan allo step 2 capitava che tornando da home o navigando avanti e indietro la pagina dicesse «scan non disponibile»: ora il lavoro fatto allo step precedente viene preservato.

Le 10 keyword del Consulente SEO arrivano sempre intere

  • Aumentato il margine di scrittura della diagnosi cosí le ultime keyword non vengono più tagliate.

Lo scan mappa rimane disponibile spostandosi tra gli step

  • Quando si rientra sullo stesso prospect dalla home o tornando indietro, gli step Web & SEO, Social e Competitor non cancellano più il lavoro fatto allo step precedente.

Domenica 26 aprile

1 release
Versione 2.18.10

Domenica 26 aprile

2026-04-26 Ricerca prospect dalla home: ora puoi caricare altri 20 prospect oltre i primi 20 (fino a 60 totali)

Cercando prospect dalla home page, vedevi solo i primi 20 risultati e non c'era modo di chiederne altri. Era una regressione del refactor «home unificata»: la pagina vecchia di ricerca aveva il bottone «Carica altri 20 da Google», la nuova home no. Risolto: il bottone è tornato. Cap totale 60 prospect per ricerca (limite imposto da Google Places).

Bottone «Carica altri 20 da Google» ripristinato sulla home

  • Sotto la griglia dei risultati appare il bottone solo quando Google segnala una pagina successiva, fino al cap di 60. Il pulsante mostra anche il contatore X/60 per farti sapere quanti prospect totali sono in pagina.
  • Funziona sia per ricerca per città sia per ricerca per raggio: i parametri della prima pagina vengono riusati identici cosí Google torna sempre risultati coerenti.

Sabato 25 aprile

10 release
Versione 2.18.8

Sabato 25 aprile

2026-04-25 Hotfix grafico #2: anche le frecce chevron del changelog non sono più giganti

Continuazione del fix di v2.18.7. Restavano giganti i chevron (frecce in giu') accanto al titolo del giorno e di ogni release nel changelog. Causa: gli <span> contenitori avevano width e height in CSS ma mancava display: inline-flex, quindi le dimensioni non venivano applicate sullo <span> e l'SVG figlio cadeva sul default 300x150 dei browser. Risolto.

Chevron changelog dimensionati correttamente

  • Aggiunto display: inline-flex a .cl-chevron e .cl-day-chevron + regole esplicite svg { width:20/22px; height:20/22px; max-width/max-height } per coprire qualunque markup.
Versione 2.18.7

Sabato 25 aprile

2026-04-25 Hotfix grafico: icone changelog non piu' giganti + sidebar docs ora linka al changelog corretto

Due piccoli fix grafici/strutturali. Changelog: in alcune voci le icone delle sezioni venivano renderizzate giganti (la regola CSS che le confinava a 16px non riusciva a matchare in tutti i casi). Aggiunta una regola di sicurezza piu' generica che le tiene a 16px sempre. Docs: la voce «Changelog highlights» in sidebar saltava alla sezione sbagliata (descrizione delle feature per step) perche' c'erano due sezioni con lo stesso identificativo. Risolto: la sezione descrittiva e' stata rinominata «Feature per step» con voce dedicata in sidebar; il link «Changelog highlights» ora porta al vero rollup release.

Icone changelog 16x16 sempre

  • Aggiunta regola CSS generica .cl-icon svg { width: 16px; height: 16px; max-width: 16px; max-height: 16px; } oltre al selettore specifico esistente .cl-group-head .cl-icon svg: cosi' anche su markup edge case le icone restano piccole.

Sidebar docs: link Changelog highlights corretto

  • Bug: docs.html aveva due <section id="changelog-highlights">. Il link sidebar saltava alla prima (in realta' sezione "Feature per step di prodotto"), non alla seconda (vero rollup release).
  • Fix: prima section rinominata id="feature-by-step" + h2 «Feature per step di prodotto». Aggiunta voce sidebar Feature per step. La voce Changelog highlights ora linka correttamente al rollup release in fondo.
Versione 2.18.6

Sabato 25 aprile

2026-04-25 4 fix da ticket Giuseppe: rimossa Sintesi Web&SEO + 3 bug su step 2 (LF scan, soglia recensioni, categorie inglesi)

4 fix in un colpo dai ticket #128 e #129 di Giuseppe. Step 3: rimossa definitivamente la «Sintesi Web & SEO» in cima alla pagina (nel pacchetto v2.18.3 era stata rimossa solo la sintesi narrativa, era rimasto il verdetto a 3 pallini con lo stesso titolo). Step 2 — 3 bug: (1) la scansione mappa Local Falcon a volte rispondeva con un errore 400 senza spiegare perché: ora la validazione e' più tollerante e i messaggi di errore sono leggibili; (2) la soglia «minimo 20 recensioni per fiducia» veniva mostrata anche su prospect con 42 recensioni: causa un campo letto come array invece che come numero, fix nel modulo audit condiviso; (3) le categorie del profilo Google Business venivano mostrate in inglese (es. «Seafood Restaurant» invece di «Ristorante di pesce»): mancava l'include della tabella di traduzione già usata negli altri step.

4 fix dai ticket #128 + #129

  • Step 3, «Sintesi Web & SEO» rimossa per davvero (#129). Sopra la pagina resta solo il flowbar e il contenuto tecnico.
  • Step 2, scan Local Falcon (#128): se la richiesta era invalida tornava un 400 muto. Ora il backend distingue parametri null da parametri zero, accetta numeri come stringhe, logga il payload per diagnosi e risponde con messaggio chiaro che il frontend mostra all'agente.
  • Step 2, soglia recensioni (#128): il messaggio «Volume recensioni minimo per fiducia» compariva anche con 42 recensioni perché il modulo audit condiviso leggeva il campo come array (truthy ma non numerico). Fix nella priorità di lettura: prima i campi numerici (reviewCount, userRatingCount), poi fallback su Array.isArray(reviews) ? length. Risolve anche l'impatto sui flussi Smart/Racconto.
  • Step 2, categorie GBP in italiano (#128): aggiunto include della tabella di traduzione (già usata negli step 1 e 5) + nuovo helper che traduce le categorie con fallback al formato originale se la traduzione manca.
Versione 2.18.5

Sabato 25 aprile

2026-04-25 Hotfix #124: griglia di ranking nello step 2 non è più tagliata

Hotfix segnalato come ticket #124 da Tommaso Guzzo (con screenshot allegato): nella sezione «Mappa & griglia di ranking» dello step 2 (Visibilità locale), la griglia 5x5 di destra finiva tagliata sul lato sinistro perché le celle venivano dimensionate sulla larghezza dell'intera finestra invece che su quella del loro contenitore. Risolto: ora la dimensione delle celle si adatta automaticamente al contenitore reale e la griglia sta sempre dentro la card senza taglio.

Step 2 — griglia di ranking 5x5 visibile per intero

  • Le 25 celle della griglia ora si dimensionano sulla larghezza effettiva del loro contenitore, non più sulla finestra del browser.
  • Aggiunta protezione CSS sul contenitore per evitare overflow anche su layout particolari (mappa + griglia affiancate, viewport medio).
Versione 2.18.4

Sabato 25 aprile

2026-04-25 Hotfix Racconto: i 3 verdetti dello stato di salute digitale ora compaiono davvero (#127)

Hotfix segnalato come ticket #127: nella seconda pagina del Racconto («Stato di salute digitale») le tre card Reputazione / Visibilità locale / Sito web mostravano sempre — al posto del verdetto vero. Causa: l'AI scriveva i campi col nome giusto (verdict/detail) ma il rendering frontend cercava solo v/value/desc → tutto cadeva su placeholder. Risolto.

Stato di salute digitale: verdetti reali

  • I tre quadretti Reputazione / Locale / Sito web ora mostrano il verdetto AI corretto (es. «Ottima reputazione») + il dettaglio (es. «Rating 4.7 con 53 recensioni») + la pillola di stato (Solida / Da migliorare / Critica).
  • I racconti generati dopo questo deploy useranno la nuova logica. Quelli già in cache mostrano ancora il vecchio rendering: rigenerali per vedere i verdetti.
Versione 2.18.3

Sabato 25 aprile

2026-04-25 Pulizia step 3 + bug fix data ultimo post + bug fix leader competitor + Ads nascoste

Pacchetto di pulizia + 2 bug fix sostanziali + rimozione Ads dall'UI. Step 3 (Web & SEO): rimossa la «Sintesi Web & SEO» (era ridondante col verdetto), rimosso il valore «Valore Traffico» (non utile), rimossi i blocchi finali «Prossimo step» e «Analisi approfondita dei competitor». Aggiunto il bottoncino «?» con spiegazione su Distribuzione posizioni, Top keyword, Keyword consigliate e su tutte le metriche dominio (ZA, traffico organico). Step 4 (Social): risolto il bug per cui «A colpo d'occhio» segnava sempre «Ultimo post oggi» anche su profili inattivi: ora il calcolo della data ultimo post e' corretto e ogni profilo mostra anche un badge «Attivo / Stand-by / Inattivo». Step 5 (Competitor): risolto il bug per cui il prospect risultava sempre «LEADER del confronto»: nuova logica che confronta pillar per pillar e dichiara leader solo chi e' davvero avanti. Campagne pubblicitarie: rimosse dall'interfaccia per ora (matching su brand omonimi inaffidabile, troppi falsi positivi). Riattivazione futura prevista appena trovato un provider piu' preciso.

Step 3 — pulizia + spiegazioni inline

  • Rimossi Sintesi Web & SEO, Valore Traffico, Prossimo step e Analisi approfondita dei competitor: il verdetto in cima resta come unica sintesi.
  • Bottoncino «?» a fianco di Zoom Authority (ZA), Traffico Stimato/mese, Distribuzione posizioni, Top keyword, Keyword consigliate. Click e si apre la spiegazione in italiano semplice.

Step 4 — «Ultimo post oggi» non e' piu' sempre

  • Bug: la data dell'ultimo post veniva sempre interpretata come «oggi» anche su profili fermi da mesi.
  • Causa: due bug concorrenti — il frontend cadeva su «oggi» quando il dato mancava, e il backend per TikTok/LinkedIn pickava il primo elemento dell'array invece dell'ultimo per data.
  • Ora: parsing difensivo della data + se il dato manca mostra «data ultimo post non rilevata». Aggiunto badge Attivo / Stand-by / Inattivo in base alla freschezza (≤30gg / 31-90gg / >90gg).

Step 5 — Leader del confronto piu' onesto

  • Bug: il prospect risultava sempre LEADER del confronto, anche quando i competitor avevano score migliori.
  • Causa: il leader veniva determinato sommando gli score di tutti i pillar disponibili, ma il prospect ha sempre piu' pillar misurabili (sito proprio, social rilevati, ecc), quindi accumulava piu' punti totali a prescindere.
  • Ora: per ogni pillar vince chi e' effettivamente avanti (margine >2pt). Il leader generale e' chi vince piu' pillar. Se il vantaggio cumulato e' <5pt, nessuno e' leader (parita').

Campagne pubblicitarie nascoste (riattivabili)

  • La sezione «Campagne pubblicitarie attive» nello step 5 e il checkbox Ads in home sono nascosti. Motivo: il matching su brand omonimi continuava a produrre falsi positivi (mostrava ads di aziende diverse con nome simile).
  • Il codice resta: appena troviamo un provider piu' preciso (SEMrush, Ahrefs o SimilarWeb) la riattivazione e' immediata.
Versione 2.18.2

Sabato 25 aprile

2026-04-25 Refactor pulito: una sola fonte di verita' per il prospect (chiusa la maintenance debt di v2.18.1)

Refactor che chiude la maintenance debt aperta dall'hotfix di poche ore fa (v2.18.1). Le 4 pagine step della modalità Completa (visibilità locale, web & SEO, social, competitor) ora leggono il prospect direttamente dalla chiave canonica scritta dalla home, senza dipendere dalle 3 chiavi legacy. La home, di conseguenza, torna a scrivere una sola chiave invece delle quattro del tampone v2.18.1. Codice piu' pulito, niente piu' rischio di chiavi disallineate. Le chiavi legacy restano come fallback per bookmark, link diretti e dashboard storica. Tutto il flow Completa + Smart + Racconto continua a funzionare normalmente.

Una sola fonte di verità per il prospect selezionato

  • Le pagine step 2-5 leggono ora per prima cosa dalla chiave canonica scritta dalla home, eliminando la possibilità di trovare un prospect cached da una sessione precedente.
  • Le 3 chiavi legacy restano come fallback retrocompat (bookmark, link diretti, dashboard storica).
  • La home torna a scrivere una sola chiave + pulisce residui di vecchie sessioni: codice più pulito.
Versione 2.18.1

Sabato 25 aprile

2026-04-25 Hotfix: in modalità Completa veniva mostrato un prospect sbagliato (cache stale)

Hotfix segnalato da Giuseppe: cercando un parrucchiere e cliccando «Avvia audit» in modalità Completa, lo step 2 apriva il prospect sbagliato (rimasto in cache da una sessione precedente, es. uno studio dentistico). Causa: la home v2.17 scriveva solo la chiave nuova sih_prospect_selected, ma le pagine step 2-5 leggono ancora dalla chiave legacy sih_proposal_data. Senza pulizia di mezzo, lo step 2 trovava il vecchio prospect cacheato e lo usava al posto di quello appena selezionato. Risolto: al click «Avvia audit» il sistema ora pulisce le cache stale e scrive il nuovo prospect su tutte le chiavi legacy attese dagli step.

Prospect sbagliato in Completa

  • Bug: cliccando un prospect (es. parrucchiere) in home e scegliendo Completa, lo step 2 apriva un prospect diverso rimasto in cache da una sessione precedente.
  • Fix: onSubmitAudit() ora popola sih_proposal_data, sih_selected_businesses e sih_scan_business col business effettivamente scelto, e pulisce eventuali residui di sessioni precedenti (sih_audit_results + sentiment cached del vecchio prospect).
  • Smart e Racconto non erano impattati (leggono direttamente da sih_prospect_selected via helper).
Versione 2.18.0

Sabato 25 aprile

2026-04-25 Riapri Smart e Racconto dalla cache (zero costi extra) + AI Overview rimosso dal Racconto

Due interventi importanti. Primo: dalla dashboard ora puoi riaprire un audit Smart o Racconto direttamente dove era stato fatto (la scheda Smart o il documento Racconto), senza rilanciare l'analisi e quindi senza consumare un'altra unità della tua quota giornaliera. I prospect mostrano un badge della modalità (Smart giallo / Racconto viola / niente per Completa) e cliccando "Apri" vai dritto al risultato salvato in cache. Per rifare l'audit basta tornare in home. Secondo: rimossa dal Racconto la pagina «Visibilità AI Overview»: non avendo dati reali non aveva senso tenerla. Il documento passa da 14 a 13 pagine narrative (+ il listino finale).

Cache Smart + Racconto: riapri senza ricalcolare

  • L'ultimo audit Smart e l'ultimo Racconto vengono ora memorizzati. Click su "Apri" da dashboard ricarica il risultato in pochi secondi.
  • Niente consumo della quota Smart (10/giorno) e niente costi AI extra. Per rifare l'audit con dati freschi, torna in home e ripeti.
  • Mostriamo un banner azzurro in cima al risultato «Stai vedendo l'audit del DD/MM/YYYY HH:MM dalla cache» con un bottone «Torna alla home».

Badge modalità sui prospect in dashboard

  • Pillola colorata accanto al nome: Smart (giallo) / Racconto (viola). I prospect del flusso Completa restano senza badge.
  • Così sai già prima di cliccare in che modalità era stato fatto e dove tornerai.

Visibilità AI Overview rimossa dal Racconto

  • La pagina «Visibilità AI» non veniva piu' alimentata da dati reali e produceva sempre numeri a zero. Toglierla rispetta la nostra regola "zero fuffa": niente sezioni con dati assenti.
Versione 2.17.2

Sabato 25 aprile

2026-04-25 Card prospect home: ribbon opportunita', filtri, social auto-detect, foto piu' alta

Le card prospect in home sono allineate allo step 1: vedi a colpo d'occhio quali sono eccellenti / buoni / moderati grazie al ribbon laterale colorato. Sopra alla lista trovi i chip filtri (Tutti, Eccellenti, Buoni, Moderati) con il conteggio per ognuno + il menu sort (per opportunita' / recensioni / rating). Subito dopo il caricamento parte la rilevazione social automatica: dove riusciamo a trovarli, vedi le icone Facebook, Instagram, YouTube, ecc. direttamente sulla card. Risolto anche il taglio della foto di copertina della scheda Google: l'altezza foto card e' stata alzata (200px desktop, 180 tablet, 160 mobile) e ora si vede per intero.

Ribbon opportunita' eccellente / buona / moderata

  • Stesso pattern dello step 1: ribbon laterale colorato sulla card per riconoscere subito i prospect piu' interessanti.
  • Calcolato sui soliti segnali: rating, recensioni, presenza sito, foto, scheda Google reclamata.

Filtri chip + sort menu

  • Chip "Tutti / Eccellenti / Buoni / Moderati" con il conteggio per categoria. Click per filtrare.
  • Menu sort: per opportunita' (default), recensioni, rating.

Social auto-detect sulle card

  • Subito dopo i risultati, il sistema cerca i profili social del prospect. Quando trova qualcosa, le icone compaiono direttamente sulla card.
  • Cache per 30 minuti: cambiando filtro/sort le icone restano senza rifare la chiamata.

Foto copertina non piu' tagliata

  • Altezza foto alzata: 200px desktop, 180 tablet, 160 mobile. La foto della scheda Google si vede intera.

Venerdì 24 aprile

9 release
Versione 2.17.1

Venerdì 24 aprile

2026-04-24 Card prospect complete + 8 checkbox strumenti granulari + banner Local Falcon + quota Smart raddoppiata

Rifinitura della home di v2.17.0 dopo il primo uso. Primo: le card prospect nella ricerca sono ora complete come nello step 1 (foto, rating, indirizzo, telefono, sito, categoria, «Vedi su Maps»), responsive su desktop, tablet e smartphone. Secondo: nella finestra «Configura audit» i 4 checkbox sono diventati 8 checkbox granulari (uno per strumento): Scheda Google, Scan Local Falcon, Sito web, SEOzoom, AI Overview, Social, Competitor, Campagne pubblicitarie. Tutti attivi di default, puoi toglierli uno per uno. Terzo: quando selezioni Scan Local Falcon appare un banner che ti avvisa «La scan sulla mappa locale richiede 3-5 minuti», così sai cosa aspettarti. Quarto: la quota giornaliera Smart e Racconto passa da 5 a 10 analisi per agente.

Card prospect complete (anche da tablet e mobile)

  • Foto anteprima, rating stelle + recensioni, indirizzo, telefono, sito, categoria, stato (aperto ora / chiuso temporaneamente), link diretti a Maps e sito.
  • Grid responsive: 2 colonne desktop, 1 colonna fluida tablet/mobile.

8 checkbox strumenti (granulari)

  • Scheda Google Business (veloce) · Scan Local Falcon (mappa locale, 3-5 min) · Sito web (techstack + prestazioni) · SEOzoom (keyword + backlink) · AI Overview (visibilità su Google AI) · Social · Competitor · Campagne pubblicitarie.
  • Tutti attivi di default. Disattivi quello che non ti serve, uno per uno. Se deselezioni tutto, il bottone Avvia si blocca.

Banner attesa Local Falcon

  • Quando Scan Local Falcon è selezionato, compare un banner giallo che ti ricorda il tempo necessario (3-5 min). Sparisce se lo deselezioni.

Quota Smart/Racconto: 10 al giorno per agente

  • Raddoppiata rispetto alla v2.17.0 (era 5). Limite condiviso tra le due modalità (usano lo stesso motore di analisi).
Versione 2.17.0

Venerdì 24 aprile

2026-04-24 Home unificata: cerca, scegli cosa analizzare, scegli come vedere i risultati. Smart e Racconto per tutti.

La home cambia faccia. Non devi più scegliere in anticipo tra Completa, Smart e Racconto: apri e vedi direttamente la ricerca prospect. Clicchi il prospect giusto e si apre una finestra con due scelte: cosa analizzare (GBP, SEO, Social, Competitor — puoi disattivare quello che non ti serve, default tutto selezionato) e come vedere i risultati (Completa = i 6 step come oggi / Smart = scheda sintetica / Racconto = documento impaginato da stampare). Bottone Avvia e il sistema fa il resto. Se scegli Completa e hai disattivato qualche modulo, la flowbar mostra solo gli step che ti servono. In più: Smart e Racconto sono ora disponibili a tutti gli agenti (prima erano in test riservato agli admin).

Home = ricerca diretta

  • Niente più card da scegliere prima di aver visto il prospect. Apri, cerchi, selezioni e decidi dopo.
  • Due modalità di ricerca come nello step 1: per città o per raggio da un indirizzo.
  • Click su una card prospect → si apre la finestra «Configura audit».

Scelta moduli + modalità

  • 4 checkbox (tutti attivi di default): GBP (Profilo Google + mappa), SEO (sito web + SEOzoom), Social (presenza social), Competitor (confronto + campagne pubblicitarie Ads accorpate).
  • 3 radio modalità: Completa (6 step navigabili), Smart (scheda in 1 pagina), Racconto (documento impaginato 16 pagine per il cliente).
  • Se disattivi un modulo: in Completa la flowbar ti mostra solo gli step attivi; in Smart/Racconto il sistema risparmia chiamate API e tempo.

Smart e Racconto aperti a tutti

  • Dopo le settimane di testing riservate agli admin, entrambe le modalità sono ora accessibili a tutti gli agenti. Limite di 5 analisi al giorno per utente (invariato).
Versione 2.16.1

Venerdì 24 aprile

2026-04-24 Modalità Racconto ora è un flusso completo: ricerca prospect → analisi automatica → racconto + listino editabile

Hotfix importante alla Modalità Racconto rilasciata oggi: il flusso precedente assumeva che l'agente avesse già completato un'analisi prima di aprire il Racconto. Era sbagliato. Ora la Modalità Racconto è autonoma end-to-end: apri la pagina, cerchi il prospect come nello step 1, lo selezioni e il sistema fa da solo tutte le analisi (profilo Google, mappa locale, sito web, SEO, social, competitor) in background. Quando i dati sono pronti, l'AI scrive il racconto e tu trovi in fondo una pagina listino editabile con il tier di prodotti consigliato già selezionato (puoi cambiare tier e togliere/aggiungere prodotti prima di stampare). Pronto da stampare in PDF e lasciare al cliente.

Modalità Racconto: flusso end-to-end

  • Sezione A — ricerca: identica allo step 1 (keyword + città). Vedi la lista dei prospect con opportunità e selezioni quello giusto.
  • Sezione B — analisi in background: il sistema lancia tutte le analisi (profilo Google, mappa, sito, SEO, social, competitor) con una barra di avanzamento che spiega cosa sta facendo. Dura 40-70 secondi.
  • Sezione C — racconto + listino: le 15 pagine impaginate come prima + 16a pagina listino con tier auto-suggerito (essenziale / crescita / dominanza) basato sullo score. Checkbox per togliere prodotti, radio per cambiare tier, totale annuo e mensile ricalcolati al volo.
  • Stampa PDF: bottone in alto, genera un documento unico di 16 pagine A4 pronto per il cliente.
Versione 2.16.0

Venerdì 24 aprile

2026-04-24 UX 50+ su step 1/2/3 (glossario, accordion, verdetto in cima) + nuova Modalità Racconto (admin-only)

Due interventi in un rilascio. Primo: la UX degli step 1, 2 e 3 e' stata ripensata per agenti over-50 non tecnici. Ogni sigla tecnica (GBP, ZA, LCP, CLS, SoLV, ecc) ha ora un bottoncino «?» cliccabile che apre una spiegazione in italiano chiaro. I blocchi densi (matrice maturità, liste lunghe di keyword o criticità) sono stati messi in «Mostra di più» chiuso di default. In cima ad ogni step trovi ora una frase di verdetto che riassume cosa ha trovato il sistema e il consiglio di vendita principale. Secondo: debutta la Modalità Racconto, riservata agli admin come la Smart. Dopo aver completato un'analisi, il nuovo flusso genera un documento impaginato stile «audit per il cliente» — copertina con percentuale globale, 3 aree di salute digitale (Reputazione / Locale / Sito), executive summary, analisi sezione per sezione, piano d'azione a 3 fasi, e listino prodotti selezionati in chiusura. Tutto scritto dall'AI sui dati già raccolti nei 6 step, con stampa PDF pronta da lasciare in appuntamento.

Modalità Racconto (admin-only)

  • Nuova card in home accanto a Completa e Smart. Visibile solo agli admin in fase di testing, come la Smart.
  • Documento impaginato stile audit consulenziale: copertina con % ottimizzazione, 3 card stato di salute (reputazione / visibilità locale / sito web), executive summary con 4 KPI principali + elenco miglioramenti e punti di forza.
  • Analisi sezione per sezione: sito web, distribuzione keyword, local SEO, confronto competitor, backlink, AI overview, recensioni, social, sicurezza tecnica.
  • Piano d'azione a 3 fasi: Urgente / Consolidamento / Crescita, con azioni concrete per fase.
  • Listino finale con i prodotti selezionati nello step 6 e totale annuo. Pronto per la stampa PDF.

Glossario inline sulle sigle tecniche

  • Accanto ad ogni sigla (GBP, ZA, DA, TF, CF, SoLV, ATRP, LCP, CLS, FCP, TBT, INP, CPC, SSL, CMS, ecc) trovi un bottoncino «?». Al click si apre una spiegazione in italiano semplice, con esempio pratico.
  • Oltre 30 voci coperte, con significato in una frase + dettaglio esteso con soglie di riferimento.

Blocchi densi più leggeri (accordion)

  • Step 2: matrice maturità con aperto solo il pilastro più debole (badge «PRIORITÀ»). Le criticità oltre la 3° in «Mostra altre N». Recensioni: 2 best + 2 worst sempre visibili, resto in accordion.
  • Step 3: keyword top 10 + accordion per le altre; competitor top 5 + accordion; tecnologie rilevate collassabili.

Verdetto narrativo in cima ad ogni step

  • Step 1: «Hai cercato X a Y: trovati N prospect, di cui K con opportunità alta».
  • Step 2: card con dot colorato che indica quante aree sono messe bene, la più debole e il tip di vendita.
  • Step 3: tre pallini (stato sito, Core Web Vitals, autorevolezza) + riga «Punto più critico + argomento di vendita consigliato».
Versione 2.15.0

Venerdì 24 aprile

2026-04-24 Benchmark di settore: racconta il mercato al cliente, non solo un numero

Il benchmark di settore nello step 6 diventa una storia comparativa, non un numerino. Oltre a dirti dove si posiziona il prospect rispetto alla media della zona, ora racconta anche i punti deboli tipici del settore, i margini tipici di crescita e come si sta muovendo il mercato negli ultimi 12 mesi. Materiale concreto da portare in appuntamento. In più: l'audit contribuisce automaticamente al dataset quando si arriva allo step 6 (anche se salti il tasto di salvataggio manuale) e non produce più righe duplicate se apri e richiudi la pagina con gli stessi dati.

Benchmark narrativo nello step 6

  • Posizionamento chiaro: «Basato su N audit di CATEGORIA a CITTÀ, il prospect è a X/100. Mediana 59, top 25% ≥74, bottom 25% ≤42».
  • Criticità medie del settore: qual è il pilastro in cui il settore è più forte (es. Reputazione 72) e qual è quello in cui è più debole (es. SEO 38). Così il venditore può dire «tutti i ristoranti di Milano soffrono su questo fronte, qui c'è l'opportunità».
  • Margine tipico di crescita: quanti punti recupera chi migliora il pilastro debole (gap tra chi sta sotto e chi sta sopra). «Margine tipico su SEO: +32 punti».
  • Trend 4 trimestri: mini-grafico dell'andamento della media negli ultimi 12 mesi + frase narrativa «Il mercato si sta alzando» / «Mercato stabile» / «Il mercato cala».

Salvataggio audit più robusto

  • Il contributo al dataset benchmark parte da solo all'apertura dello step 6 (non più legato al tasto manuale). Se apri e richiudi la stessa scheda con gli stessi dati, il sistema riconosce il salvataggio già fatto e non duplica la riga. In caso di errore di rete, ritenta una volta in automatico prima di segnalare il problema.
Versione 2.14.1

Venerdì 24 aprile

2026-04-24 Admin: «Ultimo login» ora popolato anche per chi si era loggato prima del fix di ieri

Segnalato da Giuseppe stamattina: nel pannello admin degli agenti la colonna «Ultimo login» era vuota per quasi tutti. Il fix di ieri (v2.12.19) era corretto ma si applicava solo ai nuovi login: chi non si era più ricollegato dopo restava NULL. Adesso ricostruiamo il valore mancante dallo storico delle attività (che conserva ogni login dentro i 180 giorni di retention).

Ultimo login popolato retroattivamente

  • Al boot del server viene eseguito un recupero automatico: per ogni agente con «Ultimo login» ancora vuoto, il sistema cerca nel registro attività l'ultimo evento di accesso e lo scrive nel profilo. Procedura sicura: non sovrascrive mai valori già presenti e non tocca chi non si è mai loggato (resta correttamente vuoto).
Versione 2.14.0

Venerdì 24 aprile

2026-04-24 Benchmark di settore: dataset che cresce e non si perde più + pannello di controllo admin

Il benchmark di settore («Sei sopra o sotto la media della tua zona?») ora si regge su un magazzino dati dedicato che non si svuota più quando un agente cancella un prospect. Tutti gli audit completati contribuiscono al dataset in modo anonimo. Nello step 6 trovi ora anche la tua posizione tra i migliori e i meno forti del settore. Gli admin hanno un nuovo pannello per vedere la crescita del dataset e capire quali categorie sono a un passo dallo sblocco.

Confronto con i prospect del settore arricchito

  • Nello step 6 «Diagnosi & proposta», quando il benchmark è disponibile, compare una riga in piu' che ti dice a che livello sta il tuo prospect rispetto al resto del settore: «Top 25% del settore — solo 1 prospect su 4 fa meglio» oppure «Sotto il 25% del settore — i migliori ottengono almeno X/100». Informazione nuova che giustifica il prezzo del consiglio commerciale.
  • Quando il benchmark non è ancora disponibile, il messaggio mostra quanti prospect mancano per sbloccare la metrica (es. «3/5 prospect in zona — mancano 2 per sbloccare»), così capisci subito quanto sei vicino.
  • Dopo ogni audit completato parte una conferma visiva discreta in basso a destra: «Audit contribuisce al benchmark di settore». Finalmente si vede che il dato viene salvato davvero.

Pannello admin «Benchmark dataset»

  • Nuova tab nel pannello admin che mostra quanti dati abbiamo raccolto, quante categorie sono già sbloccate (sopra soglia 5), quante accoppiamenti categoria+città sono pronti, quali sono «a un passo» dallo sblocco (4 prospect su 5), top 30 categorie per rappresentatività, grafico crescita degli ultimi 30 giorni. Serve per capire quando e dove conviene ritoccare la soglia minima.

Il dataset non si perde più (fix architetturale)

  • Prima: ogni volta che un agente cancellava un prospect dalla sua dashboard, tutti gli audit di quel prospect venivano cancellati insieme e il dataset benchmark perdeva campioni. Ora gli audit vengono copiati in un magazzino separato e anonimo che sopravvive alle cancellazioni. La cronologia del settore resta anche se il prospect non c'è più.
  • Dati audit esistenti al momento del rilascio sono stati importati automaticamente nel nuovo magazzino (migrazione retroattiva): il benchmark parte pieno, non da zero.
Versione 2.13.1

Venerdì 24 aprile

2026-04-24 Hotfix step 1 mobile: ricerca non più duplicata quando passi tra «Per città» e «Per raggio»

Hotfix veloce sullo step 1 da smartphone: quando cliccavi il toggle in alto per passare da «Per città» a «Per raggio» (o viceversa), entrambi i moduli di ricerca restavano visibili contemporaneamente, creando l'effetto di una ricerca duplicata. Adesso il modulo inattivo si nasconde correttamente come succedeva già da computer.

Ricerca step 1: un solo modulo visibile per volta anche da telefono

  • Segnalazione di Giuseppe (ticket #123). Il toggle «Per città / Per raggio» adesso funziona correttamente anche su mobile: quando selezioni una modalità, l'altra scompare senza doverlo fare a mano.
Versione 2.13.0

Venerdì 24 aprile

2026-04-24 Audit responsive completo: Hub più comodo da telefono e tablet

Tutto l'Hub è stato rivisto pagina per pagina per funzionare al meglio su schermo piccolo. Testi leggibili senza zoom, bottoni comodi da toccare con un dito, contenuti che si ricompongono in verticale quando lo schermo si restringe, nessuno scroll laterale indesiderato. Non cambia niente al flusso: tutto quello che fai dal computer lo ritrovi identico, solo più facile da usare quando sei in mobilità.

Interfaccia ripensata per telefono e tablet

  • 19 pagine revisionate: hub, flow 6 step, dashboard agenti, admin, leaderboard, documentazione, login. Ogni pagina è stata collaudata sui tre formati standard (telefono 375-414px, tablet 768-1024px, computer 1280px+) e adattata dove serviva.
  • Tap più precisi: i bottoni principali hanno ora una superficie minima più generosa su schermi touch. Meno clic mancati, meno frustrazione quando usi l'app al volo.
  • Tabelle che si sfogliano orizzontalmente: le tabelle larghe (dashboard, admin, leaderboard) ora si scorrono di lato con il dito invece di rompere la pagina.

Login e reset password senza zoom indesiderato

  • I campi email e password su iPhone/iPad non fanno più l'antipatico zoom automatico quando ci rientri dentro. Il modulo resta fermo al suo posto mentre digiti.

Griglie che si riordinano sullo schermo giusto

  • Le card di dettaglio sociale (step 4), competitor (step 5) e proposta (step 6) non si appiccicano più orizzontalmente quando lo schermo è stretto: si dispongono in colonna leggibile. Stesso discorso per la leaderboard e la dashboard utente.
  • La documentazione (/docs.html) ora apre correttamente la barra laterale come menu scorrevole anche su iPad in verticale.

Giovedì 23 aprile

16 release
Versione 2.12.20

Giovedì 23 aprile

2026-04-23 Pagine di servizio: scopri max 6 card + docs cronologia inversa + roadmap aggiornata + regola di ferro estesa

Pulizia delle pagine di servizio: la pagina «Scopri» mostra ora le ultime 6 novità (per il dettaglio completo vai al changelog), la documentazione tecnica ha l'ordine cronologico inverso (release più recente in cima), la roadmap è tornata aggiornata con le release recenti.

Pagina Scopri: max 6 ultimi aggiornamenti

  • La sezione «Ultimi aggiornamenti» di /scopri.html era diventata troppo lunga (26 card sullo stesso giorno). Ora ne mostra al massimo 6: tutto il resto si trova sul changelog completo, raggiungibile dal bottone «Vedi tutti gli aggiornamenti» sotto la grid.

Roadmap aggiornata + regola di ferro estesa

  • La pagina /roadmap.html mostra ora un blocco «Ultimo aggiornamento» in alto e include 4 nuovi item rilasciati di recente (distribuzione posizioni reale, ads filtrate per dominio, Performance Web spiegata, ricerca mobile compattata). D'ora in poi la roadmap viene obbligatoriamente aggiornata ad ogni rilascio (controllo automatico bloccante).
Versione 2.12.19

Giovedì 23 aprile

2026-04-23 2 fix dai ticket admin: ultimo login agenti registrato + categorie tradotte in italiano su step 5

Due correzioni dai ticket admin: la colonna «Ultimo login» nel pannello agenti torna a popolarsi correttamente con data e ora, e su step 5 le categorie dei prospect non compaiono più in inglese (es. «seafood_restaurant» → «Ristorante di pesce»).

Pannello admin: Ultimo login agenti torna a registrarsi

  • Nel pannello admin la colonna «Ultimo login» restava vuota per tutti gli agenti, anche dopo che facevano login. Causa tecnica: la modifica della data veniva persa prima del salvataggio. Ora la data e l'ora del login vengono salvate correttamente. Si popoleranno dal prossimo accesso di ogni agente (chi non si logga ancora resta vuoto fino al login).

Step 5 Competitor: categorie in italiano

  • Sulla card «Profilo Google» di step 5 le categorie dei prospect comparivano in inglese (es. «seafood_restaurant», «hair_salon») perche' arrivavano grezze da Google Places. Ora vengono tradotte automaticamente in italiano (Ristorante di pesce, Parrucchiere, Pizzeria, Caffè, Avvocato, ecc) usando il dizionario già presente in dashboard e admin. Aggiunte 25+ traduzioni di categorie ristorazione mancanti.
Versione 2.12.18

Giovedì 23 aprile

2026-04-23 Hot-fix Performance Web: la sezione PageSpeed torna visibile su step 3

Hot-fix urgente: dopo la 2.12.17 la sezione «Performance Web» di step 3 dava un errore JavaScript e non si vedeva più. Causa di ordine di esecuzione preesistente venuta a galla con le ultime modifiche; risolta spostando l'inizializzazione interna della sezione.

Step 3 Performance Web: torna visibile

  • Su step 3 la sezione «Performance Web» (PageSpeed + Core Web Vitals) non compariva più e in console saliva un errore tecnico. Bug strutturale risolto in 1 minuto: la sezione torna a caricarsi normalmente con il punteggio, le metriche e la legenda introdotta in 2.12.17.
Versione 2.12.17

Giovedì 23 aprile

2026-04-23 4 fix: Performance Web spiegata, Distribuzione posizioni reale, Social auto-rilevati, Campagne ads senza omonimi

Aggiornamento dedicato a 4 segnalazioni dal campo: Performance Web ora ha spiegazioni chiare per ogni metrica e più quota disponibile, la Distribuzione posizioni mostra le fasce reali (non più tutto verde), i social vengono rilevati anche su step 4 senza saturare il limite orario, le Campagne ads filtrano gli omonimi.

Step 3 Performance Web: spiegazioni e più quota

  • La sezione PageSpeed + Core Web Vitals adesso ha una legenda chiara sotto al grafico (cliccabile «Cosa significano questi valori?»): cosa è LCP, CLS, TBT, FCP, INP in italiano e con esempi pratici. Cosi' puoi spiegarli al cliente senza dover essere un tecnico.
  • Aggiunta la chiave API dedicata a PageSpeed (configurabile dal pannello admin in «API & Costi»). Senza chiave la quota era condivisa con altri siti del server e si esauriva spesso, lasciando la sezione vuota. Con chiave: 25.000 analisi al giorno dedicate.

Step 3 Distribuzione posizioni: fasce reali, non più tutto verde

  • Il grafico «Distribuzione posizioni» del sito mostrava sempre tutto verde (top 1-5) anche quando il prospect aveva keyword in posizioni 30-50. Causa tecnica: il provider SEO esponeva direttamente solo la fascia top, le altre erano azzerate. Ora le fasce vengono aggregate dalle posizioni vere delle keyword (campione delle 100 piu' di traffico, scalato sul totale): vedi finalmente top 1-5, 6-10, 11-20, 21-50 e 51-100 in proporzioni reali.

Step 4 Social: auto-rilevamento di nuovo affidabile

  • Su step 4 i profili social del prospect non si pre-compilavano più in automatico quando arrivavi dopo aver visto tanti prospect su step 1. Causa: lo stesso limite orario di scansioni si esauriva tra step 1 e step 4. Ora la dashboard condivide la cache dei rilevamenti tra le due pagine: se un sito è già stato controllato negli ultimi 30 minuti, l'auto-detect risponde subito senza consumare il limite.

Step 5 Campagne pubblicitarie attive: niente più omonimi

  • Quando il prospect aveva un nome generico (es. «Bar Roma», «Pizza Express»), la sezione Campagne pubblicitarie poteva mostrare ads di aziende diverse con lo stesso nome, magari di un altro paese o un altro settore. Ora il sistema usa il sito web del prospect come filtro: scarta automaticamente le campagne il cui link di destinazione punta a un dominio diverso. Per Google Ads sceglie l'inserzionista il cui dominio combacia col prospect, anche se ce ne sono altri con lo stesso nome.
Versione 2.12.16

Giovedì 23 aprile

2026-04-23 Step 1 su mobile: ricerca si compatta dopo i risultati + icone social sempre visibili

Due correzioni su step 1 Ricerca: da mobile la barra di ricerca si chiude automaticamente dopo i risultati (riapribile col bottone «Modifica ricerca») e le icone social compaiono anche quando carichi piu' prospect dalla stessa ricerca.

Mobile: la ricerca si compatta dopo i risultati

  • Su smartphone la card di ricerca (tipo attività + città + raggio) rubava tutta la prima schermata anche dopo aver già ottenuto i prospect, costringendoti a scorrere molto per vedere le card. Ora al primo risultato la card si chiude automaticamente e resta un pulsante «Modifica ricerca» in cima: cliccandolo torna visibile, lanciando una nuova ricerca si richiude da sola. Desktop invariato.

Icone social anche dopo «Carica di più»

  • Quando facevi una ricerca e poi cliccavi «Carica di più» o «Carica altri 20 da Google», sulle nuove card le iconcine social (Facebook/Instagram/LinkedIn/TikTok/YouTube) spesso non comparivano. Motivo tecnico: l'app ripeteva la scansione anche per i prospect già controllati e finiva contro un limite di chiamate orarie. Ora i rilevamenti fatti vengono ricordati per 30 minuti nel browser, quindi le card ricontrollate rispondono istantaneamente e restano libere chiamate per le card nuove. Le icone tornano stabili anche con 40-60 risultati caricati.
Versione 2.12.15

Giovedì 23 aprile

2026-04-23 Batch feedback: dashboard personale, candidato social, criticità recensioni, avatar Facebook

Aggiornamento che integra un batch di segnalazioni dal campo: la dashboard utente si apre sulla Panoramica con i tuoi numeri e il grafico delle ricerche, la Visibilità Locale flagga come critico lo zero recensioni, i Social mostrano un «candidato» chiaro e gli avatar Facebook non rimangono più vuoti.

Dashboard utente: apre sulla Panoramica con i tuoi numeri

  • Entrando nella tua area personale non parti più dalla modifica del profilo ma dalla Panoramica: prospect totali, win rate, proposte inviate, tempo medio di chiusura, ricerche degli ultimi 30 giorni con grafico giornaliero e andamento mensile. Vedi subito quanto stai producendo e dove ti stai muovendo.
  • La sezione «Profilo» rimane sempre disponibile, spostata in fondo ai tab.

Step 4 Social: candidato alla lavorazione sempre visibile

  • Dopo l'analisi social, sotto al verdetto trovi un semaforo dedicato «Candidato lavorazione social: forte / medio / debole» con la riga di motivazione (foglio bianco, basi da valorizzare, già presidiato). Così capisci a colpo d'occhio se vale la pena proporre un pacchetto social.
  • La tabella «A colpo d'occhio» ha adesso una legenda inline che spiega i quattro pallini di salute profilo (presenza, attività, verifica, audience) e un tooltip su ogni pallino per capire se è ok o mancante.
  • «Risultati» e «Panoramica» erano due intestazioni consecutive che dicevano la stessa cosa: ora è un unico blocco «Panoramica · Risultati» seguito dal dettaglio per piattaforma, più pulito.

Step 2 Visibilità Locale: criticità più precise

  • Un prospect con zero recensioni ora compare nelle «Criticità rilevate» come CRITICO. Prima apparivano solo i casi con poche recensioni, ma lo zero assoluto sfuggiva alla lista. Ora lo vedi subito insieme a «nessun sito».
  • Nella barra di navigazione dello step 2 compare il bottone «Vai ai Social →»: puoi saltare direttamente all'analisi social senza passare per la parte Web & SEO, utile quando il SEO non ti interessa per quel prospect.

Avatar profilo Facebook: niente più cerchi vuoti

  • Gli avatar delle pagine Facebook nei risultati social sono URL temporanei che scadono in pochi minuti. Quando scadevano restava un cerchio azzurro con l'iconcina della macchina fotografica. Ora in quei casi si vedono direttamente le iniziali del nome pagina su sfondo azzurro, come l'avatar standard di Facebook.

Home: sezione novità più compatta

  • Il banner «Novità del tool» in home era troppo ingombrante con doppia riga, animazioni e CTA grande. Ora occupa una riga sola, minimale, senza rubare attenzione alla ricerca e al selettore modalità.
Versione 2.12.14

Giovedì 23 aprile

2026-04-23 Step 6: catalogo unico con ricerca + «analisi in 5 scatti» sempre piena

Pulizia della proposta commerciale e della pagina Smart: un solo catalogo (quello con la ricerca) e cinque card di sintesi sempre coerenti col titolo.

Step 6 «Diagnosi e proposta»: un solo catalogo

  • Nello step 6 comparivano due cataloghi consecutivi: uno breve con i «prodotti consigliati» e uno completo con la barra di ricerca. Erano ridondanti e confondevano. Ora resta il solo catalogo completo con ricerca, filtro per categoria, toggle «solo consigliati» e editor di quantità, prezzi e note: la proposta commerciale non cambia, ma la pagina è piu' corta e pulita.

Modalità Smart: «L'analisi in 5 scatti» sempre piena

  • In Modalità Smart la sezione «L'analisi in 5 scatti» poteva mostrare solo 2 o 3 card quando per un prospect non era possibile leggere social, ads o competitor, lasciando vuoti sotto il titolo. Ora compaiono sempre cinque card allineate: quelle senza dato indicano in chiaro «non disponibile» con la motivazione, così il titolo e il layout restano coerenti.
Versione 2.12.13

Giovedì 23 aprile

2026-04-23 Card «Buona» senza barra sbilanciata + bottone admin per reset storico dalla dashboard

Fix visivo alle card di ricerca prospect e un'azione admin in più sulla dashboard.

Card «Opportunità Buona»: niente più barretta stonata

  • Sulle card di ricerca con opportunità «Buona» (glow giallo-arancio) c'era una sottile barra verticale rosa-rossa sul lato sinistro, ereditata dalla regola grafica delle card «Eccellente». Visivamente sembrava un'imperfezione. Ora la barra sinistra prende il colore coerente con il glow: giallo-arancio sulle Buone, rosa-rosso sulle Eccellenti.

Storico prospect (admin): bottone «Elimina tutti i prospect»

  • Nella dashboard dello Storico Prospect gli admin hanno ora un bottone rosso «Elimina tutti i prospect» in alto nella toolbar, stesso pattern e stessa doppia conferma (alert + parola RILASCIA) del gemello già presente nel pannello Admin. Serve per resettare lo storico di tutti gli agenti in un colpo senza dover aprire il pannello Admin. Visibile solo agli account con ruolo admin: gli agenti normali non lo vedono affatto.
Versione 2.12.12

Giovedì 23 aprile

2026-04-23 Allineamento pagine vetrina: scopri aggiornata + check bloccante per le prossime release

Rinforzo interno sul processo di rilascio: la pagina Scopri non resta più indietro rispetto alle novità del giorno.

Novità della giornata ora anche sulla pagina Scopri

  • Abbiamo aggiunto nella pagina Scopri le 4 card relative alle principali novità di oggi: inserimento manuale del sito (step 3), Direttore Commerciale che parte anche senza social, criticità in cima allo step 2, bottone Reset ricerca + ordinamento corretto Eccellente/Buona. Adesso Scopri, Changelog e Documentazione raccontano la stessa versione del prodotto senza disallineamenti.
  • Sul fronte interno abbiamo reso il controllo di allineamento bloccante: ogni nuova release d'ora in poi si ferma se Changelog o Documentazione non contengono davvero una voce dedicata (prima era un avviso ignorabile che non intercettava i falsi positivi dei cache-buster). Effetto pratico: evitiamo pagine vetrina disallineate come capitato nel pomeriggio di oggi.
Versione 2.12.11

Giovedì 23 aprile

2026-04-23 I tuoi ticket ora si vedono nella dashboard utente + bottone Reset ricerca

Bug fix importante sul widget «I miei ticket» e una piccola ergonomia sulla ricerca prospect.

I miei ticket ora compaiono sempre nella dashboard utente

  • Prima capitava che il widget «I miei ticket» nella dashboard utente non mostrasse i ticket personali, pur essendoci nel sistema. Era una race condition: il widget partiva prima che la validazione della sessione fosse completata, e poi non riprovava. Risultato: box vuoto anche se i ticket esistevano.
  • Ora il widget attende il completamento dell'autenticazione e si popola correttamente. Niente da fare da parte tua, basta aprire la dashboard.

Bottone «Reset» nella ricerca prospect

  • Accanto al pulsante Cerca (sia in modalità «per città» sia «per raggio») c'è un bottone Reset che svuota i campi, nasconde i risultati e riporta la pagina in cima. Utile per saltare da una ricerca all'altra senza dover cancellare keyword e città a mano.
Versione 2.12.10

Giovedì 23 aprile

2026-04-23 Ordinamento corretto Eccellente → Buona + criticità in cima in step 2

Due migliorie dall'ascolto degli agenti: ordinamento risultati di ricerca senza mischioni tra «Eccellente» e «Buona», e lo step Visibilità Locale ora mette le criticità in cima.

Ricerca prospect: Eccellente viene sempre prima di Buona

  • Prima in alcuni casi capitava di vedere un prospect «Opportunità Buona» sopra uno «Opportunità Eccellente». Era un bug dell'ordinamento: usavamo solo il punteggio numerico, ma il livello «Eccellente» può attivarsi anche con punteggi non i più bassi quando ci sono più segnali forti contemporaneamente. Risultato: a parità di punteggio simile, una Buona appariva prima di un'Eccellente.
  • Ora l'ordinamento mette sempre Eccellente in cima, poi Buona, poi Moderata. Dentro ogni livello continua a ordinare per punteggio (opportunità più forte prima).

Step 2: criticità in cima, dettagli profilo in un pannello pieghevole

  • Prima lo step Visibilità Locale apriva con il profilo dell'attività e il pre-screening, e solo dopo mostrava le criticità. Per una pitch commerciale efficace è meglio vedere subito dove sono i gap.
  • Ora lo step parte direttamente con le Criticità rilevate. Sotto, un pannello pieghevole (chiuso di default) raccoglie i dettagli completi: profilo attività della scheda Google, pre-screening qualità e recensioni. Se ti serve approfondire, espandi; se no, vai dritto al punto.
Versione 2.12.9

Giovedì 23 aprile

2026-04-23 Due richieste agenti chiuse: sito manuale in step 3 + Direttore Commerciale anche senza social

Risolte due segnalazioni dagli agenti: prospect senza sito visibile sulla scheda Google ora si analizzano comunque, e il Direttore Commerciale parte anche senza social.

Step 3: inserisci il sito manualmente o cercalo su Google

  • Hai un prospect con un sito esistente ma non collegato alla scheda Google? Ora nello step 3, invece dell'avviso «nessun sito», trovi due opzioni:
  • Inserimento manuale: incolli l'URL del sito (anche senza https://), clicca Analizza questo sito e parte subito l'analisi SEO completa. L'URL viene validato prima dell'invio.
  • Cerca su Google: un bottone apre una ricerca Google in una nuova scheda col nome completo del prospect (tra virgolette, per match preciso) e la città. Copi il link che trovi e lo incolli nel campo sopra.

Direttore Commerciale: parte anche senza social

  • Prima il brief del Direttore Commerciale (e della Gestione Obiezioni) era disponibile solo se avevi completato scan mappa + analisi SEO + scan social. Per prospect legittimamente senza presenza social (B2B, professionisti, artigiani) il bottone restava grigio.
  • Ora basta aver selezionato il prospect e avere almeno una tra scan mappa, analisi SEO o scan social. L'AI e' già istruita ad annotare nel brief se un canale manca, senza inventare dati.
Versione 2.12.8

Giovedì 23 aprile

2026-04-23 Empty state step 3 non appare più insieme al contenuto caricato

Hotfix sul fix precedente: sparisce l'avviso «Nessun dato disponibile» in testa a step 3 anche quando i dati venivano caricati correttamente sotto.

Empty state scompare davvero quando i dati ci sono

  • Sintomo riportato: lo step 3 caricava tutto il contenuto SEO sotto ma in testa restava comunque il blocco «Nessun dato disponibile» del fix precedente. Causa: un errore non bloccante a valle faceva ricomparire l'empty state subito dopo averlo nascosto.
  • Adesso la logica di visibilità è separata dal caricamento dei dati: se il prospect viene trovato, l'empty state resta nascosto anche se la pagina incontra problemi in altre sezioni.
Versione 2.12.7

Giovedì 23 aprile

2026-04-23 Step 3 (Web & SEO) recupera i dati del prospect anche da sessioni orfane

Rifinitura del fix della 2.12.6: difesa in profondità per i casi in cui arrivi in step 3 senza essere passato dal pulsante «Avvia audit».

Recupero prospect da selezione salvata

  • Ora lo step 3 non si ferma più all'empty state se il dato principale manca. Prima di mostrare «Nessun dato disponibile» prova a ricostruire il prospect dalla selezione che hai fatto in step 1 (che viene sempre salvata, anche nelle sessioni vecchie). Effetto pratico: arrivi allo step 3 da bookmark, da tab rimasta aperta dal giorno prima, o dopo aver pulito la cache? Se hai già fatto almeno una selezione in step 1, il tuo prospect ricompare.
  • Nome, indirizzo, sito, telefono, categoria, rating e recensioni vengono recuperati in automatico. La keyword di ricerca e la città anche, se salvate. Niente di più da fare da parte tua, funziona al primo caricamento della pagina.
Versione 2.12.6

Giovedì 23 aprile

2026-04-23 Puoi saltare la scansione mappa senza perdere i dati del prospect negli step successivi

Bug fix: lo step Web & SEO non diceva più «Nessun dato disponibile» se saltavi lo step della mappa.

Step 3 parte anche senza aver fatto la scansione mappa

  • Prima: se dopo lo step 1 (selezione prospect) saltavi direttamente allo step 3 (Web & SEO) usando la flowbar, lo step 3 non aveva ancora in pancia il nome e il sito del prospect (venivano salvati dallo step 2). Risultato: schermata «Nessun dato disponibile» con invito a tornare indietro o caricare dati demo.
  • Ora: appena confermi la selezione dei prospect in step 1, i dati essenziali (nome, indirizzo, sito, telefono, categoria, keyword di ricerca) vengono salvati subito. Step 3 parte senza obbligarti a passare per lo step della mappa. Se poi fai anche la scansione Local Falcon, i dati della mappa si aggiungono normalmente.
Versione 2.12.5

Giovedì 23 aprile

2026-04-23 Hotfix tecnico: ora possiamo togliere la maintenance senza tornelli

Piccola correzione interna alla pagina di manutenzione.

Manutenzione: ora si disattiva senza giri strani

  • Quando attivavamo la pagina di manutenzione, lo strumento per disattivarla finiva anch'esso dietro la pagina di manutenzione (paradosso ricorsivo). Bisognava passare per un cookie di emergenza. Ora l'endpoint di toggle è sempre raggiungibile, anche con manutenzione attiva. Effetto pratico: deploy futuri più lineari.
Versione 2.12.4

Giovedì 23 aprile

2026-04-23 Rimosso il badge GBP dalla ricerca prospect: era una stima, non un dato certo

Tolto dalla card prospect il badge verde/arancione/rosso «GBP verificata / parziale / non gestita».

Perché l'abbiamo rimosso

  • Quel badge sembrava dirti se la scheda Google era gestita dal proprietario, ma non lo sapeva davvero: era una stima basata sulla presenza di sito, orari, telefono e foto. Una scheda ricca di dati non significa automaticamente «scheda reclamata», e viceversa. Invece di mostrare un colore che poteva ingannare, abbiamo preferito toglierlo. Il resto della card (sito, stato operativo, categorie, rating, recensioni) resta tutto lì. Quando avremo un modo affidabile di verificare il claim lo riattiveremo.

Mercoledì 22 aprile

29 release
Versione 2.12.3

Mercoledì 22 aprile

2026-04-22 Footer ridisegnato dark, pulizia menzioni di un fornitore dismesso, regola post-deploy automatica per le pagine vetrina

Tre piccoli ma importanti aggiustamenti finali della giornata.

Footer ridisegnato

  • Tutto il footer ora è dark, con il logo PagineSi che spicca naturalmente. Niente più container colorati strani: i colori del logo si vedono come pensati dall'agenzia (parola «pagine» bianca + «sì!» gradient rosso). Link e info sotto in palette viola tenue, leggibili senza affaticare gli occhi.

Pulizia menzioni fornitore dismesso

  • Le pagine pubbliche e la documentazione non citano più per nome il vecchio fornitore SEO che abbiamo dismesso il 20 aprile. Ora si parla di «fornitore precedente» / «fonte storica» in modo neutro. Le sezioni tecniche per IT mantengono il nome con disclaimer chiaro di dismissione.

Regola operativa post-deploy

  • Da oggi lo strumento di rilascio versione controlla automaticamente che le 4 pagine vetrina (questa novità, la pagina Scopri, la roadmap, la documentazione) siano aggiornate con la nuova versione. Se manca qualcosa, viene segnalato prima del deploy. Promessa: nessuna release scoperta in nessuna delle 4 pagine.
Versione 2.12.0

Mercoledì 22 aprile

2026-04-22 Tre nuove feature: badge GBP verificata, fix campagne pubblicitarie sfasate, Speedcheck + Core Web Vitals nel sito web

Tre cose nuove utili in appuntamento + il chiusura batch ticket Giuseppe (8 segnalazioni risolte in un colpo), più il logo PagineSi nel footer.

Badge GBP verificata nello step 1

  • Verde, arancione, rosso: ogni risultato della ricerca prospect mostra subito se la scheda Google è gestita (verde «GBP verificata»), parziale (arancione) o praticamente abbandonata (rosso). Indicatore basato su sito + orari + telefono + foto. Tooltip ti spiega la logica al passaggio del mouse.

Fix bug grosso: campagne pubblicitarie sfasate

  • Tu segnalavi che la sezione «Campagne pubblicitarie attive» mostrava ads di altre aziende. Causa: la ricerca esterna era keyword-based, ci tornava chiunque avesse il nome simile nel testo. Ora c'è un filtro che confronta il brand con l'inserzionista (anche con tolleranza su accenti e suffissi tipo SRL/SPA). Se nessuna ad è davvero del prospect, vedi un messaggio chiaro «dato non affidabile» invece di campagne random.

Speedcheck + Core Web Vitals nello step 3

  • Nuova card «Performance Web» sotto Stack Tecnico. Click su «Analizza performance» e in 10-15 secondi hai: punteggio 0-100, velocità di apparizione del contenuto principale (LCP), stabilità visiva (CLS), reattività ai click. Tab Mobile/Desktop, dati reali da utenti se il sito ha traffico. Se il punteggio è basso, il sistema ti suggerisce subito un gancio commerciale Si2S-PM.

Chiusura 8 ticket Giuseppe

  • Smart Mode: i prospect lavorati in Smart ora finiscono nello storico e nei contatori della dashboard, con badge viola «SMART».
  • 5 scatti: testo non esce più dalle card lunghe, badge fonte sempre presente (anche «dato non disponibile»), box giallo gancio commerciale allineato al fondo come gli altri.
  • Catalogo completo e ricerca catalogo ora disponibili anche nello step 6 della proposta commerciale, con stessa esperienza di Smart.
  • Bottone scan visibilità locale: protezione anti-doppio-click, parte una sola scansione anche se clicchi 3 volte di seguito.
  • Card risultati ricerca ora tutte allineate: barra colorata in cima per ogni livello di opportunità (rosso Eccellente, arancio Buona, grigio Moderata, viola tenue Standard).
  • Logo PagineSi ufficiale nel footer di ogni pagina, click → sito istituzionale.
Versione 2.11.1

Mercoledì 22 aprile

2026-04-22 Hotfix: i browser caricavano la versione vecchia di un file di sistema dalla cache e finivano in loop sul login. Cache-buster aggiunto a tutti gli script core.

Patch immediata della v2.11. Dopo il rilascio i browser di chi era già loggato continuavano a caricare il vecchio auth-guard.js dalla cache, che cercava il token nella memoria browser invece che nel cookie nuovo — risultato: ciclo di redirect alla pagina di login. Sistemato aggiungendo il marcatore di versione (?v=2.11.1) su tutti i file JavaScript di sistema: ora il browser scarica per forza la copia aggiornata. Lo strumento di bump versione è stato esteso per coprire automaticamente questi file ad ogni rilascio futuro, evitando il problema alla radice.

Versione 2.11

Mercoledì 22 aprile

2026-04-22 Terzo sprint sicurezza: audit chiuso — 23 finding su 23 risolti (cookie blindato, politica script piu' stretta, token minimal)

Terzo e ultimo sprint di rinforzo sicurezza della giornata. Chiusi gli ultimi 3 finding dell'audit di stamattina, quelli lasciati fuori dai due sprint precedenti perché richiedevano riscritture più grandi. Audit interno ora è 23/23. Zero impatti sull'uso quotidiano dell'app: fai login, apri il pannello, lavora come sempre.

Difese tecniche interne, invisibili all'utente

  • Sessione blindata. Il token che ti tiene loggato non sta più nella memoria browser leggibile: ora vive in un cookie protetto che nessuno script può leggere. Se il tuo token vecchio è ancora valido funziona lo stesso per qualche giorno, poi rifarai login una volta e tornerai alla normalità.
  • Token sessione minimal. La "carta d'identità" di sessione contiene ora solo identificativo e ruolo, niente email e nome in chiaro. Meno dati in giro, più privacy.
  • Politica script più stretta. Il browser ora rifiuta script iniettati a runtime nelle pagine: tutte le pagine dell'hub sono state convertite per restare 100% funzionali pur rispettando la nuova regola. Difesa in profondità contro XSS.

Strumenti operativi di lungo periodo

  • Pagina di contatto sicurezza pubblica. Il sito espone ora /.well-known/security.txt (standard RFC): chi scopre un problema sa dove segnalarlo senza indovinare.
  • Manuale rotazione password e chiavi aggiornato per chi amministra: istruzioni passo-passo per cambiare secret di sistema (token deploy, chiave SSH, password DB, API key) senza downtime.
  • Pulizia log automatica. I log operativi più vecchi di 180 giorni vengono rimossi una volta a settimana: database più snello, cronologia recente ancora consultabile.
Versione 2.10.3

Mercoledì 22 aprile

2026-04-22 Secondo sprint sicurezza: 10 finding chiusi (token separati, DNS rebinding, sanitize admin_notes, SRI, pre-commit gitleaks)

Secondo sprint di rinforzo sicurezza (dopo il primo di stamattina). Altri 10 finding chiusi sui 13 rimasti aperti dall'audit: 1 HIGH, 2 MEDIUM, 7 LOW/INFO. Quasi tutto invisibile lato utente. Gli unici cambi user-visible sono la rimozione del limite di 10 feedback all'ora per agente (tolto su richiesta) e qualche micro-messaggio piu' onesto quando un endpoint admin rifiuta un path non previsto.

Feedback senza piu' alcun limite orario

  • Rimosso il cap 10/ora/agente introdotto stamattina. Un agente o admin autenticato e' considerato utente legittimo: segnalazioni, bug report e richieste non sono spam. Vai tranquillo come prima.

Difese tecniche interne non visibili all'utente

  • Token separati per ricarica server, pagina manutenzione e shutdown (prima uno solo). Fallback automatico al token esistente finché non creeremo i tre nuovi.
  • Difesa anti-DNS-rebinding sull'analisi del sito web: chi arriva da redirect HTTP viene rivalidato ad ogni salto, non solo al primo.
  • Note admin su feedback ora sanificate lato server: non possono veicolare HTML/JS verso gli agenti che leggono la notifica.
  • Endpoint diagnostici admin accettano solo path previsti (whitelist), non path arbitrari.
  • Shutdown interno con rate-limit 60 secondi + log del chiamante (IP, user-agent): se il token leakea non si può killare il server a loop.
  • Log IP degli agenti ora si fida dell'header `X-Forwarded-For` solo quando arriva da proxy locali noti, altrimenti usa l'IP reale del client. Audit trail più solido.

Infrastruttura e supply chain

  • Script esterni con hash di integrità (SRI SHA-384) su Sentry e Chart.js: se un CDN venisse compromesso il browser rifiuterebbe il codice alterato.
  • Controllo CVE automatico in CI sulle dipendenze Python ad ogni push (pip-audit). Avvisi senza bloccare la build, per vederli in tempo reale.
  • Pre-commit hook gitleaks + detect-secrets: se per errore stai per committare una SSH key o un token, il commit viene bloccato localmente prima che finisca sul repo. Setup una-tantum con `pre-commit install`.
Versione 2.10.2

Mercoledì 22 aprile

2026-04-22 Sprint di sicurezza: 10 finding chiusi su 23 (endpoint API protetti, SSRF coperto, debug.php rimosso, rate-limit esteso)

Sprint di rinforzo sicurezza derivato dall'audit interno: 10 finding chiusi (1 critico, 4 high, 4 medium, 1 low). La maggior parte degli interventi e' invisibile lato utente — sono difese aggiuntive sull'infrastruttura e sugli endpoint API. I cambi user-visible sono solo due: (1) limite di 10 segnalazioni feedback all'ora per agente per evitare saturazione accidentale del sistema; (2) dopo il login se il parametro ?next= punta a un dominio esterno l'app lo scarta e reindirizza alla home, a protezione da link di phishing. Nulla cambia nel flusso di lavoro quotidiano.

Endpoint API blindati e a consumo monitorato

  • 22 endpoint ora richiedono autenticazione: tutte le chiamate verso ricerca prospect, dettaglio scheda Google, rilevazione social, analisi di visibilità locale, analisi SEO e analisi pubblicitaria ora accettano solo richieste con token agente valido. Prima alcune erano aperte anche senza login.
  • Limiti orari per endpoint cari: 50 ricerche/ora, 10 scansioni mappa locale/ora, 30 analisi SEO/ora, 30 rilevazioni social/ora per ciascun agente. Protezione contro errori accidentali o saldi provider in fumo.

Difese interne rinforzate (non visibili all'utente)

  • Uno script di diagnostica dismesso (con accesso al database) e' stato rimosso fisicamente dal server.
  • Protezione dai redirect esterni sulle richieste di analisi sito web: il sistema rifiuta ora indirizzi interni o di rete privata, anche quando arrivano tramite redirect HTTP.
  • File sorgente non piu' raggiungibili via web: aggiunte regole sul server per bloccare l'accesso diretto a file di codice, database, log e directory di sistema.
  • Policy di condivisione richieste (CORS) piu' stretta: solo i domini in whitelist interna possono interagire con le API. Nessun impatto sul funzionamento abituale.
  • Bypass manutenzione con token dinamico: il meccanismo di bypass pagina manutenzione ora legge il token dal file di configurazione interno, eliminando un valore che era fisso nel codice.

Cambi user-visible minimi

  • Feedback limitato a 10/ora per agente: segnalazioni, richieste, bug report. Se raggiungi il limite ti arriva un messaggio chiaro e puoi riprovare dopo un'ora. Il cap e' ampio per l'uso normale.
  • Login piu' sicuro con parametro next: se arrivi sulla pagina login tramite un link con redirect, l'app accetta solo percorsi interni. URL esterni vengono ignorati e si atterra comunque sulla home. Mitigazione contro email phishing mascherati da notifiche interne.
Versione 2.10.1

Mercoledì 22 aprile

2026-04-22 Tre bug fix: Instagram post fissati ignorati, cambio stato inline da «I miei prospect», categorie in italiano nell'admin

Tre bug fix segnalati oggi dalla dashboard feedback. (1) L'analisi social Instagram prendeva per primi i post fissati dell'account, che rimangono in cima al feed anche se pubblicati mesi fa: ora vengono esclusi e la timeline rispecchia gli ultimi post realmente pubblicati. (2) Dalla tua dashboard utente, nella scheda «I miei prospect», non c'era modo di cambiare lo stato di un prospect senza aprire step 6: ora il chip di stato è cliccabile e apre un menu rapido per cambiare stato inline, con conferma per le chiusure won/lost. (3) Nel pannello admin, nello storico prospect, le categorie erano mostrate con le etichette tecniche inglesi di Google (es. «pizza_restaurant», «hair_salon»): ora sono tradotte in italiano in tabella e nei chip filtro.

Instagram: post fissati non inquinano più la timeline

  • Prima: i 3 post evidenziati dall'account Instagram comparivano in cima ai risultati dell'analisi social, facendo sembrare «recenti» contenuti anche vecchi di mesi. Il dato di cadenza pubblicazione era distorto.
  • Ora: i post fissati vengono individuati e saltati (filtro su `pinned_for_account` + flag di backup `is_pinned`/`pinned`). Il resto della timeline viene ordinato per data decrescente, così i primi post mostrati sono davvero gli ultimi pubblicati.

«I miei prospect»: cambio stato inline

  • Chip di stato cliccabile: dalla scheda «I miei prospect» nella dashboard utente, il chip colorato di fianco al nome ora e' un bottone. Un click apre un piccolo menu con i 4 stati possibili (Aperto, Proposta inviata, Chiuso won, Chiuso lost).
  • Conferme di sicurezza: chiuso won chiede il Codice Cliente (obbligatorio, alfanumerico 3-64 caratteri) e una nota di chiusura opzionale; chiuso lost chiede solo il motivo della perdita come promemoria per lo storico.
  • Refresh immediato: dopo il cambio, la scheda si riordina tra «In lavorazione» e «Chiusi» senza ricaricare la pagina. I totali in cima si aggiornano in coda.

Admin: categorie prospect tradotte in italiano

  • Storico prospect: nella tabella la colonna categoria mostra ora l'etichetta italiana («Pizzeria», «Parrucchiere», «Bar caffetteria»), non la chiave tecnica di sistema.
  • Chip filtro categorie sotto lo storico: stessa traduzione, così cliccare «Gelateria» è piu' intuitivo che cliccare «gelato_shop».
Versione 2.10.0

Mercoledì 22 aprile

2026-04-22 Smart: «L'analisi in 5 scatti» (sintesi per area) + catalogo completo 67 prodotti modificabili

Prima release della serie 2.10: Modalità Smart rifatta nel cuore. Dopo il briefing commerciale narrativo ora compare L'analisi in 5 scatti — cinque card strutturate, una per area analizzata (scheda Google, sito e SEO, social, inserzioni, competitor), ciascuna con un numero-chiave in grande, 3-5 indicatori con semafori colorati, una lettura di sintesi e un gancio commerciale pronto per l'appuntamento. Il pacchetto raccomandato resta, ma sotto compare il catalogo PagineSi integrale (67 prodotti, 17 categorie) con quantità, prezzo unitario editabili e note per-prodotto, filtri per categoria/ricerca/consigliati, totale annuo che si aggiorna in tempo reale. La proposta commerciale stampabile ora porta con sé anche gli override di quantità, prezzi personalizzati e note inline.

L'analisi in 5 scatti

  • Una card per area: scheda Google, presenza web (sito+SEO), social, inserzioni a pagamento, competitor locali. Layout asimmetrico 3+2: le prime tre compatte per scansione rapida, le ultime due piu' larghe perché portano confronti a due colonne.
  • Ogni card mostra: un numero-chiave in grande (es. «4.5 stelle» / «score 78» / «3 canali attivi»), 3-5 indicatori con semaforo colorato (verde/giallo/rosso/grigio), una frase di sintesi («l'occhio del consulente») e un blocco giallo evidenziato con il gancio commerciale pronto.
  • Dati mancanti dichiarati: se il sito web non è raggiungibile, la card «Presenza web» si marca come non disponibile con motivazione onesta. Lo stesso per inserzioni o competitor quando le fonti non rispondono. Zero numeri inventati.
  • Il briefing AI ora integra: il consulente AI ha a disposizione i numeri-chiave pre-calcolati delle 5 fotografie e nel testo cita esplicitamente almeno uno da tre aree diverse, senza ripetere le frasi sopra.

Catalogo PagineSi completo: 67 prodotti, modificabili

  • Accordion per categoria: 17 gruppi (Google Business Profile, SEO, Siti Web, Social, Advertising, Video e Foto, Intelligenza Artificiale, etc.) collassabili con contatore in ogni header (es. «SEO · 8 prodotti · 2 selezionati»).
  • Toolbar di ricerca e filtri in cima al listino: ricerca libera su sigla/nome/descrizione, dropdown categoria, toggle «solo consigliati». Contatore live «N su 67 mostrati».
  • Ogni riga prodotto: checkbox, sigla monospace, nome, descrizione, stepper quantità (+/-, 1-99), prezzo unitario editabile inline (il bordo diventa arancio quando modificato), totale riga calcolato automaticamente, pulsante «Nota» per aggiungere sconti o clausole per-prodotto.
  • Footer investimento: «N prodotti selezionati · €X/anno (ricorrente) + €Y una tantum» aggiornato in tempo reale. Bottone «Crea proposta commerciale» sempre visibile.

Proposta commerciale stampabile con override

  • Tabella a 6 colonne (sigla, nome, descrizione, quantità, prezzo unitario, totale riga): le quantità e i prezzi personalizzati che hai scelto nel catalogo finiscono fedelmente nel PDF. Le note per-prodotto appaiono in evidenziato giallo sotto la riga corrispondente.
  • Totale finale ricalcolato con gli override. Clausole standard invariate (validità 30 giorni, IVA esclusa, contratto pluriennale quando previsto dal prodotto).
Versione 2.9.6

Mercoledì 22 aprile

2026-04-22 Icone social caricate anche nel secondo batch di ricerca prospect

Fix valido sia per la Modalità Completa sia per la Modalità Smart. Quando cliccavi «Carica altri 20 da Google» nella ricerca prospect, le icone social dei nuovi risultati (dal 16° in poi) non venivano più caricate. La lista passava a 40 card ma solo i primi 15 mostravano Facebook/Instagram/TikTok/YouTube/LinkedIn. Ora il rilevamento copre fino a 60 card (il massimo restituito da Google) e skippa le card già popolate per non ripetere chiamate inutili.

Icone social: dal limite 15 al limite 60

  • Prima: il rilevatore social si fermava alle prime 15 card, indipendentemente da quante erano visibili. Il secondo lotto caricato via «Carica altri 20» restava senza icone.
  • Ora: copertura fino a 60 card (massimo Google Places). Le icone appaiono anche sui prospect caricati nel secondo batch, entro 1-3 secondi dal click.
  • Ottimizzazione: skip automatico delle card già popolate per non rifare chiamate inutili quando possibile.
Versione 2.9.5

Mercoledì 22 aprile

2026-04-22 Smart ripensata: confronto competitor intelligente, listino selezionabile con stampa proposta, scorecard animata

Quattro miglioramenti strutturali alla Modalità Smart (attualmente riservata agli admin per la fase di testing). I due competitor per il confronto ora vengono scelti filtrando per tipologia compatibile col prospect (una pizzeria si confronta con pizzerie, non con osterie): se non ci sono competitor della stessa tipologia compare un avviso "Confronto indicativo" e un bottone "Cambia competitor" che apre un selettore per scegliere manualmente due prospect dalla lista originale e rigenerare il brief in pochi secondi. Il listino PagineSi nella scheda finale ora è selezionabile con checkbox come in Modalità Completa: scegli i prodotti, vedi il totale in tempo reale, clicchi «Crea proposta commerciale» e stampi un PDF commerciale A4 completo di dati consulente e clausole. Il punteggio complessivo ora si anima con ring progressivo, count-up del numero e barre pillar in cascade (come step 6 della Completa). In più, una nuova riga benchmark di zona confronta il tuo score con la media del settore locale, e un box "Metodologia" mostra a colpo d'occhio quali strumenti di analisi hanno restituito un dato.

Confronto competitor finalmente coerente col prospect

  • Filtro per tipologia: l'algoritmo di auto-selezione sceglie ora i top 2 competitor della stessa famiglia tassonomica del prospect (es. pizzerie con pizzerie, gelaterie con gelaterie, saloni di bellezza con saloni). Non più pizzerie confrontate con osterie o ristoranti generici.
  • Fallback onesto: se nella zona non ci sono 2 competitor della stessa tipologia, il sistema sceglie i più recensiti disponibili ma dichiara apertamente con un avviso giallo in scheda che il confronto è indicativo, così l'agente non porta in appuntamento numeri fuori scala.
  • Il consulente AI conferma: quando c'è mismatch, il briefing apre con una riga esplicita di avvertenza («i due competitor identificati automaticamente non coprono esattamente la stessa specializzazione...»), invece di confrontare acriticamente i numeri.

Cambia competitor con un click, rigenera il brief in 10 secondi

  • Bottone «Cambia competitor» nella scheda finale apre un mini-selettore con la lista originale dei prospect trovati nella ricerca. Scegli 2, clicca «Rigenera brief» e il consulente AI riscrive il confronto con i tuoi nuovi competitor — senza rifare tutte le analisi (che restano quelle del prospect).
  • Limite di 3 rigenerazioni per job, per non bruciare crediti AI. Il contatore «N/3 usate» è sempre visibile nel modal.
  • Le selezioni prodotto del listino restano: rigenerare il brief non perde le tue scelte commerciali. Aggiorna solo brief, punteggi e confronto, il resto resta com'è.

Listino selezionabile con proposta commerciale stampabile

  • Checkbox su ogni prodotto: spunti quello che vuoi portare al cliente, gli altri restano visibili per referenza. I consigliati sono spuntati di default.
  • Calcolatore totale in tempo reale: mentre selezioni, il footer del listino aggiorna «N prodotti selezionati · Totale €X/anno». I prezzi annui sono derivati dal catalogo (prodotti mensili proiettati a 12 mesi, contratti trimestrali in una tantum, pluriennali come annualità).
  • Crea proposta commerciale → genera un PDF A4 identico a quello della Modalità Completa: header PagineSi, dati prospect, consulente (nome/email/telefono/WhatsApp/ruolo dal tuo profilo), tabella prodotti con descrizioni e prezzi, totale, clausole standard (validità 30gg, IVA esclusa, contratto pluriennale quando applicabile).

Scorecard animata, benchmark di zona, metodologia trasparente

  • Ring progressivo + count-up: il cerchio del punteggio si riempie in 1.2 secondi, il numero centrale conta da 0 al totale finale, le barre dei quattro pilastri (GBP, Reputazione, SEO, Web) crescono a cascata da sinistra. Esperienza premium, niente più scheda «statica da report». Rispetta `prefers-reduced-motion` per chi ha impostato la riduzione animazioni.
  • Benchmark di zona: una riga sotto lo scorecard confronta il punteggio del prospect con la media del settore in quella città (su campione minimo di 5 analisi). Badge verde «+N vs media» o arancio se sotto.
  • Box Metodologia: 5 pill con icona (scheda Google, sito web, social, inserzioni, brief AI), stato «✓ analizzato» o «— non disponibile» per questo prospect. Cliccando ogni pill si scrolla alla sezione corrispondente della scheda. L'agente capisce in 2 secondi da dove vengono i numeri.
Versione 2.9.4

Mercoledì 22 aprile

2026-04-22 Modalità Smart riservata agli admin per la fase di testing

La Modalità Smart è temporaneamente accessibile solo agli amministratori mentre rifiniamo esperienza e output. Gli altri agenti vedono soltanto la Modalità Completa in home (a larghezza piena) e, se provano ad aprire la pagina Smart direttamente, vengono riportati alla home con un avviso. Nulla cambia per la Modalità Completa, che resta l'esperienza standard.

Smart in fase di test interno

  • Card Smart nascosta in home per i non-admin, endpoint protetti (403 in caso di accesso diretto), redirect se si apre la pagina via URL.
  • Maintenance endpoint (per l'area tecnica): nuovo `maintenance.php` protetto da token per attivare/disattivare la pagina manutenzione da remoto ai prossimi deploy pesanti senza accesso SSH.
Versione 2.9.3

Mercoledì 22 aprile

2026-04-22 Smart: icone social sulle card, listino ripristinato, paginazione, reset quota admin

Cinque rifiniture sulla Modalità Smart dopo il feedback post-2.9.2. Le card dei prospect in ricerca ora mostrano le icone dei social rilevati dal sito, come nella Modalità Completa. I risultati sono ordinati per opportunità decrescente (Eccellente > Buona > Moderata > Bassa), così i prospect migliori restano sempre in cima. Il cap fisso a 12 risultati è stato sostituito con la paginazione incrementale: si parte da 10, «Carica di più» ne rivela altri 10, e quando i locali sono finiti compare «Carica altri 20 da Google». Sistemato un bug per cui in alcuni casi il listino PagineSi non compariva nella scheda finale (il catalogo non era nella lista dei file rilasciati in produzione). Infine un nuovo pulsante in pannello admin permette di resettare la quota Smart di un agente singolo o di tutti gli agenti.

Icone social sulle card della ricerca Smart

  • Facebook, Instagram, TikTok, YouTube, LinkedIn rilevati dal sito del prospect e mostrati in fondo alla card (stessa esperienza della Modalità Completa).
  • Caricamento lazy: le icone compaiono 1-3 secondi dopo il render, senza rallentare la lista dei risultati. Solo le prime 15 card vengono interrogate per contenere il consumo.

Ordinamento per opportunità — Eccellente sempre in cima

  • Stesso criterio di step 1: la lista dei risultati Smart mostra prima le Opportunità Eccellenti, poi le Buone, poi le Moderate, poi Bassa e al fondo le Ottime (quelle già in forma, meno rilevanti come prospect).
  • Applicato anche dopo «Carica altri 20»: i nuovi risultati si mescolano con i precedenti e il sort viene rifatto, così la top-lista rimane onesta.

Paginazione «Carica di più» / «Carica altri 20»

  • Start a 10 risultati: il viewport non si riempie di schede e la scelta resta gestibile. Un pulsante sotto la griglia rivela altri 10 al click.
  • «Carica altri 20 da Google»: quando tutti i locali caricati sono mostrati, il secondo pulsante scarica il secondo lotto dalla sorgente, fino al massimo di 60 risultati. Stesso comportamento della Modalità Completa.

Listino PagineSi ora sempre presente nella scheda Smart

  • Bug fix: il file del catalogo prodotti non era incluso nella lista dei file caricati in produzione. In certi casi il backend non riusciva a leggerlo, e la sezione «Pacchetto PagineSi consigliato» restava vuota. Ora e' parte dell'aggiornamento standard: il listino e' presente a ogni deploy.

Reset quota Smart — pannello admin

  • Nuovo pulsante in admin: «Reset quota Smart». Permette di resettare le 5 analisi Smart giornaliere per un singolo agente (scegli l'ID) oppure in modo globale (tutti gli agenti contemporaneamente).
  • Utile quando: un agente ha esaurito la quota per prove o click accidentali, oppure si vuole ripartire da zero dopo il rilascio di una nuova feature. Doppia conferma per evitare click involontari.
  • Storico preservato: i job resettati non vengono cancellati ma marcati come «resettati dall'admin», così restano disponibili per audit e statistiche.
Versione 2.9.2

Mercoledì 22 aprile

2026-04-22 Modalità Smart arricchita: scheda come la Completa + linguaggio professionale + listino PagineSi integrale

Quattro rifiniture alla Modalità Smart che cambiano radicalmente la qualità della scheda appuntamento finale. Le card dei prospect in ricerca sono ora identiche a quelle della Modalità Completa (badge opportunità, glow hot, quick link Maps + Sito, telefono, categorie). La scheda finale non e' più minimale: ora mostra il punteggio complessivo X/100 con ring visuale, 4 pilastri (GBP, Reputazione, SEO, Web) e verdetto di sintesi — stessa grafica della Completa. Il pacchetto PagineSi non e' più una mini-shortlist: ora compare il listino integrale con scoring (Consigliato / Utile / Opzionale) e motivazione specifica per ogni prodotto. Il consulente AI parla ora con registro professionale e cita esplicitamente una o due sigle PagineSi del listino.

Card prospect identiche alla Modalità Completa

  • Stesso linguaggio visivo: badge Opportunità Eccellente/Buona/Moderata, glow pulsante rosa sulle schede più promettenti, tag «Sito presente»/«Operativo», stelle, telefono, categorie. Niente più micro-card anonime.
  • Click singolo per avviare l'analisi: la card intera è cliccabile, niente checkbox di selezione multipla (la Smart lavora su un prospect alla volta).

Scheda finale con punteggio complessivo e verdetto

  • Ring X/100 con color-graduazione verde/giallo/arancio/rosso a seconda del totale, 4 pilastri (GBP, Reputazione, SEO, Web) con punti e percentuale, verdetto di sintesi in sfondo tinto, badge settore con i pesi calibrati. È lo stesso layout di step 6 del percorso Completo.
  • Trasparenza sui dati mancanti: un hint discreto sopra il ring ricorda che la Scan mappa locale non è inclusa nella Smart (cioè che prende 3 minuti al Completo).
  • Pesi ricalibrati per il Smart: il peso del pilastro Locale viene ridistribuito proporzionalmente sugli altri 4, così il totale resta onesto su /100 senza lasciare buchi fantasma nel ring.

Listino PagineSi completo nella scheda

  • Fino a 12 prodotti raggruppati in tre livelli visivi: Consigliato (badge rosso), Utile (badge giallo), Opzionale (badge verde). Sigla, nome, categoria, motivazione specifica basata sui dati del prospect. Niente più shortlist di 3 elementi generici.
  • Motivazioni contestuali: se il prospect non ha un sito web, il pacchetto «sito ready» sale automaticamente a Consigliato. Se la reputazione è sotto 30 recensioni, la gestione recensioni diventa prioritaria. Stesso motore di scoring della Modalità Completa.
  • Gli opzionali si collassano automaticamente se sono più di tre, così la scheda resta leggibile a colpo d'occhio. In stampa restano tutti aperti.

Consulente AI: registro professionale

  • Linguaggio consulenziale: il briefing non dice più «lo trovano bene» ma «la reperibilità online e' buona», non «ha poche foto sulla scheda Google» ma «la scheda Google presenta un deficit sulle immagini». Executive summary, non chiacchiera.
  • Cita una o due sigle PagineSi del listino nel paragrafo «Intervento prioritario consigliato», legandole al dato misurato. L'agente ha già il gancio commerciale pronto nel foglio.
  • Frase d'apertura aggiornata al nuovo registro («Abbiamo condotto un'analisi della sua presenza digitale e sono emersi alcuni spunti prioritari che vorrei condividere...»).
Versione 2.9.1

Mercoledì 22 aprile

2026-04-22 Home pulita: le due card diventano l'unico punto di ingresso, card Completa riallineata

Piccola rifinitura della home introdotta con la Modalità Smart. La griglia dei 6 step che compariva sotto le due card di scelta è stata nascosta: ora sono le due card Completa/Smart l'unico punto di ingresso dell'Hub. In più le due card hanno ora descrizioni della stessa lunghezza, così non c'è più il disallineamento visivo tra i bottoni.

Home semplificata: solo le due card di scelta

  • Niente più griglia dei 6 step sotto: evitava di duplicare i punti di ingresso e rendeva la home più affollata del necessario.
  • Il pulsante «Inizia analisi Completa» della card Completa porta ora direttamente al primo step (Ricerca prospect), come il gemello Smart che porta alla pagina dedicata.

Card allineate visivamente

  • Descrizione Completa riportata a 3 righe come quella Smart: le due card sono ora simmetriche e i bottoni sono perfettamente allineati in fondo, senza gli ultimi pixel che sbandavano.
Versione 2.9.0

Mercoledì 22 aprile

2026-04-22 Nuova Modalità Smart: un click, un minuto di attesa, la scheda commerciale già pronta

Prima grande feature della serie 2.9: la Modalità Smart. L'Hub ora parte da una home a due corsie. La corsia Completa, che conosci, resta uguale: 6 passi guidati, controllo totale. La corsia Smart è nuova: pensata per chi non ama gli strumenti troppo articolati o per quando si ha fretta. Cerchi un'attività, clicchi sul prospect nella lista, aspetti circa un minuto e ricevi una scheda A4 pronta per l'appuntamento, con tutto il lavoro di analisi fatto in automatico sotto al cofano: scheda Google, sito web, social, inserzioni a pagamento, confronto con due concorrenti di zona, pitch commerciale e pacchetto PagineSi raccomandato. Stessi dati, stesso rigore — solo presentati in una pagina sola.

Due modalità tra cui scegliere, sempre

  • Due card in home ti fanno scegliere al volo: Modalità Completa per entrare nel dettaglio, Modalità Smart per arrivare subito al dunque.
  • La tua preferita resta salvata: un link «Cambia modalità preferita» imposta quella di default al prossimo login. Puoi comunque switchare dall'altra in qualsiasi momento: e' solo una preferenza visiva, non un vincolo.

Come funziona la Modalità Smart in concreto

  • Un solo input: cerchi «Gelateria Porto Sant'Elpidio» (o quello che ti serve), ti appare una lista, clicchi sul prospect che ti interessa. Fine delle scelte.
  • Elaborazione in background (~1 minuto): una schermata narrativa ti tiene aggiornato con frasi umane («Sto leggendo la scheda Google...», «Sto confrontando con i concorrenti di zona...», «Sto scrivendo il tuo brief...»). Puoi anche chiudere: quando è pronto torni e trovi la scheda.
  • Scheda finale in una pagina A4: nome prospect, contatti, brief commerciale caldo e narrativo (400-500 parole, zero gergo), confronto rapido con i due competitor trovati in automatico, pacchetto PagineSi raccomandato con sigla e 1-2 add-on. Bottone «Stampa scheda» pensato per il foglio in appuntamento.
  • Dati mancanti dichiarati con onestà: se il sito web non è raggiungibile oggi, o i social non danno risposta, il brief lo dice con parole sue («oggi il sito non si è fatto leggere») invece di inventare numeri.

Un consulente AI nuovo di zecca, pensato per la voce commerciale

  • Tono caldo, vocabolario commerciale: niente KPI, dashboard, ranking. Solo frasi come «lo trovano bene», «ha poche foto sulla scheda Google», «chi gli fa concorrenza in zona sta già spingendo». Pensato per agenti con trenta-quaranta anni di carriera commerciale alle spalle: chiaro, diretto, stampabile.
  • Chiusura pronta da leggere: ogni scheda termina con una frase d'apertura per il cliente («Guardi, abbiamo dato un'occhiata alla sua presenza online e una cosa in particolare salta all'occhio...»), da usare testuale appena ci si siede al tavolo.

Un limite amichevole di 5 Smart al giorno

  • Cap giornaliero: ogni agente può lanciare fino a 5 analisi Smart al giorno. La pagina mostra sempre quante te ne restano; se le esaurisci, la quota si resetta 24 ore dopo la prima del giorno. La Modalità Completa resta illimitata.
  • Perché: la Smart in un minuto brucia tutte le chiamate alle fonti esterne in colpo solo. Il limite protegge da click accidentali e da bolletta che scappa quando si prova il flusso per la prima volta.
Versione 2.8.37

Mercoledì 22 aprile

2026-04-22 Brief Competitor Intelligence: categoria giusta + foto contate correttamente

Due bug fix sul brief del consulente AI Competitor Intelligence (step 5). Fino a ieri poteva capitare che (1) la categoria del prospect venisse scritta male — es. una gelateria classificata come «furniture_store» perché usava l'etichetta tecnica di Google Places invece della categoria scelta dall'agente; (2) il conteggio foto della scheda Google risultasse 0 anche quando il prospect pubblicava foto, se il dato era stato salvato come numero invece che come lista. Entrambi risolti: ora la categoria arriva dalla ricerca iniziale dell'agente e il conteggio foto accetta entrambe le forme.

Categoria del prospect sempre corretta nel brief

  • Fonte autorevole: il brief usa la categoria scelta dall'agente in fase di ricerca (es. «Gelateria», «Ottico», «Bar») come riferimento per tutti e tre i soggetti confrontati. Prima poteva prendere la classificazione automatica di Google Places, che su attività locali sbaglia ancora spesso.
  • Niente label tecniche user-visible: il consulente AI ha ora istruzioni esplicite di non citare mai etichette di sistema come «furniture_store» o «retail» nel testo del brief. Solo vocabolario commerciale.

Foto scheda Google contate anche quando salvate come numero

  • Compatibilità con formato numerico: il brief non dice più «0 foto» quando il prospect ne ha in realtà 8 o 10. Prima il conteggio accettava solo la lista delle foto; ora accetta anche la forma «totale» salvata in fase di analisi locale.
  • Flag «almeno 10 foto» coerente: lo stesso conteggio alimenta il flag «10+ foto» nella completezza scheda, quindi quando il competitor ha più foto del prospect il delta appare davvero, e quando tutti e tre hanno foto il brief non lo segnala più come «buco per tutti».
Versione 2.8.36

Mercoledì 22 aprile

2026-04-22 Ads dei competitor ora sfogliabili come un carosello + anteprima del post completo in un click

Nella pagina Competitor Intelligence le card «Campagne pubblicitarie attive» prima mostravano solo un ad alla volta. Ora ogni card diventa un carosello con fino a 15 creatività per competitor (5 per Meta, Google e LinkedIn quando disponibili), navigabili con frecce, puntini e frecce direzionali della tastiera. Cliccando su una creatività si apre una finestra con il post completo: immagine in alta risoluzione o video quando disponibile, copy integrale senza troncamento, piattaforma, data di inizio, call-to-action e scorciatoie per aprire lo stesso annuncio nella libreria pubblica e la pagina di destinazione. Zero chiamate API aggiuntive: sfruttiamo dati che già ricevevamo ma non valorizzavamo.

Carosello nelle card ADS

  • Fino a 15 creatività per competitor: il design della card resta invariato (stessa altezza, stesso spazio), ma ora sotto il copy compaiono frecce «‹ ›», puntini di navigazione e un contatore tipo «3/7».
  • Etichetta piattaforma per ogni slide: ogni creatività dichiara da dove viene (Meta, Google o LinkedIn) così non serve tenerlo a mente quando si confrontano i competitor.
  • Navigazione da tastiera: focus sul carosello più frecce sinistra/destra. Utile per chi usa la dashboard in modalità veloce senza staccare le mani dalla tastiera.

Anteprima post completo in una finestra dedicata

  • Click sulla creatività → si apre una modale con l'ad a grandezza reale: immagine in alta risoluzione o video riproducibile inline se la creatività e' un reel/video, copy integrale (prima cappato a 2 righe nella card), piattaforma, data di inizio, call-to-action («Scopri di più», «Acquista ora» ecc.) quando il provider la espone.
  • Due scorciatoie commerciali nel footer della modale: «Vedi nella libreria pubblica» apre l'annuncio specifico nell'archivio ufficiale (Meta Ad Library / Google Ads Transparency / LinkedIn Ad Library); «Apri pagina di destinazione» va dove punta l'ad, così si capisce l'intent del competitor in tre click.
  • Chiusura naturale: click fuori dalla modale, pulsante ×, o tasto ESC. Nessuna frizione.

Zero impatto sui crediti API

  • Dati già in casa: il provider di rilevazione pubblicitaria restituisce fino a 5 creatività per piattaforma per ogni chiamata, ma finora ne mostravamo solo una. Questa release tira fuori tutto quello che già pagavamo di chiamata in chiamata, senza chiamare di più.
Versione 2.8.35

Mercoledì 22 aprile

2026-04-22 Pannello admin ripulito: fornitore dati SEO precedente disabilitato, tasto «Elimina tutti i prospect» più chiaro, etichette crediti più oneste

Tre piccoli interventi segnalati dai ticket sul pannello admin. Il provider SEO che non utilizziamo più da aprile non viene più elencato nella tab «AI & Costi». Il pulsante rosso che svuota lo storico prospect è stato rinominato in modo che non lasci dubbi: «Elimina tutti i prospect». Infine le etichette sul consumo crediti ora rimandano sempre alla dashboard del provider, perché i nostri contatori vedono solo le chiamate in uscita e non il moltiplicatore interno di fatturazione.

Tab «AI & Costi» senza provider dismessi

  • Provider SEO storico rimosso: non compare più nella griglia admin, né nella legenda, né nel testo esplicativo. Restano attivi solo i provider realmente chiamati dal sistema.

Pulsante rosso rinominato: «Elimina tutti i prospect»

  • Etichetta più onesta: il tasto si chiama ora «Elimina tutti i prospect (reset storico)» invece di «Rilascia tutti i lock», perché quello fa davvero — cancella prospect, scan, analisi, proposte e cache AI di tutti gli agenti.
  • Doppia conferma invariata: pop-up iniziale più digitazione della parola RILASCIA, per evitare click accidentali.

Consumo crediti: etichette più oneste sulla differenza col provider

  • Nota sulla fonte: ogni card provider (SEOzoom, Local Falcon, ScrapeCreators) spiega che il nostro conteggio vede solo le chiamate in uscita e rimanda alla dashboard del provider per i crediti residui effettivi.
  • Testo introduttivo aggiornato: l'avviso in testa al pannello ora dice chiaramente «Per il consumo crediti effettivo consulta sempre la dashboard del provider». Meno sorprese quando i numeri non coincidono con la fattura.
Versione 2.8.34

Mercoledì 22 aprile

2026-04-22 Card ADS contenute + canali con attività molto recente classificati correttamente

Due bug fix segnalati oggi. Sulla pagina Competitor Intelligence le tre card «Campagne pubblicitarie attive» si schiacciavano su viewport tablet (fino a 1200 pixel) rendendo illeggibili i testi delle creatività. Sulla pagina Social un canale Facebook con ultimo post di un giorno fa veniva comunque classificato come «Canale in stand-by» se l'account aveva pochi follower. Entrambi i casi risolti.

Card ADS sul Competitor Intelligence: vincolate e leggibili

  • Layout a colonna singola sotto i 1200 pixel: tablet landscape e viewport medi mostrano ora le card ADS una sotto l'altra a piena larghezza, invece di tre colonne strette.
  • Altezza massima fissa e testo creatività cappato a 2 righe: i sample degli ads non fanno più crescere le card in modo incontrollato anche se il testo dell'annuncio è molto lungo.

Canale «attività molto recente» non piu' in stand-by per pochi follower

  • Nuova regola: se il profilo ha pubblicato negli ultimi 7 giorni, il sistema lo riconosce come «Presenza attiva» anche quando ha meno di 150 follower o la cadenza settimanale non è misurabile dal provider.
  • Caso tipico risolto: bar di quartiere con 80 follower Facebook ma post di ieri. Prima «Canale in stand-by», ora «Presenza attiva» — coerente con la realtà e utilizzabile per argomenti commerciali basati su regolarità della presenza.
Versione 2.8.33

Mercoledì 22 aprile

2026-04-22 Meta Ad Library: rilevazione reale dei brand italiani finalmente funziona

Chiusura del fix annunciato nelle versioni precedenti. Il problema «Meta Ad Library vede sempre zero ads» su brand italiani (segnalato su Aurora D'Agostino, che ha 30 campagne attive verificate) era causato da un formato di risposta del servizio esterno che il nostro codice non stava leggendo correttamente. Gli annunci arrivavano nel campo searchResults, noi cercavamo in results: la lista risultava vuota e la card mostrava «0 ads» anche se ce n'erano 30. Identificato tramite un nuovo endpoint diagnostico admin-only che permette di vedere la risposta grezza del servizio.

Ads Aurora D'Agostino: 30 campagne correttamente rilevate

  • Test in produzione: Aurora D'Agostino ora mostra 30 ads attive, con anteprima delle creatività (copy in italiano, data di avvio, link al profilo) direttamente nella card Competitor Intelligence.
  • Parser aggiornato: ora gestisce sia i messaggi singoli (campo snapshot.body) sia quelli multi-card/carousel (campo snapshot.cards), con fallback automatico tra i due.
  • Cache invalidata: tutti i brand che in precedenza erano stati rilevati erroneamente come «0 ads» verranno re-interrogati alla prossima consultazione, con risultati corretti.

Strumento diagnostico per il team tecnico

  • Nuovo endpoint ammministrativo: permette di ispezionare la risposta raw del fornitore esterno di ads, utile per capire perché un brand specifico ritorna risultati strani. Accessibile solo agli admin.
Versione 2.8.26

Mercoledì 22 aprile

2026-04-22 Meta Ad Library: risolto alla radice il matching su brand italiani

Fix di radice sulla rilevazione ads Meta. L'implementazione precedente faceva due chiamate in fila (prima cercava il brand, poi chiedeva gli ads della pagina trovata) e non specificava il mercato italiano: risultato, brand come Aurora D'Agostino che hanno effettivamente campagne attive su Facebook venivano rilevati come «zero ads». Dopo aver verificato la documentazione ufficiale del servizio esterno abbiamo scoperto tre problemi concreti e li abbiamo corretti tutti.

Chiamata diretta + country=IT + parser corretto

  • Niente più doppia chiamata: ora interroghiamo direttamente l'endpoint «ads del brand» passandogli il nome e il mercato Italia, come indicato dalla documentazione ufficiale. Una chiamata al posto di due, matching più accurato.
  • Parametro paese=IT: prima non lo passavamo e il servizio usava default «tutti i paesi», con risultati spesso vuoti su brand regionali. Adesso un annuncio italiano viene cercato nel suo mercato.
  • Parser del campione corretto: la documentazione conferma che il campo «titolo» è sempre vuoto nelle risposte, il vero testo dell'annuncio vive in un campo annidato («snapshot.body.text») e le immagini in un altro («snapshot.images»). Il nostro codice cercava nei posti vecchi e non trovava nulla. Ora estraiamo correttamente testo e miniatura da ogni creatività.
  • Filtro status=ACTIVE: mostriamo solo campagne in corso ora, non quelle sospese o storiche, coerente con il senso commerciale della feature.
Versione 2.8.25

Mercoledì 22 aprile

2026-04-22 Ads card: link di verifica manuale alle Ad Library + stato errore delle piattaforme

Doppio miglioramento sulla sezione «Campagne pubblicitarie attive» dello step 5. Test diretto sul caso di un brand italiano ha confermato che a volte il servizio di rilevazione non trova campagne che invece esistono realmente in Ad Library (nomi registrati su Meta/Google più brevi di quelli su Google Places, o copertura parziale del provider su brand regionali). Ora la card mostra sempre un set di link diretti alle Ad Library ufficiali (Meta, Google, LinkedIn) pre-compilati col nome del brand: l'agente clicca e verifica manualmente in 3 secondi, anche durante l'appuntamento davanti al cliente. Inoltre, quando il servizio di rilevazione va in errore per una piattaforma, il chip smette di fingere «0» e mostra un «?» esplicito.

Link di verifica manuale alle Ad Library ufficiali

  • Tre link sempre visibili nella card Ads di ciascun soggetto: Meta Ad Library (facebook.com/ads/library, country=IT), Google Ads Transparency Center (con dominio del sito quando disponibile), LinkedIn Ad Library. Tutti pre-compilati col nome del brand.
  • Perché è utile: se il cliente in appuntamento dice «ma io faccio ads, come mai qui vedo zero?» clicchi il link Meta e gli fai vedere in diretta cosa mostra la libreria ufficiale.

Chip piattaforma: stato errore distinto da «zero»

  • «Meta 0» vs «Meta ?»: prima ogni fallimento upstream veniva appiattito a «0» ingannevole. Ora il chip mostra un punto interrogativo giallo quando il servizio ha restituito errore (passando col mouse vedi «Servizio di rilevazione temporaneamente non disponibile»). Così sai se è un vero zero o se bisogna riprovare più tardi.
Versione 2.8.24

Mercoledì 22 aprile

2026-04-22 Step 5: layout più curato per tablet + Ad Library trova brand con apostrofi e nomi lunghi

Due bug fix sullo step 5 Competitor Intelligence segnalati in uso reale. Il primo riguardava il layout su tablet / viewport medio: con nomi prospect molto lunghi (es. «AURORA D'AGOSTINO EROGATORI ACQUA - DEPURATORI ACQUA - MATERASSI IN LATTICE - SANIFICATORI AMBIENTE») la card del prospect si allungava verticalmente e il layout a 3 colonne andava a pezzi. Il secondo riguardava la rilevazione Ad Library: per brand con apostrofo nel nome («D'Agostino», «L'Antica», «Dell'Orto») la ricerca restituiva «servizio non disponibile» invece di trovare le campagne attive.

Layout step 5 ordinato anche su tablet

  • Sotto i 1100 pixel (tablet landscape, portrait, viewport ridotto) le 3 card del confronto e le 3 card Ad Library passano a una colonna, con la card del prospect sempre in cima. Prima si schiacciavano strette e spezzate.
  • Nomi prospect ultra-lunghi troncati a 3 righe con puntini di sospensione: la card del prospect non supera più in altezza quelle dei competitor, il confronto resta simmetrico.

Ad Library: brand con apostrofo ora funzionano

  • Apostrofi e virgolette sanitizzati prima della ricerca: «Aurora D'Agostino» non rompe più la chiamata, viene cercato come «aurora d agostino». Eliminato l'errore «servizio non disponibile».
  • Fallback con nome più corto: se la ricerca con il nome completo non trova nulla, il sistema ritenta con il primo segmento prima del trattino (es. «Aurora D'Agostino Erogatori» da un nome di 103 caratteri). Cattura brand registrati su Meta/Google Ad Library con un nome commerciale più sintetico di quello su Google Places.
  • Se zero ads dopo i fallback la card mostra correttamente «Nessuna campagna pubblicitaria attiva rilevata» come dato onesto, non come errore.
Versione 2.8.23

Mercoledì 22 aprile

2026-04-22 Social: meno profili marcati «stand-by» + punteggio trasparente (come si arriva a X/100)

Due fix sullo step 4 Social segnalati dall'uso reale in appuntamento. Primo: la classificazione del canale finiva spesso su «Canale in stand-by» anche per profili legittimamente attivi. Succedeva perché la soglia di «presenza attiva» chiedeva insieme almeno 500 follower, almeno 1 post a settimana misurato e attivita' entro 60 giorni: bastava mancarne una per cadere in stand-by. Abbiamo abbassato la soglia follower a 150 (realistica per PMI locali) e la recency a 90 giorni, e ora il sistema accetta come «presenza attiva» anche chi ha diversi post totali pubblicati quando la cadenza settimanale non è misurabile dal provider. Secondo: il punteggio complessivo (es. 30/100) era opaco. Adesso passando il mouse sopra il badge compare un riquadro con il dettaglio: presenza sui canali, attivita' recente, profili verificati, audience totale, ciascuno con punti assegnati e massimo possibile, più gli eventuali «red flag» considerati.

Canali attivi non più classificati come «stand-by»

  • Soglia follower abbassata da 500 a 150: una pizzeria di quartiere con 300 follower e post regolari adesso è giustamente «Presenza attiva», non più stand-by.
  • Finestra di attività estesa da 60 a 90 giorni per allinearla allo standard di scan.
  • Fallback quando la cadenza settimanale non è disponibile dal provider: se il profilo ha almeno 5 post storicizzati e risulta aggiornato negli ultimi 90 giorni, viene riconosciuto come attivo. Prima in quel caso veniva sempre declassato a stand-by.

Punteggio social: finalmente trasparente

  • Il badge «Score: X/100» ha ora un dettaglio on-hover: vedi subito i 4 ingredienti che lo compongono, ognuno con punti ottenuti su punti massimi.
  • Red flag visibili sotto il dettaglio: quando il sistema conta qualcosa come negativo (es. «meno di 100 follower totali», «Facebook non aggiornato da oltre 90 giorni»), ora lo dichiara senza che tu debba intuirlo dal punteggio basso.
  • Niente più mistero: se vedi 30/100 e ti sembra basso, un secondo ti dice perché. Utile per decidere se discutere il numero col cliente o cambiare strategia.
Versione 2.8.22

Mercoledì 22 aprile

2026-04-22 Step 4 Social: 2 colonne fisse, anche con poche piattaforme

Ultima iterazione del layout social. Il fix di poco fa usava un impaccamento automatico che però con poche card (es. prospect che ha solo Facebook e Instagram) le impilava nella stessa colonna, lasciando l'altra vuota. Ora la griglia è fissa a 2 colonne: due card vanno una a sinistra e una a destra, cinque card si distribuiscono in 3 righe con l'ultima eventualmente sola in colonna 1. Le altezze restano naturali, nessuno stretch forzato.

Due colonne sempre, anche con 2 sole piattaforme

  • Due card affiancate se il prospect ha solo Facebook + Instagram. Nessuna impilamento strano nella stessa colonna.
  • Tre/quattro/cinque card: si distribuiscono a coppie lungo le righe; un numero dispari lascia l'ultima da sola a sinistra — comportamento atteso di una dashboard.
  • Nessuno stretching interno: le card non vengono allungate per forza per pareggiare l'altezza di riga, quindi niente whitespace grigio dentro le card corte.
  • Mobile invariato: sotto 700px una card per riga a piena larghezza.
Versione 2.8.21

Mercoledì 22 aprile

2026-04-22 Step 4 Social: ritorno a 2 colonne, ma con impaccamento intelligente

Evoluzione del fix di poco fa. Su richiesta utente le card delle 5 piattaforme (Facebook, Instagram, TikTok, YouTube, LinkedIn) tornano in 2 colonne, ma questa volta con un packing intelligente che elimina il problema originale. Le card vengono impaccate automaticamente riempiendo i gap tra le colonne (quelle corte come LinkedIn sono impilate sotto altre corte, quelle alte come Instagram prendono tutto lo spazio che serve): niente card «spaiata» a destra, niente whitespace irregolare. Dimensione massima della colonna identica per uniformita'.

2 colonne social con packing automatico

  • 5 card in 2 colonne senza spaiamenti. Prima del fix di ieri le altezze diverse lasciavano una card da sola in basso a destra; con la colonna singola temporanea il layout era uniforme ma un po' spartano. Con il nuovo packing si vede tutto a due a due e la pagina scorre meno in verticale.
  • Card non si spezzano mai tra le colonne: ogni piattaforma resta intera in un blocco, facile da leggere.
  • Mobile invariato: sotto 700px resta colonna unica a piena larghezza.
Versione 2.8.20

Mercoledì 22 aprile

2026-04-22 Step 4 Social: card uniformi e più leggibili, niente più spazi bianchi disordinati

Ritocco UX sullo step 4 Social. Le 5 card piattaforma (Facebook, Instagram, TikTok, YouTube, LinkedIn) stavano in griglia a due colonne automatiche: con Instagram che occupava molto piu' spazio verticale delle altre (grafico performance per tipo + distribuzione pubblicazioni) e LinkedIn che restava spaiato in fondo, il risultato era irregolare e con vuoti sparsi. Ora le card sono allineate in colonna unica centrata, con larghezza massima identica: tutte leggibili, whitespace laterale costante come «respiro» non come errore.

Step 4: 5 card social, stessa larghezza, ordine pulito

  • Una card per riga, stessa larghezza: scorri le piattaforme dall'alto verso il basso senza cambi di impaginazione, ognuna è larga al massimo la stessa misura delle altre.
  • Niente più card «spaiata» in fondo: prima con numero dispari di piattaforme l'ultima (LinkedIn) restava sola a destra con un buco a sinistra. Ora è in sequenza con le altre.
  • Densità uniforme a colpo d'occhio: i grafici interni (engagement, distribuzione post, heatmap) hanno lo stesso ingombro visivo su ogni card, rendendo il confronto tra piattaforme piu' rapido quando prepari il brief.
  • Mobile invariato: sotto 700px le card restano larghe tutto lo schermo come prima, nessuna regressione.

Martedì 21 aprile

22 release
Versione 2.8.19

Martedì 21 aprile

2026-04-21 Pulizia audit step 6, benchmark più tollerante, titolo consulente preservato, scopri e docs aggiornate

Giro di sistemazione basato su audit di qualità. Ripulite le label tecniche e le citazioni di fornitori dalla checklist di diagnosi dello step 6, reso più tollerante il benchmark di settore («Ristorante di pesce» a «Roma Capitale» ora contribuisce a «ristorante» a «Roma»), corretto un bug che abbassava automaticamente il maiuscolo del Ruolo consulente nella proposta, allineate le pagine «Scopri» e «Guida» a tutte le release di oggi. Aggiunta in roadmap la voce «Revisione prompt AI settore per settore».

Checklist audit step 6 in linguaggio commerciale

  • Zero jargon tecnico: «Share of Local Voice» diventa «Quota di visibilità locale sulle mappe», «Average Rank Position nel grid» diventa «Posizione media nelle ricerche locali», «NAP completo» diventa «Contatti completi». Se apri la scheda «Perché questo punteggio» davanti al cliente, il testo è leggibile.
  • Fonti senza nomi di fornitore: niente più citazioni «SE Ranking» o «Whitespark» nelle righe di motivazione. Metodologia documentata internamente; nel prodotto si vedono solo descrizioni neutre come «Analisi SEO», «Google GBP», «Studi di settore».
  • Payload diagnosi al consulente ripulito: tolto un campo backlinks che dopo il cambio provider SEO restava sempre zero e veniva letto dall'AI come gap grave fittizio. Il brief non cita più quel dato finché non avremo un provider che lo espone davvero.

Benchmark di settore: soglia di sblocco più realistica

  • Il messaggio «servono almeno 5 prospect analizzati» ora si sblocca davvero. Prima il confronto richiedeva stringa esatta sulla categoria e sulla città: bastava un prospect salvato con una variante leggermente diversa («Ristorante di pesce» vs «Ristorante», «Roma Capitale» vs «Roma») e il contatore restava bloccato.
  • Ora il confronto usa il primo token di categoria e città, quindi tutte le varianti «Ristorante...» contano come «ristorante» e tutte le «Roma...» come «roma». Il fallback al dato nazionale quando la zona non basta è sempre attivo.

Ruolo del consulente nella proposta: maiuscole rispettate

  • Il campo «Ruolo / Qualifica» del tuo Profilo (es. «Consulente Senior PagineSì») ora compare nella proposta esattamente come lo hai scritto, sia a schermo sia in stampa. Prima a schermo veniva abbassato tutto in minuscolo.

Roadmap: nuova voce «Revisione prompt AI per settore»

  • Proposta in roadmap di far revisionare i prompt dei consulenti AI da esperti di dominio settore per settore (ristorazione, estetica, salute, retail, servizi professionali, artigianato, turismo, sport/fitness) per restituire un brief commerciale più verticale e calzante per ciascun ambito.

Pagine Scopri e Guida aggiornate

  • Scopri: 4 card «Novità recenti» (Ads Library competitor, invio rapido Direttore, filtro attività chiuse, corona leader) e rimosse 2 righe residue che citavano «backlink» e «visibilità sui motori generativi» dopo il cambio provider SEO.
  • Guida: conteggio consulenti AI e step allineati (7 consulenti esposti + 6 step del flusso), rimosse le citazioni user-facing del precedente provider SEO, aggiunto avviso che Analista Sentiment e Gestore Obiezioni sono temporaneamente oscurati.
Versione 2.8.18

Martedì 21 aprile

2026-04-21 Ad Library (Meta/Google/LinkedIn) di nuovo visibili: 3 card nello step 5 Competitor Intelligence

Tornano in scena le campagne pubblicitarie attive. Nello step 5 Competitor Intelligence, sotto i 3 pilastri (scheda Google / SEO / social), compaiono 3 nuove card — una per il prospect e una per ciascun competitor — con il conteggio totale di ads attive su Meta, Google e LinkedIn, i chip per ogni piattaforma (colorati se ha ads, grigi se zero) e un esempio di una creatività recente. Se il prospect ha zero ads e almeno un competitor ne ha, compare in automatico sulla sua card un gancio di vendita giallo pronto per l'appuntamento.

Campagne pubblicitarie attive a confronto, 3 card

  • Totale ads visibile a colpo d'occhio: badge verde col numero (es. «12 ads attive») se ne ha, badge grigio «0 ads» se non investe. Niente calcoli mentali.
  • Split per piattaforma: chip «Meta 8» + «Google 3» + «LinkedIn 1» sotto il conteggio. Chi gli investe solo su Meta, chi solo su Google, chi fa tutto.
  • Esempio di creatività recente: titolo del primo annuncio rilevato + data di avvio, preso dalla piattaforma con piu' campagne. Ti dà subito il tono di voce che il competitor sta usando.
  • Gancio vendita automatico: se il prospect è a zero e un competitor è sopra, compare una riga gialla nella sua card con il testo pronto («il concorrente A ha 12 campagne attive in Ad Library, il prospect zero») da usare come leva in appuntamento.
  • Card auto-nascondente quando tutti e 3 sono a zero? No, restano visibili comunque. Informazione valida anche la conferma che nessuno sta investendo in adv in quel momento (opportunità di First Mover).
Versione 2.8.17

Martedì 21 aprile

2026-04-21 Invio rapido al Direttore Commerciale: bottone «click + riclick per confermare»

Nella sezione Brief Commerciale AI dello step 6 c'è ora un secondo bottone, accanto al Direttore Commerciale, per un invio rapido in 2 click sullo stesso pulsante: al primo click il bottone cambia colore (arancione con pulsazione) e chiede conferma inline («Confermi? Riclicca per inviare»); al secondo click parte il brief, senza passare dal riquadro di conferma separato. Se entro 8 secondi non si conferma, il bottone torna da solo allo stato iniziale. Il flusso precedente (bottone «Direttore Commerciale» + riquadro giallo «Avvia brief») resta disponibile come prima per chi preferisce il percorso guidato.

Invio rapido in 2 click sullo stesso bottone

  • Stile Local Falcon: un solo bottone, due stati. Primo click = armato (arancione, pulsa); secondo click = invia. Niente riquadri aggiuntivi, niente pensieri.
  • Annullamento automatico dopo 8 secondi se non confermi. Se cambi idea non devi cliccare «Annulla», aspetti e torna allo stato iniziale.
  • Stesso gating di prima: se mancano prospect, mappa, SEO o social, il bottone resta grigio con la spia «Prima completa...». Armaggio e invio sono bloccati finché il quadro non è completo.
  • Flusso storico intatto: il bottone «Direttore Commerciale» + riquadro giallo funziona esattamente come prima. I due percorsi coesistono.
Versione 2.8.16

Martedì 21 aprile

2026-04-21 Brief commerciale AI: risolto il bug visuale che impediva al brief di partire

Bug fix chirurgico sullo step 6. Il riquadro di conferma «Confermi l'avvio del brief?» era visibile dall'inizio, senza che l'agente avesse cliccato prima sul bottone Direttore Commerciale. Cliccando su «Avvia brief» non succedeva niente perché il brief non era stato realmente armato («Direttore Commerciale» — era solo un box che sembrava pronto ma era vuoto). Causa: una regola di layout della pagina sovrascriveva il comportamento di nascondimento del riquadro. Ora il flusso è corretto: box chiuso all'inizio, si apre solo dopo il click sul bottone Direttore Commerciale, poi Avvia brief parte regolarmente.

Click «Avvia brief» di nuovo funzionante

  • Flusso corretto: clicca «Direttore Commerciale», compare il riquadro di conferma, clicca «Avvia brief», parte l'elaborazione AI. Come deve essere.
  • Niente azioni a vuoto: se per qualsiasi motivo il secondo click non arma il brief, l'utente vede comunque il messaggio di riarmo, non il silenzio.
Versione 2.8.15

Martedì 21 aprile

2026-04-21 Brief commerciale AI: click «Avvia» non più silenzioso + Gestione obiezioni nascosta

Due cose insieme. Prima, il bottone «Avvia brief» del Direttore Commerciale a volte restava muto al click con zero feedback per l'agente: un ciclo di controllo interno girava ogni 2 secondi e poteva disarmare il brief proprio tra il primo e il secondo click. Ora il ciclo si mette in pausa quando il box conferma è aperto, e se per qualsiasi motivo il secondo click trovasse il brief disarmato l'utente vede un avviso esplicito invece del silenzio. Seconda cosa: il bottone Gestione Obiezioni è stato temporaneamente nascosto dalla pagina Diagnosi & Proposta: resta il solo Direttore Commerciale.

Brief commerciale: click «Avvia» di nuovo affidabile

  • Il ciclo di gating non disarma più il brief durante la conferma: quando il box «Confermi l'avvio?» è aperto, il sistema aspetta la scelta dell'agente prima di ricontrollare i requisiti.
  • Se il click va comunque perduto (es. sessione scaduta tra i due click) l'agente vede un avviso: «Riclicca su Direttore Commerciale per riarmare», non resta più a guardare il pulsante che non fa nulla.
  • Log diagnostici in console per aiutare a capire eventuali casi residui: ogni click di arm/confirm/run viene tracciato.

Consulente «Gestione Obiezioni» oscurato dallo step 6

  • Nel riquadro Brief commerciale AI compare solo il Direttore Commerciale. Il bottone Gestione Obiezioni viene riabilitato quando la persona sarà pronta nella versione successiva.
Versione 2.8.14

Martedì 21 aprile

2026-04-21 Step 6: scan social e dati degli step precedenti preservati all'apertura

Fix chirurgico per il Brief Commerciale AI. Lo step 6 continuava a segnalare «Manca scan social» anche quando lo scan era stato eseguito regolarmente. La causa era che ogni volta che aprivi lo step 6 il sistema ricostruiva il pacchetto dati del prospect partendo solo da 4 campi base (scheda, mappa, SEO, keyword), cancellando i dati accessori salvati dagli step precedenti: scan social, confronto competitor, eventuali analisi sentiment cachate. Ora la ricostruzione preserva tutti i campi già presenti, quindi il brief parte senza falsi blocchi.

Dati degli step precedenti non vengono più azzerati allo step 6

  • Scan social preservato: il bottone «Genera brief commerciale AI» non mostra più «Manca scan social» se l'analisi è stata fatta. La spia si accende solo se effettivamente non hai ancora eseguito lo scan.
  • Confronto competitor, sentiment cachato, ID prospect: tutti i dati lavorati negli step 2/3/4/5 restano disponibili nello step 6 anche dopo un reload della pagina.
  • Come verificare: vai su step 4 e fai uno scan social (anche se il prospect non ha canali attivi, basta che lo scan giri a buon fine). Poi apri step 6: il brief deve essere subito pronto.
Versione 2.8.13

Martedì 21 aprile

2026-04-21 Step 6: risolto l'ultimo crash residuo della pagina Diagnosi & Proposta

Fix mirato. In alcune situazioni lo step 6 Diagnosi & Proposta continuava a mostrare diagnosi complessiva, checklist e stampa vuote nonostante i fix precedenti (v2.8.6 e v2.8.11). Era un errore di ordine delle dichiarazioni nel codice della pagina: una tabella interna di etichette veniva definita troppo tardi rispetto al momento in cui il motore di scoring ne aveva bisogno, e il calcolo si interrompeva. Ora la tabella è disponibile fin dal primo istante di caricamento e la pagina si apre sempre correttamente.

Step 6 Diagnosi & Proposta: apertura sempre pulita

  • Zero intervento richiesto: rientra nel prospect, ricarica la pagina, e dovresti vedere diagnosi, checklist e stampa popolati correttamente sia per i prospect nuovi che per quelli riaperti dallo storico.
  • Niente messaggi di errore in console al primo caricamento: la pagina è ora stabile end-to-end.
Versione 2.8.12

Martedì 21 aprile

2026-04-21 Le release dello stesso giorno sono ora raggruppate sotto un unico accordion

Evoluzione della pagina Novità. Con il ritmo recente di release (quasi una all'ora nei giorni intensi) la lista di box verticali stava diventando poco pratica da scorrere, anche con il filtro mensile. Le release dello stesso giorno sono ora raggruppate sotto un unico accordion di giornata con un'intestazione grande «Martedì 21 aprile» e un contatore del numero di release in quella data. A colpo d'occhio vedi quante giornate di lavoro sono state rilasciate, apri il giorno che ti interessa e dentro trovi le singole release da espandere.

Intestazione di giornata + contatore release

  • Una sola intestazione grande per data invece di ripetere «Martedì 21 aprile» su ogni release. Sotto ogni intestazione trovi tutte le release di quel giorno, con la pill versione e il titolo sintetico.
  • Contatore sulla destra: «15 release», «1 release»... sai subito quante versioni sono uscite in quella data senza doverle aprire una a una.
  • Il giorno più recente si apre automaticamente quando arrivi sulla pagina, con dentro la release più recente già espansa: zero click per vedere cosa è cambiato oggi. Le giornate precedenti partono chiuse.
  • I filtri esistenti continuano a funzionare: pill mensili «Tutti / Aprile 2026» nascondono intere giornate quando non rientrano nel mese scelto. «Espandi tutto» e «Chiudi tutto» agiscono sia sui giorni che sulle release dentro.
Versione 2.8.11

Martedì 21 aprile

2026-04-21 Bug fix step 6 + corona sul leader nel confronto + badge fonte sulle card SEO

Giro di rilascio corposo con 4 bug fix (step 6, step 5, ricerca social) e 2 nuove funzioni UX: la corona sul leader nel confronto competitor e il badge fonte accanto al titolo di ogni card dell'analisi SEO. In più, l'agent di analisi sentiment AI è stato temporaneamente nascosto dalle pagine di lavoro.

Step 6: diagnosi e brief di nuovo operativi anche sui casi limite

  • Diagnosi vuota: su alcuni prospect riaperti dallo storico la pagina step 6 continuava a mostrare diagnosi, checklist e stampa vuote, con il bottone «Avvia brief» inerte. Il fix di ieri aveva risolto solo un percorso; ora il motore di scoring riconosce la categoria del business in qualunque formato arrivi (elenco, testo, campo vuoto, dato serializzato dal database) senza bloccarsi in nessuno scenario.
  • «Manca scan social» falso positivo: il brief commerciale AI restava grigio con l'avviso di scan social mancante anche per prospect dove lo scan era stato eseguito ma non aveva trovato canali attivi (prospect senza presenza social reale). Ora il sistema riconosce lo scan come completato a prescindere dal risultato, sblocca i bottoni del brief e consente al Direttore Commerciale di valorizzare l'assenza di social come leva di vendita.

Step 5: foto competitor recuperate anche quando la lista parte vuota

  • «Foto: 0» fantasma: la card del concorrente diceva che non c'erano foto anche quando Google Maps ne mostrava decine. Un controllo troppo rigido non distingueva tra «lista foto mai richiesta» e «lista foto vuota». Ora il conteggio foto compare correttamente su ogni scheda del confronto, sia per il prospect che per i due competitor.

Corona sul leader nel confronto competitor

  • Un colpo d'occhio e sai chi sta vincendo. Nel profilo a confronto dello step 5, il soggetto che totalizza il punteggio più alto sulla somma di Scheda Google + SEO + Social viene evidenziato con bordo dorato, pill «Leader del confronto» in alto a destra della card e corona accanto al nome.
  • Evidenza delle ragioni: sotto l'header della card leader compare una riga gialla con la sintesi dei pilastri in cui sta avanti (es. «Avanti su: scheda Google 86% · autorità dominio 52 · 12k follower social»). Così in appuntamento sai subito dove il concorrente ti batte davvero e dove invece puoi spingere.
  • Si aggiorna in tempo reale: la corona viene ricalcolata man mano che caricano i tre pilastri, senza bisogno di aspettare la fine dell'analisi.

Step 3 Web & SEO: badge fonte accanto a ogni card

  • Trasparenza sui dati. Ogni card dell'analisi SEO (metriche dominio, posizionamenti, top keyword, keyword consigliate, competitor organici, opportunità di mercato) porta ora un piccolo badge accanto al titolo che dice da dove arriva il dato: by SEOzoom per le sezioni che usano dati esterni di ranking, rilevazione interna per lo stack tecnico, by assistente AI per il consulente SEO.
  • Perché serve: in appuntamento quando il cliente chiede «ma questi dati da dove arrivano?» hai la risposta già sulla slide. Niente esitazioni.

Analisi sentiment AI temporaneamente oscurata dal flusso

  • Il bottone «Analizza con AI» per le recensioni in step 2 non compare più. La funzione continua a leggere eventuali analisi già prodotte in passato e a passarle al Direttore Commerciale nello step 6, ma non viene più proposta come nuova operazione da lanciare. La riabilitiamo appena sarà pronta la versione successiva dell'assistente sentiment.
Versione 2.8.10

Martedì 21 aprile

2026-04-21 Linguaggio più neutro sulle fonti dei dati nelle pagine di audit

Piccola rifinitura editoriale. Nelle pagine di audit del prospect comparivano riferimenti espliciti a società di ricerca esterne come fonte dei dati statistici citati («66% dei consumatori filtra a ≥4 stelle», «52% richiede ≥20 recensioni»). Dato che queste citazioni servivano solo come garanzia di attendibilità, sono state sostituite con la dicitura generica «studi di settore» in tutti i punti user-facing. Il dato resta identico, la fonte originale rimane tracciata nella documentazione interna.

Fonti statistiche: linguaggio neutro al posto dei nomi di società

  • Step 2 Visibilità Locale: gli avvisi «Rating sotto soglia» e «Rating sotto 4 stelle» ora citano gli studi di settore invece del nome del provider.
  • Step 6 Diagnosi e Proposta: il pannello «Perché questo punteggio» mostra fonti generiche al posto di nomi di società di ricerca.
  • Nessun impatto sui numeri: le percentuali, le soglie e la logica di scoring restano identiche. Cambia solo come viene presentata la fonte.
Versione 2.8.9

Martedì 21 aprile

2026-04-21 Badge arancione sulle attività in chiusura temporanea

Complemento del filtro rilasciato in v2.8.8. Le attività chiuse definitivamente non compaiono più tra i risultati di ricerca, ma quelle in chiusura temporanea restano visibili perché possono comunque essere prospect validi (ferie estive, ristrutturazione, stagionalità). Ora però hanno un badge arancione «Chiuso temporaneamente» sulla card, così l'agente capisce subito che magari oggi non è il giorno giusto per chiamare, ma la scheda resta utile per pianificare un contatto successivo.

Capisci a colpo d'occhio se una scheda è «congelata»

  • Operativo (tag verde): l'attività sta lavorando normalmente, chiamata diretta senza problemi.
  • Chiuso temporaneamente (tag arancione, nuovo): Google segnala chiusura in corso di durata limitata. Puoi comunque selezionarlo per un'analisi, sapendo che il contatto commerciale potrebbe richiedere più tentativi o andare rinviato.
  • Stato non verificato (tag grigio): Google non ha informazioni sullo stato corrente, prudenza nel contatto.
Versione 2.8.8

Martedì 21 aprile

2026-04-21 Ricerca prospect: niente più attività chiuse definitivamente nei risultati

Step 1 Ricerca prospect: le attività segnalate da Google come chiuse definitivamente vengono ora escluse alla fonte prima ancora di arrivare nella lista. Sparisce il classico «falso prospect» che portava a chiamare un numero spento o a visitare un locale ormai chiuso. Filtro applicato lato server: vale anche per «Carica di più» e per tutte le ricerche future.

Attività «chiuse per sempre» nascoste automaticamente

  • Niente più tempo perso a cliccare su risultati che poi si scopre essere ristoranti chiusi da mesi o negozi con serranda abbassata. La lista arriva già pulita.
  • Le attività in chiusura temporanea restano visibili (ferie estive, ristrutturazione, stagionalità): non sono prospect persi, semplicemente non stanno lavorando proprio oggi.
  • Funziona con tutte le modalità di ricerca: per città, per indirizzo+raggio, per ricerca in linguaggio naturale. E anche con la paginazione «Carica di più».
Versione 2.8.7

Martedì 21 aprile

2026-04-21 Analisi Facebook: supportati gli URL legacy «/pages/Nome/ID» del prospect

Fix mirato allo step 4 Social: quando la rilevazione automatica trovava sul sito del prospect un link Facebook in formato vecchio (del tipo «facebook.com/pages/Nome-Attività/102415245484801», tipico di pagine aziendali create anni fa), l'analisi Facebook restituiva «bad_request» e la card del profilo restava vuota. Succedeva perché quel formato legacy non è supportato dal servizio di analisi sottostante, che invece accetta il formato canonico con l'ID numerico. Ora il link in formato vecchio viene convertito in automatico prima della chiamata, quindi il profilo Facebook viene recuperato normalmente senza che l'agente debba riscrivere a mano l'URL.

Profili Facebook con URL «/pages/Nome/ID» ora funzionano

  • Compatibile con i link vecchi che molti siti hanno ancora nel footer o nelle intestazioni. Nessuna azione richiesta all'agente: il sistema capisce il formato e lo adatta.
  • Gli altri formati Facebook già supportati restano invariati: username diretto («facebook.com/osteria»), profile.php con id, URL mobile (m.facebook.com), URL business (business.facebook.com). Zero regressioni sulle casistiche che funzionavano già prima.
Versione 2.8.6

Martedì 21 aprile

2026-04-21 Due bug fix: «Avvia brief» di nuovo operativo + errori social leggibili

Risolti due bug segnalati dagli agenti commerciali. In step 6 Diagnosi e Proposta il bottone «Avvia brief» non rispondeva più su alcuni prospect riaperti dallo storico: diagnosi, checklist e stampa apparivano vuote. In step 4 Social quando l'analisi falliva l'utente vedeva solo «bad request senza motivo» senza capire perché. Entrambi fixati con modifiche minime e zero impatto sulle altre funzioni.

Step 6: diagnosi e brief di nuovo operativi sui prospect riaperti

  • Il problema: su alcuni prospect ricaricati dallo storico la pagina step 6 mostrava diagnosi complessiva vuota, checklist vuota e stampa proposta incompleta. Il bottone «Avvia brief» non eseguiva nulla.
  • La causa: le categorie del business (es. «ristorante», «pizzeria») a volte arrivavano dal database in un formato non atteso dal motore di scoring, che quindi si bloccava prima di produrre qualsiasi numero.
  • Effetto pratico: ora le categorie vengono riconosciute in ogni scenario (sia se arrivano come elenco, sia come testo semplice, sia se mancano del tutto). Diagnosi, checklist, stampa e brief AI tornano a funzionare su qualunque prospect.

Step 4: quando l'analisi social fallisce ora capisci perché

  • Il problema: se l'analisi social non andava a buon fine l'avviso mostrava solo «bad request senza motivo». L'agente non aveva modo di capire cosa aggiustare.
  • Cosa cambia: l'avviso riporta ora il messaggio del server quando c'è (es. «Almeno una piattaforma richiesta»). Quando l'errore arriva senza testo leggibile, lo dice esplicitamente invece di mostrare un codice tecnico, così l'agente sa che basta riprovare dopo qualche secondo.
Versione 2.8.5

Martedì 21 aprile

2026-04-21 Filtro mensile sulle Novità + Roadmap a fisarmonica per categoria

Due interventi sulle pagine di contesto del prodotto. Sulle Novità compaiono in cima dei pulsanti «pill» di filtro mensile: «Tutti» e una pill per ogni mese in cui sono uscite release (per ora solo Aprile 2026, ma crescono da sole mese dopo mese). Click su un mese = vedi solo quelle release. Sulla Roadmap le 5 aree (Intelligence, UX, Scoring, Operatività, Tecnico) sono diventate anche loro a fisarmonica, con la prima aperta di default e i pulsanti Espandi / Chiudi tutto.

Pill di filtro mensile in cima alla pagina Novità

  • Pill «Tutti» attiva di default, accanto una pill per ogni mese con release (ogni pill ha il conteggio tra parentesi). Le pill si generano da sole guardando le date delle release.
  • Click su un mese: restano visibili solo le release di quel mese, le altre si nascondono. Click su «Tutti» per tornare a vedere tutto.
  • Filtro e fisarmonica cooperano: «Espandi tutto» espande solo le release attualmente visibili nel filtro, così non ti ritrovi cose aperte fuori vista.
  • Scala automaticamente: quando uscirà la prima release di maggio, spunterà da sola la pill «Maggio 2026» — zero codice da toccare.

Roadmap: categorie a fisarmonica per scrollare meno

  • Le 5 aree tematiche (Intelligence e dati, UX e flusso agente, Scoring e raccomandazioni, Operatività, Tecnico e infrastruttura) diventano blocchi collassabili: la prima aperta all'apertura della pagina, le altre chiuse con freccia indicatrice.
  • Bottoni «Espandi tutto» e «Chiudi tutto» in alto, stessa ergonomia della pagina Novità.
  • I filtri per stato restano come prima (Tutte / Proposte / In valutazione / In sviluppo / Rilasciate / Standby): se un filtro lascia fuori tutti gli item di un'area, apri l'area col click e trovi subito quello che cerchi.
Versione 2.8.4

Martedì 21 aprile

2026-04-21 Pagina Novità più compatta: le release vecchie ora sono chiuse di default

La pagina Novità era diventata chilometrica: venti release in fila, tutte espanse, richiedevano un sacco di scroll per arrivare in fondo o per trovare una voce specifica. Ora ogni release è un blocco a fisarmonica: la più recente è aperta all'apertura della pagina, tutte le altre partono chiuse e si espandono con un click. Il contenuto è lo stesso di prima, cambia solo come è presentato.

Blocchi a fisarmonica, release più recente sempre in primo piano

  • All'apertura vedi subito l'ultima release espansa, con titolo, riassunto e dettagli. Tutte le altre sono compatte: vedi solo pill versione, data e riassunto in una riga. Click sul titolo per aprire.
  • Freccia indicatrice a destra di ogni titolo: punta in giù quando la release è chiusa, ruota di 180 gradi quando è aperta, così capisci a colpo d'occhio dove puoi espandere.
  • Pulsanti «Espandi tutto» e «Chiudi tutto» in alto alla pagina: se vuoi fare Ctrl+F sul testo di tutte le release o scorrere visivamente gli ultimi aggiornamenti, ti bastano due click.
  • Pagina molto più veloce da scansionare: a colpo d'occhio vedi 20 release in mezzo schermo invece che una lista infinita lunga pagine.
Versione 2.8.3

Martedì 21 aprile

2026-04-21 Fix cache: la versione mostrata nell'header ora si aggiorna sempre

Fix rapido dietro le quinte. Dopo ogni nuovo rilascio, a volte l'intestazione in alto continuava a mostrare la versione precedente (tipo «v2.7» invece di «v2.8») finché non facevi un reload forzato con Ctrl+Shift+R. Era un banale problema di cache del browser: adesso l'etichetta di versione si aggiorna automaticamente al primo reload dopo ogni deploy, senza scorciatoie da tastiera.

La pill di versione segue sempre la release in corso

  • Non serve più fare hard-reload dopo un aggiornamento. Al primo F5 la pill in alto a destra del titolo mostra la versione giusta, così capisci a colpo d'occhio se stai lavorando sulla versione più aggiornata.
  • Processo di rilascio più pulito. Dal prossimo aggiornamento il sistema invalida da solo la cache del file di versione — zero interventi manuali, zero «ma io vedo ancora la vecchia» nei ticket.
Versione 2.8.2

Martedì 21 aprile

2026-04-21 Step 5 riscritto sui 3 pilastri + bug fix step 6 e pagina manutenzione

Lo step 5 Competitor Intelligence è stato ripensato da zero. Adesso vedi 3 card affiancate — il tuo prospect al centro (evidenziato viola) con i 2 competitor locali scelti — e per ciascuno gli stessi 3 pilastri usati nel resto dell'analisi: Scheda Google, SEO organica, Presenza social. Ogni metrica dei competitor porta un badge delta («+N% vs te» verde, «-N% vs te» arancio) che rende subito evidente chi sta avanti e chi indietro. Il brief AI finale legge tutti e 3 i soggetti e produce 5 sezioni narrative pronte per l'appuntamento.

Layout 3 card affiancate: prospect + 2 competitor

  • La card del prospect è sempre presente, in evidenza con bordo viola e sfondo leggermente sfumato, badge «Tu». Le 2 card dei competitor hanno bordo grigio e badge «Concorrente A» / «Concorrente B». A colpo d'occhio capisci dove sei forte e dove sei dietro, senza dover incrociare numeri mentalmente.
  • 3 pilastri uguali per tutti e 3: Scheda Google (rating, recensioni, foto, completezza profilo), SEO organica (autorità dominio, keyword posizionate, traffico stimato), Presenza social (canali attivi su 5, follower totali, chip piattaforme). Stessi pilastri del resto dell'app — coerenza concettuale end-to-end.
  • Delta vs prospect su ogni metrica del competitor: badge verde se il prospect è davanti (gancio motivazionale: «siete meglio di loro su foto, spingiamo»), badge arancio se è dietro (leva d'urgenza: «la concorrenza ha +180 recensioni, serve recuperare»), pari se la differenza è sotto l'1%. Sul prospect nessun delta — lui è il riferimento.
  • Responsive: su desktop 3 colonne uguali, sotto 900px diventa 1 colonna e il prospect resta sempre in cima per facilitare la lettura mobile.

I dati arrivano anche quando LF non li espone

  • Enrich automatico da Google Places. Lo scan mappa di step 2 non restituisce sito web, rating, foto o indirizzo dei competitor. Ora lo step 5, prima di lanciare le analisi, fa una chiamata rapida a Google con il place_id di ciascun competitor selezionato e recupera quei campi. Questo elimina la vecchia situazione «rating 0.0 - sito web non noto» che appariva anche quando i competitor avevano sia rating sia sito reali.
  • Foto del competitor come avatar della card quando disponibile. Se Google Places non ha foto, compaiono le iniziali su sfondo grigio — niente buchi visivi.

Presenza social del competitor rilevata in automatico

  • Nuovo endpoint che scova i profili social partendo dal sito del competitor (o dal suo place_id se manca il sito). Vengono cercati link a Instagram, Facebook, LinkedIn, TikTok, YouTube. Per ogni canale trovato, il sistema legge i follower e segnala se il profilo è attivo. Cache 12 ore per non consumare crediti ripetutamente sullo stesso competitor.
  • Chip piattaforma colorati in fondo alla card Social: verde se il canale è attivo, grigio se spento. In un colpo d'occhio capisci quali dei 5 canali usa davvero ciascun competitor.

Brief strategico AI ragiona sui 3 soggetti insieme

  • Il consulente Analista Competitor legge ora i 3 set di dati (prospect + 2 competitor) insieme e produce un brief in 5 sezioni fisse: Quadro in 3 righe, Dove il prospect è davanti, Dove il prospect è dietro, 3 leve concrete, Un dato da lanciare subito. Tutte e 5 sezioni sempre presenti, così sai cosa aspettarti.
  • Priorità pillar settoriale: per locali fisici/food/beauty la sezione «dove sei dietro» da peso prima a GBP, per B2B/e-commerce prima a SEO, per retail consumer prima a Social. L'AI sa quale pilastro vale di più in base al settore del prospect.
  • Zero numeri inventati: se un dato manca viene scritto «non misurato», se il delta manca la leva corrispondente viene omessa. Meglio meno leve solide che 5 leve con numeri finti.

Rimosse le card «Stack tecnico» e «Ads Library» dallo step 5

  • Stack tecnico era duplicato: lo si vede già sul prospect nello step 3 Web & SEO. Mostrarlo anche sui competitor ingombrava senza aggiungere narrativa.
  • Ad Library (Meta/Google/LinkedIn) rimaneva quasi sempre a zero per competitor locali piccoli che non fanno campagne. Restituiva più rumore che valore. L'endpoint backend resta attivo e potrà tornare come feature separata per brand medio-grandi.

Pagina manutenzione più «viva» durante gli aggiornamenti

  • Barra di avanzamento mai bloccata al 99%. Prima la progress bar della pagina di manutenzione poteva impuntarsi a 95-99% e dare l'idea che l'aggiornamento fosse «fermo». Ora la curva sale sempre, lentamente ma in modo monotono: dopo 30 secondi sei attorno al 48%, a 2 minuti sul 92%, a 4 minuti quasi 99%. Quando l'aggiornamento finisce davvero, scatta rapidamente a 100% e poi parte il redirect verso la home.
  • I contatori «Agenti attivi / Bug risolti / Migliorie» ora si muovono nel tempo. Anche tenendo la finestra aperta per minuti, i numeri avanzano: bug risolti +1 ogni 8-14 secondi, migliorie +1 ogni 12-20 secondi, agenti attivi che oscillano tra 10 e 18. Niente più schermata statica — la pagina sembra viva anche quando non stai guardando.
  • Fine manutenzione: redirect diretto alla home, non più al tuo punto di partenza. Se eri su una pagina interna quando è iniziato l'aggiornamento, a fine lavori atterri comunque sulla home — più pulito, niente tab che riaprono dashboard vecchie.

Step 6 Diagnosi e Proposta: risolto il crash sui prospect già salvati

  • Aprire lo step 6 su un prospect recuperato dallo storico non manda più in errore il calcolo. Succedeva quando voti, rating e metriche di scansione arrivavano dal database come testo invece che come numeri: il sistema provava a formattarli come numeri e si bloccava con schermata bianca. Ora c'è una normalizzazione automatica che, all'apertura dello step 6, converte tutti i valori numerici (rating, recensioni, punteggi di visibilità, autorità dominio, traffico, keyword totali) nel formato giusto prima di ogni calcolo e rendering.
  • Effetto pratico: puoi ripartire da un prospect chiuso mesi fa, entrare in step 6 e generare una proposta nuova senza toccare niente. Prima capitava di dover rieseguire tutte le analisi da zero per sbloccare il crash.
Versione 2.7

Martedì 21 aprile

2026-04-21 Nuovo step 5 «Competitor Intelligence» con Ad Library multi-piattaforma

Il flusso passa da 5 a 6 step: prima di chiudere con diagnosi e proposta, si analizzano in profondità i 2 competitor locali del prospect — stack tecnico, SEO, e soprattutto presenza pubblicitaria su Meta, Google, LinkedIn e Reddit. La vecchia card «confronto competitor» dello step 3, che mostrava valori a zero, è stata rimossa: il confronto vero vive adesso nel suo step dedicato.

Nuovo step 5 «Competitor Intelligence»

  • Il flusso passa da 5 a 6 step: tra Social (step 4) e Diagnosi & Proposta (ora step 6) si inserisce Competitor Intelligence. La pill versione in topbar, la flowbar, il popup di intermezzo e lo Storico prospect riflettono già il nuovo flusso — nulla da fare per l’agente, la navigazione è coerente ovunque.
  • Selezione competitor da Local Falcon: i due competitor analizzati vengono presi dallo scan mappa dello step 2, pre-selezionati sui due con SoLV più alto. Puoi cambiarli a mano da dropdown se vuoi confrontare prospect diversi.
  • Per ciascuno dei due, tre card: SEO & dominio (Zoom Authority, keyword posizionate, traffico stimato), Stack tecnico (CMS, versione, SSL, builder, analytics), Presenza advertising. Le card caricano in parallelo: anche se una fallisce le altre restano leggibili.
  • Brief strategico AI con doppia conferma: bottone «Genera brief strategico» che attiva il consulente Analista Competitor (modello premium) con i dati raccolti per i due competitor, per una sintesi pronta da usare in appuntamento.

Presenza advertising su 4 piattaforme

  • Check automatico se il prospect e i competitor investono in ads su Meta (Facebook/Instagram), Google (Search/Display/YouTube/Shopping), LinkedIn e Reddit. Per ciascuna piattaforma: badge attivo/non attivo, numero annunci, data first-seen, campione dei primi creativi rilevati.
  • Tre letture commerciali immediate: (1) prospect già investe in ads → cliente maturo, budget esistente, upsell più facile; (2) competitor fanno ads e il prospect no → leva perfetta per proporre un pacchetto ads; (3) solo 1-2 platform attive → opportunità di espansione cross-canale.
  • Cache 24 ore per chiave brand+piattaforma: riaprire lo stesso prospect il giorno dopo è istantaneo e non consuma nuovi crediti. Query normalizzate (lowercase+strip) per massimizzare i cache hit cross-agente.
  • Nessun tech leak: eventuali errori upstream sono neutralizzati («servizio non disponibile», «limite richieste temporaneo»), mai nomi di provider esposti all’agente.

Rimossa la card «Confronto competitor» rotta dallo step 3

  • Da sempre mostrava valori a zero tranne i totali, ed era stata messa in step 3 per praticità ma senza una narrativa chiara. Eliminata completamente con CSS e JS orfani puliti (-696 righe). Al suo posto un teaser verso il nuovo step 5 che anticipa cosa l’agente troverà nell’analisi approfondita.
  • Lo step 3 resta focalizzato sul prospect: metriche SEO, keyword, tech stack del suo sito. Il confronto competitor ora vive dove serve davvero, con dati reali.

Consulenti AI disabilitati finché le analisi non sono pronte

  • I bottoni dei consulenti AI ora sono grigi (opacità ridotta, cursore bloccato) finché non sono stati completati i passi propedeutici. Con hint chiaro sotto il bottone: «⚠ Manca: scan mappa · analisi SEO». Appena completi i passi, il bottone torna viola acceso in automatico.
  • Copertura totale: Consulente GBP + Sentiment (step 2), Consulente SEO (step 3), Stratega Social (step 4), Direttore Commerciale + Gestione Obiezioni (step 6). Sul nuovo step 5 la logica esisteva già ed è allineata.
  • Perché: cliccare il consulente senza dati propedeutici produceva analisi AI inutili o fuorvianti. Meglio bloccare a monte e guidare l’agente a completare ciò che serve.

Stratega Social: niente più «Piano di spinta» prescrittivo

  • Rimossa la sezione «Piano di spinta (3 mesi)» dall’output del consulente Stratega Social. Non è competenza della persona prescrivere cadenze operative mese-per-mese — quelle decisioni spettano al team content dopo la vendita.
  • Output ora diagnostico, non prescrittivo: presenza attuale, canali che funzionano, gap e opportunità, contenuti che mancano, gancio commerciale. Stessa politica già applicata a Consulente SEO e GBP.

Step 5 Competitor Intelligence: 4 bug fix

  • Titolo hero leggibile. Il titolo principale era testo viola chiaro su gradient viola (testo fantasma). Ora tutto bianco su viola, contrast alto.
  • Reddit Ads rimosso. L’endpoint restituiva sempre ~30 ads fittizi indipendenti dal brand cercato. Piattaforma eliminata dal probe. Restano Meta, Google e LinkedIn, coerenti.
  • Sito web del competitor preservato. Lo scan Local Falcon di step 2 non salvava il campo website nei top 10 competitor: step 5 mostrava sempre «Sito web non noto» anche se il sito c’era. Ora il website arriva correttamente e le card SEO & Stack tecnico del competitor si popolano.
  • Ads: tre stati distinti per piattaforma. Prima, quando un piccolo business non aveva inserzioni, il badge spariva del tutto generando confusione. Ora: verde se attivo, neutro «Nessuna inserzione rilevata» se davvero non fa ads, grigio «Dato non disponibile» solo su errore upstream. Distinguere i tre casi serve a non confondere mancanza di dati con mancanza di investimento.
Versione 2.6

Martedì 21 aprile

2026-04-21 Tech stack sito + completezza analisi + benchmark settore + breakdown Opus

Quattro miglioramenti d’impatto in un colpo solo. Nello step 3 vedi che tecnologia gira il sito del prospect (WordPress? quanto vecchio? SSL?). Nella dashboard storico ogni prospect mostra quali dei 5 step sono stati fatti. Nello step 5 vedi dove si colloca il prospect rispetto alla media del suo settore in zona. In area admin, la sezione AI & Costi separa Sonnet da Opus per capire chi brucia budget.

Stack tecnico del sito (step 3 Web & SEO)

  • Nuova card «Stack tecnico» nello step 3. Quando il prospect ha un sito, il sistema lo scansiona (solo HTML di superficie, zero intrusione) e mostra: CMS (WordPress / Shopify / Joomla / ecc.) con versione, SSL attivo/mancante, builder (Elementor, Divi, Gutenberg), motore ecommerce, script analytics (GA4 / Meta Pixel / GTM / Hotjar), framework (jQuery versione, Bootstrap, React). Info operative a colpo d’occhio.
  • Alert di severità evidenziati in rosso: «Niente SSL», «WordPress 4.x obsoleto», «Mixed content (HTTPS + HTTP)», «jQuery <3.x», «Niente viewport mobile». Se almeno uno è «high», compare un gancio commerciale: il prospect è candidato forte per il pacchetto sito.
  • Scansione sicura e veloce: timeout 6 secondi, 3 redirect max, nessun IP privato accettato. Cache 24 ore, quindi la seconda volta che apri lo stesso prospect è istantaneo.

Completezza analisi nella dashboard storico

  • Ogni prospect nella dashboard mostra 5 pallini: uno per ciascuno step (Scheda, Mappa, Web & SEO, Social, Proposta). Verdi se lo step è stato fatto, grigi se manca. Accanto vedi anche il testo «X/5 step».
  • Tooltip con dettaglio: passando col mouse sopra i pallini, leggi esattamente quali step sono fatti e quali mancano. Utile quando prepari un appuntamento: capisci in 2 secondi se l’analisi è già pronta o se serve ancora qualcosa.
  • Zero chiamate in più: il dato arriva dentro la stessa richiesta che già popola la dashboard. Caricamento resta rapido anche con centinaia di prospect.

Benchmark di settore in zona (step 5)

  • Sotto il punteggio totale dello step 5 appare una riga contestuale: «Parrucchieri a Milano: media 64/100 (campione 23 analisi)». Così lo score del prospect smette di essere un numero isolato e si capisce subito se è sopra o sotto la concorrenza di zona.
  • Badge colorato: verde «+23% vs media» se il prospect è meglio della concorrenza (gancio motivazionale, «siete già sopra, spingiamo»); arancio «-36% vs media» se è sotto (leva vendita: «la concorrenza di zona sta meglio»).
  • Solo con dati reali: se in zona ci sono meno di 5 analisi della stessa categoria, la riga diventa «campione insufficiente» invece di dare una media inaffidabile. Niente numeri inventati.
  • Fallback nazionale: se la tua città ha pochi dati, il benchmark ripiega sulla media nazionale per quella categoria, chiaramente etichettato come tale.

Admin «AI & Costi»: Opus separato da Sonnet

  • Nuova sezione «Consumo per modello» sotto ai numeri aggregati: due card affiancate, una Standard (Sonnet, verde) e una Premium (Opus, viola). Per ciascuna: costo, numero chiamate, token in/out, percentuale sul totale. Così capisci a colpo d’occhio dove brucia il budget.
  • Tabella per agente con nuova colonna «Opus %». Se un agente ha il 70% del costo su Opus, è un campanello: sta usando troppo spesso i consulenti strategici (Direttore Commerciale, Consulente SEO/GBP, Gestione Obiezioni, Analista Competitor). Colore viola ≥50%, arancio ≥20%, grigio <20% — segnali visivi immediati.
  • Completa il lavoro di v2.5.0: lo split per modello era già attivo dentro i totali; ora è anche visualizzato esplicitamente nel pannello, senza dover fare calcoli a mano.
Versione 2.5

Martedì 21 aprile

2026-04-21 Badge «già analizzato» + scoring più preciso + costi AI onesti

In ricerca prospect ora vedi subito chi ha già toccato quella scheda (tu o un altro agente) con nome e data, senza doverlo cercare in storico. Il punteggio totale del prospect è stato corretto in un punto che lo sottostimava sistematicamente. Il pannello admin «AI & Costi» ora dice il costo reale delle chiamate AI premium, non quello scontato.

Badge «Già analizzato» in ricerca prospect

  • Sotto ogni card in step 1 appare un badge se il prospect è già stato analizzato da te o da un collega. Prima lo vedevi solo se il prospect era «in gestione» (lock rosso); ora lo vedi anche quando è semplicemente stato aperto una volta, così eviti di rifare scan/analisi già fatte e risparmi tempo + chiamate API.
  • Due colori per distinguere: ambra «Già analizzato da [Nome], il [data]» per prospect di altri agenti, viola «Già analizzato da te il [data]» per i tuoi. La card resta selezionabile: il badge è un promemoria, non un blocco — se serve ri-analizzare per aggiornamento, sei libero.
  • Zero azione richiesta. Il controllo avviene in automatico al caricamento dei risultati di ricerca, come già avviene per i badge di «in gestione».

Scoring prospect: punteggio totale finalmente onesto

  • Il totale X/120 era sottostimato per tutti. Uno dei check del pilastro Web SEO (peso 11) era legato a un dato che non raccogliamo più dal 20 aprile → tornava sempre zero, portando via 11 punti a ogni prospect anche quando il sito era autorevole.
  • Ora quel check guarda la Zoom Authority del dominio, già calcolata dal nostro provider SEO principale (scala 0-100). Scaglioni: 0-15 debole, 16-35 emergente, 36-55 consolidato, 56-75 forte, 76+ autorevole.
  • Cosa cambia in pratica: i prospect con sito web autorevole (blogger, portali, siti consolidati) ora vedono un totale realisticamente più alto. Nessuno perde punti — si correggono solo i falsi-negativi.

Pannello «AI & Costi»: tariffe per modello corrette

  • Il pannello admin stimava il costo AI al ribasso di ~5 volte sulle chiamate premium (Direttore Commerciale, Consulente SEO/GBP, Gestione Obiezioni, Analista Competitor). Tutte le chiamate venivano conteggiate al prezzo base, anche se i consulenti strategici girano da giorni su un modello più potente e costoso.
  • Ora lo split è per modello: token e costi sono raggruppati separatamente (base vs premium) e il totale somma le due tariffe reali. Il pannello «AI & Costi» ora mostra un numero fedele — utile per monitorare volumi e decidere soglie.
  • Nessun impatto sugli agenti: l’esperienza di uso dei consulenti AI non cambia, solo l’etichetta del costo lato admin.

Admin: «Analytics» ora vive dentro il tab Ticket

  • Uno slot di tab risparmiato, zero duplicazione concettuale. I due tab erano due facce dello stesso dominio: la lista dei ticket e le metriche sui ticket (totali, MTTR, hot spot step, top reporter, pattern errori console). Ora sono uniti: dentro il tab «Ticket» ci sono due pill in alto — Lista ticket e Analytics — e si passa da una all’altra senza ricaricare pagina.
  • La barra dei tab admin passa da 10 a 9 elementi. Respira di più su schermi piccoli e riduce il «rumore» visivo. I filtri (periodo / categoria / severità) restano identici sotto la pill Analytics; i chart Chart.js vengono costruiti e distrutti in automatico al cambio di view per evitare fughe di memoria.
  • Vecchi link al tab «Analytics» restano validi: se arriva qualcuno con un bookmark o un deep link, viene aperto direttamente Ticket → Analytics. Nessuna pagina rotta.
Versione 2.4

Martedì 21 aprile

2026-04-21 Il prodotto ha le versioni

Da qui in poi il prodotto ha versioni. Congelato lo stato attuale come Versione 2.4, visibile nella pill accanto al titolo in alto e nell’intermezzo tra gli step.

Ora il prodotto ha le versioni

  • Pill «v2.4» in alto a destra del titolo, visibile in ogni pagina. Click sulla pill → apre questa pagina di novità, così con un colpo d’occhio sai che versione stai usando e cosa è cambiato di recente.
  • Intermezzo tra uno step e l’altro: adesso c’è scritto «MODELLO v2.4 · Pagine Sì! AI» nel popup di analisi. Prima era un’etichetta fissa, ora segue automaticamente la versione vera del prodotto — quando rilasceremo 2.5, 2.6, 3.0, si aggiorna senza intervento manuale.
  • Ogni release nel changelog ha la sua etichetta di versione. Da oggi: Versione 2.4, Versione 2.5, ecc. Bugfix minori alzano la terza cifra (2.4.1, 2.4.2), nuove feature la seconda (2.5, 2.6), cambi strutturali importanti la prima (3.0).

Lunedì 20 aprile

1 release

Lunedì 20 aprile

2026-04-20 UX ricerca + resilienza server + nuovo provider SEO

Ricerca prospect rivista a fondo: badge opportunità uniforme su tutte le card, allineamenti perfetti anche con dati mancanti, hover leggibili. Server più resistente ai crash automatici. Tracking delle chiamate API reali ora onesto. Nuovo provider dati SEO SEOzoom integrato in convivenza con il fornitore precedente.

Ricerca prospect

  • Badge «Opportunità» uniforme su tutte le card. Prima il piccolo pill in alto a destra (stile «OPP ECCELLENTE») era difficile da leggere e incoerente con il badge orizzontale viola che appariva solo sulle card Moderata. Ora tutte le card (Eccellente / Buona / Moderata) mostrano lo stesso badge orizzontale colorato sotto il titolo: verde per Eccellente, arancio per Buona, viola per Moderata. Indicazione chiara, uniforme, leggibile a colpo d’occhio. Il ribbon luminoso in cima resta solo sulle Eccellente per enfatizzare i lead premium.
  • Card allineate anche quando mancano dati. Prima se un prospect non aveva telefono / social / sito, la card collassava e nelle righe della griglia i contenuti delle card adiacenti non si allineavano verticalmente. Ora ogni riga (telefono, tag, categorie, social, bottoni) ha uno spazio riservato: se il dato manca resta uno spazio bianco con placeholder grigio («Telefono non pubblicato», «Nessun sito» dashed) invece di far scivolare tutto. I bottoni «Google Maps» e «Apri sito» sono sempre fissati in fondo alla card.
  • Titoli di lunghezza variabile non disallineano piu’ le card. Nomi lunghi (es. «Centro Pedagogico e Mediazione Familiare Dovara Dott.ssa Francesca») e nomi corti restavano a altezze diverse, l’occhio perdeva il filo. Ora il titolo occupa sempre fino a 2 righe (anche se il nome sta in una sola) e i titoli oltre le 2 righe vengono troncati con «...». Stesso trattamento per l’indirizzo. Tutti i nomi delle card nella griglia sono allineati sulla stessa base.
  • Titolo scollato dal ribbon Eccellente. Sulle schede con il ribbon rosa «OPPORTUNITA’ ECCELLENTE» in cima, il titolo era schiacciato contro il ribbon. Ora c’è aria tra i due: il titolo rimane visivamente coeso con l’indirizzo sotto (blocco «header») e staccato dall’elemento promozionale sopra.
  • Titolo + indirizzo mai staccati quando il titolo è corto. Nel fix di prima titolo e indirizzo avevano spazio fisso indipendentemente: se il titolo era di una riga sola, fra titolo e indirizzo si formava un vuoto innaturale. Ora titolo e indirizzo sono un blocco coeso — se entrambi sono corti lo spazio vuoto si forma SOTTO il blocco (prima del badge opportunità), mantenendo comunque l’allineamento del badge opportunità tra card adiacenti.
  • Fix leggibilità hover sui bottoni card. Passando col mouse sopra i bottoni «Google Maps» / «Sito» il testo diventava viola su sfondo viola (illeggibile). Ora lo sfondo hover è tinta chiara, testo viola scuro ben visibile.

Infrastruttura

  • Resilienza server: auto-respawn su crash. Il processo del server a volte veniva terminato in silenzio dal sistema (limiti di memoria del container SiteGround). Prima il primo utente che beccava il down vedeva un errore 502 e il processo restava morto finché qualcuno non faceva altre richieste. Ora: (1) se un utente becca il server morto, il proxy lo fa ripartire automaticamente e ritenta la richiesta (ritardo di ~5 secondi invece di errore), (2) ogni restart viene registrato, (3) il pannello admin → Metriche mostra in fondo il timeline degli ultimi 14 giorni e la tabella degli ultimi 20 restart. Se il processo viene killato piu’ di 5 volte al giorno, è un problema sistemico da aprire con SiteGround support.
  • Panoramica admin: conteggio chiamate API più onesto. Prima il tracking contava le azioni dell’agente (1 ricerca = 1 chiamata, 1 scan = 1 chiamata) ma in realtà ogni scan di Local Falcon fa 10+ chiamate interne al servizio, una analisi SEO ne fa ~5, AI Visibility ne fa 5. Aggiunta una riga viola sotto ogni provider che mostra le chiamate API reali dal riavvio del server. Il costo effettivo adesso si vede a colpo d’occhio. Nota: si resetta al riavvio (per lo storico serve sempre guardare la scheda AI & Costi).
  • Notifiche: click da pannello = lette anche dopo la navigazione. Il click su una notifica nel pannello campanella marcava come letta, ma la navigazione alla pagina collegata a volte interrompeva la chiamata prima che arrivasse al server: al caricamento della pagina successiva la campanella si riaccendeva. Ora la chiamata è protetta con un flag che la tiene viva anche durante il cambio pagina. Nessuna piu’ riapparizione fantasma.
  • Fix respawn server: niente piu’ «porta già in uso». Sotto carico, la verifica di salute del server a volte impiegava più di 3 secondi e il sistema concludeva erroneamente «server morto», provando a farne partire uno nuovo mentre il vecchio era ancora in esecuzione. Risultato: errore «Errno 98 address already in use». Ora: (1) doppio tentativo di probe con timeout progressivo prima di decidere, (2) se il vecchio processo è ancora vivo ma bloccato, viene terminato con SIGTERM/SIGKILL prima di spawnare il nuovo, (3) lock file impedisce che due respawn paralleli (cron + proxy) partano insieme.
  • Fix eliminazione prospect dallo storico. Il bottone X in dashboard.html tornava un errore 500 silenzioso quando il prospect aveva snapshot social o analisi AI in cache collegate. Il database non sapeva cosa fare di quelle righe e rifiutava l’eliminazione. Ora al delete di un prospect vengono rimossi anche gli snapshot social storici e la cache AI del prospect. In piu’ il bottone mostra un messaggio visibile se l’eliminazione dovesse fallire per qualsiasi motivo (prima fallimento silenzioso = bottone apparentemente inerte).

Consulenti AI sempre disponibili

  • Bottoni Consulente SEO / Consulente GBP / Stratega Social sempre visibili, anche prima di aver fatto scan o quando mancano dati. Prima erano nascosti finché non avevi i dati completi. Ora compaiono da subito in cima alla pagina, così l’agente può chiedere supporto AI anche davanti a un prospect con poche informazioni digitali.
  • Assenze trattate come opportunità commerciali, non come blocchi. Prima i consulenti rispondevano «dati insufficienti per analizzare» se mancavano scan o sito web. Ora leggono le assenze come leve di vendita esplicite. Esempi: «il prospect non ha sito» → raccomandazione diretta di proporre Si2S-PM con gancio-frase pronto; «scan social non ancora fatto» → il consulente spiega cosa cercare e suggerisce di lanciare lo scan prima dell’appuntamento; «sentiment non generato» → il consulente usa comunque i numeri di rating/recensioni e avverte l’agente che l’analisi testuale aggiungerebbe valore.
  • Callout «dati parziali» con scelta esplicita. Se l’agente clicca il consulente AI e mancano dati chiave, compare un piccolo avviso: «Alcuni dati non sono ancora stati raccolti (scan social non fatto / sito non presente / ...). Vuoi comunque ricevere un’analisi o preferisci completare prima gli step mancanti?» con due bottoni. Utile in appuntamento: se il tempo stringe, chiedi subito il brief con dati parziali; se hai più tempo, completa gli step per analisi più ricca.
  • Ogni risposta AI termina con la sezione «Gap e opportunità aperte», che elenca esplicitamente le assenze rilevate e per ciascuna il gancio commerciale pronto da usare. Anche se tutti i dati sono presenti la sezione c’è (vuota o con "Nessun gap rilevante") per consistenza visiva.

Nuova Documentazione

  • Wiki completa del prodotto in /docs.html. Una singola pagina in stile wiki-SaaS (sidebar navigabile, ricerca istantanea, 19 sezioni) con tutto il materiale a nostra disposizione: flusso commerciale in 5 step, i 9 Consulenti AI, dashboard e storico, lock system, ticket, notifiche, tips operativi, requisiti server, architettura, deploy, sicurezza, pannello admin, utenti e ruoli, integrazioni API, manutenzione operativa, riferimento endpoint, troubleshooting e changelog highlights. Accessibile dal CTA «Guida completa» nella pagina Scopri.
  • Ricerca client-side con scorciatoia da tastiera: premi / in qualsiasi punto di /docs.html per saltare al campo di ricerca; la sidebar e le sezioni principali filtrano in tempo reale mentre digiti. Esc svuota la ricerca.
  • Target misto: la prima metà della wiki è per gli agenti (come usare il prodotto), la seconda per admin e team IT (deploy, sicurezza, resilienza, API). Link incrociati tra le sezioni per passare rapidamente dal "cosa faccio io in UI" al "cosa succede sotto".

Nuovo provider dati SEO (SEOzoom)

  • Integrazione SEOzoom come provider dei dati SEO del prospect (overview dominio, keyword posizionate, competitor, best pages, keyword research). Dal momento in cui l’admin popola la chiave API, il backend serve questi dati esclusivamente da SEOzoom. Backlinks e visibilità AI multi-motore (ChatGPT / Gemini / Perplexity / AI Overview) restano invece sempre sul provider dedicato — due fonti, due responsabilità chiare.
  • Contatori API del pannello admin aggiornati con la nuova riga «SEOzoom» in Panoramica. Vedrai sia le azioni UI sia le chiamate API reali dal riavvio del server, esattamente come per gli altri provider. La chiave si configura da Admin > API Keys con la stessa procedura di tutte le altre (preview mascherato, salvataggio cifrato a riposo, effetto immediato senza restart).
  • Nessuna azione richiesta agli agenti — lo switch è trasparente lato pagine di analisi SEO. Continui a usare la stessa interfaccia, cambia solo la fonte dei dati sotto il cofano.
  • Attivazione live verificata: dopo l’inserimento della chiave da Admin > API Keys, i dati di overview (traffico organico, keyword totali, distribuzione top 1-5), le keyword posizionate (con volume mensile, intent, difficoltà), i competitor principali e le best pages vengono ora serviti da SEOzoom. Esempi verificati su repubblica.it, paginesi.it, misya.info — tutti con dati completi e consistenti con la fonte dati storica.

Aggiornamenti UX e workflow

  • Badge di provenienza dati SEO in ogni sezione. Su Web & SEO (Step 3) ogni riquadro mostra un’etichetta che identifica il provider accanto al titolo. Così l’agente vede a colpo d’occhio da dove arrivano i numeri di METRICHE DOMINIO, DISTRIBUZIONE POSIZIONI, TOP KEYWORD, COMPETITOR ORGANICI.
  • Visibilità AI: ora puoi vedere quali keyword/prompt attivano link e menzioni. Su Web & SEO nella sezione "Visibilità AI", dopo l’analisi ogni motore (ChatGPT, Gemini, Google AI Overviews, Perplexity) ha un nuovo bottone "Vedi dettaglio query". Click → si apre una tabella con le keyword precise su cui il motore cita il sito o menziona il brand, con volume di ricerca/mese e tipo (LINK al sito / menzione BRAND / entrambi). Dati presi dal campione di settore, quindi non esaustivi ma rappresentativi.
  • Notifiche: marcate lette anche se apri il ticket dalla dashboard. Prima: click sulla notifica in campanella → apriva il ticket, ma a volte la campanella restava con il badge rosso per via della navigazione che interrompeva la chiamata. Ora: quando entri in un ticket dal link notifica o dal widget "I miei ticket", il server marca le notifiche collegate come lette in modo affidabile, la campanella si aggiorna in automatico.
  • Cattura schermata automatica nei ticket. Aprendo il modulo feedback, oltre al solito "Carica file" c’è ora un bottone "Cattura pagina corrente": con un click la pagina viene fotografata e allegata automaticamente al ticket. Utile quando devi segnalare un problema visuale senza aprire screenshot app esterne. La cattura esclude il widget feedback stesso, le notifiche e i banner, così la foto mostra solo la parte di prodotto rilevante.
  • Banner "Nuova versione disponibile": facoltativo, non più bloccante. Era stato reso obbligatorio nel tentativo di evitare utenti su JS obsoleto, ma bloccava anche la pagina di login (impossibile loggarsi mentre l'overlay copriva tutto). Tornato al comportamento facoltativo: bottone "Più tardi" accanto a "Ricarica adesso", X in alto a destra, ESC per chiudere, click fuori dal modal per chiudere. Il banner riappare comunque al successivo cambio di build: l'utente viene comunque avvisato, ma può finire il login prima di ricaricare.

Confronto competitor locali direttamente nello step 2

  • Nuova card «Confronta con i competitor locali» in fondo allo step 2 (Visibilità Locale). Dopo lo scan mappa, il sistema auto-seleziona i 2 competitor con la quota di visibilità più alta; li puoi sostituire a mano con un dropdown se ne vuoi analizzare altri. Click su «Analizza confronto» e in 5-10 secondi parte la raccolta dati.
  • Tabella side-by-side con 5 pilastri. La tabella confronta il prospect con i 2 competitor su Scheda Google, Reputazione, Visibilità locale, SEO, Sito web, più il totale aggregato. Delta evidenziato: 🟢 verde quando un competitor sta davanti al prospect (campanello: dove la vendita è urgente), 🔴 rosso dove il prospect è davanti (gancio motivazionale da giocare in apertura appuntamento).
  • Brief comparativo AI con doppia conferma. Sotto la tabella c'è il bottone «Genera brief comparativo»: nuovo consulente AI dedicato (Analista Competitor, modello Opus) che legge prospect + 2 competitor + delta e produce una lettura commerciale in 5 sezioni (Quadro, Dove sei dietro, Dove sei avanti, 3 leve concrete, Un dato da lanciare subito). Il bottone ha la stessa doppia conferma dei brief di step 5 per evitare missclick.
  • Niente nuove API, niente nuovi costi fissi. Usa dati che avevamo già (scheda Google del competitor + dati SEO del suo dominio). Costo runtime: ~6 centesimi per confronto. Cache automatica di 24 ore: se riapri il confronto lo stesso giorno, zero costo aggiuntivo.

Sezione Visibilità AI e box backlinks rimossi dallo step 3

  • Rimossa la sezione «Visibilità AI» (ChatGPT / Gemini / Google AI Overviews / Perplexity) dallo step Web & SEO. Era una feature bella ma dipendeva da un provider dati a pagamento che costava troppo rispetto alla frequenza d'uso reale. Tornerà in futuro se troviamo un'alternativa sostenibile.
  • Rimosso il box «Profilo autorità e backlink». Stesso motivo: il conteggio backlink / refdomains arrivava dallo stesso provider disattivato. L'autorità del sito resta visibile nella card Metriche Dominio (Zoom Authority), calcolata dal nostro provider SEO principale.
  • Pre-check tra step 2 e 3 semplificato. La schermata intermedia ora mostra una singola riga di verifica («Panoramica SEO del dominio») invece di due.
  • Consulente SEO aggiornato. Il consulente non farà più affermazioni sulla copertura automatica sui motori AI generativi (perché il dato non esiste più in input). Se il tema è pertinente lo cita qualitativamente come opportunità da verificare manualmente.

Brief commerciale AI in diagnosi + modello di maggior qualità sui consulenti strategici

  • Nuova card «Brief commerciale AI» nello step 5 (Diagnosi & Proposta). In cima alla pagina due bottoni affiancati: «Direttore Commerciale» e «Gestione Obiezioni». Il primo produce una sintesi 360° di tutto il lavoro fatto negli step 1-4 + prodotti PagineSi prioritizzati; il secondo anticipa 5-7 obiezioni tipiche con risposte pronte per l'agente. Entrambi funzionano con un solo click, usando in automatico tutti i dati già raccolti (scheda Google, mappa, SEO, social, sentiment, scoring, prodotti selezionati).
  • Modello AI di maggior qualità per i consulenti strategici. Le letture più delicate (Consulente SEO, Consulente GBP, Direttore Commerciale, Gestione Obiezioni) girano ora su un modello AI più potente: sintesi più nitide, ragionamento più strutturato, anticipazione obiezioni più realistica. I consulenti tattici (sentiment, social, reputazione, local) restano sul modello più rapido, dove la qualità già era adeguata. Leggera latenza in più sui consulenti strategici (6-10 secondi invece di 2-4), accettabile perché il brief si usa in asincrono prima dell'appuntamento.
  • Bottone «Rigenera» sulle analisi AI. Dopo aver generato un brief, se vuoi una seconda lettura (diversa angolazione) clicca «Rigenera» accanto al badge cache: forza una nuova chiamata bypassando la cache.

Consulente SEO piu' preciso: niente metriche sbagliate, niente consigli fuori categoria

  • Niente più «DA» (Domain Authority) nell'analisi. Il consulente diceva «DA 24» ma Domain Authority è una metrica di un altro tool: il nostro provider dati espone un punteggio diverso. Ora nell'output vedi sempre «Zoom Authority» (o «ZA»/«autorità del sito»). Scala leggibile: 0-15 dominio debole, 16-35 emergente, 36-55 consolidato, 56-75 forte, 76+ autorevole. Fine della confusione terminologica.
  • Rimossa la sezione «Priorità operative». Non è competenza del consulente SEO prescrivere interventi; il suo compito è leggere e spiegare. L'output ora si chiude con «Top 10 keyword da lavorare» seguita da «Gap e opportunità aperte». Stessa politica già applicata al Consulente GBP.
  • Top 10 keyword strettamente legate alla categoria reale. Prima capitava di leggere «neuropsichiatria infantile Parma» nel brief di un logopedista: confusione tra professioni affini ma distinte. Regola ferrea nel prompt: la lista usa SOLO keyword della professione effettiva del cliente (logopedia → linguaggio, balbuzie, dislessia, disfonia, deglutizione; dentista → implantologia, ortodonzia, sbiancamento, igiene; parrucchiere → taglio, colore, piega, extension). Se la categoria Google contiene più etichette, il consulente usa la più specifica come ambito.

Classifica Feedback: chi scopre più bug e UX guadagna punti

  • Nuova pagina /leaderboard.html. Classifica degli agenti basata sulle segnalazioni effettivamente integrate in produzione. Punteggio: Bug = 3 punti, UX = 2 punti, Nuova feature = 5 punti. Due tab timeframe («Questo mese» / «Sempre») e quattro tab categoria (Totale / Bug / UX / Feature). Podio top 3 con ori/argenti/bronzi, tabella completa dal 4° in giù. L'admin è escluso dal conteggio.
  • Widget classifica sulla hub. In index.html subito sotto il banner marketing appare una card compatta con i top 3 del mese e il link «Vedi classifica completa». Si aggiorna automaticamente, fallback silenzioso se non ci sono ancora feedback integrati.
  • Admin: checkbox «Integrato in produzione». Nella modale di gestione feedback dell'admin è apparsa una casella verde dedicata: va spuntata solo quando il feedback è davvero passato in prod (separato dallo status «chiuso» che copre anche duplicati, won't fix, non riproducibile). Solo i feedback con questa spunta entrano nella classifica.
  • Card «I miei punti» nel pannello ticket. Nel tab «ticket» della dashboard utente ogni agente vede i propri punti in tempo reale: totale + conteggio per categoria. Sotto, i badge sbloccati: «Bug hunter» (≥10 bug integrati), «UX lover» (≥5 UX integrati), «Visionario» (≥3 feature integrate). Motivazione simbolica, niente premi materiali.
  • Badge «Integrato» sui ticket personali. Il widget «I miei ticket» mostra un badge verde accanto ai ticket che l'admin ha contrassegnato come integrati in produzione: l'agente vede subito quali delle sue segnalazioni sono state davvero implementate.

Consulenti AI piu' precisi + stampa Audit completa

  • Analisi Sentiment: niente più inferenze sul non visto. L'analista non proporrà più frasi tipo «tra le altre recensioni probabilmente ce ne sono di negative» o calcoli di gap statistici tra rating aggregato e campione: sono speculazioni non autorizzate dai dati. L'output ora dice solo cosa emerge dal campione visibile, lasciando all'agente la verifica del resto.
  • Consulente GBP: niente più «verifica manualmente». Rimossi dall'output i bullet del tipo «controlla sulla scheda se X»: se un elemento non è rilevabile automaticamente, non viene più citato. La sezione «Carenze» è diventata «Carenze auto-rilevate» e cita solo gap effettivamente misurabili (foto, categoria, orari, telefono, sito, rating).
  • Consulente GBP: rimossa la sezione «Azioni concrete per migliorare». Il consulente ora diagnostica senza prescrivere interventi operativi (non sono competenza dell'agente commerciale).
  • Consulente SEO: sempre 10 keyword, anche senza dati di mercato. Prima capitava di leggere «lanciare la ricerca keyword prima di proporre il piano»: scomparso. Ora il consulente propone sempre 10 keyword basate su categoria + città + servizi tipici del settore. Quando il volume/CPC non è noto scrive «n.d.» ma la keyword c'è, con motivazione dell'intento.
  • Pre-check SEO all'ingresso dello step 3. Nel passaggio tra Visibilità locale e Web & SEO, il loader ora mostra in parallelo due check: «Panoramica SEO del dominio» e «Profilo autorità e backlink». L'agente vede subito se uno dei due è vuoto/non disponibile, senza sorprese in pagina.
  • Visibilità AI: avviso intento locale. Quando apri la card di un motore (ChatGPT / Gemini / Google AI Overviews / Perplexity) e il business ha una città definita, compare un banner giallo di avviso: le query nel campione sono generiche, per un check locale serve aggiungere il nome città (es. «idraulico Lecce»). Evita conclusioni errate su presenza/assenza dal motore AI.
  • Stampa Audit completo dettagliata. Il bottone «Stampa Audit» ora produce un documento impaginato in 6 pagine: copertina cliente, anagrafica, visibilità locale, Web & SEO, social + sentiment, diagnosi finale. Include le interpretazioni AI già generate e fa «skip elegante» sui dati mancanti invece di rompersi. Font serif per leggibilità print.
  • Pulsante «Rivedi Audit» nello step 5. Accanto al bottone di stampa, un modale a tab ti fa rivedere in read-only i dati raccolti nei primi 4 step, con link diretto «Apri lo step completo» per tornare alla pagina dedicata. Utile prima di stampare o di mandare la proposta.

Contratto chiuso: protezione a vita + Codice Cliente obbligatorio

  • Prospect contrattualizzato = lock permanente. Quando un prospect viene chiuso come «cliente acquisito», ora nessun altro agente può più riaprirlo: la card compare in ricerca con un badge verde scuro «Contratto chiuso da [nome agente]» e la selezione è bloccata. Prima il lock scadeva dopo 3 giorni (come per una semplice «proposta inviata»): un errore di logica risolto. Il prospect torna selezionabile solo se l'admin lo sblocca esplicitamente.
  • «Tuo cliente»: badge verde acceso sui tuoi contratti. Quando ritrovi in ricerca un prospect che hai contrattualizzato tu, compare un badge verde acceso «Tuo cliente» con l'icona di conferma. La card resta selezionabile (per upsell futuri), non è bloccata come lo sono per gli altri agenti.
  • Codice Cliente PagineSi obbligatorio in chiusura. Per marcare un prospect come «cliente acquisito» dal modale storico, ora è obbligatorio inserire il Codice Cliente generato da PagineSi (3-64 caratteri alfanumerici, trattini e underscore ammessi). Se lasci vuoto il campo, il sistema non accetta la chiusura. Il codice resta associato al prospect, visibile anche all'admin.
  • Admin: sblocca prospect singolo dal pannello. Nel tab Panoramica dell'admin c'è una nuova sezione «Prospect chiusi (lock permanente)» con la lista completa, nome prospect, agente proprietario, Codice Cliente, data chiusura, e un bottone «Sblocca» per ogni riga. Lo sblocco riporta il prospect a «aperto» (disponibile per tutti gli agenti) e azzera il Codice Cliente. Utile in caso di contratto annullato o retrattato.

Pagina Scopri arricchita (sera)

  • Nuova sezione «Il flusso in 5 step» sulla pagina Scopri: una timeline visuale dei 5 passaggi (ricerca prospect → visibilità locale → web & SEO → social → diagnosi e proposta) con icona, descrizione e risultato concreto per ogni step. Prima il flusso era citato a parole, ora si vede a colpo d’occhio.
  • Vetrina dei 9 Consulenti AI: ogni consulente (SEO, GBP, Esperto SEO Locale, Social Media Analyst, Stratega Social, Analista Sentiment, Reputation Manager, Direttore Commerciale, Gestione Obiezioni) ha ora una card dedicata con avatar, specializzazione ed estratto di output tipico. Prima erano elencati tutti in una sola card.
  • Box «Ultimi aggiornamenti»: una mini-vetrina delle release recenti direttamente in Scopri, con link diretto al changelog completo. L’agente vede in 10 secondi cosa è cambiato senza dover leggere l’intero storico.
  • Sezione «Domande frequenti»: 7 domande tipiche degli agenti con risposte dirette (lock 3 giorni, quota batch, dati aggiornati, uso in appuntamento, scelta prodotti, feedback, sicurezza). Accordion espandibile, pensato per disattivare dubbi prima che si facciano.

Pulizia risposte Consulenti AI (sera)

  • Il Consulente GBP non menziona più dettagli tecnici interni. Prima capitava di leggere nell’analisi frasi come «≥10 foto presenti: soglia API raggiunta», che rivelano dettagli del sistema e confondono l’agente. Ora il consulente scrive semplicemente «almeno 10 foto presenti» o «10+ foto pubblicate». Regola estesa a tutti i consulenti AI: vietato citare nomi di tool o limiti tecnici dei provider nelle risposte all’utente.
  • Il Consulente SEO suggerisce 10 keyword da lavorare, con controllo anti-doppione. Ogni analisi SEO ora chiude con una sezione dedicata «Top 10 keyword da lavorare». Il consulente esclude automaticamente le keyword per cui il sito è già posizionato (inutile attaccare un territorio già presidiato) e riporta per ognuna volume mensile e costo per click, quando disponibili. Se non ci sono ancora dati di mercato sufficienti, il consulente te lo dice invece di inventare keyword: bastano un paio di click in più e i dati arrivano.
  • Fonti dati SEO: confini chiari e definitivi. SEOzoom è ora il provider esclusivo per overview dominio, keyword posizionate, competitor, best pages e ricerca keyword. Backlinks e Visibilità AI multi-motore restano sul provider dedicato (l’unico che espone quei dati). Se per un dominio SEOzoom non ha informazioni, la pagina lo dice in modo esplicito invece di ricaricare sotto silenzio da un’altra fonte: più trasparente per l’agente e più economico in termini di crediti.

Domenica 19 aprile

1 release

Domenica 19 aprile

2026-04-19 Admin + AI dati affidabili

Pannello admin più utile, Consulente SEO che legge davvero i dati invece di inventarli, e deploy che finalmente NON crea più processi fantasma.

Admin

  • Pulsante «Reset statistiche demo» in Panoramica: doppia conferma prima di azzerare i log di attività. Utile per ripulire i dati di test prima di andare con agenti veri.
  • Grafici in Panoramica: ora vedi subito «Attività nel tempo» (linea giornaliera ultimi 30gg) e «Top azioni» (classifica delle azioni più frequenti). Stesso stile della scheda Analytics.
  • Tab Attività leggibile anche per chi non è tecnico: le azioni tecniche sono ora mostrate in italiano («AI», «Nuovo prospect», ecc.). Risorse più leggibili (es. «Prospect #42» invece di codici interni).
  • Filtro data nella tab Attività: due date picker Dal/Al per circoscrivere il periodo.

Consulente SEO AI: bug dati «inventati» risolto

  • Le risposte non contraddicono più i dati. Prima il consulente diceva cose come «0 foto» o «0 recensioni» anche quando il prospect ne aveva. Ora ogni sezione dati passata al modello ha una flag «disponibile sì/no» esplicita e il prompt impone: se il dato è disponibile, usa quei numeri, non ignorarli. Se manca, dillo senza trasformarlo in giudizio negativo.
  • Risposta non più troncata a metà: limite token alzato da 900 a 1500. Le priorità operative finali ora arrivano sempre complete.
  • Sentiment integrato automaticamente: se hai già fatto l'analisi sentiment sulle recensioni in step 2, il Consulente SEO la legge e la cita invece di rifarla da zero.
  • Cache sentiment stabile: se le recensioni non cambiano, la richiesta va in cache e non ri-paga la chiamata API. Payload normalizzato per garantire hit consistenti.

Visibilità Locale

  • Bottone del scan ora riporta semplicemente «Avvia».
  • Titolo della sezione: «Mappa Visibilità», più chiaro e diretto.
  • Bottone «Avvia» finalmente dentro la card: su certe larghezze di finestra il bottone veniva tagliato. Risolto, il campo di lancio scansione ora si comporta bene a ogni dimensione di schermo.
  • Stampa proposta non cambia più lo stato da sola: prima, appena cliccavi «Stampa proposta completa», il prospect veniva marcato automaticamente come Proposta inviata anche se stavi solo facendo un'anteprima. Ora lo stato resta su Aperto e sei tu a deciderlo quando vuoi, dalla Dashboard o dallo Storico admin. Così le statistiche di conversione non si sporcano con stampe di prova.
  • Filtri nello Storico prospect: nella Dashboard agente, accanto ai bottoni di stato, ci sono due nuove caselle di ricerca — Parola chiave (cerca su nome e categoria) e Località (cerca su città e indirizzo). Funzionano mentre digiti, in combinazione tra loro e con il filtro stato. Utile quando lo storico inizia a riempirsi e non vuoi scrollare a mano.
  • Chip cliccabili per località e categoria: sopra la lista dei prospect ora vedi due righe di chip colorate che raggruppano i tuoi lead — per esempio Parma (12) · Milano (5) e Ristorante (8) · Parrucchiere (4). Click su una chip e la lista mostra solo quel gruppo; riclicco deseleziona. Lo stesso comportamento è stato applicato anche allo Storico admin, dove le chip sono calcolate lato server su tutti i prospect (non solo la pagina visualizzata).
  • Storico admin: ricerca splittata in due campi: prima c'era un unico campo che cercava un po' ovunque; ora hai Parola chiave e Località separati, coerenti con la Dashboard agente.
  • Lock esclusivo 3 giorni sui prospect (cross-agente): quando un agente porta un prospect a Proposta inviata o Chiuso (won), il prospect viene messo «in gestione esclusiva» per 3 giorni dall'ultimo update. Nessun altro agente può prenderlo in carico in quella finestra — né via ricerca normale né in batch (in arrivo). In Step 1, sui risultati della ricerca vedi un badge rosso «In gestione da [nome]» con data scadenza; la card risulta sbiadita e non selezionabile. Se lo stato passa a Chiuso (lost) il lock si libera subito — il lead è già stato scartato, quindi torna disponibile a tutti. Finché un prospect resta Aperto nessun lock attivo: la ricerca libera funziona come prima.
  • Admin: bottone «Rilascia tutti i lock» nel pannello Panoramica (accanto a «Reset statistiche demo»): fa scadere immediatamente tutti i lock attivi senza cancellare alcun dato. Usato per ripartire puliti quando serve — doppia conferma prima di eseguire.
  • Analisi in batch (massimo 10 al giorno per agente): in Step 1, dopo aver selezionato più prospect dalla ricerca, c'è un nuovo pulsante «⚡ Analizza in batch». Apre un modale con conteggio selezionati, quota residua giornaliera e stima del costo. Confermi e i prospect vengono lavorati automaticamente in background uno alla volta: tu continui a cercare il prossimo lead mentre il sistema prepara la scheda. Ricevi una notifica nella campanella per ciascun prospect pronto, con link diretto alla scheda di visibilità locale. Rispetta il lock 3 giorni: i lead già in gestione esclusiva di altri agenti vengono saltati automaticamente con messaggio chiaro.
  • Analisi YouTube più stabile e affidabile: l'analisi del canale YouTube del prospect ora è più veloce, resiste meglio ai rallentamenti e dà dati sempre freschi su iscritti, video, visualizzazioni e ultimi contenuti. Zero impatto sul modo in cui usi la scheda social — l'hai solo più solida.
  • Admin: gestione chiavi dei servizi esterni dal pannello: nuova scheda API Keys nel pannello admin per vedere e aggiornare le chiavi di tutte le fonti dati a cui il tool si collega. Per ciascuna vedi nome del servizio, stato (attiva o non configurata), anteprima mascherata (prime lettere + asterischi), chi l'ha aggiornata e quando. Rotazione con doppia conferma, valore mai mostrato in chiaro. Gli aggiornamenti hanno effetto immediato, nessuna interruzione del servizio.
  • Fix mobile: niente più trascinamento laterale della pagina: su Safari iOS la schermata si spostava a destra/sinistra al tocco; ora è bloccata su tutte le pagine del tool. In aggiunta, sulla Ricerca prospect i pulsanti «Analizza in batch» e «Pre-screening» non si sovrappongono più su schermi stretti: il contatore attività selezionate sta sulla prima riga, i due bottoni 50/50 sulla seconda.
  • Nuova pagina «Scopri» + banner nell'hub: nell'home dopo il login, sopra il flusso di lavoro, c'è un banner animato che invita a scoprire cosa può fare lo strumento. Click e si apre una pagina dedicata con le funzionalità principali raccontate in modo chiaro. Stile scuro coerente con la pagina di manutenzione, animazioni di ingresso sulle card, CTA finale per tornare all'hub. Accessibile solo dopo login.
  • Promemoria automatico sui lead in scadenza: quando un tuo prospect «in gestione esclusiva» sta per liberarsi (meno di 24 ore alla scadenza dei 3 giorni), arriva una notifica nella campanella con link diretto alla scheda. Così non perdi la priorità per inerzia: basta aggiornare lo stato o mettere una nota per far ripartire il conteggio. Un solo promemoria per ciclo di lock, niente spam.
  • Tag e note libere sui prospect: nella Dashboard, sotto ogni card prospect ora vedi due cose nuove. Un'area tag dove puoi aggiungere etichette personali con un click sul bottone + tag (es. «richiamare lunedì», «da approfondire», «cliente 2026 Q2»); massimo 20 tag a prospect, 40 caratteri l'uno, si rimuovono con la X. Un bottone Nota a destra per scrivere un appunto in linguaggio libero sul prospect (fino a 5000 caratteri, separato dall'eventuale motivo di chiusura). Quando la nota c'è, il bottone diventa giallo per ricordartelo. Utile per trasformare la dashboard in un piccolo CRM personale senza passare da strumenti esterni.
  • Tab «Performance» nella Dashboard utente: nuova sezione dedicata alle tue metriche personali — totale prospect, win rate, tempo medio di chiusura, proposte inviate. Sotto, grafico ad andamento mensile con nuovi prospect, won, lost a colpo d'occhio. Due classifiche: top categorie e top località dei tuoi prospect. Utile per capire dove stai concentrando lo sforzo e come stai chiudendo nel tempo.
  • Ricerca prospect per raggio geografico: in Step 1, accanto a «Per città» c'è ora una seconda modalità «Per raggio». Inserisci un indirizzo o luogo (es. «Piazza Duomo Milano», «Via Roma 12 Parma») e scegli il raggio (1, 2, 5, 10, 20, 50 km): il sistema cerca le attività entro quella distanza dal punto, invece di affidarsi al matching testuale della città. Perfetto quando un prospect ha un quartiere preciso in testa («tutti i ristoranti entro 3 km dal casello di Modena Nord») o quando si lavora un'area multi-comune.
  • Sicurezza: pacchetto di hardening (lato sistema, invisibile all'uso quotidiano ma importante): rate limit sul login (5 tentativi falliti = blocco 5 min), logout che invalida davvero il token sul server, restrizione degli origini autorizzati alle chiamate, header di sicurezza standard (anti-clickjacking, anti-sniffing, HSTS), nuovo endpoint di reset password via link one-shot generato dall'admin (valido 30 min) + nuova pagina di reset password. Bottone «Reset pw» nella tabella agenti dell'admin per emettere il link velocemente.
  • Ricerca prospect ridisegnata e ottimizzata per mobile: (1) nuovo hero in stile Hub sopra il form (gradient viola, stats riassuntivi); (2) Filtri rapidi sopra i risultati: senza sito, hot, 4+ stelle, 10+ recensioni, solo operativi, solo disponibili (no lock); (3) Score opportunità in evidenza sulla card con barra colore a sinistra + numero 0-100 in alto a destra; (4) Vista Mappa con toggle Lista/Mappa: pin colorati per score, click sul pin mostra dettagli; (5) Azioni rapide al passaggio mouse sulla card: apri su Google Maps e apri il sito senza entrare nello step 2; (6) Ricerche salvate: clicca la stellina per salvare la query e rilanciarla con un click dalle pill sotto; (7) Skeleton loading invece di spinner spoglio; (8) Contatore selezione fluttuante in basso a destra quando scrolli lontano dai bottoni; (9) Empty state con suggerimenti; (10) Breakpoint mobile migliorati: card in colonna singola, hero compatto, bottoni 50/50.

Infrastruttura (dietro le quinte)

  • Fix definitivo per i deploy: prima ogni aggiornamento del server richiedeva un cambio di porta e lasciava un processo fantasma sul container. Ora il server si auto-spegne in modo pulito via un endpoint interno, e quando riparte resta sulla stessa porta. Zero nuovi processi fantasma creati dai prossimi deploy.
  • Backend riorganizzato per i prossimi sviluppi: il cuore del server è stato spezzato in blocchi tematici (autenticazione, prospect, admin, feedback, notifiche, integrazioni esterne, batch). Zero impatto sull'uso quotidiano, ma le prossime modifiche saranno più veloci e meno rischiose. Suite di test di regressione invariata: tutto verde prima e dopo.
  • Fix: l'eliminazione di un prospect con audit salvati ora funziona sempre. Prima, se provavi a cancellare un prospect su cui avevi già salvato uno o più audit, l'operazione falliva con errore interno. Ora il sistema elimina in cascata anche audit e proposte associati, esattamente come già fa con i tag.
  • Stack tecnico aggiornato: framework web e libreria di validazione aggiornati alle ultime versioni stabili supportate (salto di due anni di patch, bug fix e miglioramenti di performance). Il flusso di avvio del server e' stato adeguato al nuovo standard. Zero cambiamenti di comportamento visibili, ma il fondamento su cui poggia tutto il tool e' ora "fresco" e compatibile con le librerie più recenti.
  • Ricerca per raggio: indirizzo non geolocalizzabile. Il geocoding del punto di partenza usava un servizio Google separato non abilitato sulla nostra chiave. Switchato al servizio Places (già abilitato): «Via Cavour Parma», «Piazza Duomo Milano» ecc. ora risolvono al primo colpo. Fix anche al formato della query a Google (il campo raggio e' stato spostato dove la nuova API lo vuole).
  • Analisi in batch: non partivano scansioni. L'endpoint di registrazione location a Local Falcon restituiva errore silenzioso. Switchato all'endpoint corretto: ora ogni prospect della coda batch viene registrato e scansionato. I 3 batch precedentemente falliti di Giuseppe sono stati rimessi in coda e completati.
  • Fix: eliminare un prospect con batch job o audit salvati. Con la coda batch attiva, cancellare un prospect dal dashboard dava errore interno per vincolo di integrità sulla tabella batch. Aggiunta l'eliminazione a cascata: cancellando il prospect spariscono anche i job di analisi batch collegati (oltre ad audit e proposte, già gestiti prima).
  • Ricerca prospect: opportunità calde differenziate. Il rilevatore di opportunità calde era troppo prudente: classificava tutto come «Buona» e non mostrava più «Eccellente» sulle card. Nuova regola: un business senza sito web con presenza digitale scarsa complessiva (score <30) diventa «Eccellente». Visivamente il ribbon «Eccellente» usa ora un rosso acceso, «Buona» un giallo/arancio più soft: non piu' livellati.
  • Ricerca prospect: categorie in italiano e tasti coerenti. I tag di categoria sotto le schede (Parrucchiere, Ristorante, Bar) ora sono tradotti in italiano anche qui (prima restavano in inglese tipo «Hair Salon»). Il titolo della scheda non va più sotto al badge score (fix overlap). Sulle schede calde il ribbon non copre più il nome su mobile.
  • Mappa in Ricerca prospect: pin colorati per opportunità. Prima i pin erano verdi/gialli/rossi in base al punteggio complessivo del business. Ora seguono direttamente il tipo di opportunità commerciale: rosso per Eccellente, giallo per Buona, grigio per Moderata. Più immediato identificare dove sono i lead più caldi a colpo d'occhio.
  • Ricerca per raggio su mobile: i 4 campi del form (attività, indirizzo, raggio, cerca) prima si impilavano in colonna con scroll infinito. Ora su mobile vanno su 2 righe da 2 campi ciascuna. Dopo il click su «Cerca» la pagina scorre automaticamente ai risultati (niente più sensazione di app bloccata).
  • Local Falcon: mappa ingrandibile. La griglia di ranking a fine scansione era troppo piccola per leggere le posizioni. Ora click sull'immagine apre l'anteprima a schermo intero (ESC o click fuori per chiudere).
  • Analisi Sentiment: messaggio più onesto. Diceva «non ci sono recensioni negative» anche quando stava solo guardando 5 recensioni su 300. Ora l'analisi chiarisce esplicitamente che Google espone solo un campione di 5 recensioni e che, con volumi totali alti, possono esserci critiche non visibili. Niente più falsi positivi rassicuranti.
  • Visibilità AI: tutti zero, risolto. Il controllo presenza su Google AI Overviews, ChatGPT, Gemini, Perplexity restituiva sempre zero: due bug concatenati nel nostro codice (nome del motore sbagliato e campo dati letto nel posto sbagliato). Fix in due punti. Su paginesi.it ora torna centinaia di menzioni su AI Overviews con traffico stimato reale.
  • Nuovo Consulente AI: GBP. In pagina Visibilità Locale, dopo la scansione, c'è un nuovo bottone «Consulente GBP». Analizza scheda Google + mappa Local Falcon + sentiment insieme e produce una consulenza operativa: cosa manca sulla scheda, dove il cliente non appare sulla griglia, azioni concrete per guadagnare posizione, gancio commerciale.
  • Nuovo Consulente AI: Stratega Social. In pagina Social, dopo lo scan, nuovo bottone «Stratega Social». Legge i dati multi-piattaforma (follower, engagement, post) e produce: canali che funzionano, gap da colmare, contenuti mancanti, piano di spinta a 3 mesi, gancio commerciale.
  • Social: tutte le card aperte se hanno dati. Prima solo la prima piattaforma (Instagram di solito) era espansa, le altre da cliccare una a una. Ora se la piattaforma ha dati validi parte aperta. Risparmia un sacco di click.
  • Rimossa sezione «Equivalente in Google Ads» dalla pagina Analisi Web/SEO. Stima poco utile, confondeva i numeri reali. Meno rumore, stessa consulenza commerciale.
  • Proposta commerciale: categorie prospect in italiano. Anche il banner in cima allo step 5 ora mostra «Parrucchiere · Centro estetico» invece di «hair_salon · beauty_salon».
  • Notifiche: click = lette davvero. Prima cliccando su una notifica popup (in basso a destra) la campanella restava accesa fino al refresh. Ora il click marca subito la notifica come letta e il badge si aggiorna.
  • Alert AI sbilanciato: soglia alzata. Il sistema mandava alert admin «agente che consuma AI senza chiudere» già da 10 chiamate, numero troppo basso. Alzato a 30 chiamate minime prima di segnalare anomalia.
  • Tutte le pagine: nessuna indicizzazione. Aggiunto meta tag noindex/nofollow/noarchive su ogni pagina (anche login), così se qualcuno aggira l'autenticazione HTTP di base, comunque non finiamo sui motori di ricerca. Nel footer: il link «Novità» si chiama ora «Changelog». La pagina di manutenzione, se non c'è manutenzione attiva, rimanda alla home invece di essere visibile.

Admin: Storico globale

  • Nuova tab «Storico» nel pannello admin: vedi tutti i prospect di tutti gli agenti in una sola vista. Filtri per agente, stato (aperto/proposta inviata/won/lost) e ricerca testuale su nome o città. Utile per capire chi sta chiudendo e chi sta solo collezionando schede.
  • Categoria prospect ora in italiano anche nello storico: «Consulente» invece di «consultant», «Parrucchiere» invece di «hair_salon», ecc. I nuovi prospect salvano direttamente la versione italiana; quelli vecchi vengono tradotti a video.
  • Copyright footer aggiornato a 2026.

Fix admin

  • Storico admin non vuoto: il filtro non selezionato mandava un parametro vuoto che il server rifiutava come errore. Ora la tabella si popola correttamente appena apri la tab.
  • AI & Costi: storico spesa ora affidabile. Prima lo storico spariva quando si svuotava la cache; ora vive su un registro separato e sopravvive a qualsiasi pulizia. I totali combaciano con la console del provider AI.
  • Card AI & Costi in evidenza nella Panoramica admin: arrivando sul pannello admin vedi subito un callout con il costo totale AI degli ultimi 30 giorni, numero chiamate e agenti attivi, con pulsante per saltare al dettaglio completo.
  • Fix storico admin: il tab Storico non renderizzava per un bug interno. Ora funziona.
  • Cruscotto chiamate multi-fonte nella Panoramica: card riepilogo con numero chiamate degli ultimi 30 giorni per ciascuna delle fonti dati a cui il tool si collega (dati locali, dati SEO, dati social, AI). Dove il costo è misurabile in valore economico lo vedi in dollari; per le fonti a crediti il riferimento è il conteggio chiamate. Utile per tenere sotto controllo dove finiscono le risorse.
  • Breakdown per tipo di chiamata nel tab AI & Costi: dettaglio delle diverse operazioni (ricerca prospect vs scheda dettaglio, analisi SEO di base vs visibilità AI avanzata) con nota sulla fonte del dato.

Giovedì 17 aprile

1 release

Giovedì 17 aprile

2026-04-17 Giornata densa

È arrivato il nuovo step Analisi Social tra Analisi SEO e Audit Tecnico, la tua Dashboard personale con profilo, ticket e prospect, la card «Il tuo consulente Digitale» nella proposta commerciale, e una grafica più coerente su tutte le pagine.

Nuove funzionalità

  • Nuovo step «Analisi Social» tra Analisi SEO e Audit Tecnico. Selezioni i social del prospect (Facebook Instagram TikTok YouTube LinkedIn) e la piattaforma li scarica automaticamente: follower, post, account verificato, frequenza di pubblicazione con grafico delle ultime 12 settimane. Il percorso passa da 6 a 7 step.
  • I social del cliente vengono proposti in automatico: se ha un sito web, la piattaforma lo esamina e suggerisce i link Facebook/Instagram/TikTok/YouTube/LinkedIn trovati. Tu devi solo confermare o correggere.
  • Nuova Dashboard personale (pulsante «Dashboard» in alto) con tre schede: Profilo (foto, ruolo, telefono, WhatsApp, LinkedIn, bio), I miei ticket e I miei prospect (con vista rapida di quelli in lavorazione). Anche gli admin ora hanno la loro Dashboard utente, oltre al pannello Admin.
  • Profilo utente completo: puoi caricare la tua foto, scrivere il tuo ruolo e i tuoi contatti. Questi dati compariranno automaticamente nella proposta commerciale finale.
  • Card «Il tuo consulente Digitale» in fondo alla Proposta: foto circolare, nome, ruolo, pulsanti contatto premium per email, telefono, WhatsApp e LinkedIn. Stessa card anche nel PDF stampato, così il cliente ti ritrova sempre.
  • I miei ticket: puoi vedere lo storico di tutte le tue segnalazioni, lo stato di ciascuna e la risposta dell'admin quando è stata risolta. I ticket sono raggruppati per tipo (Bug, Funzionalità, UX, Dati, Altro) e filtri tra Tutti, Aperti e Risolti.

Migliorie

  • Grafica uniforme su tutte le pagine: stessa intestazione viola, stessi pulsanti di navigazione (Hub, Dashboard, Storico, eventuale Admin, notifiche, logout) ovunque. Niente più layout disallineati tra un passaggio e l'altro.
  • Etichette più chiare sui dati: i badge tecnici diventano più leggibili («Fonte: Google», «Analisi Pagine Sì!») con una frase spiegata in parole semplici.
  • Percorso più intuitivo: nel passo «Analisi Social» non ci sono più proposte commerciali suggerite. Si vedono solo i dati, in modo professionale. Le proposte sono concentrate nella sezione finale, dove devono stare.
  • La mia lista ticket non è più infinita: pannello raccolto e scrollabile, con i gruppi per categoria e l'intestazione che rimane visibile mentre scorri.
  • Pulsante «Stampa / PDF» spostato a sinistra negli step centrali: non copre più il pulsante delle segnalazioni in basso a destra.
  • Indizio «Premi ESC per saltare» più visibile durante le transizioni: ora è un badge viola con animazione, non più un testo grigio quasi invisibile.
  • Footer con link al profilo LinkedIn dell'autore, Giuseppe Finocchiaro.

Correzioni

  • Il percorso saltava i social: dopo Analisi SEO si andava direttamente all'Audit Tecnico. Ora passa correttamente da Analisi Social.
  • Instagram diceva sempre «profilo non trovato»: succedeva quando il sistema proponeva l'URL completo del profilo. Adesso accetta qualsiasi formato (handle, @handle o URL).
  • Le notifiche di risoluzione ticket non arrivavano: la campanella non si aggiornava più. Ora vedi correttamente quando un tuo ticket viene chiuso.
  • Numeri di notifica «fantasma» per admin che chiudevano i propri ticket: non ti auto-notifichi più.
  • Box «Totale proposta» in fondo alla Proposta non copre più i pulsanti quando scorri la pagina.
  • Ticket con screenshot grandi nella pagina Admin: la finestra rientra nello schermo invece di uscire verso il basso.

Cose tolte

  • «Proposta suggerita contestuale» e «Talking points per il commerciale»: erano nel passo Analisi Social ma fuori contesto. Oggi l'analisi social è neutra e oggettiva; la proposta la prepari nell'ultimo step.
  • Pannello ticket dalla home e dallo Storico: ora vive solo nella Dashboard utente, dove ha più senso trovarlo.

Mercoledì 16 aprile

1 release

Mercoledì 16 aprile

2026-04-16

Fondamenta nuove: accesso riservato con login e password, dashboard Storico Prospect, pannello Admin, separazione tra Audit Tecnico e Proposta Commerciale, e un sistema di punteggio finalmente basato su parametri ufficiali del settore.

Nuove funzionalità

  • Accesso riservato con email e password: ogni agente ha il suo account, i suoi prospect e la sua storia.
  • Dashboard Storico Prospect: rivedi tutti i prospect analizzati, filtra per stato (Aperto, Proposta inviata, Chiuso won, Chiuso lost) e guarda la timeline con l'evoluzione dei punteggi nel tempo.
  • Pannello Admin: monitoraggio agenti, registro attività, segnalazioni (ora chiamate «Ticket») con risposta inline, notifiche broadcast verso singoli agenti o tutti.
  • Audit Tecnico come step dedicato, separato dalla Proposta: ora hai un punteggio complessivo con scheda stampabile, e la Proposta Commerciale resta focalizzata sui prodotti.
  • Sistema di segnalazioni integrato: pulsante in basso a destra per aprire un ticket (bug, richiesta, problema UX). Puoi allegare uno screenshot (fino a 3 MB) e specificare l'urgenza.
  • Pulsante «Stampa / PDF» in ogni step del percorso.

Migliorie

  • Punteggio più onesto: rifatto secondo parametri ricavati da ricerche indipendenti di settore, con fonti citate direttamente nella pagina. Niente più «regali» che gonfiavano il voto finale.
  • Se manca un dato, il voto massimo si abbassa: se un prospect non ha sito o non ha una scansione locale, quel pilastro non viene contato, né a suo favore né contro. Il punteggio resta realistico.
  • Analisi SEO più veloce: se inserisci per errore un link a un profilo social (invece di un sito), la pagina te lo dice subito senza farti aspettare un minuto.

Correzioni

  • Punteggio irrealistico su certi prospect (caso emblematico: un risultato 70/100 impossibile) riportato a un valore corretto dopo la revisione del sistema di voto.
  • Pagina bianca nella vista del prospect quando mancavano alcuni dati: ora le sezioni si caricano separatamente e un errore in una non blocca tutto il resto.

Prima del 16 aprile

1 release

Prima del 16 aprile

Versione iniziale

La prima versione del percorso a 6 step: dalla ricerca del prospect alla proposta commerciale, con dati reali da fonti ufficiali verificate.

Nuove funzionalità

  • Ricerca prospect da Google: cerchi un tipo di attività e una città e ottieni la lista reale delle aziende locali, con indirizzo, telefono, sito, rating e recensioni.
  • Audit del profilo Google del prospect: foto, orari, descrizione, recensioni recenti (migliori e peggiori in italiano), segnali di presenza digitale.
  • Scansione del posizionamento locale (mappa di visibilità su Google Maps su una griglia intorno al business) con confronto dei competitor.
  • Analisi SEO del sito: traffico, keyword, backlink, competitor organici, pagine principali.
  • Catalogo prodotti PagineSì! con 67 prodotti in 17 categorie: proposte su misura in base al settore del cliente.
  • Tre pacchetti pronti (Essenziale, Crescita, Dominanza) calibrati sul settore: parti da lì e personalizza per il tuo cliente.