Salta al contenuto

WordPress cURL error 28: timeout e richieste HTTP

Pubblicato il Aggiornato il

In breve: cURL error 28 significa che una richiesta HTTP avviata da WordPress non si è conclusa entro il timeout. Il valore da aumentare non è il primo controllo: bisogna identificare l’URL, misurare DNS, connessione, TLS e tempo di risposta, quindi capire se il ritardo è locale, remoto o causato da un componente WordPress.

Indice dei contenuti

  • Dove compare l’errore
  • Leggere il messaggio completo
  • Diagnosi nell’ordine corretto
  • Correzioni per causa
  • Verifica finale
  • Domande frequenti
  • Fonti tecniche

Dove compare l’errore

WordPress usa la propria HTTP API per aggiornamenti, controlli licenza, chiamate REST, webhook, WP-Cron e loopback. Lo stesso codice può quindi descrivere problemi diversi. Annotare la destinazione è essenziale: un timeout verso il sito stesso non si diagnostica come un timeout verso un servizio esterno.

Leggere il messaggio completo

Conserva hostname, porta, millisecondi trascorsi ed eventuale fase citata nel messaggio. Se il testo indica “Operation timed out after … milliseconds with 0 bytes received”, la connessione può essere stata aperta senza ricevere risposta; un errore di connessione, DNS o TLS può invece comparire prima.

MisuraCosa chiarisce
Risoluzione DNSSe il server ottiene l’indirizzo corretto e in quanto tempo
Tempo di connessioneSe routing, porta o firewall rallentano l’apertura
Handshake TLSSe certificato, SNI e catena vengono negoziati correttamente
Time to first byteQuanto impiega l’applicazione remota a iniziare la risposta
Durata totaleSe il corpo o l’elaborazione superano il limite della chiamata

Diagnosi nell’ordine corretto

  1. Identifica chiamante e destinazione. Usa Site Health, log del plugin o stack trace per sapere chi avvia la richiesta e verso quale URL.
  2. Verifica il DNS. Controlla che l’hostname risolva agli indirizzi attesi anche dal server, non soltanto dal computer locale.
  3. Misura la risposta. Con un test dal server registra tempo di connessione, TLS, primo byte e durata totale; non disabilitare la verifica del certificato.
  4. Confronta la chiamata diretta. Se l’endpoint risponde rapidamente dall’esterno ma non dal server, controlla firewall in uscita, proxy e routing.
  5. Controlla il loopback. Se la destinazione è il sito stesso, verifica cache, autenticazione HTTP, DNS locale e pagine lente.
  6. Isola il componente in staging. Disabilita soltanto il plugin che genera la chiamata e ripeti la prova.

Correzioni per causa

  • Endpoint errato: aggiorna URL, schema HTTPS e versione API.
  • DNS: correggi record o resolver e attendi il TTL effettivo prima del nuovo test.
  • TLS: installa certificato e catena corretti; non usare sslverify=false come soluzione.
  • Firewall: autorizza soltanto hostname, porta e flusso documentati dal fornitore.
  • Endpoint lento: ottimizza la risposta o sposta il lavoro lungo in una coda asincrona.
  • Timeout legittimamente breve: aumentalo solo per la chiamata specifica e dopo aver misurato la durata normale.

Se l’errore compare soltanto in WP-Cron, confronta un’esecuzione manuale con quella pianificata e controlla sovrapposizioni o retry. Se compare soltanto nel Site Health, verifica esattamente la rotta REST o loopback citata: una pagina pubblica veloce non dimostra che quella rotta risponda correttamente.

Verifica finale

La correzione è confermata quando la stessa richiesta termina più volte entro un tempo stabile, WordPress non registra nuovi errori 28 e cron, webhook o aggiornamento coinvolti completano il proprio stato. Controlla anche che non siano nate richieste duplicate o retry troppo frequenti.

Domande frequenti

Aumentare il timeout risolve sempre?

No. Può nascondere DNS errato, endpoint indisponibile o loopback lento e tenere occupati i processi PHP più a lungo.

Il browser può funzionare mentre WordPress va in timeout?

Sì. Browser e server possono usare resolver, rete, proxy e certificati differenti.

È sicuro disabilitare la verifica SSL?

No. La correzione consiste nel ripristinare hostname, certificato e catena di fiducia.

Fonti tecniche

Guide Xlogic correlate

WordPress cURL error 28: timeout e richieste HTTP ultima modifica: 2026-08-02T02:07:14+02:00 da Team tecnico Xlogic

Ti è piaciuto questo Post?