Cómo habilitar SSL en PrestaShop usando cPanel y Let's Encrypt
¿Por Qué Necesitas SSL en tu Tienda PrestaShop?
Tener un certificado SSL (Secure Sockets Layer) en tu tienda PrestaShop ya no es una opción, es una necesidad absoluta. Este protocolo de seguridad cifra la información que viaja entre el navegador de tus clientes y tu servidor, protegiendo datos sensibles como contraseñas, direcciones y, sobre todo, números de tarjetas de crédito.
Más allá de la seguridad, habilitar HTTPS en PrestaShop tiene un impacto directo en tu negocio:
- Confianza del cliente: El candado verde y el "https://" en la barra de direcciones transmiten profesionalismo y seguridad. Los visitantes se sienten más cómodos comprando.
- Mejora del SEO (Posicionamiento Web): Google y otros motores de búsqueda dan prioridad a los sitios con HTTPS. Un certificado SSL PrestaShop es un factor de ranking positivo.
- Requisito para pagos: Pasarelas de pago como PayPal, Stripe o Redsys exigen que la tienda esté servida bajo HTTPS para procesar transacciones.
- Cumplimiento normativo: Ayuda a cumplir con regulaciones como el GDPR (Reglamento General de Protección de Datos) en Europa.
La buena noticia es que puedes obtener un certificado SSL de forma totalmente gratuita y automatizada gracias a Let's Encrypt. En esta guía, te explicaré paso a paso cómo instalar y configurar SSL PrestaShop cPanel usando Let's Encrypt, y luego cómo forzar el uso de HTTPS en tu tienda.
Requisitos Previos Antes de Empezar
Antes de lanzarnos a la instalación, asegúrate de cumplir con estos puntos:
- Acceso a cPanel: Necesitas las credenciales de administrador de tu hosting (usuario y contraseña de cPanel).
- Dominio propio: Tu tienda debe funcionar con un dominio (ej:
tutienda.com) y no con una subcarpeta o subdominio gratuito. - PrestaShop instalado: Asumimos que ya tienes PrestaShop funcionando en tu servidor.
- Apache con mod_ssl: La mayoría de los hostings compartidos ya lo tienen activado. Si usas un VPS, deberás asegurarte.
[INFO] Si tu hosting usa el panel Syspanel (antes conocido como HestiaCP), el proceso es similar, pero accederás a la sección de "SSL" desde la interfaz de Syspanel en el puerto 2106 (ej:
https://tudominio.com:2106). Busca la opción de "Let's Encrypt SSL" para tu dominio.
Paso 1: Instalar el Certificado SSL con Let's Encrypt desde cPanel
Este es el paso más sencillo. cPanel, en la mayoría de sus versiones modernas, incluye un instalador automático para Let's Encrypt.
- Inicia sesión en tu cPanel. La URL suele ser
tudominio.com/cpanelotudominio.com:2083. - Busca la sección "Seguridad" y haz clic en el icono "SSL/TLS" o "Let's Encrypt SSL". El nombre exacto puede variar según el tema de cPanel.
- Dentro de la herramienta SSL, busca la opción que diga "Instalar un certificado SSL de Let's Encrypt" o similar. A menudo está en un submenú llamado "SSL/TLS Status" o "Manage Auto SSL".
- Se te mostrará una lista de tus dominios. Busca el dominio principal de tu tienda PrestaShop (ej:
tutienda.com) y también su versión conwww(ej:www.tutienda.com). Marca la casilla junto a él. - Haz clic en el botón "Instalar" o "Emitir". cPanel se comunicará con los servidores de Let's Encrypt, verificará que tu dominio existe y emitirá el certificado.
- Verás un mensaje de éxito como "El certificado se ha instalado correctamente". El proceso suele durar menos de un minuto.
[TIP] Si no ves la opción de Let's Encrypt, contacta con tu proveedor de hosting. Algunos tienen su propio instalador o lo ofrecen a través de un plugin llamado "AutoSSL". En ese caso, el proceso es automático y no tienes que hacer nada manualmente.
Paso 2: Verificar que el Certificado SSL Funciona
Después de la instalación, es importante comprobar que todo está bien.
- Abre una ventana de incógnito en tu navegador (Chrome, Firefox, etc.).
- Escribe
https://tudominio.com(reemplaza con tu dominio real). Deberías ver el candado verde en la barra de direcciones. - Haz clic en el candado y luego en "La conexión es segura" o "Certificado". Deberías ver que el certificado ha sido emitido por "Let's Encrypt Authority X3" y que es válido.
Si ves algún error como "Tu conexión no es privada" o "NET::ERR_CERT_AUTHORITY_INVALID", puede deberse a que el certificado aún no se ha propagado (espera unos minutos) o a que hay un problema con la instalación. Vuelve al paso 1 y asegúrate de que el dominio esté correctamente seleccionado.
Paso 3: Configurar PrestaShop para Usar HTTPS
Ahora que el certificado está instalado en el servidor, debemos decirle a PrestaShop que lo use. Esto se hace desde el back office de tu tienda.
- Accede a tu back office de PrestaShop (normalmente en
tudominio.com/admin). - Ve al menú "Parámetros de la tienda" > "Tráfico y SEO".
- En la pestaña "SEO y URLs", busca la opción "URL de la tienda".
- Verás dos campos: "URL base del catálogo (SSL)" y "URL de la tienda".
- "URL de la tienda" debe tener el formato
http://tudominio.com. - "URL base del catálogo (SSL)" debe tener el formato
https://tudominio.com.
- "URL de la tienda" debe tener el formato
- Importante: En la parte inferior de esta misma página, busca la opción "Habilitar SSL". Cámbiala a "Sí".
- También encontrarás la opción "Habilitar SSL en todas las páginas". Actívala a "Sí". Esto forzará que todo el sitio, incluyendo el catálogo, el carrito y el proceso de pago, se sirva bajo HTTPS.
- Haz clic en "Guardar".
[WARNING] Al activar SSL, PrestaShop puede cerrar tu sesión de administrador y redirigirte a la versión HTTPS. No te asustes, es normal. Vuelve a iniciar sesión en
https://tudominio.com/admin.
Paso 4: Forzar HTTPS en Todo el Sitio (Redirección 301)
Aunque hayas activado SSL en PrestaShop, es posible que algunos visitantes lleguen a la versión http:// (sin la "s") a través de enlaces antiguos o marcadores. Para evitar tener contenido duplicado y asegurar que todos naveguen por HTTPS, debemos crear una redirección 301.
Existen dos métodos principales: a través del archivo .htaccess (recomendado para usuarios con algo de experiencia) o mediante un módulo de PrestaShop.
Método A: Redirección desde el archivo .htaccess
- Desde cPanel, ve a la sección "Archivos" > "Administrador de archivos".
- Navega hasta la carpeta raíz de tu tienda (normalmente
public_htmlo una carpeta con el nombre de tu dominio). - Busca el archivo llamado
.htaccess. Si no lo ves, asegúrate de tener activada la opción "Mostrar archivos ocultos" (dot files). - Haz clic derecho sobre
.htaccessy selecciona "Editar". - Busca la línea que dice
# ~~start~~o similar. Justo ANTES de esa línea, pega el siguiente código:
# Redirección 301 de HTTP a HTTPS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- Guarda los cambios y cierra el editor.
Método B: Usar un Módulo de PrestaShop
Si no te sientes cómodo editando archivos, puedes instalar un módulo gratuito como "Force HTTPS" o "Redirect HTTP to HTTPS" desde el marketplace de PrestaShop. Estos módulos hacen el mismo trabajo de forma automática.
Paso 5: Actualizar URLs Internas y Verificar Contenido Mixto
Un error común después de activar SSL es que algunos elementos de tu tienda (imágenes, CSS, JavaScript) sigan cargándose desde http://. Esto se conoce como "contenido mixto" y hará que el candado verde desaparezca.
Para solucionarlo:
- Regenera las miniaturas de imágenes: Ve a "Parámetros de la tienda" > "Imágenes" > "Regenerar miniaturas". Selecciona "Todas" y ejecuta el proceso. Esto actualizará las URLs de las imágenes a HTTPS.
- Reindexa el catálogo: Ve a "Parámetros avanzados" > "Rendimiento" y haz clic en "Forzar compilación" y luego en "Limpiar caché".
- Verifica con herramientas online: Usa herramientas como "Why No Padlock" o "SSL Checker" para escanear tu web e identificar cualquier recurso que se cargue en HTTP. Si encuentras alguno, deberás localizar el origen (un módulo, el tema, etc.) y corregir su URL.
[TIP] Después de hacer estos cambios, es recomendable que cierres sesión y vuelvas a iniciar sesión en el back office para asegurarte de que todo funciona correctamente.
Solución de Problemas Comunes (FAQ)
Aquí tienes las respuestas a las preguntas más frecuentes sobre cómo habilitar HTTPS en PrestaShop.
P: Después de activar SSL, no puedo acceder al back office. ¿Qué hago?
R: Es probable que PrestaShop haya redirigido la URL del admin a HTTPS. Accede directamente escribiendo https://tudominio.com/admin en tu navegador. Si el problema persiste, revisa el archivo config/settings.inc.php y asegúrate de que las constantes _PS_SSL_ENABLED_ y _PS_SSL_ENABLED_EVERYWHERE_ estén en '1'.
P: Mi certificado SSL de Let's Encrypt se renueva automáticamente, ¿verdad?
R: Sí, cPanel suele gestionar la renovación automática de los certificados de Let's Encrypt. Sin embargo, es buena práctica verificar cada 2-3 meses que el certificado sigue activo. Puedes hacerlo desde la herramienta SSL de cPanel.
P: ¿Puedo usar otro tipo de certificado SSL en lugar de Let's Encrypt?
R: Sí, puedes comprar certificados SSL de pago (como Comodo, GeoTrust, etc.) e instalarlos manualmente desde cPanel en la sección "SSL/TLS" > "Instalar y gestionar SSL para su sitio". El proceso es similar, pero deberás pegar el código del certificado, la clave privada y el bundle de CA.
P: Mi tienda usa Syspanel (HestiaCP). ¿El proceso es el mismo?
R: El concepto es el mismo, pero la interfaz cambia. En Syspanel (puerto 2106), busca la sección de "Web" o "Dominios". Haz clic en el icono de lápiz o configuración de tu dominio y activa "Let's Encrypt Support". Luego, desde PrestaShop, sigue los pasos 3, 4 y 5 de esta guía.
P: ¿Qué hago si veo el mensaje "Tu conexión no es privada"?
R: Esto suele ocurrir justo después de instalar el certificado. Espera unos minutos y recarga la página. Si persiste, puede deberse a:
- La fecha y hora de tu ordenador no son correctas.
- El certificado no se ha instalado correctamente (vuelve al paso 1).
- Tu navegador tiene una caché obsoleta (prueba en modo incógnito o borra la caché).
Conclusión: Tu Tienda Más Segura y Mejor Posicionada
Habilitar SSL en PrestaShop usando cPanel y Let's Encrypt es un proceso sencillo que cualquier propietario de una tienda online puede realizar siguiendo estos pasos. No solo protegerás los datos de tus clientes, sino que también mejorarás tu posicionamiento en Google y aumentarás la confianza en tu marca.
Recuerda que la seguridad es un proceso continuo. Mantén tu PrestaShop, tus módulos y tu tema siempre actualizados para garantizar la máxima protección. ¡Ahora ya tienes las herramientas para hacerlo!
