Guía básica para configurar SSL en PrestaShop desde DirectAdmin
¿Por Qué es Importante Configurar SSL en tu Tienda PrestaShop?
Antes de ponernos manos a la obra, hablemos de por qué esto es tan importante. SSL (Secure Sockets Layer) es un protocolo de seguridad que cifra la información que viaja entre el navegador de tus clientes y tu servidor. Cuando lo activas, tu tienda pasa a usar HTTPS en lugar de HTTP.
Esto no es un lujo, es una necesidad por varias razones:
- Seguridad para tus clientes: Protege datos sensibles como contraseñas, direcciones y, sobre todo, información de tarjetas de crédito.
- Confianza: Los navegadores modernos marcan los sitios sin SSL como "No seguros". ¿Te gustaría ver ese mensaje en tu tienda? Seguro que no.
- SEO: Google favorece los sitios con HTTPS. Tener SSL te ayuda a posicionarte mejor en los resultados de búsqueda.
- Obligatorio para pagos: Procesadores de pago como PayPal o Stripe exigen HTTPS para funcionar correctamente.
Requisitos Previos para Configurar SSL con DirectAdmin
Para seguir esta guía, necesitas tener acceso a dos paneles principales:
- DirectAdmin: El panel de control de tu hosting. Aquí gestionarás tu certificado SSL.
- PrestaShop: El administrador de tu tienda online (normalmente se accede desde
tudominio.com/admin).
[INFO] Si no tienes acceso a DirectAdmin, contacta con tu proveedor de hosting. Normalmente te dan las credenciales al contratar el servicio.
Paso 1: Obtener e Instalar el Certificado SSL desde DirectAdmin
Existen dos formas principales de obtener un certificado SSL: gratuito (Let's Encrypt) o de pago. Para esta guía, usaremos Let's Encrypt, que es la opción más común, gratuita y perfectamente válida para la mayoría de tiendas PrestaShop.
Opción A: Usar el Plugin de Let's Encrypt en DirectAdmin
DirectAdmin suele incluir una herramienta llamada "Let's Encrypt SSL" o "SSL Certificates". Es la forma más sencilla.
- Inicia sesión en DirectAdmin con tu usuario y contraseña.
- Busca la sección "SSL Certificates" o "Certificados SSL". Normalmente está en el menú principal o dentro de la sección "Advanced Features".
- Dentro, busca la pestaña o botón que diga "Let's Encrypt".
- Verás una lista de tus dominios. Selecciona el dominio de tu tienda PrestaShop (ej:
tutienda.com). - A menudo te preguntará si quieres incluir el "www". Marca la opción para que cubra tanto
tutienda.comcomowww.tutienda.com. Esto es importante para evitar errores de contenido mixto. - Haz clic en "Save" o "Solicitar". El proceso tarda unos segundos.
- Si todo va bien, verás un mensaje de éxito. ¡Ya tienes tu certificado SSL instalado!
Opción B: Instalar un Certificado SSL de Pago
Si has comprado un certificado SSL de una autoridad certificadora (como Comodo, DigiCert, etc.), el proceso es ligeramente diferente.
- En la misma sección "SSL Certificates" de DirectAdmin, busca la opción que diga "Paste a pre-generated certificate and key" o similar.
- Se te pedirá que pegues tres códigos:
- Certificate (CRT): El certificado que te envió la autoridad certificadora.
- Private Key (KEY): La clave privada que generaste al solicitar el certificado.
- CA Bundle (CABUNDLE): Un archivo con los certificados intermedios. Si no lo tienes, a veces basta con dejar el campo vacío.
- Pega cada código en su campo correspondiente y haz clic en "Save".
Paso 2: Forzar HTTPS en tu Tienda PrestaShop desde el Administrador
Ahora que el certificado está instalado en el servidor, debes decirle a PrestaShop que use HTTPS por defecto. Esto se hace desde el back office de tu tienda.
- Accede al administrador de PrestaShop (ej:
tudominio.com/admin1234). - Ve al menú "Configurar" y luego a "Parámetros de la tienda".
- En el menú lateral, selecciona "Tráfico y SEO".
- Verás una sección llamada "Configuración de la URL de la tienda".
- Aquí hay dos opciones clave que debes modificar:
- "URL de la tienda": Debe comenzar con
https://. Por ejemplo:https://tutienda.com. - "URL de la tienda (SSL)": Esta debe ser exactamente igual, empezando con
https://.
- "URL de la tienda": Debe comenzar con
- Un poco más abajo, busca la opción "Activar SSL" y cámbiala a "Sí".
- También encontrarás "Activar SSL en todas las páginas". Actívala también. Esto asegura que toda tu tienda, desde el catálogo hasta el proceso de pago, use HTTPS.
- Haz clic en "Guardar".
[WARNING] Después de guardar, es posible que la página se recargue y te pida que inicies sesión de nuevo. Esto es normal, ya que la URL ha cambiado a HTTPS.
Paso 3: Verificar y Solucionar Problemas de Contenido Mixto
Uno de los problemas más comunes después de activar SSL es el "contenido mixto". Esto ocurre cuando tu página carga vía HTTPS, pero algunos recursos (imágenes, scripts, hojas de estilo) se cargan vía HTTP. Los navegadores bloquean estos recursos y tu tienda puede verse rota o mostrar advertencias de seguridad.
Cómo detectar contenido mixto:
- Usa la consola del navegador: Abre tu tienda en Chrome o Firefox. Haz clic derecho en cualquier parte de la página y selecciona "Inspeccionar" o "Inspeccionar elemento".
- Ve a la pestaña "Console" (Consola).
- Si ves mensajes de error en rojo como "Mixed Content: The page at '...' was loaded over HTTPS, but requested an insecure resource '...'", tienes contenido mixto.
Cómo solucionarlo en PrestaShop:
- Regenera las URLs de las imágenes: En el menú "Configurar" -> "Parámetros de la tienda" -> "Imágenes", busca el botón "Regenerar miniaturas". Esto actualizará las URLs de las imágenes de los productos para que usen HTTPS.
- Revisa los módulos: Algunos módulos de terceros pueden tener URLs hardcodeadas con HTTP. Desactívalos uno por uno para ver cuál causa el problema y contacta al desarrollador para una actualización.
- Limpia la caché de PrestaShop: Ve a "Configurar" -> "Parámetros avanzados" -> "Rendimiento" y haz clic en "Limpiar caché" (tanto la de Smarty como la de Symfony).
- Usa un plugin de búsqueda de contenido mixto (opcional): Existen módulos en el marketplace de PrestaShop que te ayudan a escanear y reemplazar URLs HTTP por HTTPS en toda la base de datos.
[TIP] Si después de todo sigues teniendo problemas, una solución rápida pero menos elegante es añadir una regla en el archivo
.htaccess(en la raíz de tu hosting) para forzar HTTPS. No obstante, es mejor solucionar el origen del problema.
Paso 4: Configurar la Redirección 301 de HTTP a HTTPS
Para que todo el mundo que llegue a tu tienda usando HTTP (por ejemplo, desde un enlace antiguo) sea redirigido automáticamente a HTTPS, necesitas configurar una redirección 301. Esto es crucial para el SEO, ya que le dice a Google que la versión segura es la canónica.
Método 1: Desde el archivo .htaccess (Recomendado para usuarios avanzados)
- Accede a DirectAdmin y busca el "Administrador de archivos" (File Manager).
- Ve a la carpeta
public_htmlodomains/tudominio.com/public_html. - Busca el archivo llamado
.htaccess. Si no lo ves, asegúrate de que la opción "Mostrar archivos ocultos" esté activada. - Descarga una copia de seguridad de este archivo por si algo sale mal.
- Edita el archivo. Busca la línea que dice
# ~~start~~oRewriteEngine on. - Justo después de
RewriteEngine on, añade estas líneas:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
- Guarda el archivo. Ahora, cualquier visita a
http://tutienda.com/cualquier-paginaserá redirigida ahttps://tutienda.com/cualquier-pagina.
Método 2: Desde el panel de DirectAdmin (Más sencillo)
Algunos paneles de DirectAdmin tienen una opción para forzar HTTPS desde la interfaz.
- En DirectAdmin, busca la sección "Domain Setup" o "Configuración de dominio".
- Selecciona tu dominio.
- Busca una opción que diga "Force SSL", "Redirect to SSL" o similar.
- Márcala y guarda los cambios.
[INFO] Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es similar. Accede a tu Syspanel por el puerto 2106 (ej:
tuip:2106), ve a la sección de "Web" y activa la opción "SSL" y "Forzar HTTPS" para tu dominio.
Preguntas Frecuentes (FAQ)
¿Cuánto tarda en activarse el SSL de Let's Encrypt?
Normalmente, el proceso de instalación desde DirectAdmin es instantáneo. Sin embargo, la propagación de DNS y la actualización de la caché del navegador pueden tardar unos minutos.
¿Mi tienda dejará de funcionar mientras configuro el SSL?
No. Si sigues los pasos correctamente, tu tienda seguirá funcionando. Primero instalas el certificado, luego activas HTTPS. Durante unos minutos, puede que algunos usuarios vean la versión HTTP y otros la HTTPS, pero no debería haber caída del servicio.
¿Necesito un certificado SSL diferente para cada idioma o submarca?
No. Un certificado SSL cubre un dominio y sus subdominios (si es un wildcard). Si tienes tutienda.com y es.tutienda.com, un certificado wildcard (*.tutienda.com) cubre ambos. Si usas Let's Encrypt, puedes solicitar un certificado que incluya varios dominios.
¿Qué hago si después de activar SSL veo el mensaje "Su conexión no es privada"?
Esto puede deberse a varias razones:
- El certificado no se ha instalado correctamente: Vuelve a DirectAdmin y verifica que el certificado esté activo para tu dominio.
- La fecha de tu sistema está mal: Asegúrate de que la fecha y hora de tu ordenador sean correctas.
- Estás usando un certificado autofirmado: Si no es de Let's Encrypt o de una CA de pago, el navegador no lo reconocerá.
¿Tengo que renovar el SSL manualmente?
Los certificados de Let's Encrypt caducan cada 90 días. DirectAdmin suele tener un sistema de renovación automática. Si no es el caso, puedes renovarlo manualmente desde la misma sección "Let's Encrypt" en DirectAdmin. Te recomendamos que configures un recordatorio en tu calendario.
Conclusión
Configurar SSL en tu PrestaShop desde DirectAdmin es un proceso sencillo pero que requiere atención a los detalles. Siguiendo esta guía paso a paso, tu tienda estará segura, tus clientes confiarán en ella y mejorarás tu posicionamiento en buscadores. Recuerda que la seguridad es una inversión, no un gasto.
Si te encuentras con algún problema, no dudes en consultar la documentación de tu hosting o contactar con su soporte técnico. ¡Buena suerte con tu tienda online!
