Guía para configurar SSL en PrestaShop con Let's Encrypt
¿Por Qué es Fundamental Tener SSL en tu PrestaShop?
Si tienes una tienda online con PrestaShop, la seguridad no es un lujo, es una necesidad. Implementar SSL PrestaShop no solo protege los datos de tus clientes, sino que también mejora tu posicionamiento en buscadores. Google penaliza los sitios sin HTTPS, y los navegadores modernos marcan tu tienda como "No segura", lo que puede ahuyentar a los compradores.
Afortunadamente, hoy en día configurar SSL es más fácil y económico que nunca gracias a Let's Encrypt, una autoridad certificadora gratuita, automatizada y abierta. En esta guía, te explicaré paso a paso cómo instalar y configurar Let's Encrypt PrestaShop para que tu tienda vuele con la máxima seguridad.
[INFO] Let's Encrypt emite certificados SSL/TLS gratuitos con validez de 90 días. La mayoría de los paneles de control (como cPanel, Syspanel o Plesk) ofrecen renovación automática, por lo que una vez configurado, no tendrás que preocuparte.
Requisitos Antes de Empezar
Antes de lanzarnos a la configuración, asegúrate de cumplir con estos requisitos básicos:
- Acceso a tu panel de hosting. Necesitarás poder gestionar tu dominio y los archivos de tu tienda.
- Un dominio apuntando a tu servidor. Let's Encrypt verificará que eres el dueño del dominio.
- PrestaShop instalado y funcionando. Idealmente en una versión reciente (1.7 o superior).
- Acceso SSH o a un panel de control. Usaremos la herramienta Certbot, que suele venir integrada en los paneles más comunes.
- Puerto 80 (HTTP) abierto. Let's Encrypt necesita este puerto para la validación del dominio.
Si tu hosting utiliza Syspanel (el panel que muchos conocen como HestiaCP), el acceso se realiza a través del puerto 2106. Por ejemplo: https://tudominio.com:2106.
Paso 1: Instalar el Certificado SSL con Let's Encrypt
El método más común y recomendado es usar Certbot, el cliente oficial de Let's Encrypt. La forma de ejecutarlo depende de tu panel de control.
Opción A: Si usas Syspanel (HestiaCP)
Syspanel incluye un script de Let's Encrypt muy sencillo. Conéctate por SSH a tu servidor o usa la terminal integrada en el panel.
-
Accede a tu servidor vía SSH.
-
Ejecuta el siguiente comando, reemplazando
tudominio.compor tu dominio real:sudo /usr/local/hestia/bin/v-add-letsencrypt-domain 'admin' 'tudominio.com' 'yes'admines el usuario administrador (cámbialo si usas otro).yesal final indica que quieres forzar HTTPS (redirección automática de HTTP a HTTPS).
[TIP] En Syspanel, tras ejecutar el comando, puedes verificar el estado del certificado en la sección "Web" > "SSL" de tu dominio.
Opción B: Si usas cPanel o Plesk
La mayoría de estos paneles tienen un asistente gráfico para Let's Encrypt.
- cPanel: Ve a "SSL/TLS" > "Let's Encrypt". Selecciona tu dominio y haz clic en "Emitir".
- Plesk: Ve a "Hosting" > "SSL/TLS" y luego en "Let's Encrypt". Marca tu dominio y pulsa "Instalar".
Opción C: Instalación manual con Certbot (sin panel)
Si tu hosting no tiene panel o prefieres hacerlo manual:
-
Conéctate por SSH a tu servidor.
-
Instala Certbot (en Ubuntu/Debian):
sudo apt update sudo apt install certbot python3-certbot-apache(Si usas Nginx, cambia
apachepornginx). -
Ejecuta el comando para obtener el certificado:
sudo certbot --apache -d tudominio.com -d www.tudominio.comSigue las instrucciones en pantalla. Certbot modificará automáticamente la configuración de tu servidor web.
[WARNING] Asegúrate de que tu dominio apunte a la IP de tu servidor antes de ejecutar Certbot. Si estás en un entorno de desarrollo local, Let's Encrypt no podrá validar el dominio.
Paso 2: Configurar PrestaShop para Usar HTTPS
Una vez que el certificado está instalado, toca decirle a PrestaShop que ya puede usar HTTPS. Este paso es crucial para evitar el temido "contenido mixto" (recursos cargados sobre HTTP en una página HTTPS).
Configuración desde el Back Office
- Accede a tu panel de administración de PrestaShop (normalmente en
/admin). - Ve a "Parámetros de la tienda" > "General".
- En la sección "Configuración de la tienda", busca la opción "Habilitar SSL" y actívala (ponla en "Sí").
- Justo debajo, activa también "Habilitar SSL en todas las páginas". Esto forzará HTTPS en todo tu catálogo, carrito, proceso de pago, etc.
- Guarda los cambios.
[INFO] Al activar SSL en todas las páginas, PrestaShop redirigirá automáticamente cualquier visita HTTP a HTTPS. ¡No necesitas tocar el
.htaccesspara esto!
Verificar la Configuración
Para asegurarte de que todo funciona:
- Abre tu tienda en un navegador (usa una ventana de incógnito para evitar caché).
- Deberías ver el candado verde en la barra de direcciones.
- Haz clic en el candado y revisa que la conexión sea segura.
- Navega por varias páginas (categorías, producto, carrito) y verifica que no aparezcan advertencias de "contenido mixto".
Paso 3: Forzar HTTPS en Todo el Sitio (Redirección 301)
Aunque PrestaShop ya redirige internamente, es buena práctica forzar HTTPS desde el servidor web. Esto asegura que incluso si alguien escribe http://tudominio.com, sea redirigido automáticamente a https://tudominio.com.
Para Apache (archivo .htaccess)
Si tu servidor usa Apache, añade estas líneas al principio del archivo .htaccess que está en la raíz de tu tienda (normalmente en /public_html/ o /var/www/tudominio.com/):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
[WARNING] Haz una copia de seguridad de tu
.htaccessantes de editarlo. Un error puede dejar tu tienda inaccesible.
Para Nginx
Si usas Nginx, edita el bloque del servidor (normalmente en /etc/nginx/sites-available/tudominio.com) y añade:
server {
listen 80;
server_name tudominio.com www.tudominio.com;
return 301 https://$server_name$request_uri;
}
Luego recarga Nginx: sudo systemctl reload nginx.
Paso 4: Actualizar URLs Internas y Recursos Mixtos
Uno de los errores más comunes tras activar SSL es que algunos recursos (imágenes, CSS, JS) sigan cargándose desde HTTP, lo que provoca advertencias de seguridad.
Usar la herramienta de PrestaShop
PrestaShop 1.7+ incluye un asistente para actualizar URLs:
- Ve a "Parámetros de la tienda" > "General".
- En la sección "Configuración de la tienda", busca "Actualizar las URL de la tienda".
- Haz clic en el botón "Actualizar ahora". Esto cambiará todas las URLs de imágenes y enlaces internos a HTTPS.
Verificar manualmente (opcional)
Si tienes problemas, puedes usar herramientas online como "Why No Padlock" o "SSL Checker" para identificar qué recursos se cargan en HTTP. Luego, revisa en tu back office que las URLs de las imágenes de productos, categorías y módulos estén configuradas con HTTPS.
[TIP] Si usas un CDN (como Cloudflare), asegúrate de que también esté configurado para usar HTTPS. En Cloudflare, activa la opción "Full (strict)" en la sección SSL/TLS.
Paso 5: Configurar la Renovación Automática del Certificado
Los certificados de Let's Encrypt caducan cada 90 días. La mayoría de los paneles de control (Syspanel, cPanel, Plesk) renuevan automáticamente los certificados. Sin embargo, es bueno verificarlo.
En Syspanel (HestiaCP)
Syspanel tiene una tarea cron que ejecuta la renovación automática cada día. Puedes verificarlo en:
/etc/cron.d/hestia-ssl
O simplemente ejecuta manualmente el comando de renovación:
sudo /usr/local/hestia/bin/v-update-letsencrypt-ssl
En servidores sin panel
Si instalaste Certbot manualmente, la renovación automática suele venir configurada. Verifica con:
sudo certbot renew --dry-run
Si todo está bien, Certbot te dirá que la renovación de prueba fue exitosa.
[WARNING] Si tu servidor tiene un firewall, asegúrate de que el puerto 443 (HTTPS) esté abierto para que el tráfico seguro pueda llegar.
Preguntas Frecuentes (FAQ)
¿Puedo usar Let's Encrypt en un entorno de desarrollo local?
No directamente. Let's Encrypt necesita que tu dominio sea accesible públicamente para validar la propiedad. Para entornos locales, puedes usar certificados autofirmados o herramientas como mkcert.
¿Qué hago si después de activar SSL veo un error de "contenido mixto"?
Revisa que todas las URLs de imágenes, CSS y JS en tu PrestaShop estén en HTTPS. Usa la herramienta de actualización de URLs del back office. Si el error persiste, revisa los módulos de terceros, algunos pueden tener URLs hardcodeadas en HTTP.
¿Es necesario tener un certificado SSL si mi tienda no vende productos?
Sí, absolutamente. Google exige HTTPS para todos los sitios web, incluso los informativos. Además, proteges la navegación de tus usuarios y mejoras tu SEO.
¿Let's Encrypt es seguro para una tienda online?
Sí, Let's Encrypt ofrece el mismo nivel de cifrado que los certificados de pago (AES-256). La única diferencia es que son de validación de dominio (DV), no de organización (OV) o extendida (EV). Para la mayoría de las tiendas, es más que suficiente.
¿Cómo sé si mi certificado se renovó correctamente?
Puedes usar herramientas online como "SSL Labs SSL Test" para verificar la validez de tu certificado. También puedes revisar en tu panel de control la fecha de caducidad.
Conclusión
Configurar SSL PrestaShop con Let's Encrypt es un proceso sencillo que transforma tu tienda en un sitio seguro, confiable y mejor posicionado. Siguiendo estos pasos, habrás logrado:
- Instalar un certificado SSL gratuito y automatizado.
- Configurar PrestaShop para usar HTTPS en todas las páginas.
- Forzar la redirección de HTTP a HTTPS.
- Asegurar la renovación automática del certificado.
Ahora tu tienda está protegida, tus clientes confiarán más al comprar, y Google te lo recompensará con un mejor ranking. ¡Enhorabuena! Si tienes dudas, recuerda que puedes consultar la documentación oficial de PrestaShop o de Let's Encrypt.
[INFO] Recuerda que la seguridad es un proceso continuo. Mantén tu PrestaShop actualizado, haz copias de seguridad periódicas y revisa de vez en cuando que tu certificado SSL sigue activo. ¡Tu tienda y tus clientes te lo agradecerán!
