Corregir el error 28 de cURL Connection Timed Out

En resumen: El error 28 de cURL significa que WordPress agotó el tiempo de espera al conectarse a un servidor remoto — lo más común durante actualizaciones de plugins, instalaciones de temas o solicitudes de la API HTTP. Desactiva primero el cortafuegos de tu plugin de seguridad; si eso no lo soluciona, repasa las comprobaciones del límite de memoria de PHP y de SSL de abajo.

Lidiar con «cURL error 28: Connection timed out» en tu sitio WordPress puede ser frustrante. Este error ocurre cuando una solicitud de tu sitio tarda demasiado en recibir una respuesta, lo que provoca un tiempo de espera agotado. Puede ralentizar tu sitio web e impactar negativamente en la experiencia del usuario.

En los tickets de soporte que gestionamos, el cortafuegos del plugin de seguridad —en particular las reglas de limitación de tasa de Wordfence— bloquea la llamada cURL saliente en una proporción notable de casos. Este artículo aclara el error 28 de cURL, explica por qué ocurre y ofrece soluciones paso a paso.

¿Qué es el error 28 de cURL?

cURL es una utilidad de software que WordPress usa para transferir datos mediante diversos protocolos. El «cURL error 28: Connection timed out after X milliseconds» ocurre cuando una solicitud cURL no se completa dentro del periodo de tiempo de espera especificado. Este error indica que el servidor no pudo responder con suficiente rapidez, lo que provocó un tiempo de espera agotado.

Qué es el error 28 de cURL y cómo funciona

Motivos comunes del error 28 de cURL

Distintos síntomas apuntan a distintas causas raíz. Usa la tabla de abajo para identificar tu situación y saltar a la solución correcta.

Síntoma Causa raíz Método de solución
El error solo en actualizaciones o instalaciones de plugins El cortafuegos del plugin de seguridad bloquea las solicitudes salientes Método 1: Desactivar el cortafuegos del plugin de seguridad
El error en todas las llamadas externas, no solo en las actualizaciones Conflicto de plugin o tema que interfiere con la API HTTP Método 2: Desactivar los plugins en conflicto
El error en solicitudes HTTPS; HTTP funciona Mala configuración de SSL o certificado caducado Método 3: Resolver problemas de contenido no seguro de SSL
El error persiste tras desactivar todos los plugins Versión de cURL desactualizada incompatible con PHP Método 4: Comprobar tu versión de cURL
El error tras operaciones de datos pesadas o instalaciones de plugins Límite de memoria de PHP demasiado bajo para las solicitudes cURL Método 5: Aumentar el límite de memoria de PHP
El error en un host gestionado o compartido cuando todo lo demás falla Limitación de tasa o reglas de cortafuegos a nivel de servidor Método 6: Contactar con tu proveedor de alojamiento web

6 métodos para corregir el error 28 de cURL: Connection Timed Out After X Milliseconds

  1. Desactivar el cortafuegos del plugin de seguridad
  2. Desactivar los plugins en conflicto
  3. Resolver problemas de contenido no seguro de SSL
  4. Comprobar tu versión de cURL
  5. Aumentar el límite de memoria de PHP
  6. Obtener ayuda de tu proveedor de alojamiento web

Nota: Es buena idea hacer una copia de seguridad de tu sitio web antes de hacer cualquier cambio. Si algo sale mal, puedes restaurar tu sitio rápidamente a su estado anterior. Puedes usar WP Staging para copias de seguridad automáticas fáciles. Consulta la guía de copia de seguridad y restauración para más ayuda.

1. Desactivar el cortafuegos del plugin de seguridad

Un plugin cortafuegos en WordPress añade una capa adicional de seguridad bloqueando el tráfico dañino. Sin embargo, a veces puede ser demasiado cauteloso y bloquear solicitudes cURL legítimas, lo que provoca el error «Operation Timed Out». En los tickets de soporte que gestionamos, las reglas de limitación de tasa de Wordfence son una causa frecuente — comprobar primero el cortafuegos es casi siempre el camino más rápido a la solución.

Para ver si tu plugin de seguridad está causando el problema:

  • Desactiva el cortafuegos: Apaga la función de cortafuegos en tu plugin de seguridad o desactiva el plugin.
Desactivar el cortafuegos del plugin de seguridad para corregir el error 28 de cURL
  • Prueba el sitio: Comprueba si el error persiste tras apagar el cortafuegos.
  • Reactiva el cortafuegos: Vuelve a encender el cortafuegos tras una breve espera.
Reactivar el plugin Wordfence para comprobar si el error está corregido
  • Prueba un plugin de seguridad diferente: Si el error vuelve, considera usar otro plugin de seguridad o contacta con el soporte del plugin para obtener ayuda. Algunos plugins pueden requerir que añadas sus direcciones IP a tu lista blanca para evitar que las solicitudes legítimas sean bloqueadas.

Siguiendo estos pasos, puedes identificar si tu cortafuegos está causando el error de cURL y mantener tu sitio seguro sin bloquear datos necesarios.

2. Desactivar los plugins en conflicto

Cuando experimentas problemas o conflictos con plugins concretos en tu sitio WordPress, puede ser necesario desactivarlos temporalmente.

Al desactivar todos los plugins, puedes aislar y solucionar el problema sin afectar a la funcionalidad general de tu sitio web.

Así se hace:

  • Accede a tu escritorio de administración de WordPress iniciando sesión en tu sitio.
  • Ve a «Plugins» desde el menú de la barra lateral y haz clic en él. Verás una lista de los plugins instalados.
comprobar los plugins instalados
  • Selecciona los plugins que quieres desactivar haciendo clic en las casillas junto a sus nombres. Puedes elegir varios plugins a la vez.
solucionar el error 28 de cURL comprobando las actualizaciones de plugins
  • Una vez seleccionados los plugins, busca el menú desplegable «Bulk Actions» en la parte superior de la lista y selecciona «Deactivate».
  • Haz clic en el botón «Apply» junto al menú desplegable.
desactivar plugins para solucionar el error 28 de cURL

Tras desactivar los plugins, actualiza tu sitio web para ver si los cambios aparecen al instante. Luego, reactiva los plugins de uno en uno, actualizando tu sitio cada vez para identificar el problemático.

Repite este proceso hasta encontrar al culpable, y considera actualizar, reemplazar o contactar con el desarrollador del plugin para obtener ayuda.

3. Resolver problemas de contenido no seguro de SSL

Un certificado SSL (Secure Sockets Layer) es esencial para proteger los datos entre tu sitio web y los visitantes. Garantiza que todos los datos transmitidos estén cifrados, evitando el acceso no autorizado y reforzando la confianza en tu sitio.

Implementar SSL correctamente permite que tu sitio web use el protocolo HTTPS, protegiendo la conexión entre tu servidor y los navegadores de los usuarios.

Comprueba el estado de SSL en el escritorio del proveedor Hostinger:

Inicia sesión en el escritorio de tu proveedor de alojamiento (p. ej., Hostinger) para verificar el estado de tu certificado SSL. Asegúrate de que esté activo y correctamente configurado, como se muestra en la imagen de abajo:

comprobar el estado de SSL en Hostinger para el error 28 de cURL

Si el certificado aparece como caducado o no válido, renuévalo a través del panel de control de tu alojamiento o contacta con el soporte de tu proveedor. Tras la renovación, borra la caché de tu servidor y navegador y vuelve a ejecutar Herramientas → Salud del sitio para confirmar que el problema de SSL está resuelto antes de probar cURL de nuevo.

4. Comprobar tu versión de cURL

  • Navega a la página de Salud del sitio en tu escritorio de WordPress.
  • Selecciona la pestaña «Información» y encuentra la sección «Servidor».
  • Busca ahí la información de la versión de PHP y cURL.
comprobar la salud del sitio para el error 28 de cURL

Haz coincidir tus versiones de cURL y PHP para un mejor rendimiento: Para garantizar un funcionamiento fluido, asegúrate de que tu versión de cURL cumpla los requisitos de tu versión de PHP.

Por ejemplo, si tu sitio usa PHP 8.1, deberías tener al menos cURL 7.2.

comprobar la versión de cURL para corregir el error 28 de cURL

Si tu versión de cURL está desactualizada, contacta con tu proveedor de alojamiento y solicita una actualización. La mayoría de los alojamientos WordPress gestionados pueden actualizar la biblioteca cURL del servidor sin tiempo de inactividad.

5. Aumentar el límite de memoria de PHP

Los plugins de WordPress requieren solicitudes cURL para muchas funciones, que pueden consumir mucha memoria, especialmente con datos extensos o tareas complejas. Si los límites de memoria o de tiempo son demasiado bajos, podrías ver errores como el error 28 de cURL, que indica un tiempo de espera agotado.

Para prevenir estos problemas, comprueba y ajusta los límites de PHP de tu servidor a través de la página de Salud del sitio. También puedes aumentar estos ajustes en el archivo .htaccess o wp-config.php para mejorar el rendimiento de tu sitio y evitar tiempos de espera agotados.

Usa un cliente FTP como FileZilla o el administrador de archivos de tu host web para acceder al directorio raíz de tu instalación de WordPress.

navegar al administrador de archivos en tu alojamiento

Localiza el archivo wp-config.php, haz clic derecho y elige la opción «Edit».

localizar el archivo wp-config.php, error 28 de cURL

Añade la siguiente línea de código antes de la línea que dice /* That's all, stop editing! Happy blogging. */, y luego haz clic en el botón «Save Changes».

PHP
define('WP_MEMORY_LIMIT', '256M');
aumentar el límite de PHP para corregir el error 28 de cURL

Tras guardar, vuelve a visitar Herramientas → Salud del sitio → Información → Servidor para confirmar que el nuevo valor del límite de memoria de PHP está activo antes de volver a probar la operación que fallaba.

6. Obtener ayuda de tu proveedor de alojamiento web

Si has probado todo y sigues teniendo problemas, es hora de contactar con tu proveedor de alojamiento para obtener ayuda. Pueden investigar otras causas potenciales, como conflictos en módulos de seguridad, limitación de tasa a nivel de servidor o reglas de cortafuegos que bloquean las conexiones salientes.

Al contactar con el soporte, incluye el mensaje de error exacto, la versión de WordPress y PHP de tu página de Salud del sitio y los pasos que ya has probado. Esto les ayuda a diagnosticar el problema más rápido.

Conclusión

Los pasos clave para resolver el error 28 de cURL incluyen apagar temporalmente el cortafuegos de WordPress y desactivar los plugins para comprobar si hay conflictos. Además, es esencial revisar las configuraciones de SSL y asegurarse de que los límites de recursos del servidor sean suficientes.

Mantener WordPress y los plugins actualizados es fundamental para prevenir estos errores. Si el problema persiste, busca ayuda de tu proveedor de alojamiento web.

¿La solución no funcionó? Resolución de problemas avanzada

Si ninguno de los seis métodos anteriores resolvió el error, los pasos de abajo ayudan a identificar la causa específica.

Activar el registro WP_DEBUG

Añade las siguientes líneas a wp-config.php para capturar el contexto exacto del error de cURL:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Tras guardar, desencadena la operación que falla (por ejemplo, ejecuta una actualización de plugin) y luego comprueba en wp-content/debug.log las líneas que contienen cURL error 28. La entrada del registro mostrará qué URL agotó el tiempo de espera, ayudándote a identificar si el problema es con un servidor remoto concreto o afecta a todas las solicitudes salientes.

El error vuelve tras aumentar la memoria de PHP

Si aumentar el límite de memoria de PHP no detuvo el error:

  • Comprueba tu ajuste de PHP max_execution_time en php.ini o vía wp-config.php. Un valor bajo puede hacer que el script agote el tiempo antes de que se active el tiempo de espera de la conexión cURL. Auméntalo y vuelve a probar.
  • Verifica que el nuevo valor de WP_MEMORY_LIMIT se aplica navegando a Herramientas → Salud del sitio → Información → Servidor y confirmando que el límite de memoria de PHP muestra el valor esperado.

SSL limpio pero el error persiste

Si tu certificado SSL es válido pero cURL sigue agotando el tiempo de espera:

  • Verifica si el servidor remoto (por ejemplo, api.wordpress.org) está temporalmente inaccesible probando la conexión desde una red diferente.
  • Pide a tu proveedor de alojamiento que confirme que las conexiones HTTPS salientes no están bloqueadas a nivel del cortafuegos del servidor. Algunos entornos de alojamiento compartido restringen las conexiones salientes de forma predeterminada.

Identificar el plugin concreto que causa el bloqueo de cURL

Para acotar qué plugin desencadena el bloqueo sin desactivarlos todos en masa:

  1. Activa el registro WP_DEBUG como se mostró arriba.
  2. Desactiva los plugins de uno en uno, empezando por los de seguridad y caché.
  3. Tras cada desactivación, comprueba en wp-content/debug.log si hay nuevas entradas de error 28 de cURL.
  4. El plugin cuya desactivación detiene las nuevas entradas del registro es el que inicia la solicitud bloqueada.

Artículos relacionados

Rene Hermenau

Autor: Rene Hermenau

Sobre el autor: René Hermenau es el fundador de WP STAGING. Trabaja en copias de seguridad de WordPress, entornos de staging, migraciones, gestión de bases de datos y flujos de despliegue seguros.