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 a https://.

Controlli rapidi:

  • Tools → Site Health per vedere problemi SSL.
  • Usa curl -I https://tuosito da 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

  1. Vai in Site Health e copia il messaggio d’errore.
  2. Disabilita temporaneamente firewall/plugin di sicurezza.
  3. Disattiva tutti i plugin (staging/maintenance) e verifica.
  4. Verifica SSL e correggi mixed content.
  5. Aumenta temporaneamente il timeout via codice per test.
  6. 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”.

Amazon
Offerte ebay

Condividi se ti piace su...