Cómo poner un certificado SSL en tu blog y, además, gratis

Siempre he tenido curiosidad por tener un certificado SSL en mi blog, pero el coste de los certificados siempre me ha frenado. Satisfacer mi curiosidad no vale 75 dólares (o más) cada año.

Hace un par de semanas, en una cena con compañeros de Tetuan Valley, oí a un par de ellos hablar sobre las bondades de Let’s Encrypt. Se trata de una iniciativa de la Electronic Frontier Foundation que genera certificados SSL perfectamente válidos y gratuitos.

Al día siguiente, estuve leyendo la documentación de Let’s Encrypt y todo iba en la línea que comentaban.  El proceso de instalación y renovación de los certificados SSL gratuitos es tremendamente sencillo y completamente automatizable. Cuentan con un cliente para los principales sistemas operativos y servidores web que reduce el proceso a unos pocos comandos. Así que, si gestionas tu propio servidor, ya no tienes ningún motivo para pagar por tus certificados SSL, porque los de Let’s Encrypt te proporcionan el mismo nivel de seguridad y confianza, pero completamente gratis. Si tienes tu blog en un hosting compartido sin acceso total a la máquina, te interesa seguir leyendo.

Instalar un certificado SSL en un hosting compartido

Mi blog está alojado en un hosting compartido que acepta certificados SSL. Ya hay muchos proveedores de alojamiento que han automatizado la incorporación de certificados SSL de Let’s Encrypt.  No es el caso del mío: ganan dinero vendiendo certificados SSL, así que tardarán en aceptar estos otros. Además, no puedo utilizar el cliente de Let’s Encrypt: es raro que, en un hosting compartido, tengas el nivel de acceso que necesitas para instalar nuevos programas y ejecutarlos.

Así que, en un primer momento, supuse que no iba a poder ponerle un certificado SSL gratuito a mi blog. Afortunadamente, tras un par de búsquedas más, llegué a https://gethttpsforfree.com, cuyo objetivo es exactamente el que dice su nombre: que puedas conseguir https gratis (cuando no puedes o no quieres usar el cliente de Let’s Encrypt, añado yo).

Lo que sí vas a necesitar es acceso por SSH a la máquina en la que corre tu web o blog. Si no puedes conectarte por SSH, tendrás que seguir dependiendo de lo que quiera ofrecerte tu proveedor de hosting en lo que a https se refiere. Con acceso por SSH, podrás ejecutar los comandos que, paso a paso, te indicará la página de “gethttpsforfree”. Podrás ver que el proceso es tan sencillo que no merece la pena ni hacer un recorrido por él: ejecuta las instrucciones de cada paso e irás avanzando.

En uno de los últimos pasos, esa página te pedirá que valides que tienes control sobre el dominio en el que quieres instalar el certificado SSL. Te da dos opciones: ejecutar una serie de comandos Python o colocar un determinado archivo de texto en una ruta específica. Si tu caso es como el mío, no podrás ejecutar esas instrucciones porque no tendrás permisos. Te tocará crear el archivo con el nombre, contenido y ruta que te indica la página. Si completas con éxito ese último paso, se generará tu certificado SSL gratuito.

Ya has generado tu certificado HTTPS

El certificado SSL/TLS es un simple texto que puedes copiar y pegar con facilidad. Si necesitas guardarlo como un archivo, guárdalo como un archivo de texto con extensión “.cert”. Después, ve al panel de control de tu blog o web y, en la opción correspondiente, pega el texto del certificado (o indícale dónde lo has guardado como fichero) y del certificado intermedio y, listo, ya tienes tu blog protegido mediante https con un certificado SSL, completamente gratis.

A diferencia de la mayoría de los certificados SSL comerciales, que suelen tener un año de vigencia, los de Let’s Encrypt sólo duran 90 días. Si estás en el mismo caso que yo, no podrás automatizar la renovación del certificado SSL. Así que ponte un recordatorio en el calendario (te recomiendo que bastante antes de los 90 días). Tendrás que repetir el proceso de generación del certificado SSL gratuito en tu blog cada tres meses o menos. Afortunadamente, tras la primera vez es un proceso sencillo que no debería llevarte más de cinco minutos.

Después de instalar el certificado SSL

Cada blog es un mundo, así que no puedo dar unas pautas que sirvan para todas las configuraciones. En mi caso, tuve que prestar atención a cosas como:

  • Cambiar en WordPress la URL del blog, para que incluya el HTTPS y, así, todos los vínculos vayan por SSL/TLS.
  • Limpiar por completo el plugin de caché.
  • Añadir en el archivo .htaccess unas líneas para redirigir todo el tráfico “normal” a la versión en HTTPS. En mi caso, tuve que añadir esto, pero ten en cuenta que tus necesidades pueden ser muy distintas. Quizá, por ejemplo, necesites alguna regla más para tener en cuenta las “www”. Recuerda que debes tener cuidado al trastear con el .htaccess:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    <IfModule mod_rewrite.c>
    
  • Con ese cambio en el archivo .htaccess ya no deberías tener grandes problemas. No obstante, echa un vistazo a tu plantilla por si tienes puestos “a fuego” vínculos absolutos con el “http normal”. Te ahorrarás una redirección cada vez que alguien haga click en ellos.

¿Qué me proporciona el HTTPS?

Seamos realistas: en un blog personal como este, no hay una gran diferencia al usar un certificado SSL/TLS. Para algunos visitantes, puede ser una indicación de profesionalidad. En general, las comunicaciones seguras contribuyen a la seguridad de la web, pero no es que mi blog o el tuyo vayan a suponer una gran diferencia a nivel global.

Finalmente, algunos hablarán del impacto en el SEO que puede llegar a tener. Esto no es una leyenda urbana, sino que es completamente oficial: el HTTPS es una de las ¿200? señales que usa Google para determinar el posicionamiento de su web. Sin embargo, es una señal de muy poco peso. No esperes un cambio drástico en tu posición en los resultados de búsqueda sólo porque instales un certificado SSL de Let’s Encrypt.

En cualquier caso, lo mío fue más un ataque de curiosidad. No descarto que, tras tres o cuatro renovaciones manuales del certificado, me acabe hartando y no lo renueve nunca más.

9 comentarios

  1. Paco Verdaguer

    15/01/2017 a las 13:09

    ¿Sabes si esto se puede hacer en un blog que esté alojado en Arsys?

    • Manuel Delgado Tenorio

      15/01/2017 a las 19:53

      Me temo que no conozco con detalle los productos de hosting que ofrece Arsys ni si incluyen o no la posibilidad de instalar tus propios certificados SSL. Comprueba en tu panel de control si tienes alguna opción sobre “Seguridad” o “Certificados SSL” o algo así y, si ves que puedes subir un certificado desde tu ordenador, eso es que vas a poder generar uno de Let’s Encrypt y subirlo ahí.

  2. Compre un dominio y está en Blogger , ¿Crees que Funcionara para blogger? agradecería me ayudes.

  3. Que tal Manuel, ando buscando justamente lo mismo que Miguel (quien comento anteriormente), tengo un blog en blogger con dominio propio y estoy buscando la forma de ver si se le puede poner un certificado SSL, si sabes alguna alternativa me dices. Luego vi por ahí una opción de insertar widgets de servicios dedicados a la información sobre la seguridad de la navegación en internet y de enlaces a páginas de diagnósticos de reconocidas empresas de seguridad informática. Si sabes como resolverlo seria estupendo y es algo muy buscado en google. Gracias por tu articulo esta muy completo, lastima que no encontré aquí la solución para blogger. Saludos

    • Manuel Delgado Tenorio

      05/02/2017 a las 11:34

      Podrías hacerlo, Christian, metiendo entre medias un servicio de terceros, como el que ofrece Cloudflare.

      En este post, describen cómo hacerlo paso a paso: https://blog.cloudflare.com/ssl-on-tumblr-wordpress-blogger-appengine-pos/ No lo he probado, pero la explicación parece bastante directa y completamente orientada a ponerle seguridad SSL a tu blog en Blogger y en otros servicios similares.

      No sé bien a qué te refieres con eso de insertar widgets de servicios de seguridad pero, si tu objetivo es securizar la comunicación entre navegador y servidor con un certificado SSL/TLS, con eso no consigues nada. Lo más probable es que logres una web más lenta, pero no algo que se parezca a que tu blog muestre el candadito verde del SSL.

  4. Me he leido tu post y me parece bastante interesante. No obstante tengo alguna duda. En webs mias creadas desde cero tengo el http://
    Son páginas que no se realiza ningun tipo de compra ni nada por el estilo. Eso si hay banners puestos de adsense.
    Te quería preguntar que quite el formulario de contacto y puse una dirección de email y un telefono, ¿el cambiar el formulario por un email de contacto resulta útil a vista de Google?

    • Manuel Delgado Tenorio

      29/09/2017 a las 21:25

      Hay que contestar tu pregunta desde perspectivas distintas:

      En SEO, no me consta que el retirar los formularios en una página que vaya por HTTP suponga ninguna ventaja. Que a mí no me conste no significa que no exista, pero sí me sugiere que, de haber diferencia, no debe de ser muy relevante. Al menos hasta ahora: con los cambios que vienen a Chrome, quizás en el buscador aprovechen para cambiar algo en este sentido.

      Sí es muy relevante, en cambio, en lo referente al “candadito verde”, es decir, al icono y texto que se muestra junto a la barra de dirección en Google Chrome sobre el estado de seguridad de la página. A partir de octubre, cuando un visitante empiece a rellenar un formulario (incluso un simple formulario de contacto) en una página no cifrada mediante certificado, el navegador le indicará mediante icono y texto que se trata de una página “no segura”.

      En resumen, diría que, con el cambio que has hecho, probablemente ganes poco o nada desde una perspectiva de SEO, pero sí ganarás en confianza de tus visitantes.

      Si quieres conseguir ventaja en SEO, tendrás que pasar a SSL. En el artículo digo que la diferencia no es grande, pero estoy convencido de que se irá incrementando, para primar a las páginas que usen SSL/TLS.

      Eso sí, cuidado: si pasas a SSL, tus ingresos de Adsense pueden reducirse. A mí me pasó, notablemente.

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.