<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>plugin WordPress - Matteo Cisilino</title>
	<atom:link href="https://www.cisilino.com/tag/plugin-wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cisilino.com</link>
	<description>Guide su WordPress, server e sicurezza</description>
	<lastBuildDate>Fri, 30 Oct 2026 16:18:46 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>
	<item>
		<title>Log email WordPress: perché lo controllo con FluentSMTP</title>
		<link>https://www.cisilino.com/2026/10/31/log-email-wordpress-fluentsmtp/</link>
					<comments>https://www.cisilino.com/2026/10/31/log-email-wordpress-fluentsmtp/#respond</comments>
		
		<dc:creator><![CDATA[matteocisilino]]></dc:creator>
		<pubDate>Sat, 31 Oct 2026 08:00:00 +0000</pubDate>
				<category><![CDATA[Server e database]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[FluentSMTP]]></category>
		<category><![CDATA[plugin WordPress]]></category>
		<category><![CDATA[SMTP]]></category>
		<guid isPermaLink="false">https://www.cisilino.com/?p=1249</guid>

					<description><![CDATA[<p>Gestisco diversi siti WordPress. Su ognuno parte un numero di email che nessuno immagina: notifiche di contatto, reset password, conferme d&#8217;ordine, avvisi ai gestori. Il log email WordPress di FluentSMTP è lo strumento che controllo appena un cliente mi scrive &#8220;non ho ricevuto niente&#8221;. Prima guardavo i log del server SMTP a riga di comando. [&#8230;]</p>
<p>The post <a href="https://www.cisilino.com/2026/10/31/log-email-wordpress-fluentsmtp/">Log email WordPress: perché lo controllo con FluentSMTP</a> first appeared on <a href="https://www.cisilino.com">Matteo Cisilino</a>.</p>]]></description>
										<content:encoded><![CDATA[<p class="wp-block-paragraph">Gestisco diversi siti WordPress. Su ognuno parte un numero di email che nessuno immagina: notifiche di contatto, reset password, conferme d&#8217;ordine, avvisi ai gestori. Il log email WordPress di FluentSMTP è lo strumento che controllo appena un cliente mi scrive &#8220;non ho ricevuto niente&#8221;. Prima guardavo i log del server SMTP a riga di comando. Dovevo far corrispondere a mano grep e timestamp. Ora apro una pagina nel pannello di WordPress e ho tutto davanti.</p>



<figure class="wp-block-image size-large"><img fetchpriority="high" decoding="async" src="https://www.cisilino.com/wp-content/uploads/2026/10/fluent-smtp-log-invii-email-wordpress.webp" alt="log email WordPress visto nel pannello di FluentSMTP" width="1200" height="630"/></figure>



<h2 class="wp-block-heading">Perché controllo il log email WordPress prima dei log del server</h2>



<p class="wp-block-paragraph">Il caso tipico è sempre lo stesso. Un modulo di contatto che &#8220;non arriva&#8221;. Un cliente che non riceve l&#8217;email di reset password. Un ordine che resta senza conferma. Senza un log a portata di mano, la prima ipotesi è la cartella spam. Poi i log del server SMTP. Poi magari il firewall. Con FluentSMTP salto quei passaggi. Vedo subito se WordPress ha davvero provato a spedire quell&#8217;email. A chi, quando, con quale risposta del server di invio.</p>



<p class="wp-block-paragraph">FluentSMTP registra ogni chiamata a <code>wp_mail()</code>. Non solo le email dei plugin di terze parti, anche quelle generate dal core: notifiche di nuovo utente, promemoria di aggiornamento, avvisi di errore. Per ogni invio il log mostra mittente, destinatario, oggetto, intestazioni complete, corpo del messaggio. E la risposta del provider SMTP o dell&#8217;API usata. Se un&#8217;email è finita in errore, quella risposta del server è lì. Non devo indovinarla.</p>



<h2 class="wp-block-heading">Cosa trovo davvero nel registro degli invii</h2>



<p class="wp-block-paragraph">Il plugin supporta decine di connettori: Amazon SES, SendGrid, Mailgun, Brevo, Postmark, SparkPost. Anche Google Workspace e Microsoft 365 via OAuth, oltre al classico SMTP generico. Sui siti che gestisco uso quasi sempre SMTP autenticato con il dominio del cliente. Qualche volta un&#8217;API dedicata, quando il volume di email cresce. In entrambi i casi il log email WordPress non cambia. Ogni riga ha uno stato, inviata o fallita. C&#8217;è un pulsante per rivedere il contenuto o rispedire il messaggio, senza che l&#8217;utente debba rifare l&#8217;azione che l&#8217;ha generato.</p>



<p class="wp-block-paragraph">Il rinvio manuale è la funzione che uso più spesso. Un modulo compilato due volte perché &#8220;non arrivava&#8221; diventa un clic sul log. Non una nuova segnalazione al cliente. Per i fallimenti ripetuti ho attivato le notifiche su Telegram. Appena una connessione smette di funzionare, lo so prima che me lo scriva qualcuno. Invece di scoprirlo da un ticket di supporto.</p>



<p class="wp-block-paragraph">Il log non riguarda solo le notifiche dirette a me o al cliente che amministra il sito. Finisce lì ogni email in uscita generata dal sito verso terzi: la conferma d&#8217;ordine che un negozio online manda al cliente finale, la ricevuta di un pagamento, la notifica di spedizione. Se quella conferma non arriva, la vedo nel log email WordPress esattamente come una notifica interna, con lo stesso pulsante per rispedirla al destinatario giusto senza fargli ripetere l&#8217;acquisto.</p>



<h2 class="wp-block-heading">Come configuro FluentSMTP sui siti che gestisco</h2>



<p class="wp-block-paragraph">Dopo aver collegato il connettore giusto, cambio la conservazione del log. Di default resta attivo a lungo. Io lo porto a 30-60 giorni, in base al traffico del sito. Serve per risalire a un problema segnalato in ritardo. Senza riempire il database di righe che non consulterò mai. Attivo poi almeno un canale di notifica per i fallimenti, Telegram o Slack secondo il cliente. Il log da solo non avvisa nessuno: va aperto per essere letto.</p>



<p class="wp-block-paragraph">Sui siti con form di contatto uso anche <a href="https://www.cisilino.com/2026/10/29/plugin-sicurezza/">Cisilino Site Defense Network</a> per il blocco dei bot. Meno spam in ingresso significa meno email generate dai moduli. Il log resta più leggibile, con meno rumore da filtrare quando cerco il messaggio giusto.</p>



<h2 class="wp-block-heading">Le credenziali SMTP non restano in chiaro nel database</h2>



<p class="wp-block-paragraph">Un dettaglio che controllo sempre prima di salvare una connessione: dove finiscono le credenziali. FluentSMTP le cifra di default con le chiavi SALT di WordPress, quelle già presenti in <code>wp-config.php</code> per sicurezza delle sessioni. Si può disattivare la cifratura, ma il plugin stesso lo segnala come sconsigliato. Sui siti che gestisco preferisco un&#8217;altra opzione: salvare la password API o SMTP direttamente in <code>wp-config.php</code>, fuori dal database, definendo le costanti prima che il plugin le legga. Così anche un dump del database o un accesso non autorizzato al pannello non espone la chiave del provider di invio. È lo stesso principio che applico altrove: meno segreti nel database, meglio è.</p>



<h2 class="wp-block-heading">Più connessioni insieme, non solo una alla volta</h2>



<p class="wp-block-paragraph">FluentSMTP permette di configurare più connessioni insieme, non solo una alla volta. Su un sito imposto quella predefinita e ne aggiungo una seconda come riserva: se il primo provider non risponde, l&#8217;invio passa automaticamente alla connessione di riserva, senza che io debba intervenire. La scelta della connessione dipende dall&#8217;indirizzo del mittente: ogni connessione ha il suo &#8220;From&#8221;, il resto passa per quella predefinita, con la riserva pronta solo se la predefinita fallisce davvero (un errore del provider, non un&#8217;email finita in spam). È una delle ragioni per cui lo preferisco a un singolo SMTP senza alternative: se SendGrid o Amazon SES hanno un problema per qualche ora, il sito continua comunque a spedire, e lo vedo subito nel log email WordPress. Tutto incluso nella versione gratuita, senza una versione pro a pagamento: si paga solo il provider di invio scelto, non il plugin.</p>



<h2 class="wp-block-heading">Un controllo di salute ogni giorno, non solo quando qualcosa si rompe</h2>



<p class="wp-block-paragraph">Oltre al log riga per riga, FluentSMTP fa un controllo di salute della connessione ogni giorno, in automatico. Se il provider smette di rispondere, l&#8217;avviso arriva prima che un cliente mi scriva &#8220;il sito non manda più email&#8221;. Lo stesso pannello mostra un grafico con i totali giornalieri di invii riusciti e falliti: utile per capire a colpo d&#8217;occhio se un calo è normale o è il sintomo di qualcosa che si sta rompendo, senza dover aprire il log email WordPress riga per riga ogni volta. C&#8217;è anche un riepilogo periodico via email, con i totali della settimana: non è un avviso di errore, è un bollettino che leggo di sfuggita per sapere se il volume di invii è nella norma.</p>



<p class="wp-block-paragraph">Per chi, come me, gestisce più siti da riga di comando, FluentSMTP espone anche dei comandi WP-CLI: un test di invio, un controllo di salute della connessione, le statistiche e la pulizia dei log vecchi. Li uso negli stessi script che già girano sui server per altri controlli di manutenzione, senza dover aprire il pannello di ogni sito uno per uno.</p>



<h2 class="wp-block-heading">I limiti onesti del log email WordPress</h2>



<p class="wp-block-paragraph">Non è una soluzione magica. La conservazione è basata sui giorni, non su un numero massimo di righe. Su un sito con molto traffico transazionale la tabella del log può crescere in fretta. Conviene tenerla sotto controllo, o impostare una conservazione più breve. Le notifiche di fallimento arrivano solo sui canali di chat configurati, non per email. Ha senso: un&#8217;email che avvisa di un&#8217;email fallita rischia di fallire a sua volta. Ma va saputo prima di contarci.</p>



<p class="wp-block-paragraph">Infine il log registra cosa è successo lato WordPress e lato provider. Non garantisce la consegna nella casella del destinatario. Se un&#8217;email è segnata come inviata ma finisce in spam, è un problema di reputazione del dominio o di configurazione SPF/DKIM. Non qualcosa che un log può risolvere da solo. Resta comunque il primo posto dove guardo, prima di qualsiasi altra verifica.</p>



<p class="wp-block-paragraph">Il plugin è gratuito e open source. Pagina ufficiale su <a href="https://wordpress.org/plugins/fluent-smtp/" target="_blank" rel="nofollow noopener">wordpress.org</a>, senza funzioni bloccate dietro una versione pro. Per chi gestisce anche un solo sito con un modulo di contatto, vale la pena installarlo solo per il log email WordPress. La prima volta che risolve un &#8220;non ho ricevuto l&#8217;email&#8221; in un minuto invece che in mezz&#8217;ora, si è ripagato.</p><p>The post <a href="https://www.cisilino.com/2026/10/31/log-email-wordpress-fluentsmtp/">Log email WordPress: perché lo controllo con FluentSMTP</a> first appeared on <a href="https://www.cisilino.com">Matteo Cisilino</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.cisilino.com/2026/10/31/log-email-wordpress-fluentsmtp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Manuale CSDN: cos&#8217;è Cisilino Site Defense Network e come usarlo</title>
		<link>https://www.cisilino.com/2026/10/30/manuale-csdn-introduzione/</link>
					<comments>https://www.cisilino.com/2026/10/30/manuale-csdn-introduzione/#respond</comments>
		
		<dc:creator><![CDATA[matteocisilino]]></dc:creator>
		<pubDate>Fri, 30 Oct 2026 16:05:18 +0000</pubDate>
				<category><![CDATA[Manuale CSDN]]></category>
		<category><![CDATA[Cisilino Site Defense Network]]></category>
		<category><![CDATA[manuale CSDN]]></category>
		<category><![CDATA[plugin WordPress]]></category>
		<guid isPermaLink="false">https://www.cisilino.com/?p=972</guid>

					<description><![CDATA[<p>Cos'è il plugin Cisilino Site Defense Network, cosa fa e cosa non fa, i requisiti e l'indice dei 16 capitoli del manuale.</p>
<p>The post <a href="https://www.cisilino.com/2026/10/30/manuale-csdn-introduzione/">Manuale CSDN: cos’è Cisilino Site Defense Network e come usarlo</a> first appeared on <a href="https://www.cisilino.com">Matteo Cisilino</a>.</p>]]></description>
										<content:encoded><![CDATA[<p>Questo manuale CSDN spiega come usare Cisilino Site Defense Network, un plugin per WordPress che protegge il sito dai tentativi di accesso abusivo. Lo rivolgo a chi amministra un sito e vuole capire a cosa serve ogni scheda prima di toccarla. Qui descrivo la versione 1.0.15.</p>
<figure class="wp-block-image size-large"><img decoding="async" src="https://www.cisilino.com/wp-content/uploads/2026/10/manuale-csdn-introduzione.webp" alt="Schema del manuale CSDN: menu Impostazioni di WordPress con le dieci schede del plugin" width="1200" height="630"/></figure>
<h2>Cos&#8217;è Cisilino Site Defense Network</h2>
<p>Cisilino Site Defense Network, in breve CSDN, è un plugin per WordPress. Conta i login falliti per ogni indirizzo IP. Quando un IP raggiunge la soglia, lo blocca scrivendolo nel file <code>.htaccess</code> del sito.</p>
<p>Il plugin funziona da solo, senza nessuna configurazione. Il collegamento a un pannello esterno è facoltativo. Se non lo configuri, il plugin non fa alcuna chiamata verso l&#8217;esterno.</p>
<p>Lo trovi nel menu laterale di WordPress, alla voce indicata dal punto 1 dell&#8217;immagine: <strong>Impostazioni &gt; Cisilino Site Defense Network</strong>. Dentro ci sono dieci schede, elencate al punto 3.</p>
<h2>A cosa serve</h2>
<p>Il plugin mette insieme diverse difese, tutte gestite da quella pagina.</p>
<ul>
<li>Blocco automatico degli IP che sbagliano troppe volte il login, con una whitelist per le reti fidate.</li>
<li>Blocco e sblocco manuale di un singolo IP, anche a tempo.</li>
<li>Regole opzionali per <code>.htaccess</code>: niente PHP in <code>uploads</code>, niente elenco delle cartelle, file sensibili protetti.</li>
<li>Header HTTP di sicurezza e disconnessione degli amministratori inattivi.</li>
<li>Una policy su chi può creare nuovi utenti.</li>
<li>Un limite alle pubblicazioni degli autori e ai commenti e ai moduli di Contact Form 7 inviati dagli ospiti.</li>
<li>Un registro delle attività del sito e un controllo di integrità dei file del plugin.</li>
<li>Un log degli errori PHP, che puoi accendere quando serve.</li>
</ul>
<h2>Cosa il plugin non fa</h2>
<p>Questo manuale CSDN parla anche dei limiti, e conviene conoscerli subito. Il plugin non è un firewall applicativo: non analizza il contenuto delle richieste. La parola IDS nel nome della scheda indica regole di accesso a file e cartelle, non un vero sistema di rilevamento delle intrusioni.</p>
<ul>
<li>Non impedisce le manomissioni dei file: le rileva soltanto, e chi ha già accesso in scrittura può aggirare il controllo.</li>
<li>Non crea una copia di <code>.htaccess</code> prima di modificarlo.</li>
<li>Non offre il Content-Security-Policy tra gli header.</li>
<li>Non nasconde l&#8217;elenco utenti dell&#8217;API REST di WordPress.</li>
<li>Non ha un elenco di domini email né un captcha per le registrazioni.</li>
<li>Su un server che ignora <code>.htaccess</code>, come nginx, le regole a livello server non hanno effetto.</li>
</ul>
<p><strong>Attenzione:</strong> un plugin riduce i rischi, non li azzera. Tieni aggiornati WordPress, temi e plugin e fai copie di sicurezza del sito, anche se usi CSDN.</p>
<h2>Requisiti</h2>
<ul>
<li>WordPress 5.8 o successivo e PHP 7.4 o successivo.</li>
<li>Apache, o LiteSpeed compatibile, per i blocchi IP e per l&#8217;hardening. Il file <code>.htaccess</code> deve essere scrivibile.</li>
<li>Un account con il permesso di gestire le impostazioni. Su un sito singolo è <code>manage_options</code>. Su una rete multisite serve il super admin.</li>
<li>Per il pannello, facoltativo: un indirizzo https, un customer code e una chiave API.</li>
</ul>
<p>Gli aggiornamenti arrivano dal normale meccanismo di WordPress, in Plugin &gt; Aggiornamenti. Il plugin è pensato per la directory di WordPress.org, dove ha la sua <a href="https://wordpress.org/plugins/cisilino-site-defense-network/" target="_blank" rel="noopener">pagina ufficiale</a>: è il posto giusto per controllare quale versione è pubblicata.</p>
<h2>Come leggere il manuale CSDN</h2>
<p>Puoi leggere i capitoli in ordine oppure saltare a quello che ti serve. Ogni capitolo ha un&#8217;immagine con la mappa della pagina e dei cerchi rossi numerati: il numero 1 indica la voce di menu, il 2 la scheda attiva, gli altri le sezioni.</p>
<p>Se è la prima volta, parti dall&#8217;installazione e dal primo avvio. Se qualcosa non funziona, vai diretto al capitolo sulla risoluzione dei problemi. Questi sono i capitoli:</p>
<ol>
<li>Introduzione: questa pagina.</li>
<li><a href="https://www.cisilino.com/?p=973">Installare e attivare Cisilino Site Defense Network</a></li>
<li><a href="https://www.cisilino.com/?p=974">Collegare il plugin al pannello: Impostazioni remote</a></li>
<li><a href="https://www.cisilino.com/?p=975">Scheda Generale: soglia di blocco e stato del plugin</a></li>
<li><a href="https://www.cisilino.com/?p=976">Bloccare, sbloccare e whitelist: gli override manuali</a></li>
<li><a href="https://www.cisilino.com/?p=977">Scheda IP bloccati: leggere la blacklist</a></li>
<li><a href="https://www.cisilino.com/?p=978">Hardening / IDS: le regole per .htaccess</a></li>
<li><a href="https://www.cisilino.com/?p=979">Sorveglianza dei caricamenti e controllo di integrità</a></li>
<li><a href="https://www.cisilino.com/?p=980">Scheda Test: verificare che le protezioni funzionino</a></li>
<li><a href="https://www.cisilino.com/?p=981">Paranoic Hardening: header di sicurezza e sessione amministrativa</a></li>
<li><a href="https://www.cisilino.com/?p=982">Registrazione utenti: chi può creare account</a></li>
<li><a href="https://www.cisilino.com/?p=983">Rate limiting: limiti su autori e visitatori</a></li>
<li><a href="https://www.cisilino.com/?p=984">Registro attività: cosa è successo sul sito</a></li>
<li><a href="https://www.cisilino.com/?p=985">Log di debug: gli errori PHP in un file proprio</a></li>
<li><a href="https://www.cisilino.com/?p=986">Risoluzione dei problemi e domande frequenti</a></li>
<li><a href="https://www.cisilino.com/?p=987">Disattivazione, disinstallazione e dati personali</a></li>
</ol>
<p>Una nota che evita confusioni. Il blocco e lo sblocco manuale di un IP e la whitelist stanno nella scheda <strong>Generale</strong>, non in <strong>IP bloccati</strong>. Lo stesso vale per il form di sorveglianza dei caricamenti.</p>
<p>Tutte le etichette dei campi e dei pulsanti, nel manuale CSDN, sono copiate come le vedi nel plugin. Per cominciare passa al capitolo successivo: <a href="https://www.cisilino.com/?p=973">Installare e attivare Cisilino Site Defense Network</a>.</p><p>The post <a href="https://www.cisilino.com/2026/10/30/manuale-csdn-introduzione/">Manuale CSDN: cos’è Cisilino Site Defense Network e come usarlo</a> first appeared on <a href="https://www.cisilino.com">Matteo Cisilino</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://www.cisilino.com/2026/10/30/manuale-csdn-introduzione/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
