Cómo activar SSL/HTTPS en PrestaShop con DirectAdmin (y evitar errores mixtos)
Antes de Empezar: ¿Qué es SSL y por qué tu Tienda PrestaShop lo Necesita?
Si alguna vez has visto un candado en la barra de direcciones de tu navegador, has visto el SSL en acción. SSL (Secure Sockets Layer) es un protocolo que cifra la información que viaja entre el navegador de tu cliente y tu servidor. En términos sencillos: convierte los datos en un código secreto que solo tu tienda y el navegador pueden entender. Esto es crucial en una tienda online donde se manejan contraseñas, direcciones y, sobre todo, datos de tarjetas de crédito.
Activar https prestashop no es solo una recomendación de seguridad, es una necesidad absoluta para generar confianza. Google muestra una advertencia de "No seguro" en sitios sin SSL, y los clientes modernos son muy conscientes de esto. Además, el SSL es un factor de posicionamiento web (SEO). Si quieres que tu tienda aparezca en los primeros resultados de búsqueda, necesitas el candado activo.
En esta guía, te voy a explicar paso a paso cómo activar un certificado ssl prestashop usando el panel de control DirectAdmin. No importa si eres un novato total en temas técnicos; vamos a ir despacio, con instrucciones claras y consejos para evitar el dolor de cabeza más común: los famosos "errores de contenido mixto".
Fase 1: Obtener e Instalar el Certificado SSL en DirectAdmin
Para tener ssl prestashop directadmin, primero necesitas un certificado. Puedes comprar uno de pago, pero hoy en día los certificados gratuitos de Let's Encrypt son más que suficientes para la mayoría de las tiendas. Son fiables, reconocidos por todos los navegadores y se renuevan automáticamente.
Paso 1: Accede a tu Panel de DirectAdmin
Lo primero es entrar en tu panel de control de hosting. Normalmente accedes a través de una URL como https://tu-dominio.com:2222 o https://tu-ip:2222. Si no sabes cuál es, contacta con tu proveedor de hosting.
Una vez dentro, busca la sección que se llama "SSL Certificates" o "Administración SSL". El nombre exacto puede variar ligeramente según la versión de DirectAdmin, pero suele estar en la sección de "Gestión de Cuenta" o "Configuración Avanzada".
Paso 2: Activar Let's Encrypt (El Certificado Gratuito)
DirectAdmin tiene una integración muy limpia con Let's Encrypt. Sigue estos pasos:
- Dentro de la sección SSL, busca una pestaña o botón que diga "Let's Encrypt".
- Verás un formulario. En el campo de dominio, asegúrate de que esté seleccionado tu dominio principal (ej:
tutienda.com). - Marca la casilla para incluir el subdominio
www(ej:www.tutienda.com). Esto es fundamental para que el certificado cubra ambas variantes de tu web. - Haz clic en "Emitir" o "Guardar".
El proceso suele tardar menos de un minuto. DirectAdmin se comunicará con la autoridad certificadora y creará los archivos necesarios en tu servidor. Verás un mensaje de éxito si todo ha ido bien.
Paso 3: Verificar la Instalación del Certificado
Para comprobar que el certificado se ha instalado correctamente, simplemente abre tu navegador y visita https://tu-dominio.com. Deberías ver el candado cerrado. También puedes usar herramientas online como "SSL Labs" para hacer un análisis profundo, pero para la mayoría, con ver el candado en el navegador es suficiente.
Fase 2: Configurar PrestaShop para Forzar HTTPS
Ahora que tu servidor ya puede "hablar" en HTTPS, es hora de decirle a tu PrestaShop que use ese idioma por defecto. Este es el paso crítico para evitar que los visitantes vean una mezcla de contenido seguro e inseguro.
Paso 4: Acceder al Back Office de PrestaShop
Entra en tu administración de PrestaShop (normalmente en tu-dominio.com/admin o una URL similar). Ve al menú de "Parámetros avanzados" y luego a "Rendimiento".
Paso 5: Activar la Fuerza de SSL
En la parte superior de la página de "Rendimiento", verás una opción que dice "Activar SSL". Cámbiala a "Sí".
Justo debajo, encontrarás otra opción: "Activar SSL en todas las páginas". Esta es la clave. Actívala también a "Sí".
[WARNING] No te olvides de la segunda opción. Si solo activas "SSL" pero no "SSL en todas las páginas", PrestaShop solo usará HTTPS en las páginas de cuenta y checkout, dejando el resto de la tienda en HTTP. Esto crea una experiencia inconsistente y puede generar errores mixtos.
Paso 6: Guardar los Cambios
Haz clic en el botón "Guardar" en la parte inferior de la página. PrestaShop actualizará su configuración automáticamente. Tu tienda ahora debería redirigir todo el tráfico a HTTPS.
Fase 3: La Batalla Contra los Errores de Contenido Mixto
Este es el punto donde muchos se frustran. Has activado SSL, pero tu página se ve rara, con un mensaje de "No seguro" o con imágenes rotas. Esto se debe al contenido mixto: tu página se carga por HTTPS, pero algunos recursos (imágenes, CSS, JavaScript) se están cargando por HTTP.
¿Por qué ocurre esto?
Cuando PrestaShop se instaló, guardó en su base de datos las URLs de tus imágenes y archivos con http://. Cuando activas SSL, el navegador ve que la página es segura, pero los recursos que vienen de HTTP son un riesgo, así que los bloquea.
Paso 7: Solución Rápida con la Base de Datos (La más Efectiva)
La forma más fiable de arreglar esto es actualizar todas las URLs en la base de datos. Para ello, usaremos phpMyAdmin, que está disponible en tu DirectAdmin.
- Ve a tu panel de DirectAdmin y busca el icono de "phpMyAdmin" (suele estar en la sección de "Administración de Base de Datos").
- Selecciona la base de datos de tu PrestaShop en el menú de la izquierda.
- En la pestaña "SQL", pega este comando SQL. IMPORTANTE: Reemplaza
tudominio.compor tu dominio real.
UPDATE ps_configuration SET value = '1' WHERE name = 'PS_SSL_ENABLED';
UPDATE ps_configuration SET value = '1' WHERE name = 'PS_SSL_ENABLED_EVERYWHERE';
UPDATE ps_shop_url SET main = '1', active = '1' WHERE domain = 'tudominio.com' OR domain_ssl = 'tudominio.com';
UPDATE ps_shop_url SET ssl = '1' WHERE domain = 'tudominio.com' OR domain_ssl = 'tudominio.com';
[TIP] Si tu tienda usa un prefijo de tabla distinto a
ps_, tendrás que ajustar el comando. Por ejemplo, si tu prefijo esshop_, el comando seríaUPDATE shop_configuration....
Paso 8: Reemplazar las URLs en el Contenido
El comando anterior arregla la configuración, pero las URLs de tus productos, categorías y páginas CMS también pueden tener http:// guardado. Para esto, ejecuta este otro comando SQL en la misma pestaña de SQL:
UPDATE ps_product SET description = REPLACE(description, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_product SET description_short = REPLACE(description_short, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_category SET description = REPLACE(description, 'http://tudominio.com', 'https://tudominio.com');
UPDATE ps_cms SET content = REPLACE(content, 'http://tudominio.com', 'https://tudominio.com');
De nuevo, cambia tudominio.com por tu dominio y ps_ por tu prefijo si es necesario.
[WARNING] Este reemplazo es seguro, pero siempre es recomendable hacer una copia de seguridad de tu base de datos antes de ejecutar cualquier comando SQL. Puedes hacerlo desde la propia pestaña "Exportar" de phpMyAdmin.
Paso 9: Forzar HTTPS desde el Archivo .htaccess
Otra capa de protección es forzar HTTPS desde el servidor. Esto es útil para redirigir cualquier acceso directo a tu dominio por HTTP.
- En DirectAdmin, ve al "Administrador de Archivos".
- Busca la carpeta
public_html(o la carpeta donde esté instalada tu tienda). - Localiza el archivo
.htaccess. Si no lo ves, activa la opción de "Mostrar archivos ocultos" en la configuración del administrador de archivos. - Edita el archivo y pega este código al principio:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Guarda los cambios. Ahora, cualquier persona que intente entrar a http://tudominio.com será redirigida automáticamente a https://tudominio.com.
Fase 4: Verificación Final y Limpieza
Paso 10: Comprueba el Certificado y el Candado
Ve a tu tienda en una ventana de incógnito y recorre varias páginas: el inicio, una categoría, un producto, el carrito y el checkout. Asegúrate de que en todas ellas ves el candado cerrado.
Paso 11: Busca Errores Mixtos en el Código
Si aún ves el candado con una advertencia, abre la consola de desarrollador de tu navegador (F12) y ve a la pestaña "Consola" o "Red". Busca errores que digan "Mixed Content" o "Solicitud mixta". Eso te dirá exactamente qué recurso está fallando.
Paso 12: Borra la Caché de PrestaShop
Después de todos estos cambios, es crucial limpiar la caché de PrestaShop para que los clientes vean la nueva configuración. Ve a "Parámetros avanzados" > "Rendimiento" y haz clic en el botón "Vaciar la caché".
[INFO] Si utilizas un módulo de caché externo (como un CDN o un plugin de caché), también deberás purgarlo desde su propio panel de control.
Preguntas Frecuentes (FAQ)
¿Qué hago si mi certificado SSL no se renueva automáticamente?
DirectAdmin suele configurar una tarea cron para renovar Let's Encrypt automáticamente. Si no lo hace, puedes renovarlo manualmente desde la misma sección de SSL en DirectAdmin. Siempre verifica que la renovación automática esté activada en la configuración de Let's Encrypt.
¿Por qué mi web sigue mostrando "No seguro" después de activar SSL?
Esto casi siempre se debe a contenido mixto. Revisa el Paso 8 y asegúrate de haber ejecutado los comandos SQL correctamente. También revisa si tienes algún módulo de terceros que esté cargando recursos desde URLs absolutas con http://.
¿Es necesario tener SSL para el SEO?
Sí. Google lo confirma: el HTTPS es una señal de clasificación. Además, los usuarios confían más en los sitios con candado, lo que reduce la tasa de rebote e indirectamente mejora tu SEO.
¿Puedo usar SSL gratuito en lugar de uno de pago?
Absolutamente. Let's Encrypt ofrece el mismo nivel de cifrado que los certificados de pago. La diferencia principal es el soporte técnico y el tipo de validación (DV vs OV/EV). Para una tienda estándar, Let's Encrypt es perfecto.
¿Y si mi hosting usa Syspanel en lugar de DirectAdmin?
Si tu proveedor usa Syspanel (el antiguo HestiaCP), el proceso es similar, pero el acceso es diferente. Deberás entrar a tu panel Syspanel a través del puerto 2106 (ej: https://tu-dominio.com:2106). Dentro, busca la sección de "Web" o "Dominios" y luego la opción de "SSL". El resto de la configuración en PrestaShop (Pasos 4 a 12) es exactamente igual.
Conclusión: Tu Tienda es Ahora Segura y Confiable
Activar https prestashop con DirectAdmin es un proceso que, una vez que lo entiendes, se hace en pocos minutos. La clave está en seguir el orden: primero el certificado en el servidor, luego la configuración en PrestaShop y, finalmente, la corrección de la base de datos para eliminar los errores mixtos.
Hazlo una vez y tu tienda no solo será más segura, sino que también transmitirá más confianza a tus clientes y mejorará tu posicionamiento en Google. No lo dejes para después; la seguridad de tu negocio online empieza con ese pequeño candado en la barra de direcciones.
