Cómo pasar un sitio web en WordPress de HTTP a HTTPS

Hasta no hace mucho, cuando se hablaba de sitios web “seguros”, se nos venía a la mente sitios web de empresas o entidades “críticas” donde el usuario podía ingresar información privada o sensible, como los bancos o las tiendas en línea. Hoy, sin embargo, esto ha cambiado, y contar con un sitio web seguro se está volviendo cada vez más importante. Google ahora considera como una variable más para un buen posicionamiento que el sitio web sea seguro. ¿Y qué es un sitio web seguro? Es un sitio web en el que la información que ingresamos en él viaja de forma protegida o “segura”. Técnicamente hablando, un sitio web seguro se distingue por dos características: contar con un certificado SSL y usar el protocolo HTTPS.

El caso es que, como antes no había tanta preocupación por tener un sitio web seguro, aún hay en Internet muchos sitios web “no seguros”, que solo usan el protocolo original HTTP y no usan un certificado SSL. Además, el alto costo de estos certificados de seguridad por aquel entonces hacía difícil su masificación. Hoy, sin embargo, gracias a iniciativas como Let’s Encrypt, el “costo” de un certificado SSL ha dejado de ser excusa para asegurar nuestros sitios web con HTTPS.

Lo bueno de usar un sistema de gestión de contenidos (o CMS) como WordPress es que este pase de HTTP a HTTPS se facilita gracias al propio panel de administración de WordPress o al uso de plugins que automatizan ciertos pasos. Pero esto no significa que los sitios web que no estén hechos con WordPress no puedan ser protegidos, es solo hay que hacer pasos diferentes o toquetear algunos archivos manualmente, sobre todo si el sitio web en cuestión no usa ningún gestor de contenidos. Este artículo se centrará en sitios web hechos con WordPress, dejando al final algunos consejos para aquellos sitios web que funcionen con otro gestor o con ninguno en particular.

A modo de ejemplo, usaré este blog (unbitalavez.com) para mostrar los pasos a seguir.

Hablemos de HTTPS

¿Qué es HTTPS?

HTTPS es la versión “segura” del protocolo HTTP, que es el protocolo básico con el que funciona la web desde los primeros sitios web en HTML puro y duro. ¿Y qué es un protocolo? Dicho en términos simples, un protocolo es un conjunto de reglas que dos equipos o programas de software (por ejemplo mi navegador web y un servidor de Internet) deben conocer y seguir para comunicarse entre sí.

Cuando decimos que HTTPS es un protocolo seguro, se debe a que la información que ingresamos desde nuestro navegador web y viaja al sitio que estoy visitando se cifra (o codifica, o más impropiamente, se “encripta”), previniendo que esta pueda ser obtenida o robada en el camino. Esto es útil cuando enviamos información sensible a un sitio web, como por ejemplo una contraseña de correo o un número de tarjeta de crédito.

¿Cómo reconocer un sitio web con HTTPS?

La manera más fácil de reconocer un sitio web con HTTPS es viendo el inicio de la URL (la dirección del sitio web), que siempre comienza con “https://”. En cambio, las direcciones web “no seguras” que solo usan HTTP comienzan siempre con “http://”, aunque hoy en día prácticamente ningún navegador las muestra así (muestran la dirección comenzando siempre con “www.” o directamente con el dominio). Otro signo claramente distinguible en los navegadores para indicar que un sitio web es seguro es el famoso “candado verde” que aparece en la barra de direcciones, antes de la URL.

Como una forma de “animarnos” a pasar nuestros sitios web a HTTPS, ahora los navegadores web han comenzado a mostrar advertencias al usuario cuando visita un sitio web HTTP (no seguro). Por ejemplo, Mozilla Firefox nos advierte cuando estamos a punto de ingresar una contraseña de usuario en un sitio web que no usa HTTPS. Cuando ponemos el cursor sobre un campo de ingreso de contraseña, nos muestra un pequeño (pero distintivo) aviso flotante con la advertencia respectiva.

Aviso en Mozilla Firefox de que se va a ingresar una contraseña en una web no segura (no HTTPS)

Google Chrome está yendo más allá: Desde hace algunas versiones, ha comenzado a mostrar las webs que no usan HTTPS como “no seguras” en la misma barra de direcciones del navegador.

Aviso de sitio web no seguro (HTTP) en Chromium

Y en futuras versiones de este navegador, las webs seguras dejarían de mostrarse como “seguras”. ¿Por qué? Porque, en opinión de Google, la web segura debería ser lo “normal”, por lo que una web segura no tendría por qué ser mostrara con un distintivo especial, siendo más importante alertar al usuario cuando está entrando a una web “no segura”.

Pasos para pasar de HTTP a HTTPS

Antes que nada, se recomienda hacer una copia de seguridad de tu sitio web. Consulta con tu proveedor de hosting sobre cómo puedes hacer esto.

Certificado SSL

Lo primero es hacernos con un certificado SSL para nuestro sitio web. Un certificado SSL nos sirve para autenticar nuestro dominio, y así los navegadores web reconozcan y muestren nuestro sitio web como válido o seguro.

Para webs sencillas (como este blog) basta y sobra con un certificado de Let’s Encrypt, una organización que emite certificados SSL de forma gratuita. Para sitios de mayor complejidad (como webs con subdominios o que necesitan mayor seguridad, como webs de comercio electrónico por ejemplo) existen también certificados SSL de pago con mayores prestaciones. El rango de precios es muy variado, dependiendo del tipo de certificado, del alcance de la protección y de la entidad certificadora.

Muchos proveedores de hosting ofrecen ya certificados SSL de Let’s Encrypt incluidos en sus planes, así como facilidades para adquirir e instalar certificados SSL de pago. Consulta con tu proveedor de hosting para que te indique qué soluciones te ofrece y cómo instalar el certificado SSL para tu dominio.

Cambios en la base de datos

Ingresa a la base de datos de WordPress y ejecuta esta instrucción SQL:

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.unbitalavez', 'https://www.unbitalavez')

Recuerda remplazar “www.unbitalavez” por tu dominio. Además, la parte del nombre de la tabla que va antes del guion bajo (_) podría ser también diferente en tu sitio web.

Si no tienes acceso a la base de datos de WordPress o no puedes ejecutar consultas SQL en ella, puedes recurrir a plugins de WordPress como Better Search Replace, por ejemplo.

Cambio de la URL en WordPress

Si tu instalación de WordPress es de un solo sitio, haz lo siguiente: Dentro del administrador de WordPress, ingresa a Ajustes – Generales.

Allí, en las casillas “Dirección de WordPress (URL)” y “Dirección del sitio (URL)” cambia el URL para que comience con “https://”.

Cambio de URL en WordPress

Ahora, si tu instalación de WordPress es multisitio, las cajas de texto mostradas arriba no te aparecerán. En este caso, la forma ms fácil de resolverlo es con redirecciones, que es el siguiente paso…

Redirección de enlaces de HTTP a HTTPS

Para que no pierdas el posicionamiento de las páginas que ya has publicado o enlaces que hayas compartido con HTTP, es buena idea hacer una redirección de estos enlaces. Con esto, cuando alguien entre a una página de tu sitio con HTTP, será redirigido automáticamente a la misma página pero con HTTPS.

El modo más fácil de hacer esto es con plugins de WordPress. El que he probado se llama Really Simple SSL y, haciendo honor a su nombre, es muy simple usarlo: Se instala, se activa, y el plugin hace el resto. Eso sí, si tu instalación de WordPress es multisitio, la solución que he probado y me ha funcionado es: Después de instalar y activar el plugin (desde el Administrador de la red), se debe elegir la opción de “Activar por sitio”, y luego ir al administrador de cada sitio dentro de la instalación y activar el plugin desde allí (desde el menú de Ajustes).

Dar el aviso a Google

Finalmente, cuando ya tengamos nuestro sitio web funcionando con HTTPS, podemos indicar a Google que nuestro sitio web ya es seguro:

Si usamos Google Analytics, podemos editar la propiedad de nuestro sitio web y actualizar la URL de “http://” a “https://”.

Configuración de la URL de una propiedad como HTTPS en Google Analytics

La Consola de búsqueda de Google, en cambio, considerará nuestro sitio web con HTTPS como un sitio web “diferente” al original con HTTP, por lo que tendremos que configurarlo como si fuera un sitio web nuevo. Esto implica que las estadísticas del sitio web con HTTPS estén todas en cero.

¿Y si mi sitio web no usa WordPress?

En realidad, todo sitio web debería estar protegido ya con HTTPS independientemente del gestor de contenidos que se use, e incluso si el sitio no usa ningún gestor de contenidos.

El primer paso y el último son comunes a todos (la obtención del certificado SSL y el aviso a Google). Sin él, nada de puede hacer. Fuera de estos, los pasos intermedios varían dependiendo de cada web en particular.

Si tu sitio web fue hecho “desde cero”, sin un gestor de contenidos, tendrás que cambiar manualmente todos los enlaces internos de tu sitio que comiencen con “http://” a “https://”. Luego, para crear una redirección automática de HTTP a HTTPS puedes modificar el archivo .htaccess agregando estas líneas:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ojo, debes tener cuidado al momento de editar el archivo .htaccess dado que una mala configuración puede hacer que tu sitio web deje de funcionar, o podría interferir con otras instrucciones que existan en este archivo.

Y si tu web fue hecha con otro gestor de contenidos distinto a WordPress (por ejemplo Joomla, Drupal, Magento, OpenCart o algún otro), la recomendación es buscar ayuda para ese gestor de contenidos en particular para saber qué cambios exactamente hacer.

Imagen de portada: HTTPS página web Internet (skylarvision)

Danilo Quispe Lucana

Ingeniero de sistemas, desarrollador web y de software. Aficionado a la ciencia y tecnología desde chico.

Deja un comentario

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

A %d blogueros les gusta esto: