Come impedire a MailPoet di contare gli utenti WordPress come Subscriber e far funzionare correttamente le limitazioni della versione gratuita

How to get rid of MailPoet's automatic new users auto-subscribe feature (and make the 2000 subscribers limit work as it should)

Non c’è operatore, gestore o amministratore WordPress che non conosca MailPoet, precedentemente noto come WYSIJA: per dirla in breve, si tratta di uno dei più sofisticati plugin WordPress per la gestione delle newsletter, utilizzato da migliaia – se non milioni – di siti e blog in tutto il mondo per la sua grande quantità di opzioni e funzionalità.

Personalmente ritengo MailPoet un plugin assolutamente eccezionale: fa parte di quella esigua lista di plugin che includo in quasi tutte le installazioni WordPress che mi capita di gestire o amministrare (inclusa questa). Nella maggior parte dei casi si tratta di siti piccoli: in alcuni casi – quando gli utenti e i subscriber delle newsletter sono migliaia – ho anche consigliato l’acquisto della licenza premium, non soltanto perché si tratta di un prodotto ampiamente meritevole del supporto degli utenti, ma anche perché… beh, perché la licenza gratuita ha una limitazione di 2000 subscriber, raggiunti i quali occorre pagare. Il plugin ha anche un counter interno che provoca la disabilitazione di tutte le newsletter quando il numero dei sottoscrittori raggiunge o supera i 2000.

Come ho detto, ritengo MailPoet un componente eccezionale… ad eccezione di un singolo, grande difetto: il subdolo stratagemma che gli sviluppatori hanno ideato per spingere l’amministratore WordPress a pagare per attivare la licenza premium, anche quando non ne ha alcun bisogno reale.

In che senso? Per meglio comprendere la situazione, è opportuno partire dall’inizio. Come detto poco fa, la versione gratuita di MailPoet consente fino a un massimo di 2000 subscriber, dopo bisogna pagare. Non che su questo ci sia nulla da eccepire, anzi: se il nostro sito ha un numero di subscriber così elevato significa che si tratta di un sito che smuove numeri rilevanti, quindi è del tutto probabile che l’amministrazione si possa permettere di pagare la fee della licenza premium.

Qual è il problema, dunque? Per rispondere a questa domanda è necessario comprendere il significato che il termine subscriber assume per MailPoet. Sarebbe legittimo pensare che si tratti di un membro delle nostre newsletter, giusto? Sbagliato! Basta dare un’occhiata alle impostazioni di MailPoet e al codice sorgente per accorgersi dell’esistenza di una lista semi-nascosta, denominata WordPress Users, che viene alimentata automaticamente dal plugin ogni volta che un nuovo utente si registra al nostro sito. Per visualizzarla, è sufficiente, dal pannello di amministrazione di WordPress, navigare all’interno del menu Subscribers, quindi fare click sul pulsante Edit Lists che si trova in alto a sinistra nella finestra di configurazione del plugin:

Come impedire a MailPoet di contare gli utenti WordPress come Subscriber e far funzionare correttamente le limitazioni della versione gratuita

Qual è lo scopo di questa lista? Assolutamente nessuno, a parte ovviamente far sì che tutti gli utenti che si registrano al sito vengano automaticamente considerati come dei subscriber, indipendentemente dal fatto che abbiano scelto di iscriversi a una newsletter oppure no: ciascuno di essi andrà quindi a ridurre di 1 la distanza che ci separa dal fatidico limite di 2000 subscriber consentiti dalla versione gratuita di MailPoet. Inutile dire che il plugin non dà la possibilità né di eliminare questa lista né tantomeno di impedire questa funzionalità strumentale di “auto-iscrizione” ad essa da parte di tutti gli utenti registrati.

Nel caso in cui qualcuno non abbia compreso come funziona, ecco un piccolo schema che mostra ciò che accade dietro le quinte:

  • Non appena installiamo MailPoet sul nostro sito WordPress il plugin provvede a creare la lista semi-nascosta WordPress Users, aggiungendola alle newsletter reali che andremo successivamente a creare manualmente.
  • Da quel momento in poi:
    • Ogniqualvolta un utente deciderà di iscriversi a una newsletter, conterà come 1 sui 2000 subscriber consentiti. Il che è OK.
    • Ogniqualvolta un amministratore aggiungerà manualmente un utente a una newsletter, questi conterà come 1 sui 2000 subscriber consentiti. Il che è OK.
    • Ogniqualvolta un nuovo utente completa la registrazione sul sito, indipendentemente dalla sua decisione di iscriversi a una newsletter oppure no, conterà in ogni caso come 1 sui 2000 subscriber consentiti. Il che NON è assolutamente OK, visto che not può essere considerato un subscriber in alcun modo.

A questo punto potremmo chiederci: come mai il plugin si comporta in questo modo? La risposta, ahimé, sembra essere fin troppo ovvia: la maggior parte dei siti e blog WordPress non raggiungerà mai 2000 subscriber, quindi non avrà mai alcun bisogno di acquistare la versione premium di MailPoet. Al contrario, non c’è sito o blog WordPress che non rischi costantemente di raggiungere i 2000 utenti registrati, vista la presenza asfissiante di Spam Bots e Fake Registration Bots che infestano quotidianamente la rete con le loro request. Si potrebbe dire a questo punto che esiste anche la concreta possibilità, per la maggior parte dei siti, di raggiungere i 2000 utenti anche senza account spam: questo è assolutamente vero, ma non ha niente a che vedere con come dovrebbe funzionare MailPoet: gli utenti registrati sono cosa ben diversa dai subscriber, e i plugin non dovrebbero confondere le due cose come se si trattasse di sinonimi… specialmente se tale confusione è strumentale a vendere più licenze premium.

Ora che abbiamo messo a fuoco il problema, non ci resta che trovare un valido workaround per impedire che i nostri utenti registrati vengano impropriamente considerati alla stregua di subscriber.

Per nostra fortuna, la newsletter (finta) WordPress User, che come abbiamo detto viene alimentata a seguito dell’avvenuta iscrizione di un nuovo utente, non è sincronizzata in tempo reale con la base utenti di WordPress: questo significa che per risolvere il problema è sufficiente ripulirla periodicamente, cosa che possiamo fare agendo direttamente sul Database del plugin. E’ sufficiente eseguire la seguente query MySQL:

E’ sufficiente aggiungere questa istruzione a uno script di manutenzione giornaliero, notturno o settimanale (a patto che esista) per risolvere il problema in modo automatico e definitivo. Ovviamente, qualora non avessimo pratica con le query MySQL o se non disponiamo di uno script di manutenzione, possiamo recarci all’interno della sezione Edit List di MailPoet (la stessa di cui abbiamo parlato sopra) e ripulire manualmente le entry presenti nella lista WordPress Users.

A questo punto viene da chiedersi se tutto questo è davvero necessario: questa funzionalità di MailPoet è davvero così negativa da richiedere un accorgimento del genere? La risposta, ahimé, è affermativa: non appena il numero di 2000 subscriber viene raggiunto MailPoet smette di fatto di funzionare, interrompendo di punto in bianco l’invio di qualsiasi newsletter. Lo fa in silenzio, senza darne notizia agli amministratori o possibilità di attivare una notifica di qualsivoglia tipo: l’unico modo per accorgersi che il sito non invia più le newsletter è collegarsi al pannello di amministrazione e aprire l’interfaccia di MailPoet, che a quel punto – e soltanto in quel momento – mostrerà un piccolo pannello rosso che avverte che, essendo stati raggiunti i 2000 subscriber, l’invio delle newsletter è stato disattivato. Da quel momento in poi, l’unico modo per ripristinarle è quello di eliminare manualmente gli utenti contenuti nella lista WordPress Users – secondo le modalità descritte sopra – o acquistare una licenza premium. Non solo: il metodo della cancellazione funziona solo da alcuni mesi, ovvero da quando ho personalmente fatto notare al team di sviluppo MailPoet tramite un post sul forum ufficiale WordPress.org. Prima del mio intervento, infatti, il counter che registrava i 2000+ subscriber non veniva resettato neanche svuotando la lista WordPress Users, rendendo l’acquisto della licenza premium l’unico modo per ripristinare il funzionamento del plugin.

Non parliamo poi del fatto che, una volta risolto il problema, è probabile che ci ritroveremo con una fila di newsletter in coda di invio senza nessuna reale possibilità di disattivarle o eliminarle in modalità bulk: questo significa che gli utenti che si erano regolarmente iscritti ad esse in precedenza finiranno con il riceverle tutte insieme, a breve distanza l’una dall’altra: tecnicamente non si tratta di uno spam – si tratta pur sempre di utenti che hanno dato il loro consenso – ma non è difficile immaginare il fastidio che proveranno ad essere sommersi da una grande quantità di materiale datato. Tutto per colpa della disattivazione dell’invio automatico da parte di MailPoet e delle sue arbitrarie e strumentali decisioni.

In definitiva: esorto tutti gli amministratori di WordPress a continuare a utilizzare MailPoet, visto che si tratta di uno strumento davvero eccellente: al tempo stesso spero che nessuno si faccia trascinare nell’equivoco strumentale tra utenti registrati e subscriber in cui il plugin, con il suo comportamento e i suoi avvisi, cerca di farci cadere. Pagate la licenza premium, ma solo se ne avete veramente bisogno.

Per il momento è tutto: felice newsletter!

That’s it for now.

RELATED POSTS

About Ryan

IT Project Manager, Web Interface Architect e Lead Developer di numerosi siti e servizi web ad alto traffico in Italia e in Europa. Dal 2010 si occupa anche della progettazione di App e giochi per dispositivi Android, iOS e Mobile Phone per conto di numerose società italiane.

View all posts by Ryan