Come risolvere l’errore cURL 28: Connessione scaduta dopo un certo numero di millisecondi
L’errore cURL 28 in WordPress compare quando una richiesta HTTP (spesso della REST API o di un plugin) non riceve risposta entro il tempo limite previsto: in pratica la connessione “scade” prima che il server remoto risponda. Questo può causare problemi al blocco editor, agli aggiornamenti, alle notifiche, alle chiamate API e ai cron interni (loopback). (Kinsta®)

Cos’è cURL in WordPress?
cURL (Client URL) è una libreria/strumento che WordPress usa per fare richieste HTTP(S) verso server remoti (API, webhook, aggiornamenti, verifiche controllo, ecc.). WordPress espone queste chiamate tramite funzioni come wp_remote_get() e la REST API; sotto il cofano molte di queste chiamate vengono gestite da cURL o da altri trasporti HTTP disponibili in PHP.
Quali sono le cause dell’errore cURL 28 in WordPress?
Le cause più comuni sono:
- Firewall o regole di sicurezza che bloccano o rallentano le richieste in uscita/loopback.
- Plugin di sicurezza o performance che interferiscono con le chiamate REST API.
- Configurazione DNS lenta o errata che impiega troppo tempo per risolvere nomi host.
- SSL / mixed content / certificato non valido che causa handshake lunghi o falliti.
- Versioni vecchie di PHP, cURL o OpenSSL oppure limiti di risorse del server (timeout PHP, CPU, memoria).
- Tempi di timeout troppo bassi nelle richieste o script remoti troppo lenti.
Disabilita temporaneamente il firewall di WordPress
Se usi plugin come Wordfence, Sucuri, oppure un Web Application Firewall gestito dal tuo host, prova a disattivarlo temporaneamente o a mettere in whitelist le richieste interne/loopback. Spesso i firewall bloccano le richieste REST API pensando siano attacchi, causando timeout. Dopo aver testato, riattiva il firewall e configura una regola di whitelist per gli endpoint interessati.
Passi rapidi:
- Disattiva il firewall dal pannello del plugin o dal pannello hosting.
- Controlla Site Health → Eventi o log per vedere se l’errore scompare.
- Se scompare, ricrea regole di whitelist invece di lasciare il firewall spento.
Disattiva tutti i plugin di WordPress (test a prova di conflitto)
Molti problemi cURL sono causati da plugin che alterano richieste, caching, SSL o routing. Per escludere conflitti:
- In ambiente di staging o con il sito in manutenzione, disattiva tutti i plugin e verifica Site Health. Se l’errore scompare, riattivali uno per uno per trovare il colpevole.
Comando utile (se hai SSH / WP-CLI):
# disattiva tutti i plugin (da usare con cautela)
wp plugin deactivate --all
Se non hai WP-CLI, usa la schermata Plugin nel pannello WP o il plugin Health Check & Troubleshooting in modalità troubleshooting.
Assicurati che il tuo server di hosting utilizzi il software più recente
Aggiorna o chiedi all’host di aggiornare: PHP, cURL, OpenSSL, e i certificati CA. Versioni obsolete o non supportate possono provocare handshake SSL lunghi o incompatibilità che causano timeout. Controlla anche i log server per errori di rete o risorse. (Kinsta®)
Cosa chiedere al provider:
- Versione di PHP supportata (consigliata la LTS più recente).
- Versione della libreria libcurl e OpenSSL.
- Se ci sono limiti firewall a livello di server o provider (es. blocco porte 443 in uscita).
Risolvi i problemi di contenuto SSL insicuro (mixed content) e verifica il certificato
Le chiamate a risorse http:// da un sito https:// possono causare redirect o blocchi che allungano i tempi di risposta. Verifica che:
- Il sito usa correttamente HTTPS nelle impostazioni (WordPress Address e Site Address).
- Non ci siano risorse esterne in
http://. Usa plugin o ricerca e sostituisci per aggiornare URL ahttps://.
Controlli rapidi:
Tools → Site Healthper vedere problemi SSL.- Usa
curl -I https://tuositoda terminale per testare velocità e certificato. - Controlla redirect multipli che possono far scattare timeout.
Errore cURL 28 WordPress altre soluzioni tecniche pratiche
- Aumenta il timeout delle richieste HTTP in WordPress (temporaneo, per debug). Aggiungi in
functions.php:
add_filter( 'http_request_timeout', function( $timeout ) {
return 30; // secondi (valore di esempio; default spesso 5-10)
} );
Oppure, per singola chiamata: wp_remote_get( $url, array( 'timeout' => 30 ) );
- Controlla DNS: usa DNS affidabili (es. Cloudflare 1.1.1.1 / Google 8.8.8.8) lato server se possibile, o chiedi all’host di verificare risoluzione DNS lenta. (Kinsta®)
- Verifica loopback e WP-Cron: molte installazioni usano loopback per programmare eventi. Se i loopback falliscono, cron interni e verifiche rest possono fallire; questo è spesso segnalato in Site Health. (WordPress.org)
- Controlla risorse del server: CPU o memoria sature possono allungare i tempi di risposta e provocare timeout cURL. I log host (error.log, access.log) aiutano a diagnosticare.
Se hai ancora l’errore cURL 28 su WordPress Contatta l’hosting
Se dopo i controlli l’errore persiste, coinvolgi il provider. Fornisci:
- Messaggio d’errore completo (es.
cURL error 28: Connection timed out after 10002 milliseconds). - Ora e pagina dell’evento e i log del server (se disponibili).
- Chiedi esplicitamente di controllare: firewall di rete, blocchi verso host esterni, risoluzione DNS, limiti di richieste in uscita e versioni di cURL/OpenSSL installate. (SiteGround)
I managed host (SiteGround, Kinsta, ecc.) spesso identificano e risolvono questi blocchi a livello di rete; i piani condivisi possono avere restrizioni che richiedono l’intervento del provider. (SiteGround)
Controlla sempre che
- Vai in Site Health e copia il messaggio d’errore.
- Disabilita temporaneamente firewall/plugin di sicurezza.
- Disattiva tutti i plugin (staging/maintenance) e verifica.
- Verifica SSL e correggi mixed content.
- Aumenta temporaneamente il timeout via codice per test.
- Contatta l’hosting con log ed esempi concreti.
L’errore cURL 28 segnala un timeout nelle richieste HTTP: spesso la causa è una regola di sicurezza, un plugin conflittuale, problemi SSL/DNS o limiti del server. Procedi in modo ordinato: disattiva firewall/plugin, testa, aggiorna software lato server, correggi SSL e poi coinvolgi l’hosting se serve. Seguendo questi passi è molto probabile che risolverai il problema o, almeno, che otterrai dal provider informazioni precise sul perché la connessione si “scade”.
- Plugin o Codice: Disattivare API REST in WordPress
- Cos’è un Redirect 301 e perché utilizzarlo su WordPress
- Redirect Yoast Plugin SEO: La Soluzione per Gestire i Redirect e Migliorare la SEO
- Reindirizzamenti Plugin Redirection: Guida Completa per WordPress
- Come Installare Plugin WordPress: Guida Completa
- Pulizia Database WordPress: Una Guida Completa con Advanced Database Cleaner
- Backup Sito Web WordPress: La Guida Completa con UpdraftPlus Plugin WordPress
Amazon

Amazon.it - Fire TV Stick 4K di Amazon (Ultimo modello), Dispositivo per lo streaming con supporto per Wi-Fi 6, Dolby Vision/Atmos e HDR10+
Miglior Prezzo 6999€

Amazon.it - Monitor Gaming IPS da 27 pollici, 2K WQHD (2560 × 1440), 180Hz, 1ms senza bordi, 100% sRGB, 178 ° grandangolo, HDMI, DisplayPort
Miglior Prezzo 16999€

Amazon.it - MSI B550-A PRO Scheda Madre ATX, Supporta AMD Ryzen 3° Gen, AM4, DDR4 Boost (4400MHz/OC), 1 x PCIe 4.0/3.0 x16, 1 x PCIe 3.0/3.0 x16, 1 x M.2 Gen4 x4, 1 x M.2 Gen3 x4, HDMI, Gigabit LAN
Miglior Prezzo 16999€

Amazon.it - Processore AMD Ryzen 7 5800X (8 Cores/16 threads, 105W DTP, AM4 socket, 36 MB Cache, Boost di Frequenza fino a 4,7Ghz max
Miglior Prezzo 15600€












