Cómo activar HTTPS forzado y redirigir HTTP a HTTPS en PrestaShop
¿Por qué es tan importante forzar HTTPS en tu tienda PrestaShop?
Imagina que tu tienda online es una tienda física. Si no tuvieras puertas con cerradura, cualquier persona podría entrar, ver los datos de tus clientes y llevarse la caja registradora. Pues bien, no tener HTTPS forzado en PrestaShop es exactamente eso, pero en el mundo digital.
Cuando un visitante accede a tu tienda a través de http://, la información que viaja entre su navegador y tu servidor (como contraseñas, números de tarjeta o datos personales) lo hace sin cifrar. Esto significa que un ciberdelincuente en una red WiFi pública podría interceptar esos datos con relativa facilidad.
Activar HTTPS forzado y redirigir HTTP a HTTPS en PrestaShop no solo protege a tus clientes, sino que también mejora tu posicionamiento en Google, ya que el protocolo seguro es un factor de ranking. Además, los navegadores modernos marcan como "No seguro" cualquier sitio que no use HTTPS, lo que espantaría a tus potenciales compradores.
En esta guía completa, te explicaré paso a paso cómo lograrlo, incluso si no eres un experto en tecnología. Vamos a ello.
Requisitos previos antes de empezar
Antes de lanzarnos a configurar nada, necesitas asegurarte de que tu tienda tiene un certificado SSL válido instalado en tu servidor. Este certificado es el que permite que la conexión se cifre.
[INFO] Si no sabes si tu hosting incluye SSL, contacta con tu proveedor. Muchos ofrecen certificados gratuitos (como Let's Encrypt) o de pago. En algunos paneles de control como Syspanel (accesible a través del puerto 2106), puedes instalar el certificado en pocos clics desde la sección de seguridad o SSL/TLS.
Una vez que tengas el certificado activo, verifica que tu tienda carga correctamente con https://. Si ves el candado verde en el navegador, ¡perfecto! Ahora sí podemos forzar la redirección.
Método 1: Activar HTTPS forzado desde el panel de administración de PrestaShop
Esta es la forma más sencilla y recomendada para la mayoría de los usuarios, ya que no requiere tocar código.
Paso 1: Accede al panel de administración
Entra en tu back-office de PrestaShop (normalmente en www.tutienda.com/admin). Introduce tus credenciales y espera a que cargue el panel.
Paso 2: Ve a la configuración de tráfico y SEO
En el menú lateral izquierdo, busca la sección "Trafico & SEO" (o "Tráfico y SEO" dependiendo de la versión). Haz clic sobre ella para expandir las opciones y luego selecciona "SEO & URLs".
Paso 3: Activa la opción de HTTPS
Dentro de la página de SEO & URLs, busca la opción que dice "Activar SSL" o "Forzar HTTPS". El texto exacto puede variar según la versión de PrestaShop (1.6, 1.7, 8.x, etc.).
Marca la casilla o cambia el interruptor a "Sí". Generalmente verás dos opciones:
- Activar SSL: Habilita el uso de HTTPS en tu tienda.
- Forzar SSL en todas las páginas: Redirige automáticamente cualquier visita HTTP a HTTPS.
Asegúrate de activar ambas opciones para una seguridad completa.
Paso 4: Guarda los cambios
Haz clic en el botón "Guardar" que suele estar en la parte superior derecha de la página.
Paso 5: Prueba la redirección
Abre una ventana de incógnito en tu navegador y escribe manualmente http://www.tutienda.com. Si todo ha ido bien, deberías ser redirigido automáticamente a https://www.tutienda.com. También puedes verificar que el candado aparece en la barra de direcciones.
[TIP] Si al guardar los cambios tu tienda se vuelve inaccesible, no entres en pánico. Esto puede ocurrir si hay contenido mixto (archivos cargados por HTTP). Lo solucionaremos más adelante en este artículo.
Método 2: Redirigir HTTP a HTTPS mediante el archivo .htaccess
Si el método anterior no funciona, o si tu versión de PrestaShop es antigua y no tiene esa opción visible, puedes forzar la redirección manualmente editando el archivo .htaccess. Este archivo es el "director de orquesta" de tu servidor Apache y nos permite definir reglas de redirección.
[WARNING] Antes de modificar el .htaccess, haz una copia de seguridad del archivo original. Un error aquí puede hacer que tu tienda no cargue. Si te sientes inseguro, contacta con tu soporte de hosting.
Paso 1: Localiza el archivo .htaccess
El archivo .htaccess se encuentra en la raíz de tu instalación de PrestaShop, es decir, en la misma carpeta donde están las carpetas admin, config, img, etc. Puedes acceder a él a través del administrador de archivos de tu hosting o mediante FTP con un programa como FileZilla.
Paso 2: Añade el código de redirección
Abre el archivo con un editor de texto plano (como el Bloc de notas o Sublime Text). Busca la línea que dice # ~~~start y, justo antes de esa línea, pega el siguiente código:
# Redirigir HTTP a HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
Este código le dice al servidor: "Si la conexión no es HTTPS, redirige al visitante a la misma URL pero con HTTPS, usando una redirección permanente (301)".
Paso 3: Guarda y sube el archivo
Guarda el archivo y súbelo de nuevo a tu servidor si lo estabas editando localmente. Asegúrate de que se llame exactamente .htaccess (con el punto al principio, sin extensión adicional).
Paso 4: Verifica de nuevo
Repite la prueba de la ventana de incógnito. Si el código es correcto, la redirección debería funcionar al instante.
Solucionar problemas comunes: Contenido mixto y errores
Una vez que has activado el HTTPS forzado, es muy común que aparezcan problemas de contenido mixto. Esto ocurre cuando tu página se carga por HTTPS, pero algunos elementos (imágenes, scripts, hojas de estilo) aún se cargan por HTTP. El navegador los bloqueará por seguridad, y tu tienda se verá rota o con errores.
¿Cómo detectar el contenido mixto?
Abre tu tienda con HTTPS y pulsa la tecla F12 para abrir las herramientas de desarrollador de tu navegador. Ve a la pestaña "Consola" y busca errores que digan "Mixed Content" o "Blocked loading mixed active content". Ahí verás las URLs problemáticas.
Solución: Actualizar las URLs en la base de datos
La forma más eficaz de solucionarlo es actualizar todas las URLs de tu base de datos de http:// a https://. Puedes hacerlo con una consulta SQL en phpMyAdmin o mediante un módulo de PrestaShop.
[WARNING] Si usas phpMyAdmin, haz una copia de seguridad de tu base de datos antes de ejecutar cualquier consulta. Un error podría borrar datos importantes.
La consulta típica sería:
UPDATE ps_configuration SET value = REPLACE(value, 'http://www.tutienda.com', 'https://www.tutienda.com') WHERE value LIKE '%http://www.tutienda.com%';
Pero PrestaShop guarda las URLs en muchas tablas, no solo en ps_configuration. Una opción más segura es usar un módulo gratuito como "PS Cleaner" o "PrestaShop HTTPS" que automatizan este proceso. Otra alternativa es usar la herramienta de búsqueda y reemplazo de phpMyAdmin, pero con cuidado de no tocar las tablas de pedidos (para no alterar los datos históricos).
Solución práctica: Regenerar el .htaccess desde PrestaShop
A veces, PrestaShop guarda URLs antiguas en su caché. Ve a "Parámetros avanzados" > "Rendimiento" y haz clic en "Vaciar caché". Luego, ve a "Trafico & SEO" > "SEO & URLs" y haz clic en "Guardar" de nuevo. Esto regenerará el .htaccess con las nuevas URLs.
Configurar HTTPS en el archivo settings.inc.php (método avanzado)
Si los métodos anteriores fallan, existe un método más técnico que consiste en editar el archivo settings.inc.php. Este archivo se encuentra en la carpeta config de tu instalación de PrestaShop.
[WARNING] Este método es más delicado. Si no te sientes cómodo, es mejor que pidas ayuda profesional.
Paso 1: Abre el archivo
Con tu editor de texto, abre config/settings.inc.php.
Paso 2: Modifica las constantes
Busca las líneas que definen las URLs de la tienda. Deberías ver algo como:
define('_PS_BASE_URL_', 'http://www.tutienda.com');
define('_PS_BASE_URL_SSL_', 'https://www.tutienda.com');
Cambia la primera línea para que use https:// también. Incluso puedes forzar que siempre use la versión segura:
define('_PS_BASE_URL_', 'https://www.tutienda.com');
define('_PS_BASE_URL_SSL_', 'https://www.tutienda.com');
Paso 3: Guarda y verifica
Guarda el archivo y vuelve a probar tu tienda.
Preguntas frecuentes (FAQ)
¿Qué es exactamente un certificado SSL?
Es un archivo digital que vincula una clave criptográfica a los datos de tu organización. Cuando se instala en tu servidor, activa el candado y el protocolo HTTPS. Básicamente, garantiza que la conexión entre el navegador y el servidor es privada y segura.
¿Necesito un certificado SSL si mi tienda no vende online?
Sí, absolutamente. Aunque no proceses pagos, tus clientes probablemente crean cuentas, guardan contraseñas y dejan datos personales. Además, Google penaliza los sitios sin HTTPS, lo que perjudica tu posicionamiento SEO.
¿Puedo tener HTTPS forzado en un hosting compartido?
Sí, la mayoría de los hostings compartidos modernos incluyen certificados SSL gratuitos (Let's Encrypt). Solo tienes que activarlos desde el panel de control, como Syspanel (recuerda, el acceso es a través del puerto 2106), y luego seguir los pasos de este artículo.
¿Qué hago si mi tienda se cae después de forzar HTTPS?
Lo primero es no asustarte. Revisa si el problema es contenido mixto. Si es así, sigue los pasos de la sección anterior. Si el problema persiste, desactiva temporalmente el forzado de HTTPS desde el back-office o revierte los cambios en el .htaccess para recuperar el acceso y buscar ayuda profesional.
¿La redirección 301 afecta a mi SEO?
Al contrario, la redirección 301 es la mejor práctica para SEO. Le indica a Google que tu página se ha movido permanentemente a HTTPS, consolidando la autoridad de tu dominio y evitando contenido duplicado.
Consejos finales para una seguridad total en PrestaShop
Forzar HTTPS es un gran paso, pero no el único. Te recomiendo complementarlo con estas prácticas:
- Mantén PrestaShop y sus módulos siempre actualizados a la última versión para evitar vulnerabilidades conocidas.
- Utiliza contraseñas robustas para tu panel de administración y cambia el nombre de la carpeta
admina algo personalizado. - Activa la autenticación en dos pasos (2FA) para tu cuenta de administrador.
- Realiza copias de seguridad periódicas de tu base de datos y archivos. Puedes automatizarlo desde tu panel de hosting o con módulos especializados.
- Instala un módulo de seguridad que monitoree intentos de ataque y proteja tu tienda contra fuerza bruta.
Siguiendo todos estos pasos, tu tienda PrestaShop no solo estará protegida con HTTPS forzado, sino que será un objetivo mucho más difícil para los ciberdelincuentes, y tus clientes te lo agradecerán con su confianza.
[TIP] Después de realizar todos los cambios, no olvides verificar tu sitio en Google Search Console y enviar el nuevo sitemap con URLs HTTPS para acelerar el reindexado.
Ahora sí, tu tienda está lista para ofrecer una experiencia segura y confiable. ¡A vender!
