Cambio a https con Certificado SSL Gratuito Let’s Encrypt

lets encrypt

Pues ya era hora. Obligatoriamente he tenido que sacar algo de mi tiempo para poder atender mi blog, que lo tengo algo descuidado. ¿Lo primero que voy a hacer? Instalar el certificado SSL y pasar a https toda la página.

¿Por qué voy a pasar a https?

Pues porque a partir de octubre, la páginas que recaben datos de usuarios, tengan formularios, o cualquier comunicación entre Web y usuario, no tengan certificado SSL y por tanto naveguen bajo los protocolos de seguridad https, serán marcadas por los navegadores como webs no seguras.

Search Console

Este es el aviso que Google hacía a las páginas sin https y que tenían formularios de toma de datos

Esto es un mensaje (notificación) que recibimos todos los que estábamos en la misma situación a través de nuestra propiedad en Search Console.

Por ello cuando ya Google nos dice directamente: Ojo que estamos empezando por aquí…. Luego no sabemos lo que sucederá… Entonces es cuando te tomas las cosas en serio.

Decisión tomada: me paso a https

La verdad que la decisión era fácil tomarla, casi es de obligado cumplimiento. Pero… ¿Cómo proceder para hacer la migración?

Puedes leer un buen número de artículos en los que te dicen cómo hacerlo, cómo implementar dicha migración, y demás. Pues este es otro artículo más de esos, pero lo estoy haciendo al mismo tiempo que cambio a https mi web.

Los pasos para migrar una web a https son:

  1. Planificación
  2. Instalación del Certificado SSL
  3. Modificación de BBDD
  4. Forzado https y redireccionamientos
  5. Análisis de errores.
  6. Declarar en Search Console.

Podcast donde te explico cómo hacer la migración

https, certificado ssl

 

1.- Planificación antes de la instalación del Certificado de Seguridad

Siempre insisto en que  cuando realicemos una acción de peso en nuestra web o nuestro blog tenemos que hacer una copia de seguridad.

Por tanto, lo primero que debemos hacer es una copia global de nuestro sitio web. Si tenemos CPanel, es muy sencillo, porque las copias de seguridad se gestionan automáticamente:

App back up cpanel

Entramos en la aplicación (puede variar el icono en versiones distintas del Cpanel) y nos aparecerá la imagen siguiente:

Back up cpanel

Simplemente pinchamos en back up y el sistema creará una copia del sitio completo, incluidos directorio, base de datos y mail.

Si no tienes Cpanel o no te aparece el icono porque no tienes instalada la aplicación deberás hacer la copia de seguridad manual.

Para hacerla debemos entrar por FTP y descargar el directorio completo.

Además entrar en Phpmyadmin dentro del CPanel. Seleccionamos la bbdd de la que queremos hacer la copia de seguridad y clicamos en exportar.

Si la bbdd es pequeña podemos hacer la exportación normal, por defecto. Pero si es grande, debemos hacer la exportación personalizada y seleccionar compresión gzip como muestra la imagen, para después poder restaurar el back up de forma adecuada.

backup phpmyadmin mysql

Una vez tenemos los bakups y tenemos claro el momento en el que vamos a realizar el cambio a https, pasamos al punto 2.

2 – Instalación del Certificado SSL

Llega el momento de realizar la instalación de nuestro certificado. Podemos instalar cualquiera de pago, aunque aquí vamos a explicar cómo se instala un certificado SSL Gratuito. En este caso se llama Let’s Encrypt.

¿Qué es Let’s Encrypt?

Es un proyecto que fue impulsado por Linux y apoyado por las principales empresas de internet, como Facebook, Google, WordPress, Cisco…

Está basado en generar certificados de seguridad SSL de libre distribución, abiertos y, por tanto, gratuitos.

No va a ser menos seguro que un certificado de pago, ni va a sufrir ningún tipo de penalización de Google ya que tiene la confianza de todos los navegadores y del propio buscador.

Una vez que sabemos que es Let’s Encrypt vamos a instalarlo. En hosting de Webempresa es muy sencillo, porque sólo tenemos que pinchar en certificados dentro de la sección de cliente.

certificado Lets encrypt webempresa

Lets Encrypt

Tenemos que seleccionar el dominio con www, ya que de esta forma se instalará para las dos versiones del dominio, con www y sin www.

En el caso de que tu hosting no sea de Webempresa, si utilizas Cpanel tenemos que entrar en la aplicación SSL /TLS

Y administrar el certificado Let’s Encrypt. Para ello tenemos que tenerlo instalado previamente.

certificados en Cpanel

 

3 – Modificación de la BBDD

Antes de modificar la BBDD tenemos que hacer una copia de seguridad, conforme se explica en el punto 1.

Además antes de tocar la BBDD debemos cambiar el dominio en el WordPress. Para ello tenemos que entrar en Ajustes y poner la versión del dominio con https como se indica en la siguiente imagen:

Configuración WordPress

Una vez que hemos cambiado esto y hemos actualizado, nos deslogueará de la página y tendremos que entrar de nuevo con el mismo admin.

Ahora es cuando tenemos que modificar la BBDD de MySQL. Para ello tenemos 3 opciones:

  • Opción 1: hacerlo con consultas en phpmyadmin.
  • Opción 2: hacerlo con la BBDD en modo texto y buscar y reemplazar.
  • Opción 3: Con el Plugin Better Search Replace.

En el caso 1 simplemente entraremos en phpmyadmin, seleccionaremos la base de datos sobre la que queremos trabajar y pinchamos en SQL.

Ahora tendremos que poner los siguientes códigos:

UPDATE wp_options

SET option_value = REPLACE(option_value,’dominio_viejo’,’dominio_nuevo’);

UPDATE wp_posts

SET post_content = REPLACE(post_content,’dominio_viejo’,’dominio_nuevo’);

UPDATE wp_posts

SET guid = REPLACE(guid,’dominio_viejo’,’dominio_nuevo’);

UPDATE wp_postmeta

SET meta_value = REPLACE(meta_value,’dominio_viejo’,’dominio_nuevo’);

 

Tenemos que modificar el “dominio_viejo” por el domino con http:// y “dominio_nuevo” por https://

Además tendremos que repetirlo en cuantas tablas creamos conveniente para que no quede ningún enlace ni resquicio de http.

La opción 2 es abrir la BBDD en un procesador de textos, tipo PSPad o Wordpad, y usar los comandos buscar y reemplazar.

En buscar le pondremos: “http://midominio.com” y en reemplazar: “https://midominio.com” Es importante que incluyamos el dominio, porque si no cambiaría enlaces externos que no tienen certificado y no son necesarios, además que aparecerían errores en la web.

La tercera opción es con el Plugin Better Search Replace.

En teoría hace lo mismo que el anterior, y con la filosofía del primero, pero de forma automática.

Para ello deberemos instalar el Plugin nombrado y acceder a su configuración.

plugin mysql

Podemos hacer una prueba inicial, y vemos cúantas tablas van a ser cambiadas. Para ello sólo tenemos que mantener activado el botón pertinente (último botón de la página del plugin). Y cuando estemos seguros lo hacemos de forma real.

Es un Plugin muy sencillo de utilizar para los que no saben o no quieren tocar código

Para ver si todo está cambiado, lo mejor es analizarlo con Screaming Frog (hay una versión gratuita de hasta 500 URL’s analizadas), y ver en las url’s iniciales si hay alguna de ellas que recibe enlaces de alguna otra url del site.  Si ha quedado alguno habrá que modificarlo de forma manual.

4.- Forzar Https y Redireccionamientos

Una vez que ya tenemos la página puesta en https, nos cercioramos de que todo esté de forma correcta, y además tenemos que forzar la utilización de https.

El forzado lo hacemos entrando en el archivo wp-config.php al que podemos acceder desde el ftp o desde el propio wordpress.

Y hay que poner los nuevos defines:

define(‘FORCE_SSL_LOGIN’, true);

define(‘FORCE_SSL_ADMIN’, true);

Ya tenemos forzado el blog o la web para que cualquier petición se muestre siempre como https.

Ahora tenemos que redireccionar nuestro blog para que todos los enlaces entrantes a http y las páginas indexadas con http se tranfieran a https. Lo hacemos abriendo el archivo .htaccess y añadiendo en cabecera el siguiente código:

RewriteEngine On

RewriteCond %{ENV:HTTPS} !on [NC]

RewriteCond %{HTTP_HOST} ^elblogdelseo\.com$ [OR]

RewriteCond %{HTTP_HOST} ^www\.elblogdelseo\.com$

RewriteRule ^(.*)$ https://www.elblogdelseo.com/$1 [R=301,L,NE]

NOTA IMPORTANTE: Cada uno deberá sustituir el dominio elblogdelseo por su propio dominio.

De esta forma no perderemos ni un ápice de posicionamiento, todo lo contrario, si todo lo hacemos bien lo mejoraremos.

5.- Análisis de Errores https

Antes de dejarnos llevar por el entusiasmo, porque todo parece que se ve de forma correcta, debemos analizar minuciosamente el código de nuestra web. Lo mejor es como en el punto 3, usar Screaming Frog para ver si hay alguna url con http que esté recibiendo enlaces internos. En el caso afirmativo, deberemos modificarlas manualmente. Si los enlaces son externos, no  habrá problema porque con el código del punto 4 estamos redireccionando con 301 a la versión con https. Lo ideal sería cambiar en destino los enlaces que podamos, pero ésto a veces es tarea casi imposible, porque no depende de uno mismo.

Además también podemos comprobar el certificado en la siguiente dirección:

https://www.dondominio.com/products/ssl/tools/ssl-checker/

No obstante el error más común es cuando en nuestro navegador no se muestra en candado cerrado, como que esté el certificado instalado de forma correcta, sino que se muestra la siguiente imagen:

Error en el certificado

Esto sucede porque hay todavía imágenes o alguna otra petición que se está haciendo con http. En mi caso y, también es lo más habitual, es el logotipo. Ya que el mismo se gestiona desde el theme que tenemos instalados. Por ello entramos en las opciones del Tema y lo cambiamos de forma manual.

Si el logotipo negativo persiste debemos buscar esa petición http y modificarla.

6.- Declarar en Search Console

Una vez que ya tenemos toda nuestra página migrada a https y sin ningún error tenemos que declarar la propiedad en Search Console. Tenemos que declarar tanto la propiedad con www. Como sin www.

Como se supone que el dominio ya está declarado en Search Console todo será más sencillo.

Aunque tendremos que enviar el Sitemap nuevo en la propiedad nueva con https.

Si nos da error en el envío de Sitemap, es normal al principio y deberemos esperar unos minutos para que Google pueda detectar y entrar a nuestro sitio sin problemas.

Llegados a este punto, ya lo tenemos, ya tenemos nuestra página completamente migrada a https, según las directivas de Google.

 

7 comentarios
  1. Jaime Bermejo
    Jaime Bermejo Dice:

    Muy bien explicado Antonio, si bien WebEmpresa ya habilita desde hace algún tiempo el “auto-https” y no te sale el desplegable para seleccionar el dominio sobre el que lo quieres implementar. En cuanto tienes el dominio con ellos te lo ponen. Un saludo

    Responder
    • Antonio López
      Antonio López Dice:

      Hola Jaime.
      Si, es cierto, en webempresa ya lo hacen desde hace tiempo, justo después de escribir yo el post…jejeje
      Saludos

      Responder

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja un comentario

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

*