Cómo cambiar de HTTP a HTTPS en WordPress, sin dolores de cabeza

Candado

Imagen: freepik

Con la llegada de 2017, Chrome ha empezado a exigir la inclusión de certificados SSL, en todos aquellos sitios que soliciten cualquier tipo de contraseña. Ya no es un requisito exclusivo para plataformas de venta con pasarelas de pago, sino que ahora el protocolo HTTPS también es indispensable si tenemos usuarios registrados, aunque los datos personales de estos se limiten a un email y una clave. En caso de que no haya protocolo HTTPS cuando deba existir, el navegador mostrará advertencias -como se ha avisado desde Search Console-, lo cual no es una noticia muy alentadora para nuestros intereses.

A grandes rasgos, la aportación de HTTPS en relación a HTTP, reside en que la información introducida en una web con SSL viaja encriptada hasta el servidor. De este modo, si un crakcer intercepta un paquete de datos -lo cual no es sencillo, dada la gran cantidad de ellos que circulan simultáneamente-, no podrá leer su contenido, al no tener la clave para desencriptarlo.

El paso a HTTPS no es complicado de efectuar, si bien, es preciso seguir un orden para evitar disgustos:

1. Instalación del certificado SSL

En este punto tienes dos opciones: puedes optar por comprar un certificado o decantarte por uno gratuito de Let’s Encrypt. Este último no requiere una IP dedicada y se renueva automáticamente, cada tres meses. El proceso de instalación en tu web dependerá de la metodología prevista en tu hosting, por lo que no dudes en preguntar a tu proveedor al respecto.

2. Ajustes en WordPress

Una vez que el certificado se haya añadido correctamente -y nos hayamos asegurado de ello-, vamos al panel de control de WordPress y en Ajustes generales modificamos la ruta de los campos Dirección de WordPress (URL) y Dirección del sitio (URL), de http:// a https://. Ten en cuenta que saldrás del panel de control, justo al aplicar los cambios.

Ajustes generales de WordPress

Para regresar debes actualizar -con https– el link desde el que te logueas. A continuación, limpia la caché y, si utilizas W3 Total Cache, activa Cache SSL (https) requests en el apartado Page Cache.

3. Revisión

Cuando accedamos a la web deberíamos ver un candado verde en la barra de direcciones, pero lo normal es que aparezcan advertencias en una o varias páginas, ocasionadas por urls no cambiadas desde los ajustes de WordPress. Podemos comprobar cuáles son mediante la sencilla y práctica herramienta Why No Padlock?, chequeando las páginas con avisos: www.whynopadlock.com

Normalmente los errores proceden de rutas de imágenes o enlaces ubicados en los widgets. Asimismo, suele haber problemas con los contenidos de las entradas y páginas, que incluyen rutas hacia imágenes y links internos. No te preocupes si el error afecta a miles de posts, porque la solución pasa por una simple consulta SQL, por ejemplo, desde phpMyAdmin. Pero antes de nada, haz una copia de tu base de datos, por si el resultado no fuese el esperado.

La consulta de más abajo actúa sobre las urls internas de todas las páginas y entradas. Se trata de un UPDATE contra la tabla de los posts, llamada por medio del prefijo wp_. Tienes que variar este valor si lo has personalizado previamente o si lo ha hecho tu proveedor de hosting por ti. Igualmente, sustituye www.dominio.com por el tuyo.

UPDATE `wp_posts`
SET `post_content` = replace(`post_content`, 'http://www.dominio.com', 'https://www.dominio.com');

El UPDATE hace referencia a todo el dominio, puesto que si nos limitásemos a transformar los http por https, alteraríamos nuestros enlaces externos, de forma involuntaria.

4. Redireccionamiento

Para no duplicar todas nuestras páginas, generando lo que se conoce como un dominio espejo, hay que aplicar una redirección en el fichero .htaccess, situado en la raíz de nuestro WordPress. El código sería el siguiente:

# BEGIN Redireccionar HTTP a HTTPS
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.dominio.com/$1 [R=301,L,NE]
# END Redireccionar HTTP a HTTPS

Es imprescindible colocarlo justo al principio del archivo ya que, en caso contrario, no funcionará. Por otra parte, te comento que puedes prescindir de RewriteEngine On, pues la configuración de WordPress lo trae por defecto.

5. Google Search Console

Para terminar, tan solo falta agregar los datos de la nueva dirección del dominio en Google Search Console. De esta manera, tendrás dos sitios registrados: uno con http y el otro con https. Con el paso de los días, el número de consultas recibidas del primero irá cayendo en detrimento del segundo. Por cierto, no olvides incorporar el sitemap en la nueva web añadida.

 
A modo de conclusión, apuntar que este proceso repercutirá positivamente en tu posicionamiento SEO y en la reputación de tu web. Además, no nos supone un gasto extra y su implementación no resulta excesivamente compleja.