
El certificado SSL ya no es cosa de E-commerce únicamente. Google ha comunicado en su blog oficial que marcará como webs no seguras aquellas que carezcan de este certificado a partir del 1 de enero de 2017.
Hasta ahora, en webs pequeñas o de contenidos, como este blog, no tenían necesidad (al menos impuesta de cara al SEO) de tener un certificado SSL. Pero esto va a cambiar en breves. Anunciado ya por el poderoso buscador, a partir de 2017 Chrome, el navegador de la compañía y uno de los más usados del mundo, marcará como no seguras las webs que carezcan de este certificado.

Menudo dolor de cabeza ¿eh? Todas aquellas webs que no tengan cifradas sus comunicaciones aparecerán marcadas como “Not Secure”. Pero primero vayamos por paso, expliquemos que es el SSL y cómo funciona.
¿Qué es un certificado SSL?
Para distinguir qué webs tienen implementado un certificado SSL basta con mirar el protocolo que precede a la URL. Si carece de certificado será http, pero si tiene implementado un certificado SSL será https. Esta última “s” hace referencia a “Secure”. Lo que indica que esa web es segura y que realmente estás visitando la web que indica el navegador y no estas siendo víctima de una estafa, desvío de tráfico, phising o cualquier otra modalidad de engaño en la web.
El certificado SSL además se encarga de cifrar las conexiones de cada usuario con la web en cuestión. De esta manera, existe una garantía de que, si se interceptan las conexiones con la web, no se podrá extraer ninguna información de estos paquetes interceptados, ya que estarán cifrados, y tus contraseñas o datos personales compartidos con la web estarán a salvo.
Existen varias empresas emisoras de estos certificados, las cuales garantizan su funcionalidad y seguridad.
¿Cómo funciona el cifrado SSL?
El primer paso es entender el funcionamiento de un certificado SSL. Las empresas emisoras del certificado SSL llevan a cabo una comprobación de autenticidad del certificado de una web y si es correcto generan una pareja de claves. Entendemos por clave aquel método mediante el cual se cifra y se descifra la información en base a unas normas descritas en esa clave. Existen 2 tipos de clave, la pública y la privada. La clave pública sólo puede cifrar el mensaje, pero solo la privada puede descifrarlo.

La clave pública es la que se comparte con los usuarios para que cifren sus mensajes hacia nuestro servidor, una vez el mensaje llegue al servidor, solo la clave privada puede descifrar el mensaje. Así se garantiza que nadie pueda interceptar esos paquetes de información que enviamos a la web y puedan acceder a datos, personales, tarjetas de crédito, o cualquier otra información sensible que se envíe hacia una web.
Te estarás preguntando por qué estas empresas se toman la molestia de generar claves y verificar certificados para otros. Claro está, por dinero. Un certificado SSL, dependiendo de qué entidad lo expida, puede costar entre 45$ y 500$ al año. Si, cada cierto tiempo caduca (por seguridad) y se debe renovar asando por caja. Lo que hasta ahora hacía que fuera una inversión que solo se pudieran permitir E-commerce o cualquier tipo de web destinada a la monetización, convirtiéndose en un lujo para blogs, wikis o cualquier proyecto web no lucrativo. Y digo hasta ahora, porque existe un proyecto OpenSource que expide estos certificados gratuitamente y se llama Let’s Encrypt.

¿Cómo conseguir un certificado SSL gratis de Let’s Encrypt?
Let’s Encrypt es un proyecto impulsado por la fundación Linux y respaldado por los grandes de internet como son: Facebook, Google, Mozilla, OVH o HP entre otros. Lo cual avala su fiabilidad y honestidad. Su expedición es por 3 meses, aunque renovar es gratuito y puede atomatizarse.
Para obtener Let’sEncrypt, es necesario tener acceso al servidor por SSH con permisos de administrador. Es decir, tener un control absoluto del servidor. Esto quiere decir que si pretendes hacerlo desde el panel de control de WordPress o de tu hosting no vas a poder. Necesitas acceder por SSH a tu servidor y tener control sobre su configuración para poder instalarlo, el certificado SSL trabaja a nivel de servidor no de web.
Es compatible tanto con Apache como con Nginx, y en configuraciones con Windows y Linux. Aunque algunos servicios de hosting han habilitado la posibilidad de instalarlo desde su panel de control, la mayoría no ofrecen esa opción y prefieren venderte el suyo propio por un buen dinerito al año.
Lo cual hace imprescindible que tengáis por lo menos un VPS contratado para implementarlo en vuestra web, los hay relativamente baratos y con buenas prestaciones, o un Server completo. Esto os permitirá poder acceder por SSH a vuestro servidor y gestionarlo como administradores, lo que redundará en un control completo de lo que instaláis y lo que no en vuestro server.
Las configuraciones más comunes para un servidor son Linux (varias versiones) + Apache o Nginx. A continuación, os explico cómo instalarlo en Apache, la configuración más común, aunque aquí os dejo un enlace con las instrucciones para instalar un certificado SSL de Let’s Encrypt en Nginx, aunque están en inglés (sorry).
Instalar Let’s Encrypt en Linux y Apache
Para ello debéis abrir vuestro programa de conexión SSH, yo uso Putty es gratuito y muy bueno, escribir las credenciales de acceso a vuestro servidor, conectar y loguearos como “root” (administrador superior en Linux).
Bien, ya estamos dentro. Ahora lo primero que debéis hacer es actualizar vuestro server, para ello escribís lo siguiente:
apt-get update
De que termine de actualizarse, de nuevo nos dará la opción de seguir trabajando. El siguiente paso es instalar el plugin cliente de Let’sEncrypt para apache en vuestro servidor, para ello tecleamos el siguiente comando:
apt-get install python-letsencrypt-apache
Después de esto, Let’s Encrypt debería de estar listo para usarse en vuestro servidor. El siguiente paso es hacer que la web (dominio alojado en vuestro servidor) que queráis comience a tener tráfico cifrado. Para ello vamos a poner en funcionamiento el cliente de Let’s Encrypt sobre un dominio de nuestro server. Escribimos el siguiente comando:
letsencrypt --apache -d midominio.com
Este comando hace que el cliente de Let’s Encrypt comience a funcionar sobre el midomnio.com una vez finalice el proceso. Pero, ¡ojo! esto solo hace que midominio.com tenga su certificado SSL, los subdominios como www.midominio.com querán exluídos de la conexión cifrada SSL. Para añadirlos el comando debe de ser:
letsencrypt --apache -d midominio.com -d www.midominio.com -d subdominio.midominio.com
Esto hará que todos tus subdominios queden bajo el paraguas de Let’s Encrypt. Añade tantos como necesites.
Bien, una vez que comience la instalación, nos pedirá que aceptemos los términos y que añadamos un email. Este email se usará para comunicaros actualizaciones, cambios y para avisaros de que tenéis que renovar vuestro certificado SSL. Con esto estará listo, nuestro dominio tendrá instalado y funcionando su certificado SSL gratuito en el acto.
Un paso más, para evitaros tener que renovar el certificado SSL de Let’s Encrypt manualmente cada 3 meses, es programar un CRON que lo ejecute esa acción en el servidor cada mes automáticamente. En esta web os explican cómo hacerlo.
Si por el contrario queréis hacerlo manualmente, basta con acceder por SSH y ejecutar este comando como administrador:
letsencrypt renew
Ajustes SEO para la implementación del certificado SSL
Vale, nuestra web tiene su certificado SSL gratuito instalado, y las peticiones realizadas a través de https están cifradas. Pero seguro que te habrás dado cuenta de que es accesible tanto a través de http como de https. ¡Contenido duplicado al canto!
Ahora tenemos que ajustar ciertos puntos críticos para el SEO y la analítica web, y es que, aunque solo sea por un carácter, la URL de nuestro site ha cambiado y eso afecta al SEO. ¡Comenzamos!
Modificar URLs en el CMS o el HTML
Tanto si nuestro site utiliza un CMS como si está hecho de HTML puro debemos revisar las URLs y adaptarlas al nuevo formato https.
Si usais una web escrita en HTML puro, y además usáis enlaces absolutos, os tocará añadir a mano la nueva cabecera https. Es un coñazo, lo sé, pero es necesario para el SEO de vuestra web.
Por otra parte, si usáis CMS tipo WordPress, en la pestaña de Configuración > General debéis cambiar el dominio base del sitio y añadir la “s” a la cabecera.

Crear nueva propiedad en Search Console
Al igual que Search Console (antiguo Webmasters Tools) diferencia entre con www y sin www, diferencia entre http y https. Por lo que deberéis crear una nueva propiedad en vuestro panel de Search Console y añadir vuestro dominio con certificado SSL.
Mi recomendación es que no borreis la antigua propiedad para poder monitorizar posibles problemas. Siempre está bien tener un backup por si acaso.
Configurar Google Analytics
Al igual que pasa en Search Console, Analytics puede dejar de registrar el tráfico del dominio ya que ha cambiado la URL. Para arreglar esto, el primer paso es crear una nueva propiedad que sirva de copia de seguridad, para posteriormente modificar la actual.
Los campos a modificar son: Primero en “Popiedad > Configuración de la propiedad” sustituimos http por https.

Segundo en “Ver > Ver configuración” (Panel de vista) sutituimos también el http por https.
Un último paso será revisar la integración de Analytics y Search Console, debéis cambiar la vinculación a la propiedad https de Search Console, si no los datos no serán correctos. ¡Y listo! Tenemos Analytics configurado.
Redireccionar todas las URL hacia la https
Hasta ahora vuestra web debe de ser accesible tanto por http como por https, pero ya que tenemos un certificado SSL, aunque sea gratuito, vamos a usarlo. El método más recomendable para redireccionar todas las URLs de una vez es por medio del archivo htaccess.
Añadiendo las siguientes líneas reidreccionaréis todas las peticiones http hacia su equivalente https:
RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Revisar las etiquetas canonical
El siguiente paso necesario es revisar que las etiquetas canonical reflejen la nueva versión https de tus URLs. Si no revisamos este punto cuidadosamente, podemos perder toda la indexación de nuestro sitio. GoogleBot visitaría nuestra web y vería un canonical hacia una web que no puede acceder, y por lo tanto no puede indexar.
En el siguiente ejemplo podéis ver las consecuencias de indicar una URL inaccesible en la etiqueta canonical.

Revisar el Robots.txt y el Sitemap
Recordar también revisar el archivo Robots.txt y comprobar que no estáis utilizando normas que entren en conflicto con el nuevo certificado SSL.
También es muy importante revisar el Sitemap y comprobar que las URLs que en él tenemos cuenten con su nueva cabecera https. Una vez comprobado, no olvides enviarlo nuevamente a Google a través de tu nueva propiedad de Search Console.
Revisar el marcado de datos estructurados
Tanto si usas el método JSON o el marcado en el código, revisa que tus propiedades “url” reflejen la nueva URL de tu sitio con https. El marcado de datos es, en mi opinión, una de las claves del SEO a corto y medio plazo, pero un marcado incorrecto puede traer consecuencias nefastas. Una sanción, por ejemplo. Revisa tu marcado, si lo tienes.
URL de versión AMP y “alternate»
Si tenéis versión AMP de vuestros post o noticias, no olvides checkear estas URLs también. Así como cualquier URL “alternate” que haya en vuestro código. Por ejemplo, la de la versión mobile de vuestra web.
Aseguraros que cualquier referencia interna refleja la nueva cabecera https.
Actualiza las URLs de tus perfiles sociales
Siempre es mejor que tus enlaces lleguen limpios y libre de redirecciones. Por eso no es mala idea cambiar las URLs de tus principales perfiles sociales. No es imprescindible, pero ya que estamos, ¡vamos a dejarlo fino!
Revisa las URLs finales de tus campañas activas
Por último, si tienes campañas activas en Adwords, Display, Doubleclick, Facebook Ads o cualquier otro. Al igual que con los perfiles sociales, siempre es mejor un enlace directo. Además, esto influirá en el Quality Score de vuestras campañas. Lo que os encarecería vuestro CPC (en pujas ajustadas) si no os acordáis de este detalle.
Y por fin, tenemos instalado nuestro certificado SSL gratuito de Let’s Encrypt y completamente optimizado para SEO. Recordad que empezará a ser un factor decisivo para el SEO a partir de Enero, por lo que ¡no lo dejéis para el último día! Luego vienen las prisas y los disgustos.
Como puedes ver en la barra de dirección del navegador, a la vez que escribía este post, lo he ido haciendo sobre mi blog. Y comprobarás que funciona perfectamente.
Dudas sugerencias o comentarios, a continuación. Menudo ladrillo de post me ha quedado. Si tienes alguna sugerencia o queja para el siguiente post, este es el momento. Y si necesitas ayuda, no dudes en consultarme.