Forzar el uso del SSL en todo nuestro WordPress

Cómo habilitar el SSL en todo nuestros WordPress, cómo debemos configurar el htaccess para que todo el tráfico se redireccione a través de HTTPS, y cómo unos sencillos pasos obtendremos una web más segura. Y seguiremos la tendencia marcada por Google para mejorar nuestro SEO.

Como muchos sabréis, Google hace unos 3 años en un artículo recomendó el uso del HTTPS, para hacer internet más seguro e informó que había hecho cambios en sus algoritmos para clasificarlos.

En ese mismo artículo reconocían que habían hecho inversiones para que en todos sus servicios las comunicaciones entre el usuario y los servicios de Google fueran seguras. Fruto de una de esas inversiones, junto con otras asociaciones como Mozilla, Apache, … o empresas como Facebook, Automattic, …, surgió el proyecto Let’s Encrypt, donde podemos conseguir un certificado SSL de forma sencilla, rápida y GRATUITA.

Desde hace ya algún tiempo los principales proveedores de alojamiento ofrecen de forma gratuita el servicio de creación de certificados SSL a través de Let’s Encrypt. En algún futuro artículo veremos cómo crear nuestros propio certificado si nuestro hosting no nos ofrece esta opción.

Después de toda esta teoría pasamos a la acción: ¿Cómo hacemos que nuestros visitantes vean el contenido de nuestro proyecto a través del HTTPS aunque vengan a través de HTTP?

La solución es sencilla, modificamos nuestros archivo .htaccess para forzar que todo el tráfico vaya siempre a través del HTTPS.

Accedemos al directorio de la instalación de nuestro WordPress y editamos el archivo .htaccess. Si abrimos el archivo que de serie viene en cualquier instalación de WordPress tendrá un aspecto similar a este:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Los cambios que os comento siempre tenéis que hacerlos después de la etiqueta #END WordPress, para evitar el mal funcionamiento de nuestro proyecto. Añadimos las siguientes líneas y guardamos:

# TODO SSL
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,QSA,L]

Adicional

Una configuración adicional muy recomendable es añadir las siguientes dos líneas a nuestro archivo wp-config.php.

define( 'FORCE_SSL_ADMIN', true );
define( 'FORCE_SSL_LOGIN', true );

Muy importante

Tened en cuenta que es necesario tener instalado un certificado SSL instalado y configurado en nuestro servidor, si no es así la configuración no funcionará.

Si tenéis cualquier consulta no dudéis en poneros en contacto conmigo o escribir un comentario en este artículo. Si os ha gustado el artículo, no dudéis en compartirlo.

Muchas gracias, un saludo!

Créditos: Imagen del artículo: Mrkus Spiske

Deja una respuesta

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