Configurar CDN para PrestaShop en DirectAdmin
Configurar una Red de Entrega de Contenidos (CDN) para tu tienda PrestaShop alojada en un servidor con DirectAdmin es una de las mejores decisiones que puedes tomar para mejorar la velocidad de carga, la seguridad y la experiencia de usuario. En esta guía completa, te explicaré paso a paso cómo hacerlo, centrándonos en Cloudflare (la opción más popular y gratuita) y en la integración con DirectAdmin.
¿Por qué es importante un CDN para PrestaShop? Básicamente, un CDN almacena copias de tu sitio (imágenes, CSS, JavaScript, etc.) en servidores distribuidos por todo el mundo. Cuando un usuario visita tu tienda, los archivos se cargan desde el servidor más cercano, reduciendo drásticamente los tiempos de carga. Además, añade capas de seguridad como protección DDoS y firewall. Si tienes una tienda con mucho tráfico o clientes internacionales, esto es esencial.
¿Qué necesitas antes de empezar?
Antes de lanzarte a configurar, asegúrate de tener lo siguiente:
- Acceso a DirectAdmin: Necesitas las credenciales de tu panel de hosting. Si usas Syspanel (el antiguo HestiaCP), el acceso es a través del puerto 2106 (por ejemplo,
tudominio.com:2106). - Cuenta en Cloudflare: Es gratuita y puedes crearla en cloudflare.com. Necesitarás añadir tu dominio.
- Acceso a tu dominio: Para cambiar los servidores DNS (Nameservers) desde tu registrador de dominios (donde compraste el dominio, como GoDaddy, Namecheap, etc.).
- Conocimientos básicos de PrestaShop: Saber acceder al panel de administración y a los módulos.
[INFO] Si tu registrador usa DNS administrados por tu hosting, normalmente puedes cambiar los nameservers desde el panel de DirectAdmin o Syspanel. Pero si tienes el dominio externo, deberás hacerlo desde allí.
Paso 1: Configurar Cloudflare para tu dominio
El primer paso es añadir tu dominio a Cloudflare. Sigue estos pasos:
- Inicia sesión en Cloudflare y haz clic en "Añadir un sitio".
- Escribe tu dominio (ejemplo:
tutienda.com) y pulsa "Añadir sitio". - Selecciona el plan (recomendamos el gratuito para empezar). Luego haz clic en "Continuar".
- Cloudflare escaneará tus registros DNS. Revisa que aparezcan los registros correctos (A, CNAME, MX, etc.). Si falta algún registro, agrégalo manualmente. Por ejemplo:
- Tipo A:
@apuntando a la IP de tu servidor (la que te da DirectAdmin). - Tipo CNAME:
wwwapuntando atudominio.com. - Registros de correo: Si usas email en tu dominio, asegúrate de que los registros MX y TXT (SPF, DKIM) estén presentes.
- Tipo A:
[WARNING] No borres registros que no conozcas, especialmente los de correo electrónico. Si eliminas los MX, tu email dejará de funcionar.
-
Una vez confirmados los registros, haz clic en "Continuar". Cloudflare te mostrará los nuevos servidores DNS (nameservers) que debes usar. Copia esos nombres (por ejemplo,
jake.ns.cloudflare.comyolga.ns.cloudflare.com). -
Ve a tu registrador de dominios y cambia los nameservers actuales por los que te dio Cloudflare. El cambio puede tardar entre 5 minutos y 24 horas en propagarse.
-
Vuelve a Cloudflare y haz clic en "Comprobar nameservers". Cuando veas el mensaje "Estado: Activo", tu dominio ya está protegido por Cloudflare.
Paso 2: Configurar DirectAdmin para trabajar con Cloudflare
Ahora que Cloudflare gestiona tu DNS, debes asegurarte de que tu servidor (DirectAdmin) acepte conexiones a través de Cloudflare. Esto implica dos cosas: configurar SSL y permitir el tráfico proxy.
2.1 Configurar SSL en DirectAdmin
Cloudflare ofrece SSL gratuito (Universal SSL). Para que funcione correctamente, tu servidor debe tener un certificado SSL válido. Puedes generarlo desde DirectAdmin:
- Accede a DirectAdmin (o a Syspanel en puerto 2106).
- Ve a "SSL Certificates" o "Let's Encrypt SSL".
- Selecciona tu dominio y solicita un certificado Let's Encrypt. Si ya tienes uno, verifica que esté activo.
- Asegúrate de que en la configuración de Apache (o Nginx) esté habilitado el redireccionamiento HTTP -> HTTPS.
[TIP] Si usas Cloudflare con el modo "Flexible SSL", tu servidor solo necesita HTTP (puerto 80), pero es más seguro usar "Full (strict)" con certificado real. Recomiendo "Full (strict)" para máxima seguridad.
2.2 Configurar el proxy de Cloudflare
En Cloudflare, cada registro DNS tiene un icono de nube (naranja = proxy activado, gris = solo DNS). Para que el CDN funcione, debes tener el proxy naranja en los registros A y CNAME de tu dominio (por ejemplo, @ y www). Esto hará que el tráfico pase por Cloudflare.
Importante: No actives el proxy en registros de correo (MX) o FTP, ya que no funcionarán correctamente.
Paso 3: Instalar y configurar el módulo CDN en PrestaShop
PrestaShop no tiene un módulo nativo para Cloudflare, pero puedes usar módulos gratuitos o de pago. El más popular es "Cloudflare" (desarrollado por PrestaShop) o "Cloudflare Super Page Cache". Aquí te explico cómo instalar uno:
- Accede al panel de administración de PrestaShop.
- Ve a "Módulos" > "Catálogo de módulos".
- Busca "Cloudflare" y elige el módulo oficial (suele tener el logo de Cloudflare). También puedes buscar "Super Page Cache".
- Instálalo y actívalo.
- Una vez activado, ve a la configuración del módulo. Te pedirá tu API Key de Cloudflare y tu correo electrónico. Para obtener la API Key:
- En Cloudflare, ve a "Mi perfil" (icono de usuario) > "API Tokens".
- Crea un token con permisos para "Zone:Read" y "Cache:Purge" (o usa la API Key global si es más sencillo, aunque menos seguro).
- Pega la API Key y el correo en el módulo. Guarda los cambios.
- El módulo te permitirá purgar la caché de Cloudflare directamente desde PrestaShop, lo cual es muy útil cuando actualizas productos o contenido.
[WARNING] Si el módulo no encuentra tu zona (dominio), asegúrate de que el dominio en PrestaShop coincida exactamente con el de Cloudflare (incluyendo www o sin www).
Paso 4: Optimizar PrestaShop para CDN
Una vez conectado, debes ajustar PrestaShop para que sirva los archivos estáticos (imágenes, CSS, JS) a través del CDN. Sigue estos pasos:
- Ve a "Parámetros de la tienda" > "Rendimiento".
- Activa las opciones:
- "Combinar, comprimir y almacenar en caché archivos JavaScript".
- "Combinar, comprimir y almacenar en caché archivos CSS".
- "Utilizar almacenamiento en caché" (recomendado: "Sí").
- "Utilizar servidor CDN": Actívalo y escribe tu dominio de CDN. Normalmente es
cdn.tudominio.com(debes crear un subdominio en DirectAdmin y apuntarlo a la misma IP, pero con proxy naranja en Cloudflare). Si no quieres complicarte, puedes usar el mismo dominio principal.
- Configura el almacenamiento en caché de imágenes: En "Parámetros de la tienda" > "Imágenes", activa la opción "Usar servidor CDN para imágenes" si está disponible.
[TIP] Para un rendimiento óptimo, también puedes instalar un módulo de caché como "Page Cache" o "Varnish" (si tu servidor lo soporta). Pero con Cloudflare y las opciones nativas de PrestaShop suele ser suficiente.
Paso 5: Probar y verificar la configuración
Después de todo, es hora de comprobar que el CDN funciona correctamente:
- Limpia la caché de Cloudflare (desde el módulo o manualmente en el panel de Cloudflare: "Purge Cache" > "Purge Everything").
- Visita tu tienda y haz clic derecho > "Inspeccionar" > pestaña "Red". Recarga la página.
- Busca un archivo (como una imagen o un CSS). En la columna "Dominio" o "Servidor", deberías ver algo como
cdn.cloudflare.comotudominio.com(si usas proxy). Si ves la IP de tu servidor directamente, el proxy no está activo. - Herramientas externas: Usa GTmetrix, Pingdom o PageSpeed Insights para verificar la mejora en velocidad. Busca la etiqueta "Serve static assets from a CDN" o similar.
[INFO] Si ves errores 502 o 521, puede ser que tu servidor no esté configurado para aceptar tráfico proxy. Revisa que el firewall de DirectAdmin permita conexiones de Cloudflare (las IPs de Cloudflare son públicas y están listadas en su web).
Preguntas frecuentes (FAQ)
¿Puedo usar otro CDN que no sea Cloudflare?
Sí, puedes usar StackPath, BunnyCDN o KeyCDN. El proceso es similar: añades el dominio, configuras los registros DNS y ajustas PrestaShop. Cloudflare es el más recomendado por su capa gratuita y facilidad.
¿Qué hago si mi tienda deja de cargar después de configurar Cloudflare?
Revisa los registros DNS en Cloudflare: asegúrate de que el registro A apunte a la IP correcta de tu servidor. También verifica que el SSL esté configurado (modo "Full" o "Flexible"). Temporalmente, pon el proxy en gris (solo DNS) para descartar problemas.
¿Afecta Cloudflare a mi SEO?
Sí, positivamente. Un sitio más rápido tiene mejor posicionamiento en Google. Además, Cloudflare ofrece optimizaciones como minificación de código y compresión Brotli que mejoran el rendimiento.
¿Necesito cambiar algo en DirectAdmin después de activar el CDN?
Solo asegúrate de que el firewall (CSF o similar) permita las IPs de Cloudflare. Puedes añadir las IPs en /etc/csf/csf.allow y reiniciar CSF. También es recomendable desactivar la caché de Apache si usas Varnish o Cloudflare.
¿Qué es Syspanel y cómo accedo?
Syspanel es el nombre que le damos al panel de control HestiaCP. Si tu hosting usa este panel, accedes a través del puerto 2106 (ejemplo: tudominio.com:2106). La configuración del CDN es similar a DirectAdmin, pero la interfaz cambia ligeramente.
Conclusión: Acelera tu PrestaShop con CDN
Configurar un CDN para PrestaShop en DirectAdmin no es complicado si sigues los pasos adecuados. Cloudflare te ofrece una solución gratuita y potente que mejorará la velocidad de carga, la seguridad y la experiencia de tus clientes. Recuerda:
- Cambia los nameservers de tu dominio a Cloudflare.
- Activa el proxy en los registros DNS.
- Instala el módulo de Cloudflare en PrestaShop.
- Optimiza el rendimiento desde el panel de PrestaShop.
- Prueba con herramientas externas para verificar la mejora.
Con esta configuración, tu tienda estará lista para competir en velocidad y seguridad. ¡No dudes en experimentar y ajustar según tus necesidades! Si tienes dudas, consulta la documentación de Cloudflare o contacta con tu proveedor de hosting.
