Cómo instalar un certificado SSL en PrestaShop con cPanel y evitar errores mixtos
Introducción: ¿Por qué es tan importante el SSL en tu tienda PrestaShop?
Si tienes una tienda online con PrestaShop, seguramente has oído hablar del certificado SSL. Pero, ¿sabes realmente por qué es tan importante? Un certificado SSL (Secure Sockets Layer) es un protocolo de seguridad que cifra la información que viaja entre el navegador del visitante y tu servidor. Esto significa que datos sensibles como contraseñas, números de tarjeta de crédito o información personal quedan protegidos de posibles ciberdelincuentes.
Además de la seguridad, el SSL es un factor de posicionamiento clave en Google. Desde 2014, los sitios con HTTPS tienen ventaja en los resultados de búsqueda. Y desde 2018, Chrome marca como "No seguro" cualquier sitio que no tenga SSL, lo cual puede ahuyentar a tus clientes antes de que compren.
En este artículo te voy a guiar paso a paso para instalar un certificado SSL en PrestaShop usando cPanel, y lo más importante: cómo evitar los molestos errores mixtos que aparecen cuando mezclas contenido seguro e inseguro en tu web. No necesitas ser un experto técnico, solo sigue las instrucciones y tendrás tu tienda funcionando con HTTPS en menos de lo que piensas.
¿Qué necesitas antes de empezar?
Antes de lanzarnos a la instalación, asegúrate de tener:
- Acceso a cPanel de tu hosting (el panel de control donde gestionas tu dominio y archivos).
- Acceso al panel de administración de PrestaShop (normalmente en
tudominio.com/admin). - Un certificado SSL. Puedes obtener uno gratuito con Let's Encrypt, o comprar uno de pago. La mayoría de los hostings ofrecen certificados gratuitos integrados en cPanel.
- Un poco de paciencia, sobre todo para la parte de evitar errores mixtos.
Si tu hosting usa un panel alternativo como Syspanel (antes conocido como HestiaCP), el proceso es similar, pero el acceso al panel suele ser a través del puerto 2106. En este artículo nos centraremos en cPanel, que es el más común, pero los conceptos son los mismos.
Paso 1: Verificar si tu hosting ya tiene un certificado SSL instalado
Muchos hostings modernos instalan automáticamente un certificado SSL gratuito cuando creas tu cuenta. Antes de hacer nada, comprueba si ya tienes uno activo.
Cómo verificar el SSL en tu dominio
- Abre tu navegador y escribe
https://tudominio.com. - Fíjate en el candado que aparece en la barra de direcciones. Si aparece un candado cerrado, ¡enhorabuena! Ya tienes SSL.
- Si aparece "No seguro" o un candado abierto, no tienes SSL activo.
También puedes usar herramientas online como SSL Labs para comprobar el estado de tu certificado.
Si no tienes SSL, ¿cómo obtenerlo?
En cPanel, busca la sección "SSL/TLS" o "Let's Encrypt". La mayoría de los hostings ofrecen la opción de generar un certificado gratuito en un clic. Solo tienes que seleccionar tu dominio y pulsar "Emitir" o "Instalar". El proceso suele tardar menos de un minuto.
Paso 2: Instalar el certificado SSL desde cPanel
Si tu hosting no lo ha hecho automáticamente, aquí te explico cómo hacerlo manualmente.
Opción A: Con Let's Encrypt (gratuito)
- Entra en cPanel con tus credenciales.
- Busca la sección "Seguridad" y haz clic en "Let's Encrypt" (o "SSL/TLS Status").
- Selecciona tu dominio principal.
- Pulsa "Emitir" o "Instalar". El sistema generará e instalará el certificado automáticamente.
- Espera unos segundos y verifica que el estado sea "Válido".
Opción B: Con un certificado de pago
- Compra un certificado SSL en tu proveedor de hosting o en una entidad certificadora.
- En cPanel, ve a "SSL/TLS" → "Instalar y gestionar SSL para tu sitio".
- Pega el contenido del certificado, la clave privada y la cadena de certificados (CA Bundle) en los campos correspondientes.
- Pulsa "Instalar" y listo.
Verificar que el SSL funciona
Una vez instalado, vuelve a visitar https://tudominio.com y comprueba que el candado aparece. También puedes usar la herramienta de SSL Labs para un análisis más profundo.
Paso 3: Configurar PrestaShop para usar HTTPS
Ahora viene la parte más importante. No basta con tener el certificado instalado en el servidor; también tienes que configurar PrestaShop para que use HTTPS en todas sus páginas.
3.1. Activar SSL en el panel de administración
- Entra en tu panel de administración de PrestaShop.
- Ve a "Parámetros avanzados" → "Rendimiento".
- Busca la opción "Habilitar SSL" y actívala.
- También activa "Habilitar SSL en todas las páginas".
- Guarda los cambios.
[TIP] Si después de activar SSL no puedes acceder al panel, prueba a entrar directamente con
https://tudominio.com/admin. Si el problema persiste, vuelve a desactivar SSL temporalmente y revisa que el certificado esté bien instalado.
3.2. Configurar la URL de la tienda
- Ve a "Parámetros avanzados" → "Configuración general".
- En el campo "URL de la tienda", cambia
http://porhttps://. - Haz lo mismo con "URL base de SSL".
- Guarda los cambios.
3.3. Forzar redirección de HTTP a HTTPS
Para que todos los visitantes que entren por http:// sean redirigidos automáticamente a https://, tienes que añadir una regla en el archivo .htaccess.
- Conéctate a tu hosting vía FTP o usa el Administrador de archivos de cPanel.
- Busca el archivo
.htaccessen la raíz de tu tienda (donde está la carpetapublic_htmlo similar). - Descárgalo y ábrelo con un editor de texto.
- Añade las siguientes líneas al principio del archivo:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- Guarda los cambios y sube el archivo de nuevo.
[WARNING] Antes de modificar el
.htaccess, haz una copia de seguridad por si algo sale mal. Un error aquí puede dejar tu web inaccesible.
Paso 4: Evitar los errores mixtos en PrestaShop
Los errores mixtos (mixed content) ocurren cuando tu página se carga con HTTPS pero algunos recursos (imágenes, CSS, JavaScript, etc.) se cargan con HTTP. Esto hace que el navegador bloquee esos recursos y puede romper el diseño o la funcionalidad de tu tienda.
¿Cómo detectar errores mixtos?
- Abre tu tienda en Chrome o Firefox.
- Pulsa F12 para abrir las herramientas de desarrollador.
- Ve a la pestaña "Consola".
- Busca mensajes como "Mixed Content: The page at 'https://...' was loaded over HTTPS, but requested an insecure resource 'http://...'".
Solución 1: Actualizar las URLs en la base de datos
La causa más común de errores mixtos es que tu base de datos todavía tiene URLs con http://. Para solucionarlo:
- Entra en phpMyAdmin desde cPanel.
- Selecciona la base de datos de tu tienda.
- Ve a la pestaña "SQL" y ejecuta esta consulta (reemplaza
tudominio.compor tu dominio real):
UPDATE ps_configuration SET value = REPLACE(value, 'http://tudominio.com', 'https://tudominio.com') WHERE value LIKE '%http://tudominio.com%';
UPDATE ps_shop_url SET domain = REPLACE(domain, 'http://', ''), domain_ssl = REPLACE(domain_ssl, 'http://', '');
UPDATE ps_shop_url SET domain = REPLACE(domain, 'http://', ''), domain_ssl = REPLACE(domain_ssl, 'http://', '');
[INFO] El prefijo
ps_puede variar según la configuración de tu tienda. Si no estás seguro, consulta el archivoparameters.phpen la carpetaapp/config.
Solución 2: Limpiar la caché de PrestaShop
PrestaShop guarda una caché de las páginas y los recursos. Después de cambiar las URLs, tienes que limpiarla:
- Ve a "Parámetros avanzados" → "Rendimiento".
- Pulsa el botón "Vaciar la caché" (tanto la de Smarty como la de Symfony).
Solución 3: Revisar los recursos de tu tema y módulos
Algunos temas o módulos tienen URLs hardcodeadas con http://. Revisa:
- Los archivos de configuración de tu tema (normalmente en
themes/tu_tema/config/settings.inc.php). - Los módulos que tengas instalados, especialmente los que cargan recursos externos.
Si encuentras URLs con http://, cámbialas a https:// o usa URLs relativas (por ejemplo, //tudominio.com/imagen.jpg).
Solución 4: Usar un plugin para corregir contenido mixto
Si tienes muchos recursos y no quieres revisarlos uno a uno, puedes instalar un módulo como "SSL Mixed Content Fixer" o "Really Simple SSL" (si usas WordPress, pero hay equivalentes para PrestaShop). Estos módulos detectan y corrigen automáticamente las URLs mixtas.
Paso 5: Verificar que todo funciona correctamente
Después de todos estos cambios, es hora de comprobar que todo funciona bien.
- Visita todas las páginas principales de tu tienda: inicio, categorías, productos, carrito, checkout, etc.
- Pulsa F12 y revisa la consola para asegurarte de que no hay errores mixtos.
- Haz una compra de prueba (puedes usar el modo sandbox de tu pasarela de pago) para asegurarte de que el proceso de checkout funciona correctamente.
- Usa la herramienta de Google Search Console para verificar que Google puede rastrear tu sitio con HTTPS.
Preguntas frecuentes sobre SSL y PrestaShop
¿Cuánto tarda en instalarse un certificado SSL?
Con Let's Encrypt, el proceso es inmediato (menos de 5 minutos). Con certificados de pago, puede tardar desde unas horas hasta 48 horas, dependiendo de la entidad certificadora.
¿Qué pasa si no activo SSL en PrestaShop?
Tu tienda no tendrá HTTPS, lo que significa que los navegadores la marcarán como "No segura". Además, Google penalizará tu posicionamiento y los clientes desconfiarán a la hora de introducir sus datos.
¿Los errores mixtos afectan al SEO?
Sí. Google penaliza las páginas con errores mixtos porque ofrecen una mala experiencia de usuario. Además, los recursos bloqueados pueden hacer que tu página cargue más lento.
¿Qué hago si mi hosting usa Syspanel en lugar de cPanel?
Si tu hosting usa Syspanel (antes HestiaCP), el acceso al panel se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). El proceso de instalación del SSL es similar: busca la sección de SSL/TLS y sigue los pasos. La configuración de PrestaShop y la corrección de errores mixtos es exactamente la misma.
¿Necesito renovar el certificado SSL?
Sí. Los certificados de Let's Encrypt caducan cada 90 días, pero la mayoría de los hostings los renuevan automáticamente. Si compraste un certificado de pago, suele ser por 1 o 2 años.
¿Qué es un certificado SSL de dominio único y uno wildcard?
Un certificado de dominio único protege solo un dominio (por ejemplo, tudominio.com). Un certificado wildcard protege el dominio y todos sus subdominios (por ejemplo, tienda.tudominio.com, blog.tudominio.com, etc.). Si tienes subdominios, necesitas un wildcard.
Conclusión
Instalar un certificado SSL en PrestaShop con cPanel no es complicado si sigues los pasos correctos. Lo más importante es configurar PrestaShop para que use HTTPS en todas sus páginas y corregir los errores mixtos que puedan aparecer. Recuerda:
- Verifica que el certificado esté instalado en el servidor.
- Activa SSL en el panel de administración de PrestaShop.
- Cambia las URLs de la tienda a HTTPS.
- Fuerza la redirección de HTTP a HTTPS.
- Actualiza las URLs en la base de datos y limpia la caché.
- Revisa los recursos de tu tema y módulos.
Con estos pasos, tu tienda estará segura, confiable y bien posicionada en Google. Si tienes alguna duda, deja un comentario y estaré encantado de ayudarte.
[TIP] Haz una copia de seguridad completa de tu tienda (archivos y base de datos) antes de hacer cualquier cambio. Así, si algo sale mal, puedes restaurar todo en minutos.
