=== Trovavio: SEO & AI Visibility ===
Contributors: riccardomores
Tags: seo, ai, optimization, meta, title
Requires at least: 6.0
Tested up to: 7.0
Stable tag: 1.34.16
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Connect your WordPress site to Trovavio and apply SEO fixes
with one click from your Trovavio dashboard.

== Description ==
Trovavio is an automated SEO and GEO (Generative Engine Optimization)
consultant for Italian professionals. This plugin connects your
WordPress site to your Trovavio account and automatically applies
suggested fixes (title, meta description, focus keyword) without
touching any code.

Supported SEO plugins: Yoast SEO, RankMath, SEOPress, SiteSEO,
All in One SEO, SmartCrawl, Premium SEO Pack, The SEO Framework,
Slim SEO, Squirrly SEO.

Requires a free Trovavio account at trovavio.com.

== External Services ==

This plugin connects your WordPress site to Trovavio, a third-party cloud
service (https://trovavio.com), to provide SEO and GEO (Generative Engine
Optimization) analysis and to apply optimization fixes. The plugin does not
function without this connection: a free Trovavio account is required.

What data is sent to Trovavio (https://trovavio.com/api/plugin):

* Your site domain and the connection account name.
* For each published page/post: URL, title, meta title, meta description,
  focus keyword(s), the active SEO plugin name, and a short content snippet
  (used as context for AI suggestions).
* Image URLs, when you request AI-generated ALT text for an image.

When data is sent:

* When you connect the site (you paste your connection key in the setup wizard).
* When you click "Sincronizza" (manual synchronization of your pages).
* Every 10 minutes via WP-Cron, to download approved fixes and apply them.
* On demand, when you generate an AI suggestion (title, description, keyword,
  schema, llms.txt or ALT text) from the Trovavio dashboard or the page editor.

No data is sent to any other third party. All requests use HTTPS.

By connecting the plugin you agree to Trovavio's Terms of Service and Privacy
Policy:

* Terms of Service: https://trovavio.com/termini
* Privacy Policy: https://trovavio.com/privacy

== Installation ==
1. Upload the plugin folder to /wp-content/plugins/trovavio/
2. Activate through the Plugins menu in WordPress
3. Follow the setup wizard that appears automatically
4. Paste your connection key from trovavio.com/dashboard

== Frequently Asked Questions ==

= Do I need a Trovavio account? =
Yes. The plugin connects WordPress to your Trovavio account and requires a free
account at trovavio.com. You can create one directly from the plugin setup
wizard ("Sono nuovo"), or paste an existing connection key ("Ho gia' un account").

= Is it free? =
The plugin and a Free account are free. The WordPress one-click apply feature
and the AI generation require a paid plan (Solo or higher). The setup wizard
shows the plans.

= What data does the plugin send to Trovavio? =
Your page URLs, titles, meta titles/descriptions, focus keywords and a short
content snippet, plus the site domain and account name. See the "External
Services" section above for the full list and links to the Privacy Policy and
Terms of Service.

= Does it modify my content or my theme? =
No. The plugin writes only SEO meta values (title, meta description, focus
keyword, schema, llms.txt) through the SEO plugin you already use (Yoast,
RankMath, SEOPress and others) or through its own lightweight output. It never
edits your post content or your theme files.

= Will it work without WP-Cron? =
Yes. If WP-Cron is not firing on your host, approved fixes are still applied
when you open the Trovavio panel in wp-admin. You can also click "Sincronizza"
at any time.

= How do I disconnect? =
Deactivate the plugin, or remove the connection key from the Trovavio settings
page. No data is sent after disconnection.

== Changelog ==
= 1.34.16 =
* Revisione WordPress.org: rimossi CSS e JS inline. Lo stile del badge admin bar, lo script di chiusura dell'avviso e gli stili/script della pagina Report ora sono file enqueued correttamente (wp_enqueue_style/script + wp_localize_script per il nonce). URL di WP-Cron generato con add_query_arg/site_url. Aggiornato il contributor. Nessun cambiamento funzionale per l'utente.

= 1.34.15 =
* Plugin Check: azzerati gli ultimi 2 errori (commento "translators:" ora posizionato direttamente sopra le chiamate _n() nel dettaglio pagina). Zero errori.

= 1.34.14 =
* Conformita' WordPress.org Plugin Check: risolti tutti gli errori (commenti translators sulle stringhe traducibili con placeholder; escape dell'output delle icone SVG) e i principali warning (verifica nonce esplicita negli handler AJAX, sanitizzazione input, scope corretto delle variabili nei template admin). Nessun cambiamento funzionale per l'utente.

= 1.34.13 =
* Conformita' WordPress.org: "Plugin URI" e "Author URI" ora sono diversi (Plugin Check segnalava che fossero identici). Plugin URI punta a https://trovavio.com/wordpress, Author URI a https://trovavio.com.
* Aggiunto il file LICENSE (testo GPLv2 completo) nella cartella del plugin.

= 1.34.12 =
* Generazione massiva "Tutto": ora genera DAVVERO tutti i campi mancanti, SEO + GEO (Schema e FAQ). Prima "Tutto" copriva solo titolo/descrizione/parola chiave, quindi su pagine con SEO completa diceva "nessun campo da generare" anche se mancava il GEO.
* Lista pagine: le pagine non ancora incluse in un'analisi mostrano "Non ancora analizzata" invece di restare vuote, cosi' e' chiaro perche' solo alcune hanno il punteggio (l'analisi esamina le pagine principali fino al limite del piano, non tutte).

= 1.34.11 =
* "Stato collegamento e diagnostica" ora ha una freccia che indica che si apre: prima sembrava un titolo vuoto (era un pannello chiuso senza freccia visibile).
* GEO: dopo aver applicato Schema o FAQ dal dettaglio pagina, lo stato si aggiorna subito (badge e bottoni). Prima restava "mancante" finche' non si ricaricava.
* Lista pagine: nuovo filtro "GEO da completare" che mostra le pagine a cui manca Schema o FAQ (prima "Da migliorare" contava solo title/descrizione/parola chiave).
* Dopo la generazione massiva, un promemoria a premere "Aggiorna analisi" per ricalcolare il punteggio (i fix applicati cambiano il sito, ma il voto si aggiorna solo dopo una nuova analisi).

= 1.34.10 =
* Logo nella barra di amministrazione di WordPress: prima il riquadro navy a 16px spariva sullo sfondo scuro della barra. Ora usa il marchio (senza riquadro) in colore chiaro con accento terracotta, piu' grande e centrato verticalmente.

= 1.34.9 =
* Completati i punti rimasti della revisione UI/UX: la frase sul punto debole ora ha un pulsante diretto; empty-state "Nessuna pagina" e "Nessuna modifica in coda" con pulsante ("Sincronizza ora", "Genera i primi miglioramenti").
* Banner fix in attesa piu' chiaro ("N miglioramenti approvati e pronti") con link per approvarne altri sulla dashboard.
* Spinner anche su "Applica ora" durante l'applicazione.
* Coerenza: la lista pagine mostra "Ultima analisi" dalla stessa fonte della Panoramica.
* Accessibilita': target touch portati a 44px; testo secondario con contrasto piu' alto.

= 1.34.8 =
* Panoramica piu' chiara: nuova striscia "Come funziona" (Trovavio analizza, tu approvi, il plugin applica) con lo step attuale evidenziato.
* Sotto i punteggi compare una frase che indica il punto debole (SEO o GEO) e cosa fare per primo, con link diretto.
* Quando non c'e' ancora un'analisi, un invito chiaro a lanciare la prima analisi con un click.
* Crediti AI esauriti: il messaggio ora ha un pulsante "Acquista crediti" cliccabile.
* Accessibilita': contorno di focus visibile su tutti i bottoni e target piu' grandi su dispositivi touch.
* Mobile: statistiche su due colonne e barra di stato che va a capo invece di traboccare.
= 1.34.7 =
* "Aggiorna analisi" ora lancia DAVVERO una nuova analisi del sito (prima ricaricava solo l'ultimo punteggio salvato): il bottone mostra "Analisi in corso...", attende il nuovo audit e poi aggiorna il punteggio.
* Generazione massiva e ALT: timeout di sicurezza sulle richieste AI (niente piu' attese infinite se una chiamata si blocca).
* Chiarezza: tooltip su "Sincronizza ora" e sulla riga "GEO (AI)" che spiegano cosa fanno. Asterisco campo obbligatorio coerente in modalita' scura.
= 1.34.6 =
* llms.txt: dopo la generazione il badge passa a "Configurato" (prima restava "Mancante") e l'anteprima del testo lungo non esce piu' dalla card (va a capo).
* Generazione massiva: ora mostra il VALORE generato per ogni campo (con stato "In coda, verra' applicato dal plugin"), non solo un badge.
* GEO per pagina: ogni pagina mostra lo stato di Schema e FAQ direttamente nella lista, con bottone in blocco "GEO (Schema + FAQ)" e link "Gestisci GEO" al dettaglio.
* Card "Azioni rapide": piu' spazio tra la barra crediti e i pulsanti.
= 1.34.5 =
* Panoramica: tutte le card ora hanno lo stesso sfondo bianco. Prima alcune (Cronologia, Azioni rapide) avevano un fondo leggermente crema e accanto a quelle bianche sembravano incoerenti.
= 1.34.4 =
* Il sito viene riconosciuto come collegato SUBITO dopo aver incollato la chiave: il plugin ora sincronizza le pagine al momento del collegamento, così la dashboard web lo mostra connesso senza attendere il cron o un sync manuale.
* Pagina di benvenuto più ampia e bilanciata: i quattro piani hanno più spazio e non risultano più compressi su schermi larghi.
* Conformità WordPress.org: aggiunta la sezione "External Services" (dichiarazione dei dati inviati a trovavio.com), sezione FAQ, License URI nell'intestazione, "Tested up to" aggiornato. Accenti corretti in alcune scritte (già, è). Messaggio dedicato quando i crediti AI sono esauriti.
= 1.34.3 =
* La metabox "Trovavio SEO" nell'editor di pagine e articoli resta sempre chiara: prima, con il sistema operativo in modalità scura, campi e anteprime diventavano scuri dentro l'editor bianco di WordPress e le etichette erano illeggibili.
= 1.34.2 =
* Il modulo "GEO e visibilità AI (llms.txt)" segue ora la modalità scura: niente più riquadro bianco, campi e testi con i colori del tema.
= 1.34.1 =
* Panoramica in modalità scura sistemata: le etichette di punteggio e variazione (78, = stabile...) non sono più riquadri bianchi ma seguono il tema; le icone SEO e GEO ora si vedono anche su sfondo scuro; il cerchio del punteggio ha la traccia del colore giusto. Il mini-grafico delle analisi ora rende visibili le differenze tra i punteggi (prima 61 e 70 sembravano uguali) con i numeri attaccati alle barre. Cronologia recente: tolto il doppio bordo in basso alle righe e ripristinato il respiro interno.
= 1.34.0 =
* Revisione brand completa: il report stampabile usa ora i colori ufficiali Trovavio (verdi, aranci e rossi della palette, testi e bordi coerenti; sui punteggi della copertina navy le varianti chiare leggibili). Gli sfondi rossi di stato (punteggio basso, variazione negativa) usano il colore del tema così restano corretti anche in modalità scura. Rifiniture: campo note del dettaglio pagina con altezza massima, barra di scorrimento visibile in modalità scura, bottoni delle proposte che vanno a capo su mobile, card immagini compatte su schermi stretti.
= 1.33.1 =
* Piccoli fix grafici nella Panoramica: nella card "Cronologia recente" l'etichetta del tipo di modifica (FAQ schema, Focus keyword...) ora si adatta al testo invece di allungarsi a tutta la colonna; il pulsante "Vedi le pagine del sito" non è più sottolineato.
= 1.33.0 =
* Nuova pagina di benvenuto (onboarding): spiega cosa fa Trovavio, mostra i piani e permette di partire in due modi. "Sono nuovo": crei l'account Trovavio direttamente dal plugin (nome, email, password) e il sito viene collegato in automatico. "Ho già un account": incolli la chiave API e colleghi subito il sito. Design coerente col brand Trovavio (colori e font del plugin), nessun font esterno. La registrazione passa da un endpoint dedicato con protezione anti-abuso.
= 1.32.1 =
* Panoramica: la card Punteggio ora sta in due colonne (Punteggio a sinistra, Cronologia e Azioni a destra) invece che a tutta larghezza, così le righe SEO/GEO e il mini-grafico non risultano più "stirati" con spazi eccessivi. Barre dello storico raggruppate e a larghezza fissa.
= 1.32.0 =
* Nuova card "Punteggio SEO + GEO" nella Panoramica: cerchio di avanzamento colorato per fascia (verde/arancio/rosso), righe SEO e GEO con icona, sottotitolo (Google / motori AI) e variazione rispetto all'analisi precedente (es. +5, stabile), mini-grafico con l'andamento delle ultime analisi, e un bottone "Aggiorna analisi" per rileggere subito i dati da Trovavio. Barra di stato in alto verde quando il sito è connesso. Lo storico e le variazioni usano i dati reali registrati da Trovavio a ogni analisi.
= 1.31.3 =
* Panoramica più chiara e leggibile: il punteggio GEO basso ora ha sfondo rosso (non più azzurro) e il cerchio del punteggio complessivo si colora in base al voto (verde/arancio/rosso) ed è più grande. Il riquadro "prossimo passo" è un vero invito all'azione (box azzurro con testo a sinistra e bottone a destra), non più una sottile striscia che sembrava un errore. I quattro numeri in cima sono più grandi e dentro card; lo zero dei fix in coda è grigio invece che blu. "Stato collegamento e diagnostica" spostato in fondo alla pagina, così in cima restano le informazioni utili.
= 1.31.2 =
* Lista pagine ripulita: ogni pagina è ora una vera card con bordo, angoli arrotondati e leggera ombra al passaggio del mouse (prima erano righe piatte separate solo da una linea). Il voto della pagina mostra due chip distinti, SEO e GEO, invece del solo voto complessivo. Titolo e URL troncati con i puntini se lunghi. Anteprima Social nella metabox: immagine più contenuta (max 110px). Stato di errore di un campo: i pulsanti Riprova e Annulla ora sono piccoli e non a tutta larghezza, e i pulsanti dentro le card pagina restano compatti anche su mobile.
= 1.31.1 =
* Coerenza tema scuro: i bottoni secondari, le pill parola chiave e i controlli compatti dell'admin usano ora le variabili del tema (sfondo, testo, bordo) invece del bianco fisso, così seguono correttamente la modalità scura del sistema. I box anteprima Google (SERP) restano volutamente bianchi per fedeltà al risultato reale.
= 1.31.0 =
* Se cancelli Yoast (o un altro plugin SEO) ma restano i suoi dati nel database, ora Trovavio emette comunque title, meta description e Open Graph nel front-end leggendo quei dati residui (prima il sito perdeva silenziosamente tutti i meta SEO). La UI mostra "Trovavio" quando il plugin SEO non è davvero attivo. Lato dashboard Trovavio: la chat con il consulente, quando il sito ha il plugin connesso, propone titoli/description/parole chiave con un bottone "Pubblica sul sito" per metterli subito in coda. Nell'AI Lab i bottoni "Pubblica sul sito" ora coprono anche schema, FAQ e llms.txt.
= 1.30.0 =
* Se hai cancellato Yoast (o un altro plugin SEO) ma restano i suoi dati, la UI ora mostra "Trovavio" invece del nome del plugin assente. Anteprima Social: immagine più contenuta (max 120px) ed etichette in chiaro ("Immagine/Titolo/Descrizione di condivisione"). Parola chiave: proposte come pill multi-selezione (scegline una o più, la prima è la principale). "Rigenera" crea una proposta nuova senza sottintendere che la precedente fosse sbagliata. Nuova colonna "Trovavio" nella lista Pagine/Articoli di WordPress con pallino verde (completo) o rosso (campi mancanti).
= 1.29.1 =
* Lista pagine: campi ancora più compatti. Stato vuoto con barra rossa e bottone "Genera" piccolo allineato a destra (niente più bottone navy a tutta larghezza); valore presente con barra colorata e bottone "Migliora" piccolo; proposta AI in box compatto con spiegazione e tre bottoni piccoli. Bordo sinistro colorato per stato. Hover dei bottoni mai bianco.
= 1.29.0 =
* Bottoni: niente più hover bianco (conflitto con l'admin di WordPress); il "Genera con AI" resta azzurro, "Salva/Applica" restano blu. Lista pagine: campi più compatti con valore attuale, barra lunghezza e bottone piccolo. Cronologia filtrabile per tipo di modifica. Anteprima Social (og:image) nella metabox accanto all'anteprima Google. La lista pagine si apre su "Da migliorare". Accenti corretti ovunque (à, è, é...). Il llms.txt ora chiede cosa fai/a chi/dove e usa il contenuto reale del sito.
= 1.28.0 =
* Metabox "Trovavio SEO" rinnovata: anteprima Google (come appare la pagina nei risultati) con barre lunghezza titolo/descrizione e preview che si aggiorna mentre scrivi, bordo colorato per stato di ogni campo, sezione GEO con pallini e spiegazioni.
* Nuova vista "Dettaglio pagina": punteggi SEO/GEO, anteprima Google, i tre campi modificabili con AI, e lo stato GEO della pagina. Raggiungibile dal link "Dettaglio" nella lista pagine.
= 1.27.0 =
* Parola chiave principale: ora puoi pubblicare piu' keyword per pagina (la prima resta primaria per il plugin SEO attivo, le altre vengono salvate). Gestione fedele in revert e nessuna voce duplicata in cronologia.
= 1.26.0 =
* Auto-applicazione senza WP-Cron: aprendo il pannello Trovavio i fix in coda partono comunque (niente piu' fix bloccati per giorni su siti a basso traffico). Nuovo pannello "Stato collegamento e diagnostica" con verifica connessione, stato WP-Cron e nome account. La schermata mostra Account e sito collegato.
= 1.25.1 =
* Messaggio di errore chiave piu' chiaro: la chiave e' UNICA per account e vale per TUTTI i tuoi siti. Se un sito da' "chiave non valida", basta ricopiare la stessa chiave dalla dashboard (niente rigenerazione).
= 1.25.0 =
* Collegamento piu' affidabile e diagnosticabile: se il sito non si collega, l'errore ora dice il MOTIVO reale (es. l'hosting blocca le richieste in uscita verso trovavio.com) invece di un generico "impossibile contattare". La chiave incollata viene ripulita da spazi/righe e validata (deve iniziare con trv_wp_) prima dell'invio, con messaggio chiaro. Se la chiave era stata rigenerata, l'errore 401 invita a ricopiare la chiave attuale dalla dashboard.
= 1.24.0 =
* Interfaccia non piu' larghissima su schermi grandi: il contenuto e' centrato e leggibile (lo sfondo resta a tutta larghezza).
= 1.23.0 =
* ALT immagini generato guardando davvero l'immagine (vision AI): descrizioni corrette, non piu' inventate. FAQ/Schema JSON-LD ora si applicano anche se il modello aggiunge fence o testo. Sezione GEO visibile di default (metabox e pagine). Icona del menu col marchio Trovavio.
= 1.22.0 =
* Punteggio SEO + GEO del sito nella Panoramica e voto per ogni pagina nella lista (dall'ultima analisi Trovavio).
= 1.21.0 =
* Icona del menu col marchio Trovavio. Generazione ALT immagini corretta (non chiede piu' di "vedere" il file). Piu' tempo alle generazioni AI lunghe (FAQ/schema) per evitare il falso errore "Impossibile contattare Trovavio".
= 1.20.0 =
* Nel box Trovavio dentro l'editor puoi modificare title, descrizione e parola chiave a mano e salvarli anche quando e' attivo un plugin SEO (Yoast, RankMath...): vengono scritti direttamente nel plugin attivo.
= 1.19.1 =
* Layout pagine sistemato: niente piu' testi che escono dal riquadro, bordi esterni rimossi per piu' respiro, pulsanti AI nascosti che non compaiono piu' come fantasmi.
= 1.19.0 =
* I fix non restano piu' bloccati in coda: il riconoscimento della pagina dall'URL e' ora robusto (gestisce http/https, www, slash finale e permalink personalizzati), cosi' le modifiche si applicano anche quando l'indirizzo salvato differisce leggermente dal permalink corrente.
= 1.18.0 =
* Filtro e ricerca nella lista pagine (Tutte / Da migliorare / Complete / In attesa). Avviso quando i fix restano in coda da oltre un'ora (WP-Cron non attivo) con istruzioni crontab. Filtro pagine di sistema piu' ampio (login, account, checkout, calendario, WooCommerce, pagine vuote). Sezione GEO/llms.txt spostata in fondo e collassabile.
= 1.17.0 =
* Le card (es. llms.txt) ora occupano tutta la larghezza, allineate alla lista pagine. L'account di test risulta agenzia già alla connessione.
= 1.16.0 =
* Cronologia senza voci duplicate (log solo quando un valore cambia davvero). Rollback fedele dei template Yoast/RankMath. Messaggio chiaro quando manca la chiave di connessione. Endpoint API sovrascrivibile per ambienti di sviluppo. Pulizia stili interni.
= 1.15.0 =
* Affidabilità: i crediti AI vengono caricati subito alla connessione e un piano pagato non viene più bloccato se la cache crediti è vecchia. Sincronizzazione con retry automatico e avviso visibile in caso di errore (niente più fallimenti silenziosi).
= 1.14.0 =
* Stato locale (piano e crediti cachati, niente API a ogni click), UI campi a 4 stati con AI affidabile (loading, timeout 30s, errore esplicito, retry), indicatore crediti AI, bottoni coerenti col design system.
= 1.13.0 =
* Fix layout admin: pagina a piena larghezza (niente box bianco), campi pagina con sfondo proprio, azioni rapide in colonna, status bar leggibile su mobile.
= 1.12.0 =
* Redesign grafico completo: nuovo design system, gerarchia visiva, spaziature, dark mode coerente.
= 1.11.1 =
* Content extraction universale: il contesto AI legge l'HTML renderizzato (qualsiasi page builder).
= 1.11.0 =
* Nuove icone del design system Trovavio con supporto dark mode.
= 1.10.1 =
* Fix report PDF: pagine da migliorare ora mostrano URL e stato fix corretti.
= 1.10.0 =
* Report PDF stampabile (copertina, riepilogo, dettaglio pagine).
= 1.9.0 =
* Endpoint REST create-draft per Content Brief AI.
= 1.8.0 =
* Gestione ALT immagini, generazione massiva, varie migliorie.
= 1.0.0 =
* Initial release.
