Cómo instalar y configurar un certificado SSL (https) gratis en Wordpress
Desde octubre de 2017, Google está marcando como No Seguro a las webs que no cuenten con un certificado SSL. Acá aprenderemos a generarlo desde el panel de administración de Wordpress.

Desde octubre de 2017, Google está marcando como No Seguro a las webs que no cuenten con un certificado SSL.

Pasa a ser de vital importancia tener instalado y configurado correctamente un certificado SSL (Secure Socket Layer) en nuestro sitio web, tanto para que los datos de los usuarios viajen de forma segura y encriptada, como para transmitir confianza a los visitantes. Además, contar con https es un factor de posicionamiento SEO que Google toma en cuenta para rankear mejor en sus resultados de búsqueda.

Los certificados SSL son otorgados por empresas destinadas a tal fin, y son de pago. Generalmente los hostings ofrecen certificados que les compran a estas marcas y luego revenden e instalan agregándole un margen de rentabilidad.

Los que muchos no saben es que pueden tener un certificado SSL perfectamente operativo de forma gratuita, gracias a Let’s Encrypt.

Let’s Encrypt es una iniciativa de certificación de código libre cuyo objetivo es proporcionar SSL para el público común. Es un proyecto de Internet Research Group, una corporación de servicio público, y es patrocinado por compañías de la talla de Google, Facebook y Mozilla, entre otras.

La forma más sencilla de integrar un certificado de Let’s Encrypt, así como de cualquier otra marca de certificación, es hacerlo desde el panel de administración (usualmente cPanel) del hosting donde esté alojado la web. Sin embargo, muchas empresas de hosting no ofrecen esta opción, con el objetivo de vender certificados pagos.

En este último caso, tendremos que hacerlo nosotros mismos. Con WordPress es extremadamente sencillo, como veremos a continuaciónn.

En primer lugar hay que instalar el plugin WP Encrypt.

Lo instalamos, lo activamos, y vamos a la página de configuración en Ajustes > WP Encrypt.

En esta pantalla debemos completar la información del nombre de la organización (el sitio web), el país y el código del país.

Es importante tildar la opción ‘Automatically regenerate the certificate prior to expiration? A Let’s Encrypt certificate is valid for 90 days.‘, ya que de esa forma se regenerará automáticamente el certificado cuando expire el tiempo de su duración, y no será necesario hacerlo manualmente cada 90 días.

Cuando le demos clic a Guardar cambios, se mostrará la opción de Register Account, la cual cliqueamos.

Por último hacemos clic en la nueva opción que se genera, Generate Certificate, para generar el certificado SSL.

El certificado ahora está instalado, pero todavía falta un paso.

Si intentamos ingresar en este momento a https://nuestrodominio.com, lo podremos hacer, aunque también si ingresamos a http://nuestrodominio.com. Esto es gravísimo de cara al SEO, ya que Google encontrará dos sitios idéntico que no tiene forma de saber que en realidad son el mismo.

Lo que debería suceder es que cada vez que se ingresa a http://nuestrodominio.com, haya una redirección definitiva 301 hacia https://nuestrodominio.com.

A su vez, todos los enlaces internos apuntan a nuestro dominio con http, y hay que cambiarlo para que apunten a nuestro dominio con https.

Por último, todos los recursos como las imágenes, están alojadas en -por ejemplo- http://nuestrodominio.com/wp-content/imagen-ejemplo.png, cuando deberían estar… claro, en https.

Por más que tengamos instalado el certificado SSL, si falla alguna de esas tres cosas, el navegador no mostrará el candado de Seguro en la barra de navegación, ya que se incurre en un error llamado Mixed Content o Contenido Mixto: la web corre en https pero solicitan recursos del mismo dominio servidos desde http.

Obviamente sería una locura corregir manualmente esto, sobretodo si es un sitio con tiempo online y muchas imágenes, páginas internas, y demás.

Nos vamos a valer entonces de otro plugin, Really Simple SSL. Con solo su instalación y activación, ya tenemos SSL correctamente funcionando en toda la web.

Dos consideraciones finales:

Si el sitio web tiene algún plugin de cache (WP Super Cache o W3 Total Cache, por ejemplo), es posible que entre en conflicto y el navegador muestre al acceder la advertencia de Mixed Content que mencionaba previamente. Con borrar toda la cache desde la configuración de ese plugin, debería arreglarse.

Por otro lado, si utilizan Google Search Console (¡deberían!) tienen que agregar la nueva versión del sitio, con https, para que empiece a recopilar la información desde la nueva versión del sitio.

¡Eso es todo! Cualquier duda que tengan, o si algo no les funciona, pueden dejarme un comentario acá debajo e intentaré ayudarlos.