Error de conexión segura cURL en WordPress y arreglo
Error de conexión segura cURL en WordPress: descubre causas reales y pasos para solucionarlo con criterio técnico y sin poner en riesgo tu web.
Cuando aparece un error de conexión segura cURL en WordPress, normalmente significa que la web no puede completar una petición HTTP saliente de forma segura. Esto puede afectar a actualizaciones, APIs, licencias de plugins, loopback, REST API o integraciones externas, y no siempre tiene una única causa.
Qué significa el error de conexión segura cURL en WordPress
En WordPress, cURL no es un plugin ni una función aislada del CMS, sino una parte de la capa de comunicación HTTP que puede utilizar PHP para realizar solicitudes salientes. WordPress recurre a esta capa cuando necesita consultar servidores externos: buscar actualizaciones del núcleo, comprobar licencias de un tema o plugin, enviar datos a una API, conectar con pasarelas de pago o ejecutar ciertas tareas internas.
Dicho de forma directa: el error de conexión segura cURL en WordPress indica que una petición HTTPS no ha podido validarse o completarse correctamente. En muchos casos implica un problema de certificado SSL, de autoridad certificadora, de tiempo de espera, de resolución DNS, de cortafuegos o de restricciones del servidor donde está alojada la web.
A nivel técnico, este tipo de fallo suele aparecer cuando WordPress ejecuta funciones como wp_remote_get() o wp_remote_post() y la conexión remota no consigue completarse dentro de los parámetros esperados. El mensaje concreto importa mucho: no es lo mismo un cURL error 28 por timeout que un cURL error 60 por validación SSL.
Síntomas más comunes y cómo reconocer el origen del fallo
El problema no siempre se ve igual. A veces WordPress muestra un aviso en el escritorio; otras, el error sólo aparece en un plugin concreto o en el registro del servidor. Reconocer el contexto ayuda a acotar mucho el diagnóstico.
- Las actualizaciones del núcleo, plugins o temas fallan sin motivo aparente.
- Un plugin que consulta una API externa deja de sincronizar datos, por ejemplo un CRM, un ERP, un sistema de reservas o una pasarela de pago.
- La función de Salud del sitio informa de problemas de loopback o de REST API.
- Aparecen mensajes como cURL error 28: Operation timed out o cURL error 60: SSL certificate problem.
- Una tarea automática programada no se ejecuta porque WordPress no logra completar peticiones salientes.
- El problema sólo ocurre en producción, pero no en staging o en local, lo que suele apuntar a diferencias de hosting, DNS, firewall o versión de PHP.
| Síntoma | Qué puede indicar |
|---|---|
| Error al actualizar plugins | Bloqueo saliente, timeout, DNS o fallo SSL hacia servidores remotos |
| cURL error 60 | Problema de certificado, CA bundle desactualizado o validación TLS fallida |
| cURL error 28 | Timeout por lentitud remota, DNS, firewall, saturación o límites del servidor |
| Loopback fallido | Restricción interna del hosting, resolución local incorrecta o WAF |
| API externa no responde desde WordPress | IP bloqueada, puerto restringido, credenciales erróneas o SSL remoto defectuoso |
Conviene fijarse en dónde aparece el error, cuándo empezó y qué código cURL muestra exactamente. Esos tres datos suelen separar un problema de WordPress de uno propio del servidor o de la API consultada.
Causas habituales: SSL, certificados, tiempo de espera, DNS y servidor
Aunque el mensaje parezca genérico, las causas más frecuentes suelen concentrarse en cinco bloques técnicos. No siempre dependen de WordPress en sí.
1. Validación SSL/TLS y cadena de certificados
Cuando WordPress hace una petición HTTPS, el servidor debe poder verificar el certificado del destino frente a una autoridad certificadora válida. Si la cadena de confianza está rota, el certificado ha caducado, falta un intermedio o el sistema usa un bundle de CA obsoleto, la conexión puede fallar. Aquí encaja con frecuencia el curl error 60 ssl.
2. Tiempo de espera agotado
El cURL error 28 suele relacionarse con timeouts. Puede deberse a una API lenta, un DNS que resuelve mal o tarda demasiado, una sobrecarga del servidor, reglas del firewall o incluso un proveedor que limita peticiones salientes. En entornos compartidos esto no es raro.
3. Problemas de DNS
Si el servidor donde corre WordPress no resuelve correctamente el dominio remoto, la petición ni siquiera llega a establecerse. A veces se debe a resolvers defectuosos, cachés DNS inestables o configuraciones del propio hosting. En otras ocasiones el problema afecta solo a un dominio concreto.
4. Restricciones del hosting, firewall o WAF
Algunos hostings bloquean determinadas salidas por puerto, limitan conexiones hacia ciertos destinos o aplican reglas de seguridad que interfieren con las peticiones HTTP. También puede ocurrir que el proveedor remoto bloquee la IP del servidor por abuso, geolocalización o reputación.
5. Diferencias de versión en PHP, cURL u OpenSSL
Si PHP, la librería cURL o OpenSSL están desactualizados, puede haber incompatibilidades con protocolos modernos o con determinados certificados. Esto no significa que actualizar sea siempre la única solución, pero sí conviene revisar versiones cuando el fallo aparece tras una migración o en un hosting antiguo.
Cómo diagnosticar el problema paso a paso en WordPress y en el hosting
Para solucionar de verdad el problema, lo importante no es probar cambios a ciegas, sino seguir un orden. Este flujo suele funcionar bien en sitios WordPress alojados en proveedores habituales de España.
- Identifica el mensaje exacto. Comprueba si el error aparece en un plugin, en Salud del sitio, en el registro de PHP o en el panel del hosting. Anota el código cURL y el texto completo.
- Revisa Salud del sitio. WordPress puede mostrar pistas sobre la REST API, loopback, tareas programadas o problemas de HTTPS. Si el loopback falla, no siempre es culpa del plugin afectado.
- Aísla si el fallo es global o de una integración concreta. Si sólo falla un plugin que consulta una API externa, el origen puede estar en esa API, sus certificados o sus tiempos de respuesta. Si fallan actualizaciones, cron y REST API, el alcance es mayor.
- Comprueba la versión de PHP y el entorno del hosting. Verifica versiones de PHP, cURL y OpenSSL si tu proveedor las expone. Una pila antigua puede provocar incompatibilidades de TLS.
- Activa depuración con prudencia. En un entorno controlado, habilita registros para capturar detalles del error. No conviene mostrar errores en pantalla en una web en producción.
- Prueba la conectividad saliente desde el servidor. Si tienes acceso SSH, una prueba con cURL o herramientas del sistema ayuda a saber si el bloqueo está en WordPress o fuera de él. Si no tienes acceso, pide al hosting que confirme si hay restricciones salientes o bloqueo de IP.
- Valida el certificado remoto. Si el error apunta a SSL, conviene comprobar si el servidor de destino presenta correctamente su cadena de certificados. Un plugin de terceros puede depender de una API con SSL mal configurado.
- Revisa DNS y tiempos de respuesta. Si las peticiones tardan demasiado o fallan de forma intermitente, la resolución DNS y la latencia son candidatas claras.
Ejemplo realista: una tienda WordPress con WooCommerce no puede validar la licencia de un plugin premium. El plugin usa wp_remote_post() hacia una API externa y devuelve cURL error 60. En ese escenario conviene revisar primero la cadena SSL del servidor remoto y después comprobar si el hosting local usa un bundle CA desactualizado.
Otro caso habitual: Salud del sitio informa de problemas de loopback y cron, y además fallan las actualizaciones. Si aparece cURL error 28, puede haber saturación del servidor, bloqueo interno del firewall, DNS lento o una política del hosting que limita las peticiones salientes.
Si necesitas verificar cambios sin afectar a producción, un entorno controlado ayuda a diagnosticar con más seguridad.
Soluciones prácticas según el tipo de error cURL
No existe un arreglo único para todos los casos. Estas medidas tienen sentido según el tipo de fallo detectado.
Si aparece cURL error 60 o un fallo de certificado SSL
- Comprueba que el certificado del destino no haya caducado y que entregue la cadena completa de certificados.
- Pide al hosting que revise el CA bundle del servidor si sospechas que está desactualizado.
- Verifica que PHP, cURL y OpenSSL no estén demasiado anticuados.
- Si el error sólo ocurre con una API concreta, traslada la incidencia al proveedor de esa API, porque el problema puede estar en su configuración HTTPS.
Desactivar temporalmente la verificación SSL para una prueba muy controlada puede servir para confirmar el diagnóstico, pero no es una solución recomendable de forma permanente. Mantener desactivada esa comprobación reduce la seguridad y puede exponer la comunicación a ataques o a respuestas no fiables.
Si aparece cURL error 28 o timeout de conexión
- Comprueba si la API remota está lenta o responde de forma intermitente.
- Revisa si el hosting tiene limitaciones de CPU, memoria o conexiones salientes.
- Valora aumentar el timeout sólo cuando tenga sentido técnico y no como parche universal.
- Descarta problemas DNS en el servidor.
- Si hay un firewall o WAF, comprueba que no esté bloqueando solicitudes hacia el destino.
Si fallan REST API, loopback o cron interno
- Revisa si hay plugins de seguridad o reglas del servidor que bloqueen llamadas al propio dominio.
- Comprueba que la URL del sitio esté bien configurada y que no haya conflictos entre HTTP y HTTPS.
- Si el problema aparece tras activar caché agresiva o un proxy, conviene revisar esas capas antes de tocar WordPress.
Si el problema está en el servidor o en el hosting
- Solicita al soporte que confirme si existen bloqueos de salida por IP, puerto o dominio.
- Pide revisión de resolvers DNS, CA store, versión de OpenSSL y registros de firewall.
- Si has migrado recientemente, compara el entorno anterior y el nuevo: versión de PHP, stack web y reglas de seguridad.
Cómo evitar que el error vuelva a aparecer
La prevención pasa más por el mantenimiento del entorno que por instalar otro plugin. Algunas buenas prácticas reducen bastante la probabilidad de repetir este tipo de incidencias.
- Mantén WordPress, PHP y los componentes del hosting razonablemente actualizados.
- Usa plugins y servicios externos bien mantenidos, especialmente si dependen de APIs o licencias remotas.
- Revisa periódicamente Salud del sitio y los registros de errores, sobre todo después de cambios de hosting o de versión de PHP.
- Evita desactivar validaciones SSL como medida fija.
- Si tu negocio depende de integraciones externas, conviene monitorizar tiempos de respuesta y fallos de peticiones salientes.
- Documenta qué plugins hacen llamadas externas y a qué dominios, porque eso agiliza mucho el soporte técnico cuando algo falla.
En proyectos con varias integraciones, la mejor prevención suele ser una combinación de actualización del entorno, control de certificados y coordinación con el hosting. Muchos errores cURL no se corrigen dentro del editor de WordPress, sino en la infraestructura que hay detrás.
Preguntas frecuentes sobre errores cURL en WordPress
¿Puede un plugin provocar este error aunque WordPress funcione bien?
Sí. Si un plugin hace peticiones a una API externa con wp_remote_get() o wp_remote_post(), puede fallar aunque el resto de la web cargue con normalidad. En ese caso conviene analizar el destino remoto, su SSL y la respuesta del servidor.
¿El error siempre se arregla aumentando el timeout?
No. Aumentar el tiempo de espera puede ayudar si la API remota responde lenta, pero no resolverá un certificado inválido, una IP bloqueada, un problema DNS o una restricción del firewall.
¿Es buena idea desactivar la verificación SSL para que funcione?
Sólo como prueba puntual y controlada para confirmar el origen del fallo. Como solución permanente no es recomendable, porque elimina una capa crítica de seguridad en las conexiones HTTPS.
Conclusión y siguiente paso
El error de conexión segura cURL en WordPress no suele ser un problema aislado del CMS, sino una señal de que algo falla en la comunicación entre tu instalación y otro servicio: SSL, certificados CA, timeout, DNS, firewall, versión de PHP o restricciones del hosting.
La forma más segura de resolverlo es seguir un diagnóstico lógico: identificar el código cURL, comprobar si el fallo es global o específico, revisar Salud del sitio, validar certificados y confirmar con el proveedor de hosting si existe un bloqueo o una limitación del servidor.
Si después de estas comprobaciones el origen sigue sin estar claro, el siguiente paso razonable es pedir al hosting una revisión técnica del entorno o contar con ayuda especializada para analizar las peticiones salientes, el SSL y la configuración del servidor sin comprometer la seguridad de la web.
Fuente oficial útil: la documentación del HTTP API de WordPress es una referencia válida para entender cómo WordPress gestiona peticiones remotas y qué funciones intervienen en estos errores.
¿Necesitas orientación personalizada?
Te ayudamos a entender tus opciones y el siguiente paso.