Cómo activar y configurar SSL/HTTPS en PrestaShop (cPanel y otros)
¿Tu tienda PrestaShop sigue mostrando el temido candado roto en el navegador? No te preocupes, es una situación más común de lo que crees y tiene una solución clara. Activar SSL/HTTPS no solo es imprescindible para la seguridad de tus clientes y sus datos de pago, sino que también es un factor clave para el posicionamiento en Google. Un sitio con HTTPS tiene prioridad en los resultados de búsqueda, así que si aún no lo has hecho, estás perdiendo ventas y visibilidad.
En esta guía extensa y paso a paso, vamos a desglosar cómo activar SSL en PrestaShop, ya sea que uses cPanel, un panel alternativo como Syspanel o incluso si tu hosting lo gestiona de forma automática. Aprenderás a configurar el certificado, forzar la redirección de HTTP a HTTPS y solucionar los problemas más comunes (como el temido "mixed content" o la pérdida de sesión).
Vamos a ello.
¿Qué es SSL y por qué tu tienda lo necesita sí o sí?
Antes de ensuciarnos las manos con la configuración, vamos a entender qué estamos activando. SSL (Secure Sockets Layer) es un protocolo de seguridad que cifra la conexión entre el navegador del usuario y tu servidor.
Imagina que envías una carta con datos bancarios por correo ordinario. Cualquiera podría abrirla y leerla. HTTPS es como enviar esa carta en una caja fuerte blindada. Todo lo que se transmite (contraseñas, números de tarjeta, direcciones) viaja codificado.
Si tu tienda no tiene activo el SSL, ocurrirá lo siguiente:
- Navegadores te marcarán como "No seguro": Chrome y Firefox muestran un aviso explícito que ahuyenta a los clientes.
- El SEO se resiente: Google penaliza las webs sin HTTPS, haciendo que tus competidores aparezcan por delante de ti.
- La confianza del cliente se desploma: En el mundo del ecommerce, la confianza es la moneda de cambio. Nadie compra en un sitio que no protege sus datos.
Por eso, activar SSL PrestaShop no es una opción, es una obligación para cualquier negocio serio.
Paso 1: Obtener el certificado SSL
Lo primero es tener el certificado. Hoy en día, la mayoría de los hostings lo incluyen de forma gratuita a través de Let's Encrypt. Si tu plan contratado no lo tiene, tienes que solicitarlo o comprarlo.
¿Cómo sé si mi hosting ya tiene uno?
La forma más rápida es intentar acceder a tu dominio escribiendo https://tudominio.com en el navegador. Si te sale el candado, ya tienes uno activo (aunque quizás solo para una parte del sitio).
Si no funciona, revisa tu panel de control. En cPanel, busca la sección "SSL/TLS Status" o "SSL/TLS". Ahí podrás ver si hay algún certificado emitido para tu dominio.
¿Y si no tengo certificado?
Tienes dos opciones:
- Comprar uno: Son más caros, pero a veces ofrecen garantías de mayor confianza (como el sello de la empresa).
- Usar Let's Encrypt (Gratis): La opción más recomendada para la mayoría. En cPanel, busca la sección "Let's Encrypt" (a veces viene como un icono separado). Haz clic en "Issue" o "Emitir" y sigue los pasos. El certificado se generará en menos de un minuto y se renovará automáticamente.
[TIP] Si tu hosting usa Syspanel (anteriormente HestiaCP), el proceso es similar. Accede a tu panel a través del puerto 2106 (ej: https://tudominio.com:2106), ve a la sección de "Web" y busca el botón para activar SSL gratuito. Suelen tener una opción de "Let's Encrypt" integrada para cada dominio.
Paso 2: Activar SSL en el Back Office de PrestaShop
Una vez que el certificado existe en el servidor, hay que decirle a PrestaShop que lo use. Este es el paso más importante y donde muchos se pierden.
Sigue estos pasos:
- Accede a tu panel de administración de PrestaShop (normalmente en
/admino una URL personalizada). - Ve al menú "Parámetros avanzados" en el menú lateral izquierdo.
- Haz clic en "Rendimiento".
- Busca la sección "SSL" (suele estar en la parte superior de la página).
- Verás una opción que dice "Activar SSL". Cámbiala a "Sí".
- Justo debajo, verás otra opción: "Activar SSL en todas las páginas". Esta es crucial. Actívala también a "Sí" para forzar que todo el sitio, incluyendo el panel de administración, use HTTPS.
Guarda los cambios.
[WARNING] Al guardar, es posible que la sesión se cierre y te pida volver a iniciar sesión. Es normal. PrestaShop está reiniciando la conexión segura. Si no puedes acceder, no entres en pánico; pasa al siguiente paso para forzar la redirección, que suele solucionar el bloqueo.
Paso 3: Forzar la redirección de HTTP a HTTPS (la clave del SEO)
Activar SSL en el back office solo hace que PrestaShop pueda usar HTTPS, pero no siempre redirige las visitas antiguas desde HTTP. Si un usuario escribe http://tudominio.com, seguirá viendo la versión insegura.
Para solucionarlo, vamos a forzar la redirección. Hay dos métodos: el fácil (desde el panel) y el manual (editando archivos).
Método A: Desde Panel (Recomendado para principiantes)
Muchos paneles de control tienen una función específica para esto.
- En cPanel: Busca la sección "Redirects" o "Redirecciones". Crea una redirección permanente (301) desde
http://tudominio.comahttps://tudominio.com. Marca la opción de "Redirigir con o sin www" si es posible. - En Syspanel: Entra por el puerto 2106, ve a la sección de dominios y busca el icono de "Redirecciones" o "SSL". Generalmente hay un botón de un clic llamado "Force SSL" o similar.
Método B: Manual (Editando .htaccess)
Si tu panel no tiene la opción, o prefieres hacerlo a mano, este es el método infalible.
- Conéctate a tu hosting vía FTP (FileZilla) o desde el administrador de archivos de cPanel.
- Busca el archivo
.htaccessen la raíz de tu tienda (donde están las carpetasadmin,img,config, etc). - Descarga una copia de seguridad de este archivo a tu ordenador. IMPORTANTE para poder revertir los cambios si algo sale mal.
- Abre el archivo original con un editor de texto (como Bloc de notas o Notepad++).
- Añade el siguiente código al principio del archivo, justo después de la línea
# ~~~startsi existe, o en la primera línea:
<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 petición no es HTTPS, redirige a HTTPS".
- Guarda el archivo y súbelo de nuevo al servidor (si lo editaste localmente).
[TIP] Si al subir el archivo ves que tu web da un error 500, es que el servidor no permite la reescritura. Borra el archivo .htaccess que subiste y vuelve a subir el original que descargaste. Luego, contacta con tu soporte de hosting.
Paso 4: Configurar la URL de la tienda
Este es un paso que muchos olvidan y que puede causar problemas de imágenes rotas o enlaces que no funcionan.
- En tu Back Office, ve a "Parámetros avanzados" > "Rendimiento".
- Ahora ve a "Parámetros avanzados" > "Configuración general".
- Busca los campos "URL de la tienda" y "URL de la tienda SSL".
- Asegúrate de que ambos empiecen por
https://en lugar dehttp://.
Guarda los cambios.
Paso 5: Corregir el "Mixed Content" (Contenido Mixto)
Este es el error más común después de activar SSL. Aparece cuando tu web carga sobre HTTPS, pero algunos recursos (imágenes, CSS, JavaScript) siguen cargando desde HTTP.
El navegador bloquea estos recursos por seguridad, lo que puede hacer que tu tienda se vea rota o que el carrito no funcione.
¿Cómo detectarlo?
- Abre tu tienda en el navegador.
- Pulsa la tecla F12 para abrir las herramientas de desarrollador.
- Ve a la pestaña "Console" (Consola).
- Verás errores en rojo que dicen algo como: "Mixed Content: The page at 'https://...' was loaded over HTTPS, but requested an insecure resource 'http://...'".
¿Cómo solucionarlo?
La solución más limpia es buscar en la base de datos las URLs antiguas y reemplazarlas por las nuevas.
- Accede a phpMyAdmin desde tu cPanel.
- Selecciona tu base de datos de PrestaShop.
- Ve a la pestaña "SQL".
- Ejecuta la siguiente consulta SQL (cambia
tudominio.compor tu dominio real):
UPDATE ps_configuration SET value = REPLACE(value, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_shop_url SET domain = REPLACE(domain, 'http://', 'https://');
UPDATE ps_shop_url SET domain_ssl = REPLACE(domain_ssl, 'http://', 'https://');
UPDATE ps_product SET description = REPLACE(description, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_product SET description_short = REPLACE(description_short, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_product_lang SET description = REPLACE(description, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_product_lang SET description_short = REPLACE(description_short, 'http://tudominio.com', 'https://tudominio.com');
[WARNING] Cambia el prefijo ps_ si tu instalación usa otro (ej: prestashop_). Puedes verlo en el archivo config/settings.inc.php.
Otra opción más sencilla (aunque menos exhaustiva) es instalar un módulo gratuito de "Búsqueda y reemplazo de URLs" desde el marketplace de PrestaShop.
Paso 6: Verificar en el navegador
Una vez hecho todo, es hora de la prueba de fuego.
- Borra la caché de tu navegador (Ctrl + Shift + Supr).
- Accede a
https://tudominio.com. - Haz clic en el candado que aparece junto a la URL.
- Debería decir "Conexión segura" o similar.
Navega por toda la tienda: ficha de producto, carrito, checkout. Asegúrate de que no aparezca ningún aviso de "No seguro" y que el candado permanezca cerrado en todas las páginas.
Preguntas Frecuentes (FAQ) sobre SSL en PrestaShop
¿Perderé mis posiciones en Google si cambio de HTTP a HTTPS?
Es posible que notes una pequeña fluctuación en las primeras semanas, pero es temporal. A largo plazo, tu SEO mejorará, ya que Google valora positivamente la seguridad. Es la inversión correcta.
Mi carrito de compras se queda en blanco después de activar SSL, ¿qué hago?
Esto suele ser por el "mixed content" o por la caché. Primero, limpia la caché de PrestaShop en "Parámetros avanzados" > "Rendimiento". Si no funciona, revisa la consola del navegador (F12) para ver los errores exactos y aplica la solución de base de datos del Paso 5.
¿Necesito un certificado SSL distinto para el subdominio www?
No, los certificados modernos (wildcard) cubren el dominio principal y sus subdominios. Asegúrate de que en tu configuración de PrestaShop uses siempre la misma versión (con o sin www) y redirige la otra hacia ella.
¿Qué pasa si mi hosting no me deja activar SSL?
Si tu hosting no ofrece Let's Encrypt ni certificados SSL, es una señal de que es un servicio muy básico. Te recomendamos encarecidamente cambiar a un proveedor que ofrezca SSL gratuito, ya que es un estándar de la industria hoy en día.
¿Cómo sé si mi certificado SSL está caducado?
Puedes usar herramientas online como SSL Checker. Simplemente introduce tu dominio y te dirá la fecha de caducidad. La mayoría de los certificados de Let's Encrypt duran 90 días y se renuevan automáticamente, pero vale la pena revisarlo de vez en cuando.
Conclusión: Tu tienda ya es segura
Activar y configurar SSL/HTTPS en PrestaShop es un proceso que, aunque parece técnico, se puede resolver en menos de 30 minutos siguiendo estos pasos. No solo protegerás a tus clientes y sus datos, sino que mejorarás tu posicionamiento web y, sobre todo, la confianza en tu marca.
Recuerda que el orden es clave: primero el certificado, luego la activación en el back office, después la redirección forzada (.htaccess o panel) y por último la limpieza de contenido mixto.
Si has llegado hasta aquí y has seguido los pasos, es muy probable que tu candado ya esté cerrado. Si te surge cualquier duda, consulta la documentación de tu hosting o busca ayuda en los foros oficiales de PrestaShop. Tu tienda está lista para vender con total seguridad.
