Cómo configurar SSL en PrestaShop con cPanel y evitar errores mixtos
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver uno de los pasos más importantes para que tu tienda PrestaShop sea segura y profesional: configurar SSL con cPanel. Además, te ayudaré a evitar ese molesto error de contenido mixto que a veces aparece después de activar el HTTPS. No te preocupes si no eres un experto en tecnología; te guiaré paso a paso con un lenguaje claro y sencillo. ¡Empecemos!
¿Qué es SSL y por qué es esencial en tu PrestaShop?
Antes de meternos en la configuración, entendamos qué es SSL. Imagina que SSL (Secure Sockets Layer) es como un guardaespaldas digital que protege la información que viaja entre tu tienda y tus clientes. Cuando está activo, verás un candado verde en la barra de direcciones del navegador y la URL comenzará con https://. Esto genera confianza y es obligatorio para el SEO (Google lo premia) y para cumplir con normativas de seguridad.
En PrestaShop, configurar SSL correctamente con cPanel no solo asegura los datos de pago, sino que también evita que los navegadores bloqueen elementos de tu página por no ser seguros. El error más común después de activarlo es el error de contenido mixto, que ocurre cuando mezclas recursos HTTP (no seguros) dentro de una página HTTPS. ¡Pero no te preocupes, lo solucionaremos!
Requisitos previos antes de empezar
Asegúrate de tener lo siguiente antes de continuar:
- Acceso a cPanel: Necesitas las credenciales de tu hosting (usuario y contraseña).
- Certificado SSL activo: La mayoría de los hostings lo incluyen gratis (por ejemplo, con Let’s Encrypt). Si no lo tienes, puedes instalarlo desde cPanel.
- Acceso al panel de administración de PrestaShop: Necesitarás entrar a tu tienda como administrador.
- Paciencia y ganas de aprender: ¡No es complicado!
[INFO] Si tu hosting usa Syspanel (el antiguo HestiaCP), el acceso es por el puerto 2106. Por ejemplo:
https://tudominio.com:2106. El proceso es similar, pero los nombres de las opciones pueden variar ligeramente.
Paso 1: Instalar o verificar el certificado SSL en cPanel
Lo primero es asegurarnos de que tu dominio tenga un certificado SSL válido. En cPanel, esto es muy sencillo.
1.1. Accede a cPanel
Escribe en tu navegador: https://tudominio.com/cpanel (o la URL que te haya dado tu hosting). Introduce tu usuario y contraseña.
1.2. Busca la sección "SSL/TLS"
Dentro de cPanel, verás un montón de iconos. Busca el que dice "SSL/TLS" o "SSL/TLS Status". Si no lo encuentras, usa el buscador de cPanel (arriba a la derecha).
1.3. Instala un certificado (si no lo tienes)
Si tu hosting ofrece Let's Encrypt (gratuito), verás una opción como "Let's Encrypt SSL" o "AutoSSL". Haz clic y sigue las instrucciones para emitir un certificado para tu dominio principal y todos los subdominios que uses (por ejemplo, tudominio.com y www.tudominio.com).
[TIP] Si ya tienes un certificado, verifica que aparezca como "Vigente" o "Activo". Si ves "Caducado", renuevalo desde la misma sección.
1.4. Verifica que el certificado esté activo
Una vez instalado, puedes comprobarlo visitando https://tudominio.com. Si ves el candado verde, ¡perfecto! Si no, espera unos minutos y recarga la página.
Paso 2: Configurar HTTPS en PrestaShop desde el panel de administración
Ahora que el certificado está listo, debemos decirle a PrestaShop que use HTTPS de forma obligatoria.
2.1. Accede a tu back office de PrestaShop
Ve a https://tudominio.com/admin (o la URL de tu panel de administración). Inicia sesión con tus credenciales.
2.2. Ve a la configuración de SEO y URLs
En el menú izquierdo, busca "Configuración de la tienda" > "SEO y URLs". Aquí es donde controlamos las URLs de la tienda.
2.3. Activa SSL
Dentro de la pestaña "Opciones de URL", verás una opción que dice "Activar SSL". Márcala como "Sí". Luego, busca "Activar SSL en todas las páginas" y también ponla en "Sí". Guarda los cambios.
[WARNING] No olvides hacer clic en "Guardar". Si no lo haces, los cambios no se aplicarán.
2.4. Configura las URLs de la tienda
En la misma sección, asegúrate de que las URLs de la tienda (tanto la principal como la de la tienda) empiecen con https://. Por ejemplo:
- URL de la tienda:
https://tudominio.com - URL de la tienda (SSL):
https://tudominio.com
Si ves que alguna tiene http://, cámbiala manualmente.
2.5. Verifica que el HTTPS funcione
Ahora, visita tu tienda desde el front-end. Deberías ver el candado verde en todas las páginas. Si ves un candado con un triángulo amarillo o una advertencia, es señal de contenido mixto. No te alarmes, lo solucionamos en el siguiente paso.
Paso 3: Evitar el error de contenido mixto en PrestaShop
El error de contenido mixto ocurre cuando tu página HTTPS carga recursos (imágenes, CSS, JavaScript, fuentes) a través de HTTP. Los navegadores modernos bloquean estos recursos por seguridad. Aquí te explico cómo detectarlos y corregirlos.
3.1. Usa la herramienta de desarrollo del navegador
Abre tu tienda en Google Chrome o Firefox, haz clic derecho en cualquier parte y selecciona "Inspeccionar". Luego ve a la pestaña "Consola". Si ves mensajes como "Mixed Content: The page at '...' was loaded over HTTPS, but requested an insecure resource '...'", esos son los culpables.
3.2. Corrige las imágenes y enlaces en PrestaShop
El problema más común son las imágenes subidas con URL absoluta HTTP. Para solucionarlo:
- Usa URLs relativas: En lugar de
http://tudominio.com/img/producto.jpg, usa/img/producto.jpg(sin el dominio). Esto hace que el navegador use el mismo protocolo que la página. - Reemplaza manualmente: Si tienes muchas imágenes, puedes usar un módulo como "SSL Redirection" o "Fix Mixed Content" (gratuitos en el marketplace de PrestaShop). También puedes editar la base de datos, pero eso es más avanzado.
3.3. Revisa los módulos y temas
Algunos módulos o temas de terceros pueden cargar recursos HTTP. Por ejemplo, fuentes de Google o scripts de redes sociales. Para solucionarlo:
- Actualiza todo: Asegúrate de que tu tema y módulos estén en su última versión. Los desarrolladores suelen corregir estos errores.
- Edita manualmente: Si sabes de código, busca en los archivos del tema (carpeta
themes/tu-tema/) cualquier referencia ahttp://y cámbiala ahttps://o a URLs relativas.
3.4. Fuerza HTTPS desde el archivo .htaccess
Si aún tienes problemas, puedes forzar todo el tráfico a HTTPS desde el servidor. En cPanel, ve a "Administrador de archivos" y busca el archivo .htaccess en la raíz de tu tienda (carpeta public_html). Añade estas líneas al principio:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
Guarda los cambios y prueba de nuevo.
[TIP] Si no ves el archivo
.htaccess, asegúrate de que en el Administrador de archivos tengas activada la opción "Mostrar archivos ocultos".
3.5. Usa un plugin de redirección SSL
Existen módulos gratuitos como "SSL Redirection" que hacen todo automáticamente. Búscalo en el marketplace de PrestaShop, instálalo y configúralo para que redirija todo el tráfico HTTP a HTTPS.
Paso 4: Verifica que todo funcione correctamente
Después de aplicar los cambios, es hora de hacer una comprobación final.
4.1. Prueba varias páginas
Visita diferentes secciones de tu tienda: inicio, categorías, producto, carrito, y páginas de pago. Asegúrate de que todas tengan el candado verde.
4.2. Usa herramientas online
Puedes usar sitios como SSL Labs (www.ssllabs.com) para verificar la seguridad de tu certificado. También Why No Padlock (www.whynopadlock.com) te ayuda a detectar contenido mixto específico.
4.3. Revisa el SEO
Después de migrar a HTTPS, es normal que Google tarde unos días en actualizar las URLs. Para acelerar el proceso, ve a Google Search Console y notifica el cambio de dominio (de HTTP a HTTPS). También actualiza tu sitemap.
Preguntas frecuentes (FAQ) sobre SSL en PrestaShop con cPanel
¿Por qué veo un candado roto después de activar SSL?
Esto indica contenido mixto. Sigue los pasos del Paso 3 para detectar y corregir los recursos inseguros.
¿El SSL afecta la velocidad de mi tienda?
No significativamente. De hecho, con HTTP/2 (que requiere HTTPS), tu tienda puede cargar más rápido. Eso sí, asegúrate de tener un buen hosting.
¿Puedo usar SSL gratuito de Let's Encrypt en cPanel?
Sí, la mayoría de los hostings lo ofrecen. En cPanel, busca "Let's Encrypt SSL" o "AutoSSL" y actívalo. Es igual de seguro que uno de pago.
¿Qué hago si mi hosting usa Syspanel (HestiaCP)?
El proceso es similar, pero accedes por el puerto 2106 (ejemplo: https://tudominio.com:2106). Busca la sección de "SSL" o "Certificados" e instala el certificado. Luego, en PrestaShop, sigue los mismos pasos.
¿Necesito cambiar todas las URLs de mis productos manualmente?
No necesariamente. Si usas URLs relativas en las imágenes, el navegador se adapta automáticamente. Para enlaces externos, revisa los módulos y temas.
Consejos finales para mantener tu SSL funcionando
- Renueva el certificado: Si usas Let's Encrypt, caduca cada 90 días. cPanel suele renovarlo automáticamente, pero verifica de vez en cuando.
- Actualiza PrestaShop: Las versiones recientes manejan mejor el SSL y el contenido mixto.
- Haz copias de seguridad: Antes de hacer cambios grandes, respalda tu tienda desde cPanel (opción "Copias de seguridad").
- Prueba en un entorno de pruebas: Si tienes dudas, activa un subdominio (como
test.tudominio.com) para practicar.
[WARNING] No olvides que después de cambiar a HTTPS, todas las URLs antiguas con HTTP deben redirigir a las nuevas. Si no lo haces, perderás tráfico y posicionamiento. El archivo
.htaccessque te mostré arriba se encarga de eso.
Conclusión
Configurar SSL en PrestaShop con cPanel es un proceso sencillo si sigues los pasos adecuados. Lo más importante es activar el certificado, configurar HTTPS en el back office y corregir el error de contenido mixto que puede aparecer. Recuerda que un sitio seguro no solo protege a tus clientes, sino que también mejora tu SEO y la confianza en tu marca.
Si tienes alguna duda, no dudes en contactar con tu soporte técnico. ¡Estamos aquí para ayudarte! Ahora ve y haz que tu tienda sea 100% segura. ¡Tú puedes!
¿Te ha sido útil esta guía? Si necesitas más ayuda con PrestaShop, cPanel o cualquier otro tema, solo dilo. ¡Estoy para servirte!
