{"id":167229,"date":"2025-06-02T09:00:00","date_gmt":"2025-06-02T09:00:00","guid":{"rendered":"https:\/\/gtechgroup.it\/blog\/akismet-rest-api-integrazioni-verifica-spam\/"},"modified":"2026-05-30T10:00:00","modified_gmt":"2026-05-30T08:00:00","slug":"akismet-rest-api-integrazioni-verifica-spam","status":"publish","type":"post","link":"https:\/\/gtechgroup.it\/blog\/akismet-rest-api-integrazioni-verifica-spam\/","title":{"rendered":"Akismet REST API: Integrazioni Custom e Verifica Spam Programmatica"},"content":{"rendered":"<h2>Akismet REST API: Integrazioni Custom e Verifica Spam Programmatica<\/h2>\n<p>Akismet non &#232; solo un plugin WordPress: &#232; anche un <strong>servizio API<\/strong> che pu&#242; essere integrato in qualsiasi applicazione web, indipendentemente dalla piattaforma. La <strong>REST API di Akismet<\/strong> 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&#8217;API in dettaglio, con esempi pratici di integrazione per sviluppatori.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/ak-02-stats.png\" alt=\"Monitoraggio delle chiamate API Akismet tramite la dashboard\" \/><\/p>\n<h3>Panoramica dell&#8217;API di Akismet<\/h3>\n<p>L&#8217;API di Akismet &#232; una REST API basata su HTTP che espone tre endpoint principali:<\/p>\n<ol>\n<li><strong>verify-key:<\/strong> Verifica la validit&#224; di una API key<\/li>\n<li><strong>comment-check:<\/strong> Verifica se un contenuto &#232; spam<\/li>\n<li><strong>submit-spam:<\/strong> Segnala un contenuto come spam (falso negativo)<\/li>\n<li><strong>submit-ham:<\/strong> Segnala un contenuto come legittimo (falso positivo)<\/li>\n<\/ol>\n<p>Tutti gli endpoint accettano richieste <strong>POST<\/strong> e restituiscono risposte in formato testuale semplice. L&#8217;URL base per le chiamate API &#232; <code>https:\/\/rest.akismet.com\/1.1\/<\/code> per la verifica della chiave, e <code>https:\/\/{api-key}.rest.akismet.com\/1.1\/<\/code> per le altre operazioni.<\/p>\n<h3>Prerequisiti<\/h3>\n<p>Per utilizzare l&#8217;API di Akismet hai bisogno di:<\/p>\n<ul>\n<li>Una API key valida (ottenibile dal sito akismet.com)<\/li>\n<li>Un linguaggio di programmazione in grado di effettuare richieste HTTP POST<\/li>\n<li>Un dominio registrato (l&#8217;API richiede l&#8217;URL del sito come parametro obbligatorio)<\/li>\n<\/ul>\n<h3>Endpoint 1: Verify Key<\/h3>\n<p>Questo endpoint verifica se una API key &#232; valida e attiva.<\/p>\n<p><strong>URL:<\/strong> <code>https:\/\/rest.akismet.com\/1.1\/verify-key<\/code><\/p>\n<p><strong>Parametri:<\/strong><\/p>\n<ul>\n<li><code>key<\/code> (obbligatorio): La API key da verificare<\/li>\n<li><code>blog<\/code> (obbligatorio): L&#8217;URL del sito (es. <code>https:\/\/tuosito.com<\/code>)<\/li>\n<\/ul>\n<p><strong>Risposta:<\/strong> <code>valid<\/code> se la chiave &#232; valida, <code>invalid<\/code> se non lo &#232;. In caso di errore, viene restituito un header <code>X-akismet-debug-help<\/code> con dettagli aggiuntivi.<\/p>\n<p><strong>Esempio con cURL:<\/strong><\/p>\n<p><code>curl -X POST https:\/\/rest.akismet.com\/1.1\/verify-key <br \/>\n&nbsp;&nbsp;-d \"key=la-tua-api-key\" <br \/>\n&nbsp;&nbsp;-d \"blog=https:\/\/tuosito.com\"<\/code><\/p>\n<h3>Endpoint 2: Comment Check<\/h3>\n<p>Questo &#232; l&#8217;endpoint principale, utilizzato per verificare se un contenuto &#232; spam.<\/p>\n<p><strong>URL:<\/strong> <code>https:\/\/{api-key}.rest.akismet.com\/1.1\/comment-check<\/code><\/p>\n<p><strong>Parametri obbligatori:<\/strong><\/p>\n<ul>\n<li><code>blog<\/code>: L&#8217;URL del sito<\/li>\n<li><code>user_ip<\/code>: L&#8217;indirizzo IP del commentatore<\/li>\n<li><code>user_agent<\/code>: L&#8217;user agent del browser del commentatore<\/li>\n<\/ul>\n<p><strong>Parametri consigliati (migliorano l&#8217;accuratezza):<\/strong><\/p>\n<ul>\n<li><code>referrer<\/code>: L&#8217;header HTTP Referer<\/li>\n<li><code>permalink<\/code>: L&#8217;URL della pagina su cui &#232; stato inviato il commento<\/li>\n<li><code>comment_type<\/code>: Il tipo di contenuto (<code>comment<\/code>, <code>forum-post<\/code>, <code>reply<\/code>, <code>blog-post<\/code>, <code>contact-form<\/code>, <code>signup<\/code>, <code>message<\/code>)<\/li>\n<li><code>comment_author<\/code>: Il nome dell&#8217;autore<\/li>\n<li><code>comment_author_email<\/code>: L&#8217;email dell&#8217;autore<\/li>\n<li><code>comment_author_url<\/code>: L&#8217;URL del sito dell&#8217;autore<\/li>\n<li><code>comment_content<\/code>: Il contenuto del commento<\/li>\n<li><code>comment_date_gmt<\/code>: La data del commento in formato UTC ISO 8601<\/li>\n<li><code>blog_lang<\/code>: La lingua del sito (es. <code>it<\/code>)<\/li>\n<li><code>blog_charset<\/code>: Il charset del sito (es. <code>UTF-8<\/code>)<\/li>\n<\/ul>\n<p><strong>Risposta:<\/strong> <code>true<\/code> se il contenuto &#232; spam, <code>false<\/code> se &#232; legittimo. L&#8217;header <code>X-akismet-pro-tip<\/code> pu&#242; contenere il valore <code>discard<\/code>, che indica spam talmente evidente da poter essere eliminato senza revisione.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/ak-01-settings.png\" alt=\"Configurazione della API key per lutilizzo dellAPI REST\" \/><\/p>\n<h3>Esempio Pratico in PHP<\/h3>\n<p>Ecco un esempio completo di come verificare un commento tramite l&#8217;API di Akismet in PHP:<\/p>\n<p><code>function checkSpam($apiKey, $blog, $commentData) {<br \/>\n&nbsp;&nbsp;$params = array_merge(array(<br \/>\n&nbsp;&nbsp;&nbsp;&nbsp;blog =&gt; $blog,<br \/>\n&nbsp;&nbsp;), $commentData);<\/p>\n<p>&nbsp;&nbsp;$ch = curl_init();<br \/>\n&nbsp;&nbsp;curl_setopt($ch, CURLOPT_URL, \"https:\/\/{$apiKey}.rest.akismet.com\/1.1\/comment-check\");<br \/>\n&nbsp;&nbsp;curl_setopt($ch, CURLOPT_POST, true);<br \/>\n&nbsp;&nbsp;curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));<br \/>\n&nbsp;&nbsp;curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);<br \/>\n&nbsp;&nbsp;curl_setopt($ch, CURLOPT_USERAGENT, MioSito\/1.0 | MioPlugin\/1.0);<\/p>\n<p>&nbsp;&nbsp;$response = curl_exec($ch);<br \/>\n&nbsp;&nbsp;curl_close($ch);<\/p>\n<p>&nbsp;&nbsp;return trim($response) === true;<br \/>\n}<\/p>\n<p>\/\/ Utilizzo<br \/>\n$isSpam = checkSpam(la-tua-api-key, https:\/\/tuosito.com, array(<br \/>\n&nbsp;&nbsp;user_ip =&gt; $_SERVER[REMOTE_ADDR],<br \/>\n&nbsp;&nbsp;user_agent =&gt; $_SERVER[HTTP_USER_AGENT],<br \/>\n&nbsp;&nbsp;referrer =&gt; $_SERVER[HTTP_REFERER] ?? ,<br \/>\n&nbsp;&nbsp;comment_type =&gt; contact-form,<br \/>\n&nbsp;&nbsp;comment_author =&gt; $nome,<br \/>\n&nbsp;&nbsp;comment_author_email =&gt; $email,<br \/>\n&nbsp;&nbsp;comment_content =&gt; $messaggio,<br \/>\n));<\/code><\/p>\n<h3>Esempio in Python<\/h3>\n<p><code>import requests<\/p>\n<p>def check_spam(api_key, blog, comment_data):<br \/>\n&nbsp;&nbsp;url = f\"https:\/\/{api_key}.rest.akismet.com\/1.1\/comment-check\"<br \/>\n&nbsp;&nbsp;data = {blog: blog, **comment_data}<br \/>\n&nbsp;&nbsp;headers = {User-Agent: MioSito\/1.0 | MioPlugin\/1.0}<br \/>\n&nbsp;&nbsp;response = requests.post(url, data=data, headers=headers)<br \/>\n&nbsp;&nbsp;return response.text.strip() == true<\/p>\n<p># Utilizzo<br \/>\nis_spam = check_spam(la-tua-api-key, https:\/\/tuosito.com, {<br \/>\n&nbsp;&nbsp;user_ip: 192.168.1.1,<br \/>\n&nbsp;&nbsp;user_agent: Mozilla\/5.0...,<br \/>\n&nbsp;&nbsp;comment_type: contact-form,<br \/>\n&nbsp;&nbsp;comment_author: Mario Rossi,<br \/>\n&nbsp;&nbsp;comment_author_email: mario@example.com,<br \/>\n&nbsp;&nbsp;comment_content: Il contenuto del messaggio...,<br \/>\n})<\/code><\/p>\n<h3>Endpoint 3: Submit Spam<\/h3>\n<p>Questo endpoint permette di segnalare un contenuto come spam che non &#232; stato intercettato dal filtro (falso negativo).<\/p>\n<p><strong>URL:<\/strong> <code>https:\/\/{api-key}.rest.akismet.com\/1.1\/submit-spam<\/code><\/p>\n<p>I parametri sono gli stessi dell&#8217;endpoint comment-check. La risposta &#232; <code>Thanks for making the web a better place.<\/code><\/p>\n<h3>Endpoint 4: Submit Ham<\/h3>\n<p>Questo endpoint permette di segnalare un contenuto erroneamente classificato come spam (falso positivo).<\/p>\n<p><strong>URL:<\/strong> <code>https:\/\/{api-key}.rest.akismet.com\/1.1\/submit-ham<\/code><\/p>\n<p>Anche qui, i parametri sono gli stessi di comment-check. L&#8217;invio di segnalazioni ham &#232; fondamentale per migliorare l&#8217;accuratezza dell&#8217;algoritmo.<\/p>\n<h3>Best Practice per l&#8217;Utilizzo dell&#8217;API<\/h3>\n<p>Ecco le raccomandazioni ufficiali di Akismet per l&#8217;utilizzo dell&#8217;API:<\/p>\n<ul>\n<li><strong>Invia pi&#249; dati possibile:<\/strong> Pi&#249; parametri fornisci, pi&#249; accurato sar&#224; il verdetto. Non limitarti ai parametri obbligatori<\/li>\n<li><strong>Includi tutte le variabili di ambiente:<\/strong> Akismet consiglia di inviare anche tutte le variabili server (<code>$_SERVER<\/code> in PHP) come parametri aggiuntivi. L&#8217;API ignora i parametri che non riconosce<\/li>\n<li><strong>Specifica un User-Agent significativo:<\/strong> L&#8217;header User-Agent della richiesta API deve identificare la tua applicazione e la versione (es. <code>MioSito\/1.0 | MioPlugin\/1.0<\/code>)<\/li>\n<li><strong>Gestisci gli errori:<\/strong> Se la chiamata API fallisce (timeout, errore di rete), non bloccare l&#8217;utente. Accetta il commento e marcalo per la revisione manuale<\/li>\n<li><strong>Non effettuare richieste eccessive:<\/strong> Non inviare lo stesso commento pi&#249; volte per la verifica. Una singola chiamata per commento &#232; sufficiente<\/li>\n<li><strong>Segnala sempre spam e ham:<\/strong> Utilizza gli endpoint submit-spam e submit-ham per addestrare l&#8217;algoritmo e migliorare l&#8217;accuratezza per tutti<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/ak-03-comments.png\" alt=\"Risultati della verifica spam tramite API di Akismet\" \/><\/p>\n<h3>Integrare Akismet in Applicazioni Non-WordPress<\/h3>\n<p>L&#8217;API di Akismet pu&#242; essere utilizzata con qualsiasi piattaforma web. Ecco alcuni casi d&#8217;uso comuni:<\/p>\n<p><strong>Forum personalizzati:<\/strong> Se hai sviluppato un forum con PHP, Node.js, Python o qualsiasi altro linguaggio, puoi integrare Akismet per filtrare i post spam.<\/p>\n<p><strong>Applicazioni mobile:<\/strong> Se la tua app mobile ha una funzionalit&#224; di commenti o recensioni, puoi verificare i contenuti tramite l&#8217;API di Akismet dal tuo backend.<\/p>\n<p><strong>E-commerce custom:<\/strong> Per piattaforme e-commerce sviluppate su misura, Akismet pu&#242; filtrare le recensioni dei prodotti e i messaggi degli utenti.<\/p>\n<p><strong>Chatbot e form personalizzati:<\/strong> Qualsiasi form che accetta input dall&#8217;utente pu&#242; beneficiare della verifica anti-spam di Akismet.<\/p>\n<h3>Librerie Client Disponibili<\/h3>\n<p>La community ha sviluppato librerie client per l&#8217;API di Akismet in diversi linguaggi:<\/p>\n<ul>\n<li><strong>PHP:<\/strong> La classe <code>Akismet<\/code> inclusa nel plugin WordPress, oppure librerie standalone come <code>tijsverkoyen\/akismet<\/code><\/li>\n<li><strong>Python:<\/strong> <code>akismet<\/code> (disponibile su PyPI)<\/li>\n<li><strong>Node.js:<\/strong> <code>akismet-api<\/code> (disponibile su npm)<\/li>\n<li><strong>Ruby:<\/strong> <code>akismet<\/code> (disponibile su RubyGems)<\/li>\n<li><strong>Java:<\/strong> <code>akismet-java<\/code><\/li>\n<li><strong>.NET:<\/strong> <code>Akismet.NET<\/code> (disponibile su NuGet)<\/li>\n<\/ul>\n<p>L&#8217;utilizzo di una libreria client semplifica l&#8217;integrazione, gestendo automaticamente la costruzione delle richieste HTTP e il parsing delle risposte.<\/p>\n<h3>Rate Limiting e Limiti dell&#8217;API<\/h3>\n<p>Akismet non pubblica limiti di chiamate API specifici per i piani standard, ma &#232; buona pratica:<\/p>\n<ul>\n<li>Non effettuare pi&#249; di una chiamata per interazione utente<\/li>\n<li>Non verificare contenuti in batch senza necessit&#224;<\/li>\n<li>Implementare un sistema di caching locale per evitare verifiche duplicate<\/li>\n<li>Gestire i timeout con grazia (timeout consigliato: 5-10 secondi)<\/li>\n<\/ul>\n<h3>Conclusione<\/h3>\n<p>La REST API di Akismet &#232; 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&#8217;app mobile o un e-commerce su misura, l&#8217;API di Akismet offre una soluzione affidabile e collaudata.<\/p>\n<p>Per assistenza nello sviluppo di integrazioni personalizzate con l&#8217;API di Akismet, <a href=\"https:\/\/gtechgroup.it\/contatti\/\">contatta il team di G Tech Group<\/a>. I nostri sviluppatori sono pronti ad aiutarti.<\/p>\n<div style=\"background:#f9f9f9;border:1px solid #e0e0e0;padding:20px;margin-top:30px;border-radius:8px;\">\n<h3>Continua a Leggere<\/h3>\n<p>Questa guida fa parte della nostra serie completa su WordPress. Scopri anche:<\/p>\n<ul>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/tag\/elementor\/\">Guide Elementor<\/a> &ndash; Impara a costruire pagine professionali con il page builder pi&#249; popolare<\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/tag\/wp-rocket\/\">Guide WP Rocket<\/a> &ndash; Ottimizza le prestazioni e la velocit&#224; del tuo sito<\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/tag\/seopress\/\">Guide SEOPress<\/a> &ndash; Migliora il posizionamento sui motori di ricerca<\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/tag\/updraftplus\/\">Guide UpdraftPlus<\/a> &ndash; Proteggi i tuoi dati con backup automatici<\/li>\n<\/ul>\n<\/div>\n<p>Per ulteriori guide, tutorial e approfondimenti sul mondo WordPress, visita il <a href=\"https:\/\/gtechgroup.it\/blog\/\">blog di G Tech Group<\/a>. Se desideri un supporto professionale per il tuo progetto web, <a href=\"https:\/\/gtechgroup.it\/contatti\/\">contattaci<\/a>: il nostro team &#232; pronto ad affiancarti in ogni fase.<\/p>\n<h3>Migliora il Tuo Sito WordPress<\/h3>\n<p>Scopri le nostre guide complete sugli altri plugin essenziali per WordPress:<\/p>\n<ul>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/come-installare-elementor-wordpress-guida-principianti\/\">Come Installare Elementor su WordPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/wp-rocket-installare-configurare-wordpress\/\">Come Installare e Configurare WP Rocket<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/come-installare-configurare-seopress-wordpress-guida\/\">Come Installare e Configurare SEOPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/installare-attivare-updraftplus-wordpress\/\">Come Installare e Configurare UpdraftPlus<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Akismet REST API: Integrazioni Custom e Verifica Spam Programmatica Akismet non &#232; solo un plugin WordPress: &#232; anche un servizio API che pu&#242; essere integrato&hellip;<\/p>\n","protected":false},"author":2,"featured_media":167196,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_titles_title":"Akismet REST API: Verifica Spam Programmatica | Guida","_seopress_titles_desc":"Come usare la REST API di Akismet per verificare spam programmaticamente. Endpoint, parametri e integrazioni custom.","_seopress_robots_index":"","_seopress_robots_follow":"","_seopress_robots_imageindex":"","_seopress_robots_snippet":"","_seopress_robots_primary_cat":"","_seopress_robots_breadcrumbs":"","_seopress_robots_freeze_modified_date":"","_seopress_robots_custom_modified_date":"","_seopress_robots_canonical":"","_seopress_social_fb_title":"","_seopress_social_fb_desc":"","_seopress_social_fb_img":"","_seopress_social_fb_img_attachment_id":0,"_seopress_social_fb_img_width":0,"_seopress_social_fb_img_height":0,"_seopress_social_twitter_title":"","_seopress_social_twitter_desc":"","_seopress_social_twitter_img":"","_seopress_social_twitter_img_attachment_id":0,"_seopress_social_twitter_img_width":0,"_seopress_social_twitter_img_height":0,"_seopress_redirections_value":"","_seopress_redirections_enabled":"","_seopress_redirections_enabled_regex":"","_seopress_redirections_logged_status":"","_seopress_redirections_param":"","_seopress_redirections_type":0,"_seopress_analysis_target_kw":"Akismet REST API: Integrazioni","footnotes":""},"categories":[1,61],"tags":[3576,3082,3081,3590,3084],"class_list":["post-167229","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-senza-categoria","category-wordpress","tag-akismet","tag-integrazioni","tag-rest-api","tag-spam-check","tag-sviluppo"],"_links":{"self":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/167229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/comments?post=167229"}],"version-history":[{"count":0,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/167229\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media\/167196"}],"wp:attachment":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media?parent=167229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/categories?post=167229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/tags?post=167229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}