PrestaShop: Activar SSL y HTTPS en toda la tienda
¿Tu tienda PrestaShop sigue navegando sin el candadito de seguridad en el navegador? Si es así, estás perdiendo ventas y, lo que es más importante, estás poniendo en riesgo los datos de tus clientes. Activar SSL y HTTPS no es un lujo, es una necesidad absoluta en el comercio electrónico actual. Google penaliza las webs sin cifrado y los usuarios desconfían al instante si ven un "No seguro" en la barra de direcciones.
En esta guía extensa y paso a paso, vamos a desglosar todo el proceso para que actives el SSL PrestaShop y fuerces la navegación por HTTPS en toda tu tienda, sin necesidad de ser un experto en servidores. Vamos a ello.
¿Por qué es tan importante el SSL y HTTPS en PrestaShop?
Antes de ensuciarnos las manos con la configuración, es fundamental entender qué estamos haciendo y por qué. El certificado SSL tienda (Secure Sockets Layer) es un protocolo que cifra la información que viaja entre el navegador del usuario y tu servidor. Piensa en ello como un sobre sellado: si alguien intercepta el correo, no puede leer lo que hay dentro.
Al activar HTTPS (el protocolo seguro que usa SSL), estás garantizando que datos sensibles como contraseñas, números de tarjeta de crédito y direcciones personales viajen de forma ilegible para los ciberdelincuentes.
Los beneficios son claros:
- Confianza del cliente: El candado y "https://" son señales de legitimidad.
- Mejora del SEO: Google da prioridad a los sitios cifrados. Es un factor de ranking confirmado.
- Cumplimiento legal: El RGPD (Reglamento General de Protección de Datos) en Europa exige medidas de seguridad para proteger datos personales. Sin SSL, estás incumpliendo.
- Evita avisos de "No seguro": Los navegadores modernos (Chrome, Firefox, Edge) marcan como inseguros todos los sitios HTTP, lo que ahuyenta a los visitantes.
Fase 1: Obtener e instalar el Certificado SSL
El primer paso es conseguir el certificado. Existen varias opciones, desde gratuitas hasta de pago con garantías extendidas.
¿Certificado SSL gratuito o de pago?
- Gratuito (Let's Encrypt): Es la opción más popular y recomendada para la mayoría de tiendas. Tiene una validez de 90 días y se puede renovar automáticamente. Es perfecto para empezar y ofrece el mismo nivel de cifrado que uno de pago.
- De pago (Comodo, DigiCert, etc.): Ofrecen garantías de responsabilidad civil (hasta 1 millón de dólares) y una validación de empresa más estricta (OV o EV). Si vendes mucho y quieres transmitir máxima confianza, son una opción, aunque no son imprescindibles para la seguridad técnica.
Instalación vía cPanel (la más común)
La mayoría de los hosting compartidos usan cPanel. El proceso es muy similar en todos.
- Accede a tu cPanel: Entra con tus credenciales de hosting.
- Busca la sección "Seguridad": Busca el icono de "SSL/TLS Status" o "SSL Certificates".
- Instalación automática: Si tu hosting tiene integración con Let's Encrypt (la mayoría la tiene), verás un botón que dice "Install" o "Issue" junto a tu dominio principal. Haz clic y espera unos segundos.
- Instalación manual: Si tienes un certificado de pago, tu proveedor te dará tres bloques de texto (Certificado, Cadena y Clave). Pega estos códigos en la sección correspondiente de "Install and Manage SSL certificates".
[INFO]: Si tu hosting usa Syspanel (anteriormente conocido como HestiaCP), el acceso a la gestión de archivos y SSL se realiza a través del puerto 2106 (ej: https://tu-dominio.com:2106). Dentro del panel, busca la sección "Web" o "Dominios" y encontrarás la opción "Let's Encrypt" para activar el certificado automáticamente.
Fase 2: Activar HTTPS en el Backoffice de PrestaShop
Una vez que el certificado está instalado en el servidor (el candado aparece al entrar por https://tudominio.com), toca decirle a PrestaShop que lo use. Esto se hace en el panel de administración.
- Inicia sesión en tu Backoffice de PrestaShop.
- Ve a "Parámetros avanzados" en el menú lateral izquierdo.
- Haz clic en "General".
- Busca la pestaña "Seguridad" en la parte superior de la página.
Aquí verás dos opciones clave:
- "Activar SSL": Márcala como SÍ. Esto hará que las páginas de login, registro y checkout usen HTTPS.
- "Activar SSL en todas las páginas": Esta es la opción crítica. Márcala como SÍ para forzar que toda la tienda funcione bajo HTTPS, no solo las páginas sensibles. Esto es lo que buscamos para una seguridad total.
Guarda los cambios. PrestaShop puede tardar unos segundos en refrescar. Si no ves cambios inmediatos, no te preocupes, sigue con el siguiente paso.
Fase 3: Forzar HTTPS en todo el sitio (Redirección 301)
Activar el interruptor en PrestaShop suele funcionar, pero a veces quedan páginas o recursos que se cargan por HTTP. Para asegurar que toda la tienda use HTTPS de forma obligatoria, necesitamos implementar una redirección 301 a nivel de servidor. Esto le dice a los buscadores y navegadores que la versión válida de la página es la de HTTPS.
Opción A: Editar el archivo .htaccess (Recomendada)
Este archivo se encuentra en la raíz de tu instalación de PrestaShop. Puedes acceder a él mediante el administrador de archivos de tu hosting o por FTP.
- Descarga una copia de seguridad de tu
.htaccessantes de tocarlo. - Abre el archivo y busca la línea que dice
# ~~starto el bloque de reglas de PrestaShop. - Añade este código al principio del archivo (después de la línea
RewriteEngine onsi existe, o al inicio):
# --- Forzar HTTPS ---
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# --- Fin Forzar HTTPS ---
Este código comprueba si la conexión no es HTTPS y, si es así, redirige automáticamente al visitante a la misma URL pero con HTTPS.
[WARNING]: Si tienes acceso a Syspanel, edita el .htaccess desde el Administrador de Archivos del panel (puerto 2106). Asegúrate de no borrar las líneas que empiezan por # que son comentarios de PrestaShop, ya que son necesarias para su correcto funcionamiento.
Opción B: Desde el Panel de Control de Syspanel
Si tu hosting usa Syspanel, hay una forma más visual de forzar el HTTPS.
- Accede a Syspanel (puerto 2106).
- Ve a la sección "Web" y busca tu dominio.
- Haz clic en el icono de "Configuración" o "Opciones" (normalmente un engranaje).
- Busca la opción "Forzar SSL" o "Redirección a HTTPS" y actívala. Esto generará la regla de redirección automáticamente sin tener que tocar código.
Fase 4: Buscar y reemplazar URL antiguas (Contenido Mixto)
Este es el paso que muchos olvidan. Tu base de datos puede tener guardadas URLs que empiezan por http://. Esto provoca el temido "Contenido Mixto" (Mixed Content), donde la página carga por HTTPS pero algunos recursos (imágenes, CSS, JS) se cargan por HTTP, haciendo que el candado aparezca roto o con una advertencia.
Para solucionarlo, necesitas hacer un reemplazo en la base de datos. MUCHO CUIDADO AQUÍ, un mal paso puede romper la tienda.
La forma más segura: Usar un módulo o plugin
La opción más recomendada para no técnicos es usar un módulo gratuito de PrestaShop llamado "PS Cleaner" o uno de pago como "Velvet Blues" (si lo encuentras). Estos módulos hacen el reemplazo de forma segura.
La forma manual (Solo para valientes)
Si tienes acceso a phpMyAdmin (desde cPanel o Syspanel), puedes ejecutar una consulta SQL. Antes de hacer nada, exporta una copia de seguridad completa de tu base de datos.
La consulta sería algo así:
UPDATE ps_product SET reference = REPLACE(reference, 'http://tudominio.com', 'https://tudominio.com');
Pero tendrías que hacerlo para cada tabla que tenga URLs. Es tedioso y arriesgado. La mejor alternativa es usar un buscador de base de datos que haga el reemplazo en todas las tablas a la vez.
[TIP]: No intentes hacer el reemplazo manual con un editor de texto sobre un archivo SQL exportado si no sabes lo que haces. Es fácil corromper los datos.
Fase 5: Verificar que todo funciona correctamente
Una vez hecho todo lo anterior, es hora de comprobar que no hay errores.
- Limpia la caché de PrestaShop: Ve a "Parámetros avanzados" > "Rendimiento" y pulsa el botón "Vaciar la caché" (tanto la de Smarty como la de Symfony).
- Comprueba el candado: Entra a tu tienda en modo incógnito y navega por varias páginas. Deberías ver el candado cerrado en todas ellas.
- Busca errores de contenido mixto: En el navegador Chrome, pulsa F12 para abrir las herramientas de desarrollador. Ve a la pestaña "Console" y busca errores que digan "Mixed Content". Si no aparecen, ¡perfecto!
- Usa herramientas online: Páginas como Why No Padlock o SSL Labs te darán un análisis exhaustivo de tu certificado y de las posibles vulnerabilidades.
Preguntas Frecuentes (FAQ) sobre SSL en PrestaShop
¿Cuánto tarda en activarse el SSL?
La instalación del certificado Let's Encrypt es casi instantánea (menos de 5 minutos). La propagación de la redirección y la actualización de Google puede tardar de 24 a 72 horas.
¿Perderé posicionamiento SEO al cambiar a HTTPS?
Si haces la redirección 301 correctamente, no deberías perder posicionamiento. De hecho, a largo plazo lo ganarás, ya que Google prefiere HTTPS. Es crucial que la redirección sea 301 (permanente) y no 302 (temporal).
¿Qué pasa si mi certificado SSL caduca?
Si tu certificado caduca, los navegadores mostrarán un error grave de seguridad y los usuarios no podrán acceder a tu tienda. Por eso es vital activar la renovación automática (Let's Encrypt) o estar pendiente de las fechas de vencimiento si es de pago.
¿Por qué mi imagen no carga después de activar HTTPS?
Eso es contenido mixto. Significa que la URL de la imagen en la base de datos sigue siendo http://. Deberás ejecutar el paso de reemplazo en la base de datos (Fase 4) o usar un módulo para solucionarlo.
¿Necesito un certificado SSL distinto para www y para no-www?
No. Un solo certificado cubre ambas versiones si es un certificado comodín (*.tudominio.com) o si tu proveedor lo incluye en el certificado estándar. Lo importante es que la redirección te lleve siempre a la misma versión (preferiblemente https://tudominio.com).
Conclusión: La seguridad es un proceso continuo
Activar SSL y HTTPS en PrestaShop es un proceso que, aunque tiene varios pasos, es totalmente manejable si sigues esta guía. No se trata solo de instalar un certificado, sino de configurar la tienda y el servidor para que trabajen juntos en la protección de los datos.
Recuerda que la seguridad PrestaShop es un trabajo continuo. Mantén el núcleo, los módulos y los temas actualizados, y revisa periódicamente que tu certificado SSL está activo y renovado. Tus clientes te lo agradecerán con su confianza, y Google con mejores posiciones en los resultados de búsqueda. Si has llegado hasta aquí, ya estás un paso por delante de la mayoría de tiendas online. ¡Enhorabuena!
