GuÃa para configurar el SSL en PrestaShop con DirectAdmin
¿Por qué necesitas configurar SSL en PrestaShop?
Si tienes una tienda online, el candadito que aparece en la barra del navegador es mucho más que un adorno. El certificado SSL PrestaShop es lo que permite que la conexión entre tu servidor y el cliente esté cifrada. Sin él, los datos de tarjetas de crédito, contraseñas y datos personales viajan "en texto plano", algo totalmente inaceptable para cualquier negocio serio.
Además, desde hace años, Google penaliza las webs que no usan HTTPS PrestaShop. Esto significa que tu tienda aparecerá más abajo en los resultados de búsqueda que la competencia que sà lo tenga configurado. También verás que muchos navegadores marcan tu sitio como "No seguro", lo que ahuyenta a los clientes antes incluso de que vean tus productos.
La buena noticia es que configurar SSL en PrestaShop con DirectAdmin es un proceso relativamente sencillo si sigues los pasos adecuados. En esta guÃa te lo explico todo de forma clara, sin tecnicismos innecesarios, para que lo hagas tú mismo aunque no tengas experiencia técnica.
Requisitos previos antes de empezar
Antes de lanzarnos a configurar el certificado SSL PrestaShop, necesitas tener algunas cosas listas:
- Acceso al panel de control DirectAdmin de tu hosting.
- Acceso al panel de administración de PrestaShop (la parte de back-office).
- Un dominio apuntando correctamente a tu servidor (los registros DNS deben estar bien configurados).
- Comprobar que tu hosting te permite gestionar certificados SSL desde DirectAdmin (la mayorÃa sÃ).
Si tienes todo esto, podemos empezar. Si no sabes qué es DirectAdmin, es un panel de control de hosting muy popular que te permite gestionar tu servidor, dominios, correos y, por supuesto, los certificados SSL.
Paso 1: Generar el certificado SSL en DirectAdmin
Lo primero que necesitas hacer es generar el certificado. DirectAdmin SSL tiene una sección especÃfica para esto, y te permite tanto generar certificados gratuitos (Let's Encrypt) como instalar certificados de pago que hayas comprado externamente.
Opción A: Certificado gratuito Let's Encrypt (recomendado para empezar)
Los certificados Let's Encrypt son gratuitos, se renuevan automáticamente y ofrecen el mismo nivel de cifrado que uno de pago. La única diferencia es que caducan cada 90 dÃas, aunque DirectAdmin se encarga de renovarlos por ti.
- Accede a tu panel de DirectAdmin.
- Busca la sección "SSL Certificates" o "Certificados SSL" en el menú principal.
- Haz clic en "Let's Encrypt" o "Free SSL".
- Selecciona el dominio para el que quieres generar el certificado.
- Marca las opciones de renovación automática si están disponibles.
- Haz clic en "Issue" o "Emitir".
El proceso tarda entre 30 segundos y un par de minutos. Cuando termine, verás un mensaje de éxito y el certificado quedará instalado automáticamente en tu servidor.
Opción B: Certificado de pago
Si ya has comprado un certificado SSL a una entidad emisora, tendrás que instalarlo manualmente. Normalmente te habrán enviado tres archivos: el certificado principal, la cadena de certificados (CA Bundle) y la clave privada.
- En DirectAdmin, ve a "SSL Certificates".
- Elige la opción "Paste a pre-generated cert and key".
- Pega el contenido del certificado en el campo correspondiente.
- Pega la clave privada en su campo.
- Pega la cadena de certificados en el campo "CA Root Certificate".
- Haz clic en "Save" o "Guardar".
Es importante que copies los archivos completos, incluyendo las lÃneas "BEGIN CERTIFICATE" y "END CERTIFICATE".
[WARNING] Si tu certificado es de pago, asegúrate de que la clave privada coincide con el certificado. Si no, verás un error y no funcionará.
Paso 2: Activar SSL en PrestaShop
Una vez que el certificado SSL PrestaShop está instalado en el servidor, tienes que decirle a PrestaShop que lo use. Esto se hace desde el back-office de tu tienda.
- Entra en tu panel de administración de PrestaShop (normalmente en
/admino la URL que configuraste). - Ve al menú "Shop Parameters" o "Parámetros de la tienda".
- Busca la opción "General" o "General".
- Localiza la sección "Enable SSL" o "Activar SSL".
- Activa la opción "Enable SSL on all pages" o "Activar SSL en todas las páginas".
- Guarda los cambios.
[TIP] Algunas versiones de PrestaShop te piden confirmación antes de activar SSL. Si la página no carga después de hacerlo, no te preocupes, es normal. Espera unos segundos y recarga manualmente.
PrestaShop también te permite forzar el uso de HTTPS en toda la tienda. Esto es muy recomendable porque evita que haya contenido mixto (partes en HTTP y partes en HTTPS), lo que puede causar problemas de seguridad y de SEO.
Configurar la URL canónica
Un error común es que PrestaShop siga mostrando URLs con http:// en lugar de https://. Para solucionarlo:
- Ve a "Shop Parameters" > "General".
- En la sección "Shop URL", asegúrate de que la URL de la tienda empieza por
https://. - Guarda los cambios.
También puedes ir a "Traffic & SEO" > "SEO & URLs" y comprobar que la URL base es correcta.
Paso 3: Redirigir HTTP a HTTPS
Ahora que tu tienda funciona con HTTPS PrestaShop, es hora de asegurarte de que nadie pueda acceder por HTTP. Esto se hace mediante una redirección 301, que le dice a los navegadores y a Google que la versión correcta es la de HTTPS.
Método 1: Desde DirectAdmin
DirectAdmin tiene una opción muy cómoda para forzar HTTPS:
- Ve a "Domain Setup" o "Configuración de dominio".
- Selecciona tu dominio.
- Busca la opción "Force SSL" o "Forzar SSL".
- ActÃvala.
Método 2: Mediante el archivo .htaccess
Si prefieres hacerlo manualmente, puedes editar el archivo .htaccess que está en la raÃz de tu PrestaShop:
- Accede a tu servidor por FTP o mediante el administrador de archivos de DirectAdmin.
- Busca el archivo
.htaccessen la carpeta pública de tu tienda. - Añade estas lÃneas al principio del archivo:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
- Guarda el archivo y sube los cambios.
[WARNING] Antes de editar el
.htaccess, haz una copia de seguridad. Si algo sale mal, podrás restaurar el archivo original.
Paso 4: Actualizar URLs internas y contenido mixto
Después de activar SSL en PrestaShop, es posible que algunas imágenes o enlaces internos sigan apuntando a http://. Esto se llama "contenido mixto" y puede hacer que el candado no aparezca o que aparezca con un aviso.
Actualizar URLs en la base de datos
La forma más rápida de solucionarlo es actualizando la base de datos. Puedes hacerlo desde phpMyAdmin (que encontrarás en DirectAdmin):
- Abre phpMyAdmin desde DirectAdmin.
- Selecciona la base de datos de tu PrestaShop.
- Ve a la pestaña "SQL" o "Consultar".
- Ejecuta la siguiente consulta SQL:
UPDATE ps_shop_url SET domain_ssl = 'tu-dominio.com', physical_uri = '/';
UPDATE ps_configuration SET value = 'https://tu-dominio.com' WHERE name IN ('PS_SHOP_DOMAIN', 'PS_SHOP_DOMAIN_SSL');
Recuerda cambiar tu-dominio.com por tu dominio real y ps_ por el prefijo de tus tablas si lo has cambiado.
Buscar contenido mixto
Hay herramientas online gratuitas (como Why No Padlock) que te dicen si tu página tiene contenido mixto. También puedes hacerlo manualmente:
- Haz clic derecho en tu página y selecciona "Inspeccionar".
- Ve a la pestaña "Consola".
- Busca mensajes de error que mencionen "mixed content" o "blocked".
Paso 5: Verificar que todo funciona correctamente
Una vez hecho todo lo anterior, es hora de comprobar que todo está en orden:
- Accede a tu tienda con
https://tu-dominio.com. - Comprueba que aparece el candado en la barra del navegador.
- Recorre varias páginas: producto, carrito, checkout, cuenta de usuario.
- Si tienes un certificado de pago, verifica que el nombre de la empresa aparece en la información del certificado.
También puedes usar herramientas como SSL Labs para comprobar la configuración de tu certificado. Te dará una nota de la A a la F, y te recomiendo que sea al menos una B.
[INFO] Si tu tienda tarda mucho en cargar después de activar SSL, puede ser porque el servidor necesita un poco de tiempo para procesar el cifrado. Si el problema persiste, contacta con tu proveedor de hosting.
Problemas comunes y soluciones
Mi tienda no carga después de activar SSL
Esto suele pasar porque la URL base sigue apuntando a http://. Entra en el back-office, ve a "Shop Parameters" > "General" y cambia la URL a https://. Si no puedes acceder al back-office, edita la base de datos desde phpMyAdmin como te he explicado antes.
El candado aparece roto o con un aviso
Esto indica contenido mixto. Revisa que todas las imágenes y scripts usen https://. Puedes hacer una búsqueda en la base de datos con esta consulta:
SELECT * FROM ps_product WHERE description LIKE '%http://%';
Si encuentras resultados, actualiza las URLs reemplazando http:// por https://.
El certificado se renueva pero la web sigue sin funcionar
A veces la renovación automática de Let's Encrypt falla. Comprueba en DirectAdmin que el certificado está activo y que la fecha de caducidad es correcta. Si no, puedes renovarlo manualmente.
Quiero usar SSL en varias tiendas
Si tienes un PrestaShop multitienda, tendrás que configurar SSL para cada dominio. El proceso es el mismo: genera el certificado en DirectAdmin y activa SSL en cada tienda desde el back-office.
Preguntas frecuentes sobre SSL en PrestaShop
¿Necesito un certificado SSL de pago o sirve el gratuito?
Para la mayorÃa de tiendas, Let's Encrypt es más que suficiente. Solo si necesitas un certificado con validación extendida (que muestra el nombre de tu empresa en la barra de direcciones) te hará falta uno de pago.
¿Puedo tener SSL en un subdominio?
SÃ, DirectAdmin te permite generar certificados para subdominios. Solo tienes que seleccionar el subdominio en lugar del dominio principal.
¿Cuánto tarda en propagarse el SSL?
Normalmente es instantáneo, aunque los cambios de DNS pueden tardar unas horas en propagarse.
¿Afecta SSL al SEO de mi tienda?
SÃ, y de forma positiva. Google da prioridad a las webs con HTTPS, asà que tu posicionamiento mejorará. Además, evitas que los visitantes vean el aviso de "No seguro", lo que reduce la tasa de rebote.
¿Qué hago si mi hosting usa Syspanel en lugar de DirectAdmin?
Si tu proveedor usa Syspanel (antes conocido como HestiaCP), el proceso es muy similar. Accede al panel a través del puerto 2106 (por ejemplo, https://tu-servidor:2106), busca la sección de SSL y sigue los mismos pasos. La mayorÃa de paneles modernos tienen opciones automáticas para Let's Encrypt.
¿Puedo desactivar SSL si algo sale mal?
SÃ, siempre puedes volver a desactivarlo desde el back-office de PrestaShop o desde DirectAdmin. Pero te recomiendo que no lo hagas, ya que es esencial para la seguridad y el SEO.
Conclusión y recomendaciones finales
Configurar SSL en PrestaShop con DirectAdmin es un proceso que, siguiendo los pasos de esta guÃa, cualquier persona puede hacer en menos de una hora. Los beneficios son enormes: seguridad para tus clientes, mejor posicionamiento en Google y una imagen más profesional.
Mi recomendación es que, una vez configurado todo, configures una alerta para revisar que el certificado se renueva correctamente cada cierto tiempo. También es buena idea hacer una copia de seguridad de tu tienda antes de hacer cambios importantes.
Si te has quedado con alguna duda, repasa los pasos con calma. La mayorÃa de problemas tienen solución sencilla, y con un poco de paciencia tendrás tu tienda funcionando con HTTPS PrestaShop sin ningún problema.
Recuerda que la seguridad de tu tienda es la seguridad de tus clientes, y eso no tiene precio.
