cURL error 28 en WordPress y cómo resolverlo
Guía completa para solucionar el cURL error 28 en WordPress: causas, diagnóstico paso a paso y métodos efectivos para resolver problemas de tiempo de espera.
Índice
- ¿Qué es el cURL error 28 en WordPress?
- Síntomas más comunes del cURL error 28
- Causas principales del cURL error 28 en WordPress
- Cómo diagnosticar el cURL error 28 paso a paso
- Soluciones rápidas para el cURL error 28
- Configuración del servidor y firewall
- Ajustes de WordPress y plugins relacionados con cURL
- Buenas prácticas para prevenir el cURL error 28
- Cuándo contactar al hosting o al desarrollador
- Preguntas frecuentes
¿Qué es el cURL error 28 en WordPress?
El cURL error 28 en WordPress es un error de tiempo de espera (timeout) que se produce cuando tu sitio intenta conectarse a un servicio externo mediante HTTP o HTTPS y la respuesta tarda demasiado en llegar. WordPress utiliza la librería cURL a través de sus funciones internas, como wp_remote_get() y wp_remote_post(), para comunicarse con APIs, servicios de actualización, pasarelas de pago, sistemas de licencias y otros recursos remotos.
Cuando el servidor no recibe respuesta en el tiempo configurado, cURL devuelve el mensaje "Operation timed out after X milliseconds with 0 bytes received" acompañado del código 28. Este problema puede afectar a la actualización de plugins y temas, la verificación de licencias, la entrega de correos transaccionales, la conexión con servicios de terceros (como Google, Stripe o PayPal) y, en general, a cualquier funcionalidad que dependa de peticiones externas.
En resumen, el cURL error 28 indica que WordPress no consigue comunicarse a tiempo con un servidor remoto. La causa puede estar en tu hosting, en la configuración de seguridad, en un plugin mal optimizado o incluso en el servicio externo al que intentas conectarte.
Síntomas más comunes del cURL error 28
El cURL error 28 no siempre aparece de forma evidente en la pantalla del usuario. En muchos casos, se manifiesta a través de fallos intermitentes o mensajes de error en el panel de administración de WordPress. Identificar estos síntomas te ayudará a detectar el problema antes de que afecte gravemente al rendimiento o a la seguridad de tu sitio.
- Mensajes de error en el panel de WordPress relacionados con "cURL error 28: Operation timed out".
- Problemas al actualizar plugins, temas o el núcleo de WordPress, con procesos que se quedan bloqueados.
- Fallo en la verificación de licencias de temas o plugins premium que dependen de servidores externos.
- Errores al conectar con APIs externas (por ejemplo, servicios de email marketing, pasarelas de pago o CRMs).
- Notificaciones en herramientas de seguridad (como Wordfence o iThemes Security) indicando bloqueos de conexión saliente.
- Retrasos o fallos en el envío de correos transaccionales si se utilizan servicios externos vía API.
- Alertas en el registro de depuración de WordPress o en los logs del servidor con referencias a
cURL error 28.
Aunque el sitio pueda seguir funcionando de cara al usuario final, el cURL error 28 puede dejar de aplicar actualizaciones críticas, impedir copias de seguridad remotas o bloquear integraciones clave para tu negocio. Por ello, conviene resolverlo cuanto antes.
Causas principales del cURL error 28 en WordPress
El origen del cURL error 28 puede ser múltiple y, en ocasiones, intervienen varios factores a la vez. Conocer las causas más habituales te permitirá enfocar mejor el diagnóstico y aplicar la solución adecuada sin perder tiempo en pruebas innecesarias.
- Tiempo de espera (timeout) demasiado bajo en la configuración de cURL o del servidor.
- Limitaciones del hosting compartido, como recursos insuficientes o restricciones de conexiones salientes.
- Firewall o reglas de seguridad que bloquean las peticiones HTTP/HTTPS hacia determinadas IPs o puertos.
- Plugins de seguridad que filtran o bloquean las conexiones salientes de WordPress.
- DNS mal configurado o problemas de resolución de nombres de dominio en el servidor.
- Certificados SSL caducados o mal configurados en el servidor remoto o en el propio hosting.
- Servicios externos saturados o caídos que no responden dentro del tiempo esperado.
- Conexiones salientes bloqueadas por el proveedor de hosting por motivos de seguridad o abuso.
- Uso intensivo de APIs desde plugins que realizan muchas peticiones simultáneas (por ejemplo, plugins de marketing o automatización).
En la práctica, la mayoría de los cURL error 28 en WordPress se deben a una combinación de restricciones del hosting y configuraciones de seguridad demasiado agresivas. Por eso, además de revisar WordPress, es fundamental analizar la configuración del servidor y, si es necesario, contactar con el soporte técnico de tu proveedor.
Cómo diagnosticar el cURL error 28 paso a paso
Un diagnóstico ordenado te permitirá localizar el origen del cURL error 28 sin alterar innecesariamente la configuración de tu sitio. A continuación se propone un flujo de trabajo práctico que puedes seguir incluso si no eres desarrollador, siempre que tengas acceso al panel de control de tu hosting y al administrador de WordPress.
1. Activar el modo de depuración en WordPress
Empieza activando la depuración para obtener mensajes de error más detallados. Edita el archivo wp-config.php y asegúrate de incluir o modificar las siguientes líneas:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Esto generará un archivo debug.log en la carpeta wp-content, donde podrás ver si se registran errores relacionados con wp_remote_get, wp_remote_post o cURL error 28.
2. Identificar qué funcionalidad dispara el error
Observa en qué contexto aparece el error:
- ¿Ocurre al intentar actualizar un plugin o tema?
- ¿Sucede al guardar ajustes de un plugin que se conecta a una API?
- ¿Aparece en tareas programadas (cron), como copias de seguridad o sincronizaciones?
- ¿Se muestra en notificaciones de seguridad o en el panel de un plugin concreto?
Esta información te ayudará a saber qué URL remota está fallando y qué plugin o componente está implicado.
3. Revisar los logs del servidor
Accede al panel de tu hosting (cPanel, Plesk o similar) y consulta los registros de errores y logs de PHP. Busca referencias a:
cURL error 28oOperation timed out.- Errores de DNS o de resolución de nombres.
- Mensajes de firewall o de bloqueo de conexiones salientes.
4. Probar la conexión desde el servidor
Si tienes acceso SSH, puedes probar manualmente la conexión a la URL problemática usando cURL desde la línea de comandos:
curl -I https://ejemplo-api.com/endpoint
curl -v https://ejemplo-api.com/endpoint
Si la petición también se queda bloqueada o expira, es muy probable que el problema esté en el servidor, en el firewall o en la ruta de red hacia el servicio externo.
5. Desactivar plugins de forma controlada
Para descartar conflictos, desactiva temporalmente los plugins que puedan estar realizando muchas peticiones externas, como:
- Plugins de seguridad y firewall.
- Plugins de caché y optimización.
- Integraciones con APIs externas (email marketing, CRM, automatización).
- Plugins de copias de seguridad remotas.
Tras cada cambio, intenta reproducir la acción que generaba el cURL error 28. Si el error desaparece al desactivar un plugin concreto, ya tienes un punto de partida para ajustar su configuración o buscar una alternativa.
Documenta cada paso que realices durante el diagnóstico: qué cambias, qué pruebas haces y qué resultados obtienes. Esta información será muy útil si necesitas escalar el problema al soporte del hosting o a un desarrollador especializado.
Soluciones rápidas para el cURL error 28
Una vez identificado el contexto del error, puedes aplicar una serie de soluciones rápidas que, en muchos casos, resuelven el cURL error 28 sin necesidad de cambios profundos en el servidor. Aun así, es recomendable revisar después la configuración de fondo para evitar que el problema reaparezca.
1. Aumentar el tiempo de espera en WordPress
Algunos plugins permiten ajustar el timeout de sus peticiones HTTP. Si es tu caso, aumenta el valor a 20–30 segundos y comprueba si el error desaparece. También puedes usar filtros de WordPress para ampliar el tiempo de espera global en determinadas peticiones.
2. Limpiar cachés y desactivar temporalmente la optimización
Los plugins de caché y optimización pueden interferir en algunas peticiones externas, especialmente si minifican o combinan scripts que realizan llamadas a APIs. Prueba a:
- Vaciar la caché del sitio y del navegador.
- Desactivar temporalmente la minificación de JS/CSS.
- Excluir del caché las páginas o rutas que disparan el error.
3. Actualizar WordPress, plugins y temas
Asegúrate de que utilizas la última versión estable de WordPress, así como de tus plugins y temas. En ocasiones, el cURL error 28 se debe a bugs ya corregidos en versiones posteriores o a incompatibilidades con cambios en APIs externas.
4. Probar desde otra red o con VPN
Aunque el error se produce en el servidor, es útil comprobar si el servicio externo responde correctamente desde otra red o mediante una VPN. Si el servicio está caído o responde muy lento a nivel global, el problema no está en tu WordPress, sino en el proveedor externo.
Si tras aplicar estas soluciones rápidas el error persiste, es probable que exista una restricción en el servidor o en el firewall. En ese caso, pasa a revisar la configuración del hosting o contacta directamente con el soporte técnico para que verifiquen las conexiones salientes.
Configuración del servidor y firewall
Una gran parte de los cURL error 28 en WordPress tiene su origen en la configuración del servidor o en sistemas de seguridad que bloquean las conexiones salientes. Revisar estos aspectos es clave, especialmente si trabajas en un entorno de hosting compartido o con políticas de seguridad estrictas.
1. Verificar restricciones de conexiones salientes
Algunos proveedores limitan las conexiones HTTP/HTTPS salientes para evitar abusos o ataques. Pregunta a tu hosting si existen:
- Listas blancas (whitelists) de IPs o dominios permitidos.
- Límites de número de conexiones simultáneas o por minuto.
- Bloqueos específicos hacia el dominio o IP del servicio con el que intentas conectar.
2. Revisar el firewall del servidor
Si tu servidor utiliza un firewall como CSF, iptables o mod_security, es posible que esté bloqueando las peticiones de cURL. Pide al administrador del servidor que revise:
- Reglas que bloqueen el puerto 80 (HTTP) o 443 (HTTPS) en conexiones salientes.
- Reglas basadas en país, IP o reputación que afecten al servicio externo.
- Registros de eventos recientes relacionados con la IP de tu servidor o del destino.
3. Comprobar la resolución DNS
Un DNS mal configurado puede provocar que el servidor tarde demasiado en resolver el dominio de destino, generando un timeout. Verifica que:
- El servidor utiliza DNS fiables (por ejemplo, los de tu proveedor o servicios públicos como 1.1.1.1 o 8.8.8.8).
- No hay entradas erróneas en
/etc/hostsque apunten a IPs incorrectas. - La resolución de dominios externos es rápida y consistente.
4. Verificar la versión de cURL y de PHP
Versiones muy antiguas de cURL o PHP pueden presentar problemas de compatibilidad con ciertos protocolos o cifrados. Comprueba en tu panel de hosting:
- La versión de PHP (recomendado PHP 8.0 o superior, según compatibilidad de tu sitio).
- La versión de cURL instalada en el servidor.
- Que la extensión
curlde PHP esté correctamente habilitada.
Si no tienes acceso directo a la configuración del servidor, recopila toda la información posible (logs, capturas de pantalla, URLs afectadas) y envíala al soporte de tu hosting. Cuantos más datos aportes, más rápido podrán identificar si el cURL error 28 se debe a una política de seguridad o a una limitación técnica.
Ajustes de WordPress y plugins relacionados con cURL
Además de la configuración del servidor, es importante revisar cómo WordPress y tus plugins gestionan las peticiones HTTP. Un uso ineficiente de las APIs o una configuración demasiado agresiva puede disparar el número de conexiones y provocar timeouts.
1. Revisar plugins que usan APIs externas
Identifica los plugins que realizan llamadas frecuentes a servicios externos, como:
- Plugins de email marketing (Mailchimp, Sendinblue, etc.).
- Integraciones con pasarelas de pago (Stripe, PayPal, Redsys).
- Herramientas de automatización (Zapier, Integromat, etc.).
- Plugins de analítica avanzada o seguimiento.
Revisa sus ajustes y reduce, si es posible, la frecuencia de sincronización, el número de elementos por petición o las tareas programadas simultáneas.
2. Configuración de plugins de seguridad
Los plugins de seguridad pueden bloquear conexiones salientes sospechosas. Comprueba si tu plugin de seguridad:
- Incluye un firewall de aplicaciones web (WAF) con reglas para conexiones salientes.
- Tiene listas de IPs o dominios bloqueados que puedan afectar a la API que necesitas.
- Permite crear excepciones para determinadas URLs o servicios.
3. Controlar tareas cron y procesos en segundo plano
WordPress utiliza el sistema WP-Cron para ejecutar tareas programadas, muchas de las cuales implican peticiones externas. Un exceso de tareas simultáneas puede saturar el servidor y provocar timeouts. Revisa:
- Qué tareas cron están programadas (puedes usar plugins como WP Crontrol).
- Si hay tareas que se ejecutan con demasiada frecuencia.
- Si existen tareas fallidas que se reintentan constantemente.
4. Ajustar el uso de APIs en desarrollos a medida
Si tu sitio incluye código personalizado que usa wp_remote_get() o wp_remote_post(), revisa que:
- Se establezca un timeout razonable en los argumentos de la petición.
- Se implementen reintentos controlados en caso de fallo, evitando bucles infinitos.
- Se limiten las peticiones simultáneas y se cacheen resultados cuando sea posible.
Una buena configuración de plugins y desarrollos a medida reduce la carga sobre el servidor y minimiza el riesgo de cURL error 28, especialmente en sitios con mucho tráfico o con integraciones complejas.
Buenas prácticas para prevenir el cURL error 28
Más allá de solucionar el problema puntual, es recomendable aplicar una serie de buenas prácticas para reducir la probabilidad de que el cURL error 28 vuelva a aparecer en tu instalación de WordPress.
- Elegir un hosting de calidad con buena conectividad y sin restricciones excesivas en conexiones salientes.
- Mantener WordPress, plugins y temas actualizados para evitar bugs y problemas de compatibilidad.
- Minimizar el número de plugins instalados y activos, especialmente los que realizan llamadas externas frecuentes.
- Monitorizar el rendimiento del servidor y el tiempo de respuesta de APIs críticas.
- Configurar correctamente el DNS y utilizar proveedores fiables.
- Revisar periódicamente las tareas cron y optimizar su frecuencia de ejecución.
- Documentar las integraciones externas (APIs, servicios de terceros) y sus requisitos de red.
Implementar estas prácticas no solo ayuda a prevenir el cURL error 28, sino que también mejora la estabilidad, seguridad y escalabilidad general de tu sitio WordPress, lo que se traduce en una mejor experiencia para tus usuarios y clientes.
Cuándo contactar al hosting o al desarrollador
No siempre es posible resolver el cURL error 28 únicamente desde el panel de WordPress. En muchos casos, necesitarás la intervención del proveedor de hosting o de un desarrollador especializado para ajustar la configuración del servidor o revisar código personalizado.
Cuándo hablar con el hosting
Contacta con el soporte de tu proveedor de alojamiento cuando:
- Las pruebas con cURL desde SSH también muestran timeouts.
- Los logs indican bloqueos de firewall o restricciones de conexiones salientes.
- Necesitas aumentar límites de recursos (tiempo de ejecución, memoria, etc.).
- Requieres actualizar la versión de cURL o PHP en el servidor.
Cuándo recurrir a un desarrollador
Es recomendable contar con un desarrollador WordPress cuando:
- El error está relacionado con código a medida o integraciones personalizadas.
- Necesitas optimizar el uso de APIs y reducir el número de peticiones.
- Quieres implementar mecanismos de reintento y caché para llamadas externas.
- Debes auditar la arquitectura técnica de un proyecto complejo con múltiples servicios.
Antes de abrir un ticket o contratar a un profesional, prepara un resumen con: descripción del problema, pasos para reproducirlo, capturas de pantalla, fragmentos de logs y listado de plugins implicados. Esto agilizará el diagnóstico y reducirá el tiempo de resolución.
Preguntas frecuentes
¿El cURL error 28 es peligroso para la seguridad de mi sitio?
El cURL error 28 en sí mismo no es una vulnerabilidad, pero puede tener consecuencias indirectas para la seguridad. Si impide que WordPress o tus plugins se actualicen correctamente, podrías quedarte sin parches de seguridad críticos. Además, si bloquea la comunicación con servicios de monitorización o copias de seguridad, podrías tardar más en detectar y mitigar incidentes.
¿Puedo simplemente aumentar el timeout y olvidarme del problema?
Aumentar el tiempo de espera puede ser un parche temporal, pero no siempre resuelve la causa raíz. Si el problema se debe a bloqueos de firewall, DNS lentos o servicios externos saturados, seguirás experimentando retrasos y posibles fallos. Es mejor identificar y corregir el origen del timeout que depender únicamente de un valor de timeout más alto.
¿Cambiar de hosting puede solucionar el cURL error 28?
En muchos casos, sí. Si tu proveedor actual impone restricciones severas a las conexiones salientes o tiene problemas recurrentes de rendimiento de red, migrar a un hosting más flexible y optimizado para WordPress puede eliminar el cURL error 28. Antes de cambiar, consulta con el soporte técnico para confirmar si pueden ajustar la configuración actual.
¿Cómo sé qué URL está provocando el cURL error 28?
Normalmente, la URL aparece en el propio mensaje de error del plugin afectado o en el archivo debug.log de WordPress. También puedes activar el modo de depuración de tu plugin (si lo ofrece) o revisar los logs del servidor para localizar la dirección exacta a la que se está intentando conectar WordPress cuando se produce el timeout.
¿El cURL error 28 afecta al SEO de mi sitio?
De forma indirecta, puede afectar. Si el error provoca lentitud en el panel, fallos en integraciones de caché o problemas con CDNs, es posible que el tiempo de carga de tu web aumente, lo que sí impacta en el SEO. Además, si impide que se actualicen plugins de rendimiento o seguridad, tu sitio podría volverse más vulnerable y lento con el tiempo.
¿Necesitas orientación personalizada?
Te ayudamos a entender tus opciones y el siguiente paso.