Cómo configurar HTTPS y SSL en PrestaShop con DirectAdmin
¿Por qué necesitas SSL en PrestaShop?
Si tienes una tienda online, el candado verde en el navegador ya no es opcional. Google penaliza las páginas sin HTTPS, los clientes desconfían al pagar sin conexión segura y, además, la normativa de protección de datos (RGPD) te obliga a cifrar la información sensible de tus clientes.
En este artículo te voy a explicar, paso a paso, cómo configurar SSL y HTTPS en tu PrestaShop usando DirectAdmin como panel de control. No necesitas ser un experto en servidores, solo seguir las instrucciones con calma. Al final, tendrás tu tienda funcionando con el candado y la "s" de seguro.
¿Qué es DirectAdmin y por qué es importante para tu SSL?
DirectAdmin es un panel de control de hosting, muy popular en servidores Linux, que te permite gestionar dominios, bases de datos, correos y, por supuesto, los certificados SSL. Es la interfaz gráfica que te evita tocar configuraciones complejas del servidor.
Para configurar SSL PrestaShop correctamente, primero debes tener el certificado instalado a nivel de servidor. DirectAdmin te ofrece varias opciones: certificados gratuitos (Let's Encrypt) o de pago (Comodo, Sectigo, etc.). Una vez que el servidor tiene el certificado, PrestaShop solo necesita saber que debe usarlo.
Requisitos previos antes de empezar
Antes de tocar nada, asegúrate de tener lo siguiente:
- Acceso a DirectAdmin con permisos de administrador (o de usuario con capacidad para gestionar SSL).
- Acceso al panel de administración de PrestaShop.
- Un dominio propio (nada de subdominios de terceros).
- Copia de seguridad reciente de tu tienda y base de datos. Esto es crítico, por si algo sale mal.
[WARNING] No continúes si no tienes una copia de seguridad reciente. Un error en la configuración SSL puede dejar tu tienda inaccesible temporalmente. Mejor prevenir.
Paso 1: Obtener e instalar el certificado SSL en DirectAdmin
DirectAdmin integra Let's Encrypt, que te permite obtener un certificado SSL gratuito y válido por 90 días. La mayoría de los hosts lo renuevan automáticamente, pero debes activarlo.
1.1. Accede a DirectAdmin
Escribe en tu navegador https://tudominio.com:2222 (o la URL que te haya dado tu proveedor). Introduce tus credenciales.
1.2. Ve a la sección de SSL
En el menú principal, busca la pestaña "SSL Certificates" o "Certificados SSL". En algunas versiones de DirectAdmin, está dentro de "Account Manager" o "Advanced Features".
1.3. Activa Let's Encrypt
Dentro de la sección SSL, verás una pestaña que dice "Let's Encrypt". Haz clic en ella.
- Selecciona tu dominio en el desplegable.
- Marca las casillas para incluir
wwwy el dominio raíz (normalmente se marcan automáticamente). - Haz clic en "Issue Certificate" o "Emitir certificado".
Espera unos segundos. DirectAdmin se comunicará con Let's Encrypt y emitirá el certificado.
1.4. Verifica la instalación
En la misma sección, verás que el certificado aparece como "activo". Puedes comprobarlo visitando https://tudominio.com (aunque aún sin HTTPS forzado en PrestaShop, el navegador debería mostrar el candado si escribes la URL manualmente).
[TIP] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es similar, pero el acceso al panel es a través del puerto 2106. Es decir,
https://tudominio.com:2106. La sección de SSL suele estar en "Web" > "SSL Certificate".
Paso 2: Forzar HTTPS en PrestaShop
Ahora que el certificado está en el servidor, toca decirle a PrestaShop que use HTTPS. Hay dos formas: desde el panel de administración o editando archivos de configuración. Te muestro ambas.
2.1. Desde el Back Office de PrestaShop
Esta es la vía más sencilla y visual.
- Accede a tu panel de administración de PrestaShop (normalmente en
/admino la URL que configuraste). - Ve a "Parámetros avanzados" > "Rendimiento".
- Busca la opción "Activar SSL" y ponla en SÍ.
- También activa la opción "Activar SSL en todas las páginas" (esto fuerza HTTPS en toda la tienda, no solo en el checkout).
- Guarda los cambios.
2.2. Verificación inmediata
DirectAdmin suele forzar HTTPS a nivel de servidor, pero si no es así, PrestaShop se encargará. Para comprobarlo, visita tu tienda y mira si en la barra de direcciones aparece el candado.
[WARNING] Si al activar SSL en PrestaShop la tienda se rompe (imágenes sin cargar, CSS roto), significa que hay contenido mixto (HTTP y HTTPS). Esto se soluciona con un plugin de redirección o editando el
.htaccess, como veremos a continuación.
Paso 3: Redirigir todo el tráfico HTTP a HTTPS
Incluso con SSL activo, es posible que algunas páginas o recursos se sirvan por HTTP. Para forzar la redirección global, edita el archivo .htaccess en la raíz de tu PrestaShop.
3.1. Localiza el archivo .htaccess
Usa el Administrador de Archivos de DirectAdmin o un cliente FTP (como FileZilla). El archivo está en la carpeta pública de tu dominio (normalmente public_html).
3.2. Edita el archivo
Añade este bloque de código al principio del archivo (después de la línea RewriteEngine On si existe, o al inicio del todo):
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Este código redirige cualquier petición HTTP a HTTPS con una redirección permanente (301). Guarda los cambios y sube el archivo si lo editaste localmente.
[TIP] Si tu tienda usa un CDN (como Cloudflare), la redirección puede venir de ahí. Asegúrate de que en Cloudflare también tengas activado "Always Use HTTPS" para evitar bucles de redirección.
Paso 4: Corregir contenido mixto (imágenes, CSS, JavaScript)
El contenido mixto es el error más común tras activar SSL. Ocurre cuando tu web carga recursos (imágenes, hojas de estilo) desde URLs con http:// en lugar de https://.
4.1. Solución rápida: Plugin de búsqueda y reemplazo
En el Back Office, instala un módulo gratuito como "PS Google Shopping" no, mejor uno específico. Busca en el marketplace de PrestaShop "SSL" o "HTTP to HTTPS". Hay varios módulos que hacen un reemplazo masivo en la base de datos.
4.2. Solución manual: Editar la base de datos
Si prefieres hacerlo a mano, accede a phpMyAdmin desde DirectAdmin (sección "MySQL Management").
- Selecciona la base de datos de tu PrestaShop.
- Ve a la pestaña "SQL".
- Ejecuta esta consulta (reemplaza
tuprefijo_por el prefijo real de tus tablas, normalmenteps_):
UPDATE ps_configuration SET value = '1' WHERE name = 'PS_SSL_ENABLED';
UPDATE ps_shop_url SET ssl = 1;
Y para reemplazar URLs en contenido:
UPDATE ps_product SET description = REPLACE(description, 'http://tudominio.com', 'https://tudominio.com');
Repite la consulta para las tablas ps_product_lang, ps_category_lang, ps_cms_lang, etc.
[INFO] No te asustes si no entiendes todas las tablas. La solución más segura es usar un módulo de migración, que hace este trabajo automáticamente sin riesgo de errores.
Paso 5: Configurar el SEO y las URLs canónicas
Ahora que todo funciona con HTTPS, debes asegurarte de que Google indexe las URLs nuevas (con https) y no las antiguas.
5.1. Activa la opción "Redirección a la URL canónica"
En PrestaShop, ve a "Parámetros avanzados" > "SEO y URLs". Activa la opción "Redirigir a la URL canónica". Esto evita contenido duplicado entre http y https.
5.2. Actualiza tu Google Search Console
Entra en Google Search Console, añade la propiedad con https:// y solicita la indexación de las páginas principales. No olvides actualizar el sitemap.
5.3. Renueva el certificado automáticamente
Let's Encrypt caduca cada 90 días. DirectAdmin suele tener un cron que lo renueva automáticamente, pero verifícalo.
En DirectAdmin, ve a "Cron Jobs" y busca una línea con letsencrypt. Si no existe, añade este comando para que se ejecute dos veces al día:
/usr/local/directadmin/scripts/letsencrypt.sh request yourdomain.com 4096
[TIP] Si tu hosting usa Syspanel (puerto 2106), la renovación automática suele estar configurada por defecto. Solo revisa que el certificado no esté caducado en la sección "Web" > "SSL".
Paso 6: Verificación final y solución de problemas
6.1. Prueba la tienda completa
Navega por tu tienda como si fueras un cliente: añade productos al carrito, ve al checkout, inicia sesión. Todo debe funcionar con HTTPS y sin errores.
6.2. Herramientas de verificación
Usa herramientas online como SSL Labs o Why No Padlock para comprobar que no hay errores de contenido mixto ni problemas en la cadena del certificado.
6.3. Problemas comunes y soluciones
- "Tu conexión no es privada": El certificado no está bien instalado. Revisa que hayas emitido Let's Encrypt para el dominio correcto y que no esté caducado.
- Bucle de redirección: Suele deberse a un conflicto entre la redirección del
.htaccessy la de PrestaShop. Comenta temporalmente la línea del.htaccessy prueba de nuevo. - Imágenes rotas: Contenido mixto. Revisa que la base de datos tenga URLs con
httpso usa un módulo de reemplazo.
Preguntas frecuentes (FAQ)
¿Cuánto tarda en activarse el SSL?
Con Let's Encrypt, la emisión es casi instantánea (menos de 1 minuto). La propagación de DNS puede tardar unas horas si cambiaste registros, pero normalmente es inmediato.
¿Puedo usar un certificado de pago en lugar de Let's Encrypt?
Sí. En DirectAdmin, en la sección SSL, tienes la opción de subir tu propio certificado (archivos .crt y .key). La configuración en PrestaShop es idéntica.
¿Qué pasa si mi hosting usa Syspanel en lugar de DirectAdmin?
El proceso es muy similar. Accede a Syspanel a través del puerto 2106 (https://tudominio.com:2106), busca la sección de SSL y sigue los mismos pasos. La lógica es la misma: instalar el certificado y activar HTTPS en PrestaShop.
¿Es necesario activar SSL en todas las páginas o solo en el checkout?
Actívalo en todas las páginas. Google valora positivamente la seguridad global del sitio, y además evitas problemas de contenido mixto que puedan afectar a la confianza del usuario.
¿Perderé posiciones en Google por cambiar a HTTPS?
No. De hecho, HTTPS es un factor de ranking positivo. Eso sí, asegúrate de hacer redirecciones 301 desde HTTP a HTTPS y actualizar el sitemap en Search Console para no perder el rastreo.
Conclusión
Configurar SSL PrestaShop y HTTPS PrestaShop con DirectAdmin SSL no es un proceso complicado si sigues los pasos en orden: primero el certificado en el servidor, luego la activación en el Back Office, después la redirección forzada y por último la limpieza de contenido mixto.
Recuerda que la seguridad es un proceso continuo. Revisa periódicamente que tu certificado esté renovado y que no aparezcan nuevos errores de contenido mixto al añadir nuevos módulos o temas.
Si en algún momento te sientes perdido, tu proveedor de hosting debería poder ayudarte con la parte del servidor. Y para la parte de PrestaShop, no dudes en consultar la documentación oficial o los foros de la comunidad.
[TIP] Guarda este artículo en favoritos. Te servirá de referencia cada vez que cambies de servidor, migres de dominio o simplemente quieras verificar que todo está en orden. La seguridad de tu tienda online es la base para generar confianza en tus clientes.
