Activar SSL en PrestaShop usando cPanel y evitar errores mixtos
Activar SSL en tu tienda PrestaShop es fundamental para proteger los datos de tus clientes, mejorar el posicionamiento en buscadores (Google prioriza las webs seguras) y generar confianza. Sin embargo, si no se hace correctamente, pueden aparecer los molestos errores de contenido mixto (Mixed Content), donde algunos elementos de tu web se cargan por HTTP en lugar de HTTPS, rompiendo el candado verde.
En esta guía te explicaré paso a paso cómo activar SSL en PrestaShop usando cPanel, cómo forzar HTTPS y, lo más importante, cómo evitar los errores de contenido mixto. No necesitas ser un experto técnico, solo seguir las instrucciones al pie de la letra.
¿Qué es SSL y por qué activarlo en PrestaShop?
SSL (Secure Sockets Layer) es un protocolo de seguridad que cifra la información que viaja entre tu servidor y el navegador de tus clientes. Cuando lo activas, tu web pasa de usar HTTP a HTTPS, mostrando un candado en la barra de direcciones.
Beneficios clave:
- Seguridad: Protege datos sensibles como contraseñas, tarjetas de crédito y direcciones.
- Confianza: Los visitantes ven el candado y saben que su información está segura.
- SEO: Google penaliza las webs sin HTTPS, así que activarlo mejora tu posicionamiento.
- Requisito de pagos: Muchos procesadores de pago (PayPal, Stripe) exigen HTTPS para transacciones.
Requisitos previos antes de empezar
Antes de tocar nada en PrestaShop, asegúrate de tener lo siguiente:
- Un certificado SSL instalado en tu hosting. Si usas cPanel, normalmente puedes instalar uno gratuito desde Let’s Encrypt o comprar uno de pago. Ve a "SSL/TLS" en cPanel y verifica que tu dominio tenga un certificado activo.
- Acceso a cPanel. Necesitarás usuario y contraseña. Si usas Syspanel (anteriormente conocido como HestiaCP), el acceso es por el puerto 2106 (ejemplo:
https://tudominio.com:2106). - Acceso al panel de administración de PrestaShop. Necesitarás las credenciales de tu tienda.
[WARNING] No actives SSL en PrestaShop si aún no tienes un certificado instalado en tu servidor. Hacerlo podría romper el acceso a tu tienda.
Paso 1: Instalar o verificar el certificado SSL en cPanel
Lo primero es asegurarte de que tu dominio ya tiene SSL. Sigue estos pasos:
- Inicia sesión en cPanel (o en Syspanel en el puerto 2106).
- Busca la sección "SSL/TLS" o "Let’s Encrypt SSL".
- Si no tienes certificado, usa la opción "Install an SSL Certificate" y elige Let’s Encrypt (es gratuito y se renueva automáticamente).
- Selecciona tu dominio principal y haz clic en "Install".
- Espera unos segundos a que se complete. Verás un mensaje verde de éxito.
[TIP] Si tu hosting ofrece "AutoSSL", puede que ya esté instalado. Verifica en la sección "SSL/TLS Status" de cPanel.
Paso 2: Configurar SSL en el backoffice de PrestaShop
Una vez que el certificado está activo en el servidor, debes indicarle a PrestaShop que use HTTPS.
- Accede a tu panel de administración de PrestaShop (normalmente
tudominio.com/adminXXXXX). - Ve al menú "Parámetros de la tienda" > "General".
- Busca la opción "Habilitar SSL" y actívala (ponla en Sí).
- También activa "Habilitar SSL en todas las páginas". Esto fuerza que toda la tienda se cargue por HTTPS.
- Haz clic en "Guardar".
[INFO] Al activar esta opción, PrestaShop redirigirá automáticamente todas las páginas de HTTP a HTTPS. Pero si ves errores, no te preocupes, los solucionaremos en los siguientes pasos.
Paso 3: Forzar HTTPS desde cPanel (opcional pero recomendado)
Para mayor seguridad, puedes forzar HTTPS desde el propio servidor usando un archivo .htaccess. Esto evita que alguien acceda a tu web por HTTP.
-
En cPanel, ve a "Administrador de archivos" y abre la carpeta public_html (donde está instalado PrestaShop).
-
Busca el archivo .htaccess (puede estar oculto; activa "Mostrar archivos ocultos" si no lo ves).
-
Edita el archivo y añade estas líneas al principio (después de la línea
RewriteEngine On):RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] -
Guarda los cambios.
Si usas Syspanel, el proceso es similar: accede al panel de archivos desde la interfaz (puerto 2106) y modifica el .htaccess.
[WARNING] Si no ves el archivo
.htaccess, crea uno nuevo con un editor de texto. Asegúrate de que se llame exactamente.htaccess(con punto al inicio).
Paso 4: Evitar errores de contenido mixto (Mixed Content)
Los errores de contenido mixto ocurren cuando tu web carga recursos (imágenes, CSS, JavaScript, fuentes) desde URLs HTTP en lugar de HTTPS. El navegador los bloquea y el candado se vuelve gris o rojo.
¿Cómo detectarlos?
- Abre tu tienda en Chrome y pulsa F12 (herramientas de desarrollador).
- Ve a la pestaña "Console" (Consola). Si ves errores como "Mixed Content: The page at ... was loaded over HTTPS, but requested an insecure resource ...", tienes contenido mixto.
Soluciones paso a paso:
1. Cambia la URL base de tu tienda
En PrestaShop, la URL base debe empezar por https://.
- Ve a "Parámetros de la tienda" > "Tráfico y SEO" > "Configuración de SEO y URLs".
- En el campo "URL base de la tienda", asegúrate de que comience con
https://tudominio.com(nohttp://). - Guarda los cambios.
2. Busca enlaces HTTP en tu base de datos
A veces, los productos, categorías o módulos guardan URLs con HTTP. Debes reemplazarlas.
- Si tienes pocos productos, puedes editar manualmente cada ficha de producto (en el backoffice) y cambiar las URLs de las imágenes.
- Si tienes muchos, usa una herramienta como "Search and Replace" en phpMyAdmin (consulta a tu hosting si no sabes hacerlo).
Consulta SQL básica (para expertos):
UPDATE ps_product SET description = REPLACE(description, 'http://tudominio.com', 'https://tudominio.com');
[WARNING] Haz siempre una copia de seguridad de tu base de datos antes de ejecutar consultas SQL.
3. Revisa módulos y temas
Algunos módulos o plantillas cargan recursos (como fuentes de Google, scripts de terceros) por HTTP.
- Ve a "Módulos" > "Gestor de módulos" y desactiva los que no uses.
- Si usas un tema personalizado, contacta al desarrollador para que lo actualice a HTTPS.
- Revisa las imágenes de productos y categorías: si las subiste por HTTP, PrestaShop puede seguir guardando la URL antigua. Vuelve a subirlas o usa un plugin de reemplazo.
4. Usa la función "Forzar HTTPS en recursos" (si tu tema lo soporta)
Algunos temas de PrestaShop tienen una opción en "Preferencias" > "Imágenes" o "Rendimiento" para forzar HTTPS en todos los recursos. Actívala.
5. Limpia la caché de PrestaShop
Después de hacer cambios, limpia la caché:
- Ve a "Parámetros avanzados" > "Rendimiento".
- Haz clic en "Limpiar caché" (tanto de Smarty como de la caché de página).
- También limpia la caché de tu navegador (Ctrl+Shift+Supr en Chrome).
Paso 5: Verificar que todo funciona correctamente
Después de los pasos anteriores, es hora de comprobar que no haya errores.
- Abre tu tienda en una ventana de incógnito (para evitar caché).
- Fíjate en el candado de la barra de direcciones: debe ser verde.
- Navega por varias páginas (producto, carrito, login, etc.).
- Abre las herramientas de desarrollador (F12) y ve a "Console". No debe haber errores de contenido mixto.
- Usa herramientas online como Why No Padlock? o SSL Labs para un análisis completo.
[TIP] Si ves algún error, anota la URL del recurso conflictivo y búscalo en tu base de datos o en los archivos del tema.
Preguntas frecuentes (FAQ)
¿Qué hago si después de activar SSL no puedo acceder al backoffice?
Normalmente es porque el certificado no está bien instalado o la redirección es incorrecta. Accede por HTTP directamente (sin redirección) desde una ventana de incógnito. Si funciona, desactiva temporalmente la redirección en .htaccess y revisa el certificado en cPanel.
¿Los errores de contenido mixto afectan al SEO?
Sí, Google ve el candado roto como una señal de poca seguridad, lo que puede perjudicar tu ranking. Además, los clientes pueden desconfiar.
¿Necesito cambiar todas las URLs de mis productos manualmente?
No necesariamente. Puedes usar un módulo como "PS Cleaner" o "HTTPS Mixed Content Fixer" para escanear y reemplazar automáticamente las URLs HTTP por HTTPS. También puedes ejecutar consultas SQL si te sientes seguro.
¿Qué pasa si uso Syspanel en lugar de cPanel?
El proceso es similar. Accede a Syspanel por el puerto 2106, busca la sección de SSL (normalmente "SSL" o "Let's Encrypt") y sigue los mismos pasos. Para el .htaccess, es idéntico.
¿Debo activar SSL en todas las páginas de PrestaShop?
Sí, activa ambas opciones: "Habilitar SSL" y "Habilitar SSL en todas las páginas". Así evitas que el carrito o el login queden en HTTP.
Conclusión
Activar SSL en PrestaShop usando cPanel es un proceso sencillo si sigues el orden correcto: primero instala el certificado, luego configura PrestaShop, fuerza HTTPS y, finalmente, elimina los errores de contenido mixto. No te saltes ningún paso, especialmente la limpieza de caché y la revisión de la consola del navegador.
Recuerda que una tienda segura no solo protege a tus clientes, sino que también mejora tu posicionamiento y la confianza en tu marca. Si encuentras errores, no desesperes: la mayoría se solucionan reemplazando URLs HTTP por HTTPS en la base de datos o en los archivos del tema.
¡Ahora ya puedes disfrutar de una tienda PrestaShop 100% segura y sin errores mixtos!
