Activar HTTPS/SSL en WordPress

Internet va hacia la seguridad universal, de eso no hay duda. Los gigantes que marcan el paso ya han tomado cartas en el asunto. Inicialmente solo era necesario asegurar sitios web donde se pedía información sensible, como las tiendas, por ejemplo. Después Google anunció que los sitios que utilizaran HTTPS tendrían mejores posibilidades a la hora de posicionarse y Mozilla anuncia que dejará de soportar HTTP no seguro.

HTTP 2, la nueva y mejorada versión de HTTP/1.1, solo funciona con HTTPS y todos los sitios webs, incluyendo los sitios desarrollados con WordPress, poco a poco están migrando a HTTPS.

En este tutorial te voy a mostrar como migrar un sitio web en WordPress a HTTPS sin perder la cordura en el intento. De hecho, no vas a necesitar escribir código. Si, ni siquiera una línea.

¿Por qué HTTPS?

El protocolo de Transferencia de Hiper-Texto (HTTPS) es la versión segura de (HTTP) Hyper Text Transfer Protocool, protocolo que todos utilizamos a diario cuando abrimos sitios web. La diferencia está en que HTTPS solo permite conexiones seguras y encripta todos los datos que fluyen entre el navegador y servidor, en ambos sentidos.

Inicialmente HTTPS estaba reservado para sitios web de eCommerce o para secciones de sitios web que pedían información sensible al usuario. Eso, evidentemente, ha cambiado. Ahora, lo recomendable es que todos y cada uno de los sitios web utilizen HTTPS en pro de una internet más segura y lista para utilizar HTTP 2, que son todo ventajas, pero ya veremos eso en otro momento.

Las opciones disponibles

Lo primero y la forma tradicional para activar HTTPS es contar con un certificado de seguridad, que debes instalar en tu servidor. Hay varios tipos de certificados HTTPS:

Certificados SSL con validación de extendida (EV): dónde la autoridad emisora chequea los derechos del aplicante a utilizar el dominio asociado y hace un serie de verificaciones exahustivas legales y físicas de la identidad de la organización/empresa aplicante. Este tipo de certificado tarda días.

Certificados SSL con validación de organización (OV): dónde la autorizad emisora chequea los derechos del aplicante a utilizar el dominio asociado y somete a la organización aplicante a una verificación.

Certificados SSL con validación de dominio (DV): dónde el emisor de este certificado comprueba la válidez del dominio sin más verificaciones. Es el certificado más simple y suele ser emitido en unos pocos minutos. Es de lejos el tipo de certificado más económico pudiendo obtenerlo incluso gratis de algunos proveedores. Es también, el tipo de certificado que vamos a utilizar.

Let’s Encrypt

Existen varios proveedores de certificados de todo tipo, algunos de pago, otros gratuitos.

Sitio Web Lets Encrypt

Let’s Encrypt es un proveedor de certificados con validación de dominio (DV) que además de ser gratuito ofrece herramientas para renovar automáticamente. Es muy necesario, porque los certificados de Let’s Encrypt solo tiene válides por 30 días. El proceso es muy simple si tu proveedor de hosting lo integra. Algunos proveedores no lo hacen y no dan la posibilidad de integrar por nuestra cuenta, lo cual nos lleva a necesitar otra opción.

Activando HTTPS/SSL con Cloudflare

Cloudflare es un servicio que puedes asociar a un sitio web y ofrece una serie de mejoras de seguridad, como protección contra DoS, CDN, Caché y soporte HTTPS/SSL. Es esto lo que nos interesa y es sobre lo que vamos a ampliar.

La gran ventaja de Cloudflare relacionada con HTTPS es apenas intrusivo y los cambios a realizar en el sitio web son mínimos.

Lo primero es registrarse en Cloudflare con tu email y password.

A continuación, debes agregar tu sitio web, lo cual tomará un poco de tiempo porque Cloudflare revisa los registros DNS y los migra hacia su panel de control. Finalizado ese paso te dará los nuevos nameservers que debes poner en tu dominio.

No te asustes, Cloudflare queda funcionando como un proxy intermedio entre el dominio y el servidor donde está alojado el sitio web.

Agregar dominio Cloudflare

Finalizado este paso, abre Crypto y activa SSL eligiendo la opción Flexible. Esta opción es la más simple y es la que utilizamos porque es suficiente para lo que necesitas hacer. Una vez activado, toca esperar, al menos 24 horas para que el proceso de emisión del certificado termine.

HTTP Flexible en Cloudfalre

Configurando el sitio web

Una vez esté emitido el certificado, solo debes instalar el plugin CloudFlare Flexible SSL en tu sitio web WordPress. Hecho esto, todo lo que debe ser cambiando, va por cuenta del plugin instalado.

Redireccionando HTTP a HTTPS

En este punto tu sitio web funcionará con HTTPS pero también lo hará con HTTP si cargas explicitamente con ese protocolo. También, si has compartido enlaces anteriores con HTTP estos seguirán funcionando de esa forma.

No queremos eso, queremos que todo funcione con HTTPS y para ello tenemos que forzar la redirección de HTTP a HTTPS.

Es muy simple, en Cloudflare, en Crypto, activa la opción Always use HTTPS y no hay más que hacer, quedará activada la redirección forzada a HTTPS.

Siempre HTTPS Cloudflare

Conclusión

Ya tenemos activado HTTPS en el sitio web y cuentas con las ventajas que ofrece Google para sitios web HTTPS. Ademas, tu sitio web es ahora más seguro y rápido.

Te animo a comentar que te ha parecido este tutorial, si te ha gustado o si tienes alguna duda al respecto.

Recursos

6 thoughts on “Activar HTTPS/SSL en WordPress”

  1. También es posible hacer el redirecciónamiento (o decirle al navegador que haga uso de) HTTPS mediante una modificación en el htaccess (apache). Esto para evitar seguir recibiendo tráfico mixto HTTP y HTTPS.

    Por ejemplo, la cabecera seria la “Strict Transport Security”, la cual le dice al navegador que el contenido del dominio debe de ser servido mediante HTTPS. Util si no tienes Cloudflare configurado para tu sitio o si simplemente quieres obligar a todos a usar el HTTPS.

    Ojo: Es posible que sigas recibiendo hits mediante HTTP. Posiblemente se deba a bots maliciosos o navegadores no actualizados.

    1. Tienes razón. De hecho así comencé a implementarlo yo pero frecuentemente me daba errores de redireccionamiento masivo. Por lo demás, todo ok.

      1. Si funcionaría, sin duda. Ojo, si los enlaces son a recursos externos y estos no soportan HTTPS (raro, pero posible) entonces tendrás erores 404. Solo ten eso en cuenta.

    1. ¡Hola! Perdona la demora. He estado con muy poco tiempo y además quería documentarme bien antes de responderte. Tu duda me pareció muy interesante. Revisé en Cloudflare y solo con planes pagos y un proceso bastante complejo te permiten activar el servicio en general para un subdominio. La activación de HTTPS no se puede segmentar para dominio, subdominio. Por lo tanto para tener HTTPS en un subdominio tendrías que tener activo Cloudflare solamente para el subdominio.

      Por lo tanto, te recomiendo optar por un certificado instalable en tu hosting solo para el subdominio. Eso sí, seguramente tendrás que pagar por él.

      Saludos.

Deja un comentario