Cómo configurar SSL gratuitos con CloudFlare

Cómo pasar tu WordPress a HTTPS gratis (Let’s Encrypt y Cloudflare)

Publicada originalmente en 2018 (fusiona dos notas: "Cómo configurar SSL gratuitos con Cloudflare" y "Razones para migrar a HTTPS"). Reescrita y actualizada el 22 de octubre de 2026.

En 2018 tener HTTPS era una decisión opcional y, a menudo, de pago. Hoy es lo normal, es gratis y los navegadores te lo exigen cada vez más. Aquí te explico por qué conviene, cómo pasar un WordPress de http a https paso a paso y cómo encaja Cloudflare, con lo que apliqué yo en mi propio sitio. Los nombres de menús pueden variar según tu panel y la fecha en que leas esto.

Por qué HTTPS ya no es opcional

  • Seguridad: HTTPS cifra lo que viaja entre el visitante y el servidor. Sin él, cualquiera en la misma red (el wifi de un café, por ejemplo) puede leer o alterar lo que se envía, incluidas las contraseñas de tu wp-login.php.
  • Confianza: sin HTTPS el navegador marca tu sitio como "no seguro". Un formulario de contacto con esa advertencia espanta clientes.
  • Navegadores: Chrome y otros navegadores marcan como "No seguro" los sitios sin HTTPS, y la tendencia es a advertir cada vez más antes de abrirlos. Un sitio sin certificado ahuyenta visitantes aunque su contenido sea inofensivo.
  • SEO: Google anunció en 2014 que usaba HTTPS como señal de posicionamiento, con un peso muy pequeño. No esperes un salto de posiciones; piensa en HTTPS como un requisito, no como un truco.

Qué cambió desde 2017

Antes había que comprar el certificado y renovarlo a mano cada año. Hoy:

  • Let's Encrypt emite certificados gratis y de forma automática, y casi todos los hostings lo integran en su panel.
  • Cloudflare emite y renueva un certificado gratuito (Universal SSL) para cada dominio activo en su plataforma, según su documentación.
  • Los certificados son cada vez más cortos. Let's Encrypt planea pasar de 90 a 64 días en febrero de 2027 y a 45 días en febrero de 2028. Con renovación automática no tienes que hacer nada, pero comprueba de vez en cuando que de verdad se renueva (el candado del navegador muestra la fecha de vencimiento).

Un detalle que importa: hay dos certificados distintos en juego cuando usas Cloudflare. Uno es el de borde (entre el visitante y Cloudflare, lo pone Cloudflare gratis) y otro el de origen (entre Cloudflare y tu hosting, lo pones tú). Sobre esto vuelvo más abajo.

Paso 1: consigue un certificado en tu hosting

Lo más simple es emitirlo desde el panel de tu hosting. En mi caso uso DirectAdmin: en la sección de certificados SSL de mi dominio pedí un certificado gratuito de Let's Encrypt incluyendo el dominio y el www. Buscas algo parecido en cPanel (AutoSSL) o en tu panel; los nombres pueden variar.

Antes de pedirlo, tu dominio debe apuntar ya a ese servidor, porque Let's Encrypt comprueba que controlas el dominio.

Paso 2: cambia las URLs de WordPress

Con el certificado instalado, entra a Ajustes > Generales y cambia http:// por https:// en estos dos campos:

  • Dirección de WordPress (URL)
  • Dirección del sitio (URL)

Si los campos están bloqueados, es porque wp-config.php los fija con constantes. Cámbialas ahí:

define( 'WP_HOME', 'https://tu-dominio.com' );
define( 'WP_SITEURL', 'https://tu-dominio.com' );

Si dejas esas constantes en http, WordPress no puede completar el cambio, así que revísalas primero.

Paso 3: actualiza los enlaces guardados en la base de datos

Las entradas viejas siguen guardando enlaces e imágenes con http://. Haz un respaldo y, con WP-CLI, simula primero:

wp search-replace 'http://tu-dominio.com' 'https://tu-dominio.com' --skip-columns=guid --dry-run

Si el informe tiene sentido, ejecuta el mismo comando sin --dry-run. Se omite la columna guid a propósito: la guía oficial de migración recomienda no tocarla porque los lectores de feeds la usan para identificar las entradas. Sin WP-CLI puedes usar un plugin de búsqueda y reemplazo, siempre con respaldo.

Paso 4: fuerza la redirección de http a https

Quien entre por un enlace viejo debe terminar en https. Tienes tres sitios donde hacerlo; elige uno para no crear bucles:

  1. El panel del hosting: en DirectAdmin, en la configuración del dominio hay una casilla para forzar SSL con redirección a https (el nombre puede variar). Es la que usé.
  2. Cloudflare: la opción Always Use HTTPS en SSL/TLS > Certificados de borde. También la activé. Cloudflare la recomienda y explica que no resuelve por sí sola el contenido mixto.
  3. .htaccess, si tu servidor es Apache o compatible:
RewriteEngine On
RewriteCond {15bebd1b6dbf88a6baf1369db2d0deebbb177018afac30a18236fac70ef2da66}{HTTPS} !=on
RewriteRule ^ https://{15bebd1b6dbf88a6baf1369db2d0deebbb177018afac30a18236fac70ef2da66}{HTTP_HOST}{15bebd1b6dbf88a6baf1369db2d0deebbb177018afac30a18236fac70ef2da66}{REQUEST_URI} [L,R=301]

Si algo da ERR_TOO_MANY_REDIRECTS, revisa el modo SSL de Cloudflare (siguiente sección).

Paso 5: el modo SSL de Cloudflare

Si tu dominio está en Cloudflare, aquí está el error clásico. En SSL/TLS, el modo Flexible cifra solo hasta Cloudflare y habla con tu servidor sin cifrar. Si tu servidor redirige a https, se arma el bucle de redirecciones. Con certificado en el servidor usa:

  • Completo: cifra de extremo a extremo y no valida el certificado de tu servidor.
  • Completo (estricto): además exige un certificado válido y vigente en el origen. Cloudflare lo recomienda siempre que se pueda; si el certificado no es válido verás un error 526.

Mi configuración real: certificado de Let's Encrypt emitido desde DirectAdmin, Cloudflare en modo Completo, Always Use HTTPS activo y forzado de HTTPS en el panel. Lo comprobé en mi staging antes de tocar producción. El siguiente paso lógico es subir a Completo (estricto) una vez confirmada la validez del certificado de origen.

Para nameservers, nube naranja o gris, reglas WAF y correo, no repito nada aquí: está en la guía de Cloudflare.

Paso 6: arregla el contenido mixto

Contenido mixto es una página https que carga imágenes, scripts o CSS por http://. El navegador bloquea o avisa. Tres formas de resolverlo:

  • El paso 3 (búsqueda y reemplazo) corrige casi todo lo guardado en la base de datos.
  • En Cloudflare, Automatic HTTPS Rewrites reescribe enlaces http a https, pero solo actúa donde puede comprobar que el recurso existe en https: las imágenes pueden quedar sin reescribir.
  • Lo que cargue tu tema o plugins con una URL http:// fija hay que corregirlo en su código o en sus ajustes.

Cómo comprobar que quedó bien

  1. Abre http://tu-dominio.com y http://www.tu-dominio.com en una ventana privada: deben terminar en https://.
  2. Mira el candado y abre la consola del navegador (F12): no deben aparecer avisos de mixed content.
  3. En Herramientas > Salud del sitio de WordPress no debería haber quejas sobre HTTPS.
  4. Desde la terminal, revisa la redirección:
curl -I http://tu-dominio.com

Debes ver un 301 con un Location: https://….

  1. En Search Console, una propiedad de dominio cubre http y https a la vez.

¿Prefieres que lo haga yo?

Si tu sitio sigue en http, tiene bucles de redirección o llenó la consola de avisos, escríbeme desde la página de contacto y lo dejamos funcionando. También puedes seguir con otras notas de la categoría WordPress.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *