=== SuperRankSEO ===
Contributors: Digital Creative Solution
Tags: seo, 304 not modified, etag, last-modified, conditional requests, crawl efficiency, woocommerce reviews, review request, indexing alerts, search console, priority sitemap, knowledge graph, linked data, entity seo, wikidata, schema, crawl budget, sitemap, internal links, reviews, structured data, editorial plan, table of contents, llm, indexnow, google news
Requires at least: 6.0
Requires PHP: 8.0
Stable tag: 0.21.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Suite SEO freemium per WordPress: moduli locali gratuiti e funzioni PRO gestite da Digital Creative Solution.

== Descrizione ==

SuperRankSEO è il componente installato sui siti cliente. Al primo avvio richiede la registrazione gratuita dell'azienda, della persona di riferimento e del sito. Finché il wizard non viene completato, nessun modulo, shortcode, output frontend o processo automatico viene caricato.

Dopo la registrazione, nove moduli locali possono essere attivati senza licenza PRO e continuano a funzionare anche se dcsolution.it non è temporaneamente raggiungibile: Indice dei contenuti + sitemap TOC, Dati strutturati, Knowledge Graph & Linked Open Data, Sitemap Google News, FAQ visuali, Recensioni, Link interni automatici, Priority Sitemap e 304 Not Modified.

Le funzioni PRO — Ottimizzazione articoli, Piano editoriale, LLM Files, URL Submitter ed Efficienza di scansione — richiedono invece una licenza valida. Abbonamento, moduli PRO concessi, saldo crediti, modelli OpenAI reali, limiti di output, prompt LLM Files, limiti Google, Jina, IndexNow e parametri competitor sono controllati dal server SuperRankSEO Control installato su dcsolution.it. Search Console e Google Analytics 4 vengono collegati dal cliente con OAuth 2.0 direttamente dal proprio wp-admin.

Il sito cliente conserva soltanto le credenziali HMAC della propria installazione PRO e, per IndexNow, la chiave pubblica che deve essere verificabile sul dominio. Le chiavi OpenAI, Google e Jina non vengono distribuite al cliente.




== Interfaccia IT/EN e menu guidati ==

* Backend bilingue automatico: installazione WordPress italiana = interfaccia SuperRankSEO italiana; qualsiasi altra lingua WordPress = inglese.
* Testi Client centralizzati nei cataloghi modificabili `languages/catalog.php`, `languages/it.php` e `languages/en.php`.
* Lingue, paesi e valute provengono da dataset di riferimento completi in `data/` e vengono mostrati tramite menu a tendina/multiselezione.
* Lingua contenuto/output, paese target, filtro paese Search Console, lingua/paese SERP, lingua LLM, lingua News, paese Schema.org, lingue disponibili e valute accettate non richiedono più inserimento libero.
* I filtri enumerabili dell'inventario di Efficienza di scansione (status, tipo, anomalia, origine e pattern) sono menu basati sui valori effettivamente presenti nel report.
* Una migrazione non distruttiva normalizza i valori testuali salvati dalle versioni precedenti nei formati richiesti dai diversi servizi (nome canonico, ISO 639-1, ISO 3166 alpha-2/alpha-3).

== 304 Not Modified ==

* Modulo Free e completamente locale, senza licenza, crediti o chiamate al Control.
* Aggiunge validator HTTP standard `ETag` e `Last-Modified` alle pagine HTML pubbliche configurate.
* Se una richiesta condizionale `GET/HEAD` presenta `If-None-Match` o `If-Modified-Since` compatibile e l'HTML renderizzato è realmente invariato, risponde `304 Not Modified` senza corpo.
* L'ETag viene calcolato sull'HTML finale, non soltanto sulla data del post: menu, widget, schema, recensioni, WooCommerce e altri output dinamici partecipano al validator.
* Supporta homepage/blog, post type pubblici selezionati e tassonomie pubbliche selezionate.
* Per sicurezza esclude utenti autenticati, cookie, query string, preview, ricerca, feed, REST/AJAX, 404, pagine protette da password e cart/checkout/account WooCommerce.
* Se un altro sistema ha già impostato `ETag` o `Last-Modified`, SuperRankSEO non lo sovrascrive.
* La funzione riduce trasferimenti HTML inutili per i client che supportano la cache condizionale; non garantisce ranking, indicizzazione o maggiore frequenza di crawl.

== Richiedi recensioni — WooCommerce ==

Quando il modulo Free **Recensioni** è attivo e WooCommerce è disponibile, SuperRankSEO aggiunge la voce **SuperRankSEO > Richiedi recensioni**.

* La funzione è disattivata di default e non usa Control, licenze o crediti.
* L'amministratore sceglie lo stato ordine WooCommerce che attiva il trigger e un ritardo espresso in ore o giorni.
* Le email vengono pianificate con Action Scheduler di WooCommerce, con fallback WP-Cron.
* Ogni ordine riceve al massimo una richiesta; ordini annullati, rimborsati o falliti prima dell'invio vengono esclusi.
* L'email usa `WC_Email`, quindi eredita mittente, logo/header, colori e footer configurati nelle email WooCommerce.
* Oggetto, heading, corpo HTML, testo del pulsante e URL recensione sono modificabili da SuperRankSEO. L'URL può essere interno o esterno.
* Placeholder: `{{customer_first_name}}`, `{{customer_last_name}}`, `{{customer_name}}`, `{{order_number}}`, `{{site_name}}`, `{{review_url}}`.
* Template standard: `templates/emails/srs-review-request.php` e plain text `templates/emails/plain/srs-review-request.php`.
* Override tema/child theme: `woocommerce/emails/srs-review-request.php` e `woocommerce/emails/plain/srs-review-request.php`.
* I marker di pianificazione/invio sono salvati come order meta locali e il sistema è compatibile con gli accessi ordine via API WooCommerce/HPOS.

== Google OAuth — Search Console e Google Analytics 4 ==

* Ogni installazione registrata dispone della pagina **SuperRankSEO > Google**.
* Il cliente clicca **Connetti Google**, accede al proprio Account Google e concede i permessi OAuth richiesti.
* Il callback OAuth è gestito centralmente dal Control; il Client non riceve né memorizza client secret, refresh token o credenziali tecniche Google.
* Dopo il consenso il cliente seleziona la property Search Console compatibile con il proprio dominio e la property GA4 accessibile al proprio account.
* Search Console alimenta query, click, impression, CTR, posizione e URL Inspection.
* GA4 alimenta segnali di utilizzo reale come sessioni, utenti attivi, engagement, durata media, visualizzazioni ed eventi chiave.
* Reranking/Ottimizzazione usa GSC + GA4 quando disponibili; Piano editoriale usa GSC + GA4 a livello sito; Efficienza di scansione può arricchire le URL con entrambi.
* URL Submitter usa lo stesso consenso OAuth per URL Inspection e Google Indexing API.
* Il collegamento Google non consuma crediti; restano invece applicate le normali regole commerciali dei moduli PRO che usano i dati.

== Primo avvio e registrazione freemium ==

* Wizard obbligatorio prima del caricamento di qualsiasi funzione.
* Dati richiesti: azienda, nome, cognome ed email.
* Accettazione privacy obbligatoria e consenso marketing facoltativo, registrati nel Control con data e versione dell'informativa.
* Il Control invia un link monouso all’indirizzo indicato. Cliente e sito vengono creati soltanto dopo l’apertura del link.
* Il wizard resta bloccato finché il client non conferma al Control che la verifica è avvenuta.
* La registrazione verificata non distribuisce credenziali API né attiva servizi remoti.
* I moduli gratuiti restano locali dopo il completamento del wizard.
* Le installazioni già dotate di licenza vengono riconosciute come legacy e non vengono interrotte dal wizard.



== Knowledge Graph & Linked Open Data ==

* Modulo Free e local-first: nessuna licenza PRO, nessun credito e nessuna chiamata OpenAI.
* Usa come unica sorgente il grafo Schema.org del modulo Dati strutturati e mantiene gli `@id` già esistenti.
* Entity Registry persistente con analisi locale manuale e mapping verificati indipendenti dalla cache.
* Entity Resolution Wikidata read-only attivata solo da azioni amministrative, con cache e scoring contestuale.
* Modalità Manuale, Assistita (default) e Automatica con soglia default 95.
* Pubblicazione opzionale JSON-LD e Turtle sotto `/lod/`, REST API read-only e pagina `/linked-data/` con schema `Dataset`.
* Licenza dataset configurabile; senza licenza il dataset è descritto come Linked Data, non Linked Open Data.
* I testi delle recensioni e altri contenuti di terzi sono esclusi di default dal dataset aperto.
* La cache condivisa Control è un'ottimizzazione facoltativa: se Control o Wikidata non rispondono, il frontend continua a funzionare dai mapping locali.

== Aggiornamenti proprietari ==

* SuperRankSEO usa il normale updater plugin di WordPress tramite `Update URI` proprietario.
* Versione, changelog, requisiti e pacchetto arrivano da SuperRankSEO Control su dcsolution.it.
* Gli aggiornamenti sono disponibili anche ai siti Free registrati e non consumano crediti.
* Prima dell'installazione il pacchetto viene scaricato in un file temporaneo e verificato con SHA-256.
* Se il Control non è raggiungibile, il plugin continua a funzionare normalmente e l'update viene semplicemente rimandato.

== Crediti Digital Creative ==

* I crediti commerciali sono indipendenti dai token tecnici OpenAI.
* Il calcolo tecnico e monetario resta esclusivamente sul server centrale. Il cliente vede soltanto il saldo e i crediti consumati.
* Ogni invio Google Indexing API riuscito può consumare un costo fisso centrale.
* Ogni URL IndexNow accettato può consumare un costo fisso centrale.
* I crediti vengono riservati prima dell'operazione e rimborsati automaticamente se il provider non conferma il successo.
* I retry usano request ID idempotenti per evitare doppi addebiti.

== LLM Files ==

* Il prompt di sistema e il template sono conservati esclusivamente su dcsolution.it.
* Il cliente non può vedere, esportare o modificare le istruzioni private.
* Il sito cliente invia soltanto contenuto, metadati della pagina e profilo AI selezionato.

== Profili AI ==

* Il cliente vede esclusivamente alias commerciali, per esempio Economico, Professionale e Super profondo.
* Il menu mostra soltanto i profili abilitati per quel cliente sul server centrale.
* Il nome reale del modello e i limiti max output token non vengono inviati al sito cliente.

== Moduli ==

= Gratuiti e locali =

* Indice dei contenuti e sitemap TOC.
* Dati strutturati con wizard visuale.
* Sitemap Google News dinamica.
* FAQ visuali.
* Recensioni multicanale con moderazione, form pubblico, shortcode e Review/AggregateRating.
* Link interni automatici basati su keyword, post type selezionabili e UTM GA4 facoltativi.
* Priority Sitemap con selezione manuale di contenuti/termini e ordinamento per ultima modifica.
= PRO e gestiti =

* Ottimizzazione articoli e QA.
* Piano editoriale e generazione bozze.
* LLM files e sitemap dedicata.
* URL Submitter con Google e IndexNow tariffati centralmente.
* Efficienza di scansione (Crawl Budget) con inventario URL, sitemap, crawler interno, link e pattern tecnici, più arricchimento Search Console/GA4 e voce separata “Alert di indicizzazione” con storico locale delle transizioni Google.



Il pannello mostra anche i moduli PRO non disponibili, con descrizione e collegamento commerciale configurato nel Control. Dopo l'attivazione della licenza, la sezione Abbonamento e crediti mostra anche il pulsante configurabile per acquistare nuovi crediti.



== Alert di indicizzazione ==

* Sottomodulo PRO di Efficienza di scansione con voce amministrativa separata **SuperRankSEO > Alert di indicizzazione**.
* Usa URL Inspection tramite il consenso OAuth Search Console della singola installazione e registra snapshot/transizioni esclusivamente nel database WordPress del cliente.
* Il Control inoltra la richiesta OAuth a Google ma, per questo flusso, non persiste URL o risposte URL Inspection nella propria tabella richieste.
* Il primo controllo crea una baseline; i controlli successivi registrano soltanto i cambi di stato. URL Inspection descrive la versione conosciuta nell’indice Google e non è un test live, quindi gli alert seguono i normali tempi di aggiornamento Search Console.
* Classifica miglioramenti, peggioramenti e cambi neutrali con soglie configurabili e conferme consecutive facoltative.
* Gestisce noindex, canonical alternativa appropriata, 404, redirect, robots.txt, Crawled/Discovered currently not indexed, canonical Google differente, pagina indicizzata, 4xx/401/403/5xx e ulteriori stati Google come Soft 404, redirect error, duplicati, pagina indicizzata senza contenuti e URL non nota a Google.
* I filtri cliente possono ignorare query string, fragment `#`, estensioni (default `txt`) e pattern personalizzati con wildcard.
* Le URL vengono monitorate a rotazione con batch piccoli e tetto locale prudenziale di 1.500 ispezioni/giorno per lasciare margine rispetto alla quota URL Inspection del provider.

== Priority Sitemap ==

* Modulo Free e completamente locale: nessuna licenza, credito o API esterna.
* L'utente sceglie i post type e le tassonomie pubbliche sui quali mostrare il flag “Inserisci nella Priority Sitemap”.
* Il flag usa il meta `_srs_priority_sitemap`; i termini mantengono anche `_srs_priority_modified_gmt` per un `lastmod` affidabile.
* `/priority-sitemap.xml` contiene esclusivamente elementi selezionati, pubblici, indicizzabili e canonici.
* Post, pagine, CPT e termini vengono ordinati insieme dal più recentemente aggiornato al più vecchio, con tie-breaker deterministici.
* La sitemap non usa il tag XML `<priority>` e non promette priorità di crawl o ranking.
* La cache viene invalidata quando cambiano flag, contenuti, termini, stati, relazioni tassonomiche o permalink.
* Se supera 50.000 URL o la soglia di sicurezza dimensionale, il file principale diventa un sitemap index dei segmenti `/priority-sitemap-N.xml`.

Regola generale della suite: le sitemap SuperRankSEO espongono gli URL dal contenuto più recente/aggiornato al più vecchio, salvo requisiti specifici del relativo standard. Google News usa quindi la data di pubblicazione, mentre TOC, LLM Files e Priority usano l'ultima modifica dove disponibile.

== Link interni automatici ==

* Modulo Free e completamente locale.
* Keyword configurabili nel metabox dei contenuti destinatari.
* Post type sorgente e destinatari selezionabili separatamente.
* Limiti globali e per singola destinazione.
* Esclusione automatica di link esistenti, script, codice e form.
* Attributi `title`, `alt` e `aria-label` uguali alla keyword configurata.
* Parametri UTM GA4 facoltativi con variabili dinamiche.
* Importazione manuale delle keyword `ilj_linkdefinition` di Internal Link Juicer.

== Recensioni ==

* Inserimento manuale di recensioni da sito, Google, Tripadvisor, Facebook, Trustpilot, Booking, Yelp o altri canali.
* Form pubblico `[srs_review_form]` con moderazione obbligatoria, honeypot e rate limit.
* Visualizzazione tramite `[srs_reviews]` con griglia, lista, slider e masonry.
* Temi, colori, sorgenti, punteggi, filtri, colonne e destinazione attività/pagina configurabili.
* Review e AggregateRating vengono aggiunti al grafo SuperRankSEO solo per recensioni approvate e realmente mostrate dallo shortcode.
* Se WooCommerce è attivo compare **Richiedi recensioni**: email post-acquisto facoltative, ritardo/stato ordine configurabili, branding WooCommerce e template sovrascrivibile dal tema.

== Sitemap Google News ==

Quando il modulo è concesso e attivo, genera /news-sitemap.xml con:

* contenuti pubblicati nelle ultime 48 ore;
* massimo 1000 URL;
* nome pubblicazione e lingua configurabili;
* post type e categorie selezionabili;
* esclusione dei contenuti noindex;
* cache e inserimento opzionale nel robots.txt.

Le impostazioni del precedente DCS Google News Sitemap vengono migrate automaticamente al primo aggiornamento.

== Changelog ==

= 0.21.0 =
* Added: backend automatico italiano/inglese in base alla lingua dell'installazione WordPress (`it_*` = italiano, qualsiasi altro locale = inglese).
* Added: cataloghi centralizzati modificabili in `languages/` per label, descrizioni, notice e messaggi dinamici del Client.
* Added: dataset completi per 184 lingue ISO 639-1, 249 paesi ISO 3166-1 e 181 valute.
* Changed: lingua contenuto/output, target, filtro GSC, lingua/paese SERP, lingua LLM/News e campi paese/lingua/valuta Schema usano dropdown/multiselect validati.
* Changed: i filtri enumerabili di Crawl Efficiency usano dropdown popolati dai valori effettivi del report.
* Compatibility: migrazione one-shot dei valori testuali legacy; nessuna modifica a Control o Commerce.

= 0.20.0 =
* Added: modulo Free **304 Not Modified** con ETag/Last-Modified e risposte HTTP 304 conservative sulle pagine HTML pubbliche realmente invariate.
* Safety: esclusioni per sessioni/cookie/query/preview/REST e pagine WooCommerce dinamiche; nessun override dei validator già prodotti da cache/CDN/server.

= 0.19.0 =
* Added centralized marketing delivery from SuperRankSEO Control.
* Added non-dismissible random image banners in wp-admin, with Control-selectable scope across all wp-admin or only SuperRankSEO pages.
* Added automatic Free-plan frontend attribution with centrally configurable text/image and destination URL.
* Frontend attribution links use nofollow/sponsored semantics and no Client-side disable option is exposed.

= 0.18.0 =

* Added: **Richiedi recensioni** per siti WooCommerce quando il modulo Recensioni è attivo.
* Added: trigger configurabile sullo stato ordine e ritardo in ore/giorni, con una sola richiesta per ordine.
* Added: email WooCommerce-native con oggetto, heading, corpo HTML, pulsante e URL configurabili, branding/logo WooCommerce e placeholder dinamici.
* Added: template HTML/plain sovrascrivibili dal tema/child theme in `woocommerce/emails/`.
* Added: Action Scheduler con fallback WP-Cron e annullamento delle richieste pendenti quando la funzione viene disattivata.
* Changed: ordini annullati, rimborsati o falliti prima dell'invio vengono esclusi.

= 0.17.0 =

* Added: **Alert di indicizzazione** as a dedicated Crawl Efficiency submenu with local current-state registry and transition history.
* Added: cyclic Google URL Inspection monitoring with round-robin batches, local quota guard and configurable schedule/batch/confirmation thresholds.
* Added: positive/negative/neutral transition classification, severity levels and unread admin badge.
* Added: client-configurable exclusions for query strings, fragments, extensions and custom URL patterns.
* Added: coverage for indexed, discovered/crawled not indexed, noindex, canonical duplicates, redirects, robots blocks, 401/403/404/other 4xx/5xx, soft 404 and additional Google inspection states.
* Privacy: indexing snapshots and transition history are stored only on the customer WordPress site; Control is used only as the stateless OAuth proxy for Crawl Efficiency inspections.

= 0.16.0 =

* Sostituita l’autenticazione Google basata su credenziale tecnica condivisa con OAuth 2.0 per singola installazione.
* Aggiunta pagina **SuperRankSEO > Google** con pulsante Connetti Google, selezione property Search Console/GA4, refresh elenco e disconnessione.
* Aggiunto client GA4 e integrazione nei workflow Reranking/Ottimizzazione, Piano editoriale ed Efficienza di scansione.
* URL Inspection e Google Indexing API usano lo stesso consenso OAuth del cliente.
* Nessun client secret o refresh token Google viene memorizzato nel sito cliente.

= 0.15.2 =
* Fixed: Priority Sitemap now maintains a physical `/priority-sitemap.xml` (and segments when required) to work on servers that intercept `.xml` before WordPress.
* Fixed: added direct WordPress request interception as a fallback to rewrite/query-var routing.
* Added: Priority Sitemap admin shows physical XML availability/writability status.

= 0.15.1 =
* Fixed: Priority Sitemap now treats WordPress Pages (`page`) as viewable content and includes flagged published pages when Pages are enabled.
* Fixed: existing 0.15.0 Priority Sitemap configurations are migrated once to include Pages when the module is already active.
* Fixed: `/priority-sitemap.xml` rewrite hooks are registered independently from the module toggle, preventing stale rewrite rules and 404 responses after enabling/upgrading.
* Changed: Priority Sitemap viewability checks now use WordPress `is_post_type_viewable()` / `is_taxonomy_viewable()` where available.


= 0.15.0 =
* Aggiunto modulo Free Priority Sitemap con flag per post/CPT e termini di tassonomia.
* Aggiunto `/priority-sitemap.xml`, lastmod, deduplicazione, cache e segmentazione oltre i limiti standard.
* Aggiunte colonna e filtro amministrativi per individuare i contenuti Priority.
* Uniformato TOC e LLM Files a `modified DESC` con tie-breaker deterministici.
* Google News resta ordinata per data di pubblicazione DESC con tie-breaker ID.
* Aggiunto helper sitemap condiviso e rigenerazione delle sitemap fisiche esistenti durante l'upgrade.

= 0.14.0 =
* Aggiunto modulo Free Knowledge Graph & Linked Open Data con Entity Registry persistente.
* Aggiunta risoluzione Wikidata assistita, manuale o automatica con confidence e cache locale.
* Aggiunti sameAs verificati nel grafo Schema esistente, JSON-LD/Turtle LOD, REST API e pagina Dataset.
* Aggiunta licenza Open Data configurabile ed esclusione predefinita dei contenuti di terzi.
* Aggiunta cache Control opzionale senza licenza e senza crediti.

= 0.13.0 =

* Aggiunto updater proprietario nativo WordPress con `Update URI` su dcsolution.it.
* Aggiunti metadata release e modale dettagli dal Control.
* Aggiunto download autorizzato con token temporaneo.
* Aggiunta verifica SHA-256 prima di passare il pacchetto a `WP_Upgrader`.
* Gli update restano disponibili per siti Free, PRO ed ex-PRO registrati.

= 0.12.0 =

* Aggiunto modulo Free Link interni automatici.
* Aggiunti post type sorgente e destinatari configurabili.
* Aggiunto metabox keyword e indice locale dedicato.
* Aggiunti attributi title, alt e aria-label uguali alla keyword impostata.
* Aggiunti parametri UTM GA4 facoltativi.
* Aggiunta importazione manuale delle keyword da Internal Link Juicer.

= 0.11.1 =

* Efficienza di scansione riclassificato come modulo PRO.
* Search Console e GA4 usano il consenso OAuth del singolo sito; il Control esegue le chiamate Google con il refresh token cifrato associato all’installazione.
* Il modulo non consuma crediti, ma richiede una licenza PRO attiva.

= 0.11.0 =
* Aggiunto modulo Efficienza di scansione (Crawl Budget), successivamente classificato PRO per l’integrazione Search Console centralizzata.
* Aggiunti inventario WordPress, sitemap discovery e crawler same-origin senza log server.
* Aggiunti batch AJAX/WP-Cron interrompibili e riprendibili, tabelle dedicate e lock concorrenti.
* Aggiunte analisi deterministiche di status, redirect, canonical, robots, link, profondità e pattern URL.
* Aggiunti indicatori trasparenti, pagine prioritarie, confronto report ed export CSV/JSON.

= 0.10.1 =
* Aggiunti numero totale recensioni e punteggio medio configurabili manualmente.
* Gli override manuali alimentano il riepilogo frontend e AggregateRating; i valori a zero mantengono il calcolo automatico.

= 0.10.0 =
* Aggiunto contratto pubblico per estendere il grafo Schema.org da plugin esterni.
* Aggiunti filtri per contesto, URL, tipo pagina e nodi del grafo.
* Supportato output Schema.org su archivi esplicitamente abilitati dalle integrazioni.
* Integrati ITER Menu Manager e ITER Events Manager senza duplicare il JSON-LD.


= 0.9.3 =
* Sostituisce il markup OL/LI della TOC con contenitori neutri accessibili, eliminando definitivamente marker e contatori aggiunti dal tema.
* Corregge le modalità Nessuno, Numerico, Romano e Decimale gerarchico anche in presenza di CSS legacy o personalizzato.

= 0.9.2 =
* Corregge i contatori della TOC: nessuno, numerico, romano e decimale gerarchico ora producono marker distinti e non sovrascrivibili dal tema.
* Corregge la gerarchia in presenza di salti tra livelli H1-H6.

= 0.9.1 =
* Il client sincronizza lo stato licenza ogni 5 minuti e all’ingresso nel wp-admin.
* Un sito liberato dal portale recepisce il passaggio PRO → Free senza perdere la registrazione centrale.
* Le credenziali revocate dalle versioni precedenti vengono rilevate e il client torna localmente al piano Free.
* Il builder Schema.org aggiunge `hasPart` con elementi `CreativeWork` ricavati dalla TOC sul nodo principale della pagina, articolo, prodotto o servizio.


= 0.9.0 =
* Compatibilità con licenze commerciali per singolo sito gestite da SuperRankSEO Commerce e Control.
* Tutti i moduli PRO diventano disponibili quando la licenza del sito è attiva.
* Sincronizzazione amministrativa periodica dello stato licenza.
* Avvisi di scadenza, ritorno Free e collegamenti al portale WooCommerce.
* Il saldo resta condiviso tra i siti del cliente, con attribuzione centrale dei consumi per sito.

= 0.8.3 =
* Corretto l’avanzamento grafico dei passaggi del wizard.
* Il redirect al wizard è ora monouso dopo l’attivazione.
* Prima del completamento, solo le pagine SuperRankSEO vengono ricondotte al wizard; il resto di wp-admin resta accessibile.


= 0.8.2 =
* Corretto il wizard iniziale che poteva essere saltato dopo una reinstallazione con credenziali locali residue.
* La licenza legacy viene ora validata sul Control prima di sbloccare il plugin.
* Rafforzato il gating: una registrazione Free è completa solo con email verificata e IDs centrali validi.
* Allineata la pulizia di uninstall.php a tutte le opzioni di onboarding, licenza e cron.

= 0.8.1 =
* Aggiunto double opt-in obbligatorio per l’indirizzo email del wizard.
* Cliente e sito vengono creati nel Control solo dopo il click sul link monouso.
* Aggiunti stato in attesa, controllo verifica, reinvio email, scadenza e modifica dei dati.
* Le registrazioni Free precedenti prive di prova email vengono riportate al wizard.
* Disabilitato l’endpoint legacy che consentiva la registrazione diretta.

= 0.8.0 =
* Aggiunto wizard obbligatorio di prima configurazione e registrazione freemium sul Control.
* Aggiunti consenso privacy obbligatorio e marketing facoltativo con versione informativa.
* Resi locali e indipendenti dalla licenza i moduli TOC, Dati strutturati, Sitemap Google News, FAQ e Recensioni.
* I moduli PRO rimangono visibili ma bloccati con link di acquisto configurabile.
* Aggiunto pulsante configurabile per acquistare crediti nella sezione licenza.
* Le installazioni PRO esistenti vengono migrate senza interruzione.

= 0.7.2 =
* Aggiunte etichette descrittive e testi esplicativi a tutti i selettori colore di TOC, FAQ e Recensioni.
* Riorganizzati i selettori colore in schede leggibili e accessibili, con indicazione precisa dell’elemento modificato.

= 0.7.1 =
* Rivisti i layout recensioni: disponibili soltanto griglia, slider, masonry e lista.
* Ricostruito lo slider con schede a larghezza corretta, drag mouse/touch, scrollbar nascosta e frecce opzionali.
* Differenziati realmente griglia, masonry e lista.
* Aggiunti due pulsanti finali opzionali con label, link, allineamento e stile configurabili.

= 0.7.0 =
* Aggiunto modulo Recensioni concedibile dal server centrale.
* Aggiunti archivio moderato, inserimento manuale multicanale e collegamento a attività o contenuti specifici.
* Aggiunti shortcode `[srs_review_form]` e `[srs_reviews]` con layout, temi, colori, filtri, punteggi e sorgenti configurabili.
* Aggiunta integrazione Review, Rating e AggregateRating nel grafo Schema.org per le recensioni realmente visibili.
* Aggiunto widget nella bacheca WordPress con crediti disponibili, abbonamento, moduli e scadenza.

= 0.6.3 =
* Ripristinato il parser JSON usato da reranking e piano editoriale.
* Gestiti JSON puri, blocchi Markdown e testo accidentale intorno al payload.
* Corretto l'errore fatale "Call to undefined method SRS_OpenAI_Client::decode_json_text()".

= 0.6.2 =
* Rimossi dal client token input/output/cache, costi monetari, usage grezzo e dettagli della formula.
* Le elaborazioni e i relativi step mostrano esclusivamente crediti consumati.
* Aggiunto il totale crediti per run e piano editoriale.

= 0.6.1 =
* Saldo e consumi mostrati come crediti Digital Creative interi, coerenti con la nuova fatturazione centrale.

= 0.6.0 =
* Nuovo modulo FAQ visuale con accordion, stili, shortcode e FAQPage.

= 0.5.0 =
* Spostati sul server centrale il prompt di sistema e il template LLM Files.
* Eliminata dal client ogni possibilità di vedere o modificare il prompt LLM Files.
* Aggiunto consumo fisso di crediti per ogni invio Google Indexing API riuscito.
* Aggiunto consumo fisso per ogni URL IndexNow accettato.
* Centralizzato l'invio effettivo IndexNow, lasciando sul client la chiave e il file di verifica.
* Aggiunti riserva, rimborso e idempotenza dei costi fissi dei provider.
* Integrato il modulo concedibile Sitemap Google News.
* Aggiunta migrazione dal plugin DCS Google News Sitemap.

= 0.4.1 =
* Estesa la configurazione cliente del TOC, inclusi post type, posizione, etichette, colori e shortcode.

= 0.4.0 =
* Aggiunti profili AI commerciali e builder visuale Schema.org.
