Cómo instalar un certificado SSL para PrestaShop en Syspanel (y evitar errores mixtos)
¡Hola! Si estás leyendo esto, seguramente ya tienes una tienda online con PrestaShop y has decidido dar el salto a la seguridad total. Y es que, desde que Google marca como "No segura" cualquier web sin cifrado, tener un certificado SSL para PrestaShop es más una necesidad que una opción.
En esta guía extensa y muy práctica, vamos a desgranar todo el proceso para que instales tu certificado SSL en Syspanel sin volverte loco y, lo más importante, evitando esos molestos errores mixtos que hacen que tu candado aparezca roto. Vamos a ello.
¿Por qué necesitas un certificado SSL en PrestaShop?
Antes de ponernos manos a la obra, es crucial entender qué estamos haciendo y por qué. Un certificado SSL (Secure Sockets Layer) no es más que un archivo de datos que vincula una clave criptográfica a los datos de tu tienda. Al activarlo, activas el protocolo HTTPS en tu web.
Esto significa que la información que viaja entre el navegador del cliente y tu servidor (como contraseñas, números de tarjeta o datos personales) va cifrada. Imagina que envías una carta en una caja fuerte en lugar de un sobre transparente. Los beneficios son inmediatos:
- Seguridad real: Proteges los datos de tus clientes y los tuyos propios.
- Confianza del usuario: Los clientes ven el candado verde y la palabra "Seguro" en la barra de direcciones. Esto aumenta la conversión.
- Posicionamiento SEO: Google da prioridad a las webs con HTTPS. Sin SSL, tu tienda estará por detrás de tu competencia en los resultados de búsqueda.
- Compatibilidad: Necesitas HTTPS para poder cobrar con pasarelas de pago modernas como PayPal, Stripe o Redsys.
Paso 1: Solicitar y activar el certificado SSL en Syspanel
Syspanel (el panel de control que gestiona tu hosting, antes conocido como HestiaCP) facilita mucho este trámite. Normalmente, tu proveedor de hosting ya lo tiene integrado con Let's Encrypt, que ofrece certificados gratuitos y válidos por 90 días (renovables automáticamente).
Aquí tienes los pasos exactos, aunque la interfaz puede variar ligeramente según la versión de Syspanel que uses. Recuerda que el acceso a Syspanel suele ser a través del puerto 2106 (por ejemplo, https://tu-dominio.com:2106).
- Accede a tu panel Syspanel: Abre tu navegador y ve a la URL de tu panel. Introduce tu usuario y contraseña.
- Busca la sección "Web" o "Dominios": En el menú lateral o superior, verás una lista de tus sitios web. Haz clic en el dominio de tu tienda (por ejemplo,
www.tutienda.com). - Localiza la opción SSL: Dentro de la configuración de tu dominio, busca una pestaña o botón que diga "SSL" o "SSL Certificate".
- Activa Let's Encrypt: Verás un formulario. Marca la opción que dice "Let's Encrypt" y asegúrate de seleccionar todos los subdominios que necesites (normalmente
wwwy el dominio raíz, es decir,tutienda.comywww.tutienda.com). A veces hay una casilla para "Forzar HTTPS" o "Redirigir HTTP a HTTPS". Márcala para que todo el mundo use la versión segura. - Instala el certificado: Haz clic en el botón "Guardar" o "Instalar". El sistema tardará unos segundos en generar e instalar el certificado.
[TIP]
Si tienes varios dominios o subdominios, asegúrate de que el certificado cubra todos los que usas para la tienda. Si usaswww.tutienda.comytutienda.compor separado, necesitas ambos en el certificado para evitar errores mixtos aquí.
Paso 2: Configurar PrestaShop para forzar HTTPS
Instalar el certificado en el servidor es solo la mitad del trabajo. Ahora tienes que decirle a PrestaShop que lo use. Si no haces este paso, tu tienda seguirá cargando los recursos por HTTP y tendrás el famoso problema de "contenido mixto".
Este es un paso crítico para evitar errores mixtos en PrestaShop.
- Accede al Panel de Administración de PrestaShop: Ve a
tudominio.com/admin(o la URL que configuraste). - Ve a Parámetros Avanzados: En el menú lateral izquierdo, busca la sección "Parámetros Avanzados".
- Selecciona "General": Dentro de esa sección, haz clic en "General".
- Configura las URLs de la tienda: Aquí verás el campo "URL de la tienda" y "URL de SSL". Deben ser exactamente las mismas, pero empezando por
https://.- URL de la tienda:
https://tutienda.com - URL de SSL:
https://tutienda.com - Si usas
www, inclúyelo:https://www.tutienda.com.
- URL de la tienda:
- Activa SSL: En la misma página, busca la opción "Activar SSL" y ponla en Sí. Justo debajo, verás "Activar SSL en todas las páginas". Ponla en Sí también. Esto es clave para forzar HTTPS en todo el sitio, desde el carrito hasta el checkout.
[WARNING]
¡OJO! No guardes aún. Hay un orden lógico. Primero cambia las URLs a HTTPS y activa el SSL. Si activas SSL antes de cambiar las URLs, podrías quedarte atrapado en un bucle de redirecciones. Guarda los cambios y, si la página se queda en blanco o da error, no te asustes, respira y vuelve a intentarlo. A veces hay que esperar unos minutos a que el DNS y la caché se actualicen.
Paso 3: Corregir errores de contenido mixto (Errores Mixtos PrestaShop)
Aquí es donde la mayoría de la gente se frustra. Has instalado el certificado, has activado HTTPS, pero al abrir tu web, el candado aparece con un signo de advertencia amarillo. Eso es un error mixto: tu página se carga por HTTPS, pero está intentando cargar recursos (imágenes, CSS, JavaScript) por HTTP.
Esto ocurre porque PrestaShop almacena las URLs de los productos, imágenes y módulos en su base de datos con la URL antigua http://. Hay que actualizar esas referencias. No te preocupes, no hay que hacerlo a mano uno a uno.
Solución con la Base de Datos (Método Avanzado pero Seguro)
Este método es el más completo y recomendado para tiendas con muchos productos. Necesitarás acceso a la base de datos MySQL. Puedes hacerlo desde Syspanel (sección "Bases de Datos") o desde phpMyAdmin.
- Haz una copia de seguridad: Antes de tocar nada en la base de datos, exporta una copia de seguridad. Esto es obligatorio.
- Accede a phpMyAdmin: Dentro de Syspanel, en la sección de tu base de datos, verás un botón que dice "phpMyAdmin". Haz clic.
- Selecciona tu base de datos: En el panel izquierdo, haz clic en el nombre de la base de datos de tu PrestaShop.
- Ve a la pestaña SQL: En la parte superior, verás una pestaña que dice "SQL". Haz clic en ella.
- Ejecuta las siguientes consultas: Copia y pega cada una de estas líneas en el cuadro de texto y ejecútalas una a una. Reemplaza
tudominio.compor tu dominio real (ywww.tudominio.comsi lo usas).
UPDATE ps_configuration SET value = 'https://tudominio.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');
UPDATE ps_shop_url SET domain = 'tudominio.com', domain_ssl = 'tudominio.com' WHERE id_shop = 1;
UPDATE ps_product SET reference = REPLACE(reference, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_product_attribute SET reference = REPLACE(reference, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_product_shop SET reference = REPLACE(reference, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_image_shop SET image_shop = REPLACE(image_shop, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_meta SET url_rewrite = REPLACE(url_rewrite, 'http://tudominio.com', 'https://tudominio.com');
[WARNING]
IMPORTANTE: El prefijops_es el predeterminado, pero puede ser diferente si lo cambiaste al instalar PrestaShop (por ejemplo,shop_oprestashop_). Revisa el nombre de tus tablas en phpMyAdmin antes de ejecutar. Si ejecutas una consulta con un prefijo incorrecto, dará error. No pasa nada, solo cámbialo y vuelve a intentarlo.
Solución con Módulos (Método Fácil)
Si no te sientes cómodo tocando la base de datos, existe una alternativa más amigable. Busca en el marketplace de PrestaShop módulos como "Force HTTPS" o "Fix Mixed Content". Estos módulos escanean tu web y reemplazan automáticamente las URLs HTTP por HTTPS en todas las imágenes y enlaces.
- Instala el módulo desde el back office (Módulos > Módulos y Servicios).
- Configúralo para que fuerce HTTPS y corrija el contenido mixto.
- Ejecuta el escaneo y deja que el módulo haga su magia.
Paso 4: Limpiar la caché de PrestaShop
Después de hacer todos estos cambios, es muy probable que la caché de PrestaShop siga guardando las versiones antiguas de las páginas. Es fundamental limpiarla para que los cambios se vean reflejados al instante.
- Ve a Parámetros Avanzados > Rendimiento.
- Haz clic en "Vaciar la caché" (o "Limpiar la caché"). Verás un botón verde en la parte superior de la página.
- También puedes borrar la caché manualmente desde tu servidor. Accede a tu hosting por FTP o desde el administrador de archivos de Syspanel y elimina el contenido de la carpeta
/var/www/tudominio.com/cache(ocache/smarty/compileycache/smarty/cache).
Paso 5: Verificar que todo funciona correctamente
Ya casi lo tenemos. Ahora toca la fase de pruebas. Abre tu tienda en una ventana de incógnito (Ctrl+Shift+N en Chrome, Ctrl+Shift+P en Firefox) para evitar la caché de tu navegador.
- Revisa el candado: Deberías ver un candado cerrado en la barra de direcciones.
- Haz clic en el candado: Te mostrará la información del certificado y si la conexión es segura. Debería decir "Conexión segura" o "Certificado válido".
- Recorre la tienda: Visita una categoría, un producto, añádelo al carrito y llega hasta el checkout. Asegúrate de que en todas las páginas el candado sigue apareciendo.
- Busca el error mixto: Si el candado aparece con una "i" o una advertencia amarilla, significa que aún hay contenido mixto. Pulsa F12 para abrir las herramientas de desarrollador, ve a la pestaña "Consola" y busca mensajes de error que digan "Mixed Content". Te dirá exactamente qué URL está intentando cargar por HTTP.
[INFO]
No te saltes este paso. Es mucho más fácil corregir un error ahora que descubrirlo cuando un cliente te llame porque no puede pagar.
Errores comunes y cómo solucionarlos
Aunque hayas seguido todos los pasos, a veces surgen problemas. Aquí tienes los más comunes y sus soluciones:
"El sitio web no proporciona una conexión segura" (Error 404 o 500)
- Causa: A menudo es un problema de redirección en bucle. Has activado SSL pero las URLs en PrestaShop no se han actualizado correctamente.
- Solución: Vuelve a los Parámetros Avanzados > General de PrestaShop y asegúrate de que la URL de la tienda y la URL de SSL son exactamente
https://tudominio.com. Si no puedes acceder al back office, entra a tu base de datos por phpMyAdmin y ejecuta la consulta SQL que actualizaPS_SHOP_DOMAIN.
"Hay contenido mixto" en el checkout
- Causa: Algún módulo de pago o de envío está generando URLs HTTP.
- Solución: Revisa la configuración de esos módulos. A veces tienen su propio campo de "URL de tienda". También puedes usar el módulo "Fix Mixed Content" para forzar la corrección en tiempo real.
El certificado se renueva pero deja de funcionar
- Causa: La renovación automática de Let's Encrypt falla.
- Solución: En Syspanel, dentro de la sección SSL de tu dominio, verás la fecha de expiración. Si ves que no se renueva, intenta desactivar y reactivar Let's Encrypt. Si el problema persiste, contacta con tu proveedor de hosting.
Preguntas Frecuentes (FAQ) sobre SSL en PrestaShop
Para terminar, resolvamos las dudas más habituales que recibimos en soporte.
¿Necesito un certificado SSL de pago o vale con el gratuito de Let's Encrypt?
Para una tienda online estándar, el certificado gratuito de Let's Encrypt es más que suficiente. Es válido, seguro y reconocido por todos los navegadores. Los certificados de pago ofrecen garantías adicionales y soporte, pero técnicamente el nivel de cifrado es el mismo.
¿Cuánto tarda en instalarse el certificado SSL en Syspanel?
La instalación es casi instantánea. Una vez que haces clic en "Instalar", el certificado se genera en menos de un minuto. Sin embargo, la propagación de los cambios y la actualización de la caché pueden tardar un poco más.
¿Qué pasa si tengo una tienda con varios idiomas o subdominios?
Necesitas que el certificado cubra todos tus dominios y subdominios. En Syspanel, cuando activas Let's Encrypt, asegúrate de marcar todas las casillas disponibles. En PrestaShop, tendrás que configurar las URLs por cada tienda o idioma en Parámetros Avanzados > Multitienda.
¿Por qué mi web sigue apareciendo como "No segura" después de instalar el SSL?
Esto es casi seguro un problema de contenido mixto. El navegador detecta que la página principal es HTTPS, pero está intentando cargar recursos (imágenes, scripts) por HTTP. Revisa la consola del navegador (F12) para identificar los recursos problemáticos y sigue los pasos de la Sección 3 de este artículo.
¿Es obligatorio tener HTTPS para el SEO?
Sí, es un factor de posicionamiento. Google lo confirmó oficialmente. Además, si tu competencia tiene HTTPS y tú no, ellos tendrán una ventaja competitiva en los resultados de búsqueda.
Esperamos que esta guía te haya sido de gran ayuda. Como ves, instalar un certificado SSL en Syspanel y configurar HTTPS en PrestaShop es un proceso muy manejable si sigues los pasos en orden. La clave está en la paciencia y en verificar cada cambio.
Si has llegado hasta aquí y todo funciona, ¡enhorabuena! Ya tienes una tienda segura y lista para vender. Si te surge cualquier otra duda, no dudes en consultar nuestra base de conocimiento o contactar con nuestro equipo de soporte. ¡Nos vemos en el siguiente artículo!
