Configurar SSL en PrestaShop con cPanel paso a paso
Introducción: ¿Por qué necesitas SSL en tu PrestaShop?
Si tienes una tienda online con PrestaShop, la seguridad de tus clientes es lo más importante. Un certificado SSL (Secure Sockets Layer) activa el protocolo HTTPS en tu web, cifrando la información que se transmite entre el navegador del usuario y tu servidor. Esto es fundamental para proteger datos sensibles como contraseñas, direcciones o números de tarjeta de crédito.
Además de la seguridad, SSL es un factor clave para el SEO. Google penaliza las webs sin HTTPS, mostrándolas peor en los resultados de búsqueda. También es obligatorio para aceptar pagos con tarjeta (PCI DSS) y genera confianza en tus clientes, que ven el candado verde en la barra de direcciones.
En esta guía te explicamos paso a paso cómo configurar SSL en PrestaShop usando cPanel, el panel de control más común en hosting compartido. No necesitas ser un experto técnico, solo seguir estas instrucciones al pie de la letra.
[INFO] Este tutorial asume que ya tienes un certificado SSL instalado en tu hosting. Si no lo tienes, la mayoría de proveedores lo incluyen gratis (Let’s Encrypt) o puedes contratar uno de pago. Si usas cPanel, busca la sección "SSL/TLS" o "Let’s Encrypt" para instalarlo.
Requisitos previos
Antes de empezar, asegúrate de tener lo siguiente:
- Acceso a cPanel de tu hosting (usuario y contraseña).
- Tu tienda PrestaShop funcionando correctamente (versión 1.7 o superior, aunque el proceso es similar en versiones anteriores).
- Un certificado SSL instalado y activo en tu dominio.
- Conocimiento básico de cómo acceder a la administración de PrestaShop (backoffice).
[WARNING] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el puerto de acceso es el 2106. El proceso de instalación del certificado puede variar, pero la configuración en PrestaShop es la misma. Consulta a tu proveedor de hosting si tienes dudas.
Paso 1: Verificar que el certificado SSL está instalado en tu hosting
Lo primero es confirmar que tu dominio ya tiene un certificado SSL activo. Puedes hacerlo de dos formas:
1.1. Comprobación rápida desde el navegador
- Abre tu tienda en el navegador escribiendo
https://tudominio.com. - Si ves el candado verde en la barra de direcciones, el certificado está funcionando.
- Si ves un mensaje de "No seguro" o "Conexión no privada", el SSL no está activo o hay un error.
1.2. Verificación desde cPanel
- Inicia sesión en cPanel.
- Busca la sección "SSL/TLS" o "Let's Encrypt SSL".
- Revisa que tu dominio aparezca como "Instalado" o "Activo".
- Si no lo ves, instala un certificado gratuito (Let's Encrypt) desde esa misma sección. Muchos hostings lo hacen automáticamente.
[TIP] Si tu hosting usa Syspanel, accede por el puerto 2106 (ejemplo:
https://tudominio.com:2106) y busca la opción "SSL" o "Certificados".
Paso 2: Forzar HTTPS desde cPanel (Redirección 301)
Una vez que el SSL está activo, debes redirigir todo el tráfico HTTP a HTTPS para que los usuarios siempre accedan por la versión segura. Esto se hace con una redirección 301.
2.1. Usar el redireccionamiento automático de cPanel
- En cPanel, busca la sección "Redireccionamientos" (o "Redirects").
- Selecciona el tipo "Permanente (301)".
- En "Redirige a": escribe
https://tudominio.com(sin www o con www, según tu preferencia). - En "Redirige desde": elige el dominio y marca la opción "Redirigir con o sin www".
- Marca "Redirigir también el directorio principal".
- Haz clic en "Guardar".
2.2. Alternativa: Editar el archivo .htaccess (más control)
Si el método anterior no funciona, puedes editar manualmente el archivo .htaccess de tu tienda:
-
En cPanel, ve a "Administrador de archivos".
-
Accede a la carpeta raíz de tu tienda (normalmente
public_html). -
Busca el archivo
.htaccessy edítalo (si no existe, créalo). -
Añade estas líneas al principio:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] -
Guarda los cambios.
[WARNING] Si ya tienes reglas en el .htaccess (por ejemplo, de PrestaShop), añade estas líneas después de
RewriteEngine Onpero antes de otras reglas. Un error puede romper tu web.
Paso 3: Configurar SSL en PrestaShop (Backoffice)
Ahora vamos a la parte más importante: decirle a PrestaShop que use HTTPS en todas sus páginas.
3.1. Acceder a la configuración de la tienda
- Inicia sesión en el backoffice de PrestaShop (ejemplo:
tudominio.com/adminXXXXXX). - Ve al menú "Configuración de la tienda" > "Parámetros generales".
- Busca la sección "Configuración de la tienda".
3.2. Configurar las URLs con HTTPS
- En el campo "URL de la tienda", asegúrate de que empiece por
https://(ejemplo:https://tudominio.com). - En "URL de la tienda (SSL)", debe ser exactamente la misma:
https://tudominio.com. - Marca la opción "Habilitar SSL" como SÍ.
- Marca la opción "Habilitar SSL en todas las páginas" como SÍ. Esto fuerza HTTPS en todo el sitio, incluido el carrito y el proceso de pago.
- Haz clic en "Guardar".
3.3. Verificar que no hay contenido mixto
Después de guardar, PrestaShop puede mostrar un mensaje de error si detecta contenido mixto (recursos cargados por HTTP en una página HTTPS). Si es así, no te preocupes, lo solucionaremos en el siguiente paso.
[INFO] El contenido mixto ocurre cuando imágenes, CSS o JavaScript se cargan desde URLs HTTP. Esto hace que el candado verde desaparezca. La solución es forzar HTTPS en todos los recursos.
Paso 4: Actualizar las URLs de los recursos (imágenes, CSS, JS)
PrestaShop almacena URLs absolutas de imágenes y otros archivos en la base de datos. Si antes tenías HTTP, ahora debes cambiarlas a HTTPS.
4.1. Usar la herramienta de PrestaShop (versiones recientes)
En PrestaShop 1.7 y superiores, hay una opción para actualizar automáticamente las URLs:
- Ve a "Configuración de la tienda" > "Parámetros generales".
- En la sección "Configuración de la tienda", busca el botón "Actualizar las URLs de la tienda" (o similar).
- Haz clic y espera a que el proceso termine. Esto cambiará todas las URLs de HTTP a HTTPS en la base de datos.
4.2. Método manual con SQL (si la herramienta no funciona)
Si tu versión de PrestaShop no tiene esa opción o falla, puedes ejecutar una consulta SQL desde phpMyAdmin:
-
En cPanel, busca "phpMyAdmin".
-
Selecciona la base de datos de tu tienda PrestaShop.
-
Haz clic en la pestaña "SQL".
-
Ejecuta esta consulta (reemplaza
tudominio.compor tu dominio real):UPDATE ps_configuration SET value = REPLACE(value, 'http://tudominio.com', 'https://tudominio.com') WHERE name LIKE '%PS_SHOP_DOMAIN%' OR name LIKE '%PS_SHOP_DOMAIN_SSL%'; UPDATE ps_shop_url SET domain = REPLACE(domain, 'http://', ''), domain_ssl = REPLACE(domain_ssl, 'http://', ''); UPDATE ps_image SET id_image = id_image; -- Esto fuerza regenerar las URLs de imágenes
[WARNING] Haz una copia de seguridad de la base de datos antes de ejecutar consultas SQL. Un error puede dañar tu tienda.
4.3. Regenerar miniaturas de imágenes
Después de cambiar las URLs, las imágenes pueden no mostrarse correctamente. Regenera las miniaturas:
- En el backoffice, ve a "Diseño" > "Tema y logotipo".
- Haz clic en "Regenerar miniaturas".
- Selecciona todas las opciones y confirma.
Paso 5: Configurar el archivo parameters.php (si es necesario)
Algunos módulos o configuraciones de hosting requieren que edites el archivo parameters.php de PrestaShop para forzar HTTPS.
- Conéctate por FTP o usa el Administrador de archivos de cPanel.
- Ve a la carpeta
app/config/dentro de tu tienda. - Abre el archivo
parameters.php. - Busca las líneas que contienen
'PS_SHOP_DOMAIN'y'PS_SHOP_DOMAIN_SSL'. - Asegúrate de que tengan tu dominio sin
http://nihttps://, solo el nombre (ejemplo:'tudominio.com'). - Guarda el archivo.
[INFO] Este paso es opcional, pero recomendado si tienes problemas con redirecciones o contenido mixto.
Paso 6: Probar que todo funciona correctamente
Una vez realizados los pasos anteriores, es hora de probar tu tienda.
6.1. Verificar el candado verde
- Navega por varias páginas de tu tienda (inicio, categoría, producto, carrito, proceso de pago).
- En todas ellas debe aparecer el candado verde en la barra de direcciones.
6.2. Comprobar que no hay contenido mixto
- Abre las herramientas de desarrollador de tu navegador (F12 en Chrome).
- Ve a la pestaña "Consola".
- Si ves errores como "Mixed Content", significa que algún recurso se carga por HTTP. Puedes identificarlos y corregirlos manualmente.
6.3. Probar la redirección HTTP a HTTPS
- Escribe
http://tudominio.comen el navegador. - Debe redirigir automáticamente a
https://tudominio.com.
6.4. Verificar el SEO
- Usa herramientas como "Why No Padlock" o el "SSL Checker" de tu navegador para confirmar que todo está correcto.
- En Google Search Console, solicita la indexación de la versión HTTPS.
Paso 7: Solucionar problemas comunes
A veces, incluso siguiendo todos los pasos, pueden surgir problemas. Aquí tienes los más frecuentes y cómo solucionarlos.
7.1. Error "Demasiadas redirecciones" (bucle infinito)
- Causa: Reglas de redirección conflictivas en el
.htaccesso en PrestaShop. - Solución: Desactiva temporalmente la redirección 301 en cPanel y edita el
.htaccessmanualmente. Asegúrate de que solo haya una regla de redirección.
7.2. El candado aparece pero con un triángulo amarillo
- Causa: Contenido mixto (imágenes, CSS o JS cargados por HTTP).
- Solución: Revisa la consola del navegador para identificar los recursos problemáticos. Actualiza sus URLs a HTTPS en la base de datos o en el tema.
7.3. El proceso de pago no carga en HTTPS
- Causa: Módulo de pago mal configurado o que no soporta SSL.
- Solución: Contacta al desarrollador del módulo. Temporalmente, puedes forzar SSL en todas las páginas desde los parámetros generales de PrestaShop.
7.4. El backoffice no carga o muestra errores
- Causa: Cookies de sesión configuradas para HTTP.
- Solución: En el archivo
config/defines.inc.php(en la raíz de PrestaShop), busca la líneadefine('_PS_SSL_ENABLED_', '0');y cámbiala a'1'. Guarda y recarga.
Preguntas frecuentes (FAQ)
¿Es obligatorio tener SSL en PrestaShop?
Sí, es altamente recomendado por seguridad, SEO y para aceptar pagos online. Google penaliza las webs sin HTTPS y los navegadores las marcan como "No seguras".
¿Puedo usar un certificado SSL gratuito como Let's Encrypt?
Sí, es perfectamente válido. La mayoría de hostings lo instalan automáticamente. Solo asegúrate de renovarlo cada 90 días (muchos hostings lo hacen automáticamente).
¿Qué hago si mi hosting usa Syspanel (HestiaCP)?
El proceso es similar, pero el acceso es por el puerto 2106. Instala el certificado SSL desde la sección correspondiente de Syspanel y luego sigue los pasos 3 a 7 de esta guía.
¿Pierdo posiciones en Google si cambio de HTTP a HTTPS?
No, al contrario, Google considera HTTPS como una señal positiva para el ranking. Solo asegúrate de configurar la redirección 301 correctamente para no perder enlaces.
¿Necesito cambiar algo en los módulos de pago?
Algunos módulos de pago requieren configuración adicional para funcionar con HTTPS. Revisa la documentación de tu pasarela de pago (PayPal, Redsys, etc.) y asegúrate de que las URLs de notificación sean HTTPS.
Conclusión
Configurar SSL en PrestaShop con cPanel es un proceso sencillo si sigues los pasos correctos. Recuerda que la seguridad de tu tienda y la confianza de tus clientes dependen de ello. Además, mejorarás tu posicionamiento en buscadores y cumplirás con los estándares de pago.
Si encuentras algún problema, no dudes en consultar la documentación de PrestaShop o contactar con tu proveedor de hosting. Una tienda segura es una tienda de éxito.
[TIP] Después de configurar SSL, revisa periódicamente que el certificado esté vigente y que no haya contenido mixto. Herramientas como "SSL Labs" te ayudarán a mantener tu tienda segura.
