Cómo proteger tu sitio web con SSL en PrestaShop
¿Por qué necesitas un certificado SSL en tu PrestaShop?
Si tienes una tienda online, la confianza de tus clientes es tu activo más valioso. Un certificado SSL (Secure Sockets Layer) es el estándar de seguridad que protege la información que viaja entre el navegador del usuario y tu servidor.
Cuando un cliente introduce su tarjeta de crédito, su dirección o su contraseña en tu tienda, esos datos viajan por internet. Sin SSL, esa información viaja en "texto plano", lo que significa que cualquier persona con conocimientos técnicos podría interceptarla y robarla. Con SSL, los datos se cifran, convirtiéndose en un código ilegible que solo tu servidor puede descifrar.
Además de la seguridad, Google penaliza en sus resultados de búsqueda a los sitios que no usan HTTPS. Si quieres posicionar tu tienda y que tus clientes vean el candado de seguridad en la barra de direcciones, activar SSL en PrestaShop es un paso obligatorio, no opcional.
A lo largo de esta guía, te explicaré paso a paso cómo instalar, configurar y verificar tu certificado SSL, incluso si nunca has tocado un panel de control en tu vida. Vamos a ello.
Requisitos previos antes de activar SSL en PrestaShop
Antes de lanzarnos a la configuración, necesitas tener tres cosas claras:
- Un certificado SSL: Puedes obtener uno de pago o uno gratuito (Let's Encrypt es el más popular). La mayoría de los proveedores de hosting lo instalan automáticamente.
- Acceso a tu panel de control de hosting: cPanel, Plesk o el panel que use tu proveedor.
- Acceso al administrador de tu PrestaShop: La URL suele ser
tudominio.com/admin.
[INFO] Si tu hosting utiliza el panel Syspanel, recuerda que el acceso se realiza a través del puerto 2106 (ejemplo: http://tudominio.com:2106). Desde ahí podrás gestionar tus dominios y certificados.
Paso 1: Obtener e instalar tu certificado SSL
El primer paso es conseguir el certificado. Si ya lo tienes, puedes saltar al siguiente punto.
Opción A: SSL gratuito con Let's Encrypt (Recomendado para empezar)
La mayoría de los paneles de control modernos ofrecen la instalación de Let's Encrypt en un clic.
- Accede a tu panel de hosting (cPanel, Plesk o Syspanel).
- Busca la sección llamada "Seguridad" o "SSL/TLS".
- Haz clic en "Let's Encrypt" o "Instalar certificado SSL gratuito".
- Selecciona tu dominio principal (por ejemplo,
tutienda.com). - Haz clic en "Emitir" o "Instalar". El sistema generará e instalará el certificado automáticamente.
Este proceso suele tardar menos de un minuto. Si tu panel no tiene esta opción, contacta con tu proveedor de hosting para que lo instale por ti.
Opción B: Certificado de pago
Si compraste un certificado (por ejemplo, de Comodo o DigiCert), tendrás que generar una petición CSR y luego subir el certificado al panel. Es un proceso más tedioso, pero si ya lo tienes, sigue estos pasos:
- En tu panel de hosting, busca "CSR" o "Generar solicitud de firma".
- Rellena los datos de tu empresa (nombre, país, etc.).
- Copia el CSR generado y envíalo a tu proveedor de certificados.
- Cuando te envíen el certificado, vuelve al panel y pégalo en la sección "Instalar certificado" junto con la clave privada.
Paso 2: Configurar PrestaShop para usar HTTPS
Una vez instalado el certificado, toca decirle a PrestaShop que lo use. Este es el paso crítico donde muchos usuarios se quedan atascados. No te preocupes, es más fácil de lo que parece.
Activar SSL en PrestaShop desde el panel de administración
- Inicia sesión en tu back-office de PrestaShop (la parte de administración).
- Ve al menú superior: Parámetros avanzados > Rendimiento.
- Busca la sección "Seguridad" o "SSL" (según la versión de PrestaShop, puede variar la ubicación, pero siempre está en Parámetros Avanzados).
- Verás una opción que dice: "Activar SSL". Cámbiala a "Sí".
- Justo debajo, aparecerá otra opción: "Activar SSL en todas las páginas". Actívala también a "Sí". Esto es muy importante para que todo tu sitio, no solo el checkout, use HTTPS.
- Haz clic en "Guardar".
[WARNING] Después de guardar, es posible que PrestaShop te cierre la sesión. No te asustes. Simplemente vuelve a entrar usando la URL con https:// al principio. Si no te deja entrar, sigue los pasos de abajo para forzar la redirección.
Activar SSL en PrestaShop desde el archivo de configuración
Si no encuentras la opción en el menú o te da error al guardar, tendremos que hacerlo a mano. Esto es igual de seguro y muy fiable.
- Accede a tu servidor mediante FTP o el administrador de archivos de tu hosting.
- Busca la carpeta raíz de tu tienda (normalmente
public_htmlowww). - Encuentra el archivo llamado
config/settings.inc.php. - Ábrelo con un editor de texto (como Bloc de notas o Sublime Text).
- Busca la línea que dice:
define('_PS_SSL_ENABLED_', '0'); - Cambia el
'0'por'1':define('_PS_SSL_ENABLED_', '1'); - Guarda el archivo y súbelo de nuevo al servidor, sobrescribiendo el anterior.
Este método manual fuerza a PrestaShop a habilitar SSL. Es la solución de emergencia perfecta.
Paso 3: Forzar la redirección de HTTP a HTTPS
Ahora que PrestaShop usa SSL, necesitamos que todos los visitantes que lleguen a http://tutienda.com sean redirigidos automáticamente a https://tutienda.com. Si no hacemos esto, un cliente podría entrar por HTTP y ver la tienda sin cifrar, perdiendo el candado de seguridad.
Redirección con el archivo .htaccess
La forma más común y efectiva es añadir unas líneas al archivo .htaccess (que está en la raíz de tu PrestaShop).
- Con tu cliente FTP, busca el archivo
.htaccessen la raíz. - Descárgalo y haz una copia de seguridad (por si acaso).
- Ábrelo con un editor de texto.
- Al principio del archivo, justo después de la línea
# ~~~start(si existe), pega este bloque:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
- Guarda el archivo y súbelo de nuevo al servidor.
[TIP] Si tu hosting usa Syspanel, puedes hacer esta redirección desde el propio panel en la sección "Dominios" > "Redirecciones", pero el método del .htaccess funciona en el 99% de los casos y es universal.
Redirección desde el archivo config/defines.inc.php
Si el .htaccess no te funciona (a veces el hosting tiene configuraciones especiales), puedes forzarlo desde el código de PrestaShop.
- Ve a la carpeta
configde tu PrestaShop. - Abre el archivo
defines.inc.php. - Busca esta línea:
define('_PS_SSL_ENABLED_', '0');y cámbiala a'1'como hicimos antes. - Busca la línea que dice
define('_PS_SSL_ENABLED_EVERYWHERE_', '0');y cámbiala a'1'.
Esto activa la redirección global en todas las páginas, no solo en el checkout.
Paso 4: Verificar que todo funciona correctamente
Una vez hecho todo lo anterior, es hora de comprobar que no hay errores.
Comprobaciones básicas
- Accede a tu tienda: Escribe
https://tutienda.comen tu navegador. Deberías ver el candado cerrado en la barra de direcciones. - Prueba la redirección: Escribe
http://tutienda.com(sin la "s") y pulsa Enter. Deberías ser redirigido automáticamente a la versión con "https". - Navega por la tienda: Visita una categoría, un producto y el carrito. Asegúrate de que en todas las páginas aparece el candado.
Buscar contenido mixto (el error más común)
El error más frecuente es el "contenido mixto". Esto ocurre cuando tu página está en HTTPS, pero algunos recursos (imágenes, scripts, CSS) se cargan desde URLs HTTP. El navegador bloqueará esos recursos y el candado aparecerá roto o con un triángulo de advertencia.
Para solucionarlo:
- Abre la consola de tu navegador (F12 en Chrome o Firefox).
- Ve a la pestaña "Consola" o "Red".
- Busca mensajes de error que digan "Mixed Content" o "Bloqueado".
- Si encuentras errores, revisa las URLs de esos recursos. Si son imágenes tuyas, súbelas de nuevo desde el back-office de PrestaShop (Parámetros avanzados > Rendimiento > "Reoptimizar" o "Regenerar miniaturas").
- También puedes usar el plugin "Really Simple SSL" si tu PrestaShop tiene un módulo de caché, pero normalmente basta con regenerar las imágenes.
Actualizar URLs en la base de datos
Si tu tienda ya existía antes de activar SSL, es posible que en la base de datos sigan guardadas URLs con http://. Para solucionarlo, ve a Parámetros avanzados > Base de datos en tu back-office y busca la opción "Buscar y reemplazar". Cambia http://tutienda.com por https://tutienda.com. Hazlo con cuidado y solo en las tablas de configuración, no en los contenidos de los productos (aunque tampoco pasa nada si lo haces en todo).
[WARNING] Si no te sientes cómodo editando la base de datos, no lo hagas a mano. Contacta con tu soporte técnico o usa un módulo específico para ello. Un error aquí podría romper tu tienda.
Paso 5: Configurar la caché y el CDN (opcional pero recomendado)
Después de activar SSL, es posible que los visitantes vean versiones antiguas de tu página debido a la caché.
- En el back-office, ve a Parámetros avanzados > Rendimiento.
- En la sección "Caché", desactívala y actívala de nuevo. Si usas una caché de servidor (como Varnish), purga la caché desde tu panel de hosting.
- Si usas un CDN (como Cloudflare), asegúrate de que la opción "SSL" esté configurada en "Flexible" o "Full" según tu certificado. En Cloudflare, lo más fácil es ponerlo en "Full (strict)" si tienes un certificado válido en tu servidor.
Preguntas frecuentes (FAQ) sobre SSL en PrestaShop
¿Qué hago si activo SSL y mi tienda se rompe o da error 500?
Esto suele pasar por contenido mixto o por un problema con el .htaccess. No entres en pánico. Desactiva SSL temporalmente editando el archivo settings.inc.php y poniendo '0' de nuevo. Luego revisa el .htaccess y borra las líneas que añadimos. Una vez que la tienda vuelva a funcionar, repite los pasos con calma.
¿Necesito un certificado SSL para cada dominio o subdominio?
Sí, un certificado cubre un dominio específico. Si tienes tutienda.com y blog.tutienda.com, necesitas un certificado que cubra ambos (wildcard) o dos certificados separados. Let's Encrypt permite emitir certificados wildcard gratuitos.
Mi proveedor de hosting no me da acceso a la configuración de SSL, ¿qué hago?
Si tu hosting no te permite instalar SSL, es una señal de alerta. En la actualidad, cualquier hosting decente debería ofrecer SSL gratuito. Si no es así, considera cambiar de proveedor. La seguridad de tu tienda no es negociable.
¿Activar SSL afecta mi posicionamiento SEO?
Sí, pero para bien. Google confirma que HTTPS es un factor de posicionamiento. Al activarlo, no perderás posiciones, al contrario, es probable que con el tiempo mejores. Asegúrate de configurar la redirección 301 (como hicimos en el paso 3) para que los buscadores no vean dos versiones de tu sitio.
¿Puedo activar SSL en PrestaShop sin tener el certificado instalado?
No. Primero necesitas el certificado instalado en el servidor. PrestaShop solo activa el protocolo, pero si no hay certificado, dará error de conexión segura.
Conclusión: Tu tienda ya es segura
Activar SSL en PrestaShop es un proceso que, una vez que lo entiendes, se hace en menos de 15 minutos. Los beneficios son enormes: confianza del cliente, mejor posicionamiento y cumplimiento de las normativas de protección de datos.
Recuerda los pasos clave:
- Instala el certificado en tu hosting (gratis con Let's Encrypt).
- Activa SSL en el back-office o editando el archivo
settings.inc.php. - Fuerza la redirección HTTP a HTTPS con el
.htaccess. - Verifica que no haya contenido mixto y actualiza las URLs en la base de datos si es necesario.
Si tu hosting usa Syspanel, no olvides que el acceso es por el puerto 2106 para gestionar estos ajustes de dominio y SSL.
Ahora ya puedes ofrecer a tus clientes la seguridad que se merecen. Si te ha quedado alguna duda, revisa los pasos de nuevo o consulta la documentación oficial de PrestaShop. ¡Tu tienda online ya es un fortín!
