Akismet REST API: Integrazioni Custom e Verifica Spam Programmatica
Akismet non è solo un plugin WordPress: è anche un servizio API che può essere integrato in qualsiasi applicazione web, indipendentemente dalla piattaforma. La REST API di Akismet consente di verificare contenuti per spam in modo programmatico, inviare segnalazioni di spam e falsi positivi, e verificare lo stato della chiave API. In questa guida esploriamo l’API in dettaglio, con esempi pratici di integrazione per sviluppatori.

Panoramica dell’API di Akismet
L’API di Akismet è una REST API basata su HTTP che espone tre endpoint principali:
- verify-key: Verifica la validità di una API key
- comment-check: Verifica se un contenuto è spam
- submit-spam: Segnala un contenuto come spam (falso negativo)
- submit-ham: Segnala un contenuto come legittimo (falso positivo)
Tutti gli endpoint accettano richieste POST e restituiscono risposte in formato testuale semplice. L’URL base per le chiamate API è https://rest.akismet.com/1.1/ per la verifica della chiave, e https://{api-key}.rest.akismet.com/1.1/ per le altre operazioni.
Prerequisiti
Per utilizzare l’API di Akismet hai bisogno di:
- Una API key valida (ottenibile dal sito akismet.com)
- Un linguaggio di programmazione in grado di effettuare richieste HTTP POST
- Un dominio registrato (l’API richiede l’URL del sito come parametro obbligatorio)
Endpoint 1: Verify Key
Questo endpoint verifica se una API key è valida e attiva.
URL: https://rest.akismet.com/1.1/verify-key
Parametri:
key(obbligatorio): La API key da verificareblog(obbligatorio): L’URL del sito (es.https://tuosito.com)
Risposta: valid se la chiave è valida, invalid se non lo è. In caso di errore, viene restituito un header X-akismet-debug-help con dettagli aggiuntivi.
Esempio con cURL:
curl -X POST https://rest.akismet.com/1.1/verify-key
-d "key=la-tua-api-key"
-d "blog=https://tuosito.com"
Endpoint 2: Comment Check
Questo è l’endpoint principale, utilizzato per verificare se un contenuto è spam.
URL: https://{api-key}.rest.akismet.com/1.1/comment-check
Parametri obbligatori:
blog: L’URL del sitouser_ip: L’indirizzo IP del commentatoreuser_agent: L’user agent del browser del commentatore
Parametri consigliati (migliorano l’accuratezza):
referrer: L’header HTTP Refererpermalink: L’URL della pagina su cui è stato inviato il commentocomment_type: Il tipo di contenuto (comment,forum-post,reply,blog-post,contact-form,signup,message)comment_author: Il nome dell’autorecomment_author_email: L’email dell’autorecomment_author_url: L’URL del sito dell’autorecomment_content: Il contenuto del commentocomment_date_gmt: La data del commento in formato UTC ISO 8601blog_lang: La lingua del sito (es.it)blog_charset: Il charset del sito (es.UTF-8)
Risposta: true se il contenuto è spam, false se è legittimo. L’header X-akismet-pro-tip può contenere il valore discard, che indica spam talmente evidente da poter essere eliminato senza revisione.

Esempio Pratico in PHP
Ecco un esempio completo di come verificare un commento tramite l’API di Akismet in PHP:
function checkSpam($apiKey, $blog, $commentData) {
$params = array_merge(array(
blog => $blog,
), $commentData);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://{$apiKey}.rest.akismet.com/1.1/comment-check");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, MioSito/1.0 | MioPlugin/1.0);
$response = curl_exec($ch);
curl_close($ch);
return trim($response) === true;
}
// Utilizzo
$isSpam = checkSpam(la-tua-api-key, https://tuosito.com, array(
user_ip => $_SERVER[REMOTE_ADDR],
user_agent => $_SERVER[HTTP_USER_AGENT],
referrer => $_SERVER[HTTP_REFERER] ?? ,
comment_type => contact-form,
comment_author => $nome,
comment_author_email => $email,
comment_content => $messaggio,
));
Esempio in Python
import requests
def check_spam(api_key, blog, comment_data):
url = f"https://{api_key}.rest.akismet.com/1.1/comment-check"
data = {blog: blog, **comment_data}
headers = {User-Agent: MioSito/1.0 | MioPlugin/1.0}
response = requests.post(url, data=data, headers=headers)
return response.text.strip() == true
# Utilizzo
is_spam = check_spam(la-tua-api-key, https://tuosito.com, {
user_ip: 192.168.1.1,
user_agent: Mozilla/5.0...,
comment_type: contact-form,
comment_author: Mario Rossi,
comment_author_email: mario@example.com,
comment_content: Il contenuto del messaggio...,
})
Endpoint 3: Submit Spam
Questo endpoint permette di segnalare un contenuto come spam che non è stato intercettato dal filtro (falso negativo).
URL: https://{api-key}.rest.akismet.com/1.1/submit-spam
I parametri sono gli stessi dell’endpoint comment-check. La risposta è Thanks for making the web a better place.
Endpoint 4: Submit Ham
Questo endpoint permette di segnalare un contenuto erroneamente classificato come spam (falso positivo).
URL: https://{api-key}.rest.akismet.com/1.1/submit-ham
Anche qui, i parametri sono gli stessi di comment-check. L’invio di segnalazioni ham è fondamentale per migliorare l’accuratezza dell’algoritmo.
Best Practice per l’Utilizzo dell’API
Ecco le raccomandazioni ufficiali di Akismet per l’utilizzo dell’API:
- Invia più dati possibile: Più parametri fornisci, più accurato sarà il verdetto. Non limitarti ai parametri obbligatori
- Includi tutte le variabili di ambiente: Akismet consiglia di inviare anche tutte le variabili server (
$_SERVERin PHP) come parametri aggiuntivi. L’API ignora i parametri che non riconosce - Specifica un User-Agent significativo: L’header User-Agent della richiesta API deve identificare la tua applicazione e la versione (es.
MioSito/1.0 | MioPlugin/1.0) - Gestisci gli errori: Se la chiamata API fallisce (timeout, errore di rete), non bloccare l’utente. Accetta il commento e marcalo per la revisione manuale
- Non effettuare richieste eccessive: Non inviare lo stesso commento più volte per la verifica. Una singola chiamata per commento è sufficiente
- Segnala sempre spam e ham: Utilizza gli endpoint submit-spam e submit-ham per addestrare l’algoritmo e migliorare l’accuratezza per tutti

Integrare Akismet in Applicazioni Non-WordPress
L’API di Akismet può essere utilizzata con qualsiasi piattaforma web. Ecco alcuni casi d’uso comuni:
Forum personalizzati: Se hai sviluppato un forum con PHP, Node.js, Python o qualsiasi altro linguaggio, puoi integrare Akismet per filtrare i post spam.
Applicazioni mobile: Se la tua app mobile ha una funzionalità di commenti o recensioni, puoi verificare i contenuti tramite l’API di Akismet dal tuo backend.
E-commerce custom: Per piattaforme e-commerce sviluppate su misura, Akismet può filtrare le recensioni dei prodotti e i messaggi degli utenti.
Chatbot e form personalizzati: Qualsiasi form che accetta input dall’utente può beneficiare della verifica anti-spam di Akismet.
Librerie Client Disponibili
La community ha sviluppato librerie client per l’API di Akismet in diversi linguaggi:
- PHP: La classe
Akismetinclusa nel plugin WordPress, oppure librerie standalone cometijsverkoyen/akismet - Python:
akismet(disponibile su PyPI) - Node.js:
akismet-api(disponibile su npm) - Ruby:
akismet(disponibile su RubyGems) - Java:
akismet-java - .NET:
Akismet.NET(disponibile su NuGet)
L’utilizzo di una libreria client semplifica l’integrazione, gestendo automaticamente la costruzione delle richieste HTTP e il parsing delle risposte.
Rate Limiting e Limiti dell’API
Akismet non pubblica limiti di chiamate API specifici per i piani standard, ma è buona pratica:
- Non effettuare più di una chiamata per interazione utente
- Non verificare contenuti in batch senza necessità
- Implementare un sistema di caching locale per evitare verifiche duplicate
- Gestire i timeout con grazia (timeout consigliato: 5-10 secondi)
Conclusione
La REST API di Akismet è uno strumento potente che estende la protezione anti-spam ben oltre WordPress. Con pochi endpoint semplici e ben documentati, puoi integrare la verifica anti-spam in qualsiasi applicazione web, sfruttando lo stesso algoritmo di machine learning che protegge milioni di siti WordPress. Che tu stia sviluppando un forum personalizzato, un’app mobile o un e-commerce su misura, l’API di Akismet offre una soluzione affidabile e collaudata.
Per assistenza nello sviluppo di integrazioni personalizzate con l’API di Akismet, contatta il team di G Tech Group. I nostri sviluppatori sono pronti ad aiutarti.
Continua a Leggere
Questa guida fa parte della nostra serie completa su WordPress. Scopri anche:
- Guide Elementor – Impara a costruire pagine professionali con il page builder più popolare
- Guide WP Rocket – Ottimizza le prestazioni e la velocità del tuo sito
- Guide SEOPress – Migliora il posizionamento sui motori di ricerca
- Guide UpdraftPlus – Proteggi i tuoi dati con backup automatici
Per ulteriori guide, tutorial e approfondimenti sul mondo WordPress, visita il blog di G Tech Group. Se desideri un supporto professionale per il tuo progetto web, contattaci: il nostro team è pronto ad affiancarti in ogni fase.
Migliora il Tuo Sito WordPress
Scopri le nostre guide complete sugli altri plugin essenziali per WordPress: