Los certificados SSL y HTTPS no son opcionales para las tiendas de comercio electronico. Mas alla de los beneficios de seguridad evidentes, Google utiliza HTTPS como senal de posicionamiento desde 2014, los navegadores muestran advertencias de "No seguro" en las paginas HTTP, y los proveedores de pago exigen cada vez mas HTTPS para que sus integraciones funcionen. Si tu tienda PrestaShop todavia esta en HTTP o tiene una configuracion HTTPS incorrecta, solucionarlo deberia ser tu maxima prioridad.
Esta guia te acompana a traves de todo el proceso: obtener un certificado, configurar PrestaShop, solucionar problemas comunes y verificar que todo funciona correctamente.
Entendiendo los certificados SSL
Que hace realmente SSL/TLS
SSL (Secure Sockets Layer) y su sucesor TLS (Transport Layer Security) cifran la conexion entre el navegador de tu cliente y tu servidor web. Esto impide que terceros intercepten datos sensibles como contrasenas, numeros de tarjetas de credito e informacion personal durante la transmision.
Cuando un navegador se conecta a un sitio HTTPS, verifica el certificado SSL del servidor, establece una conexion cifrada y muestra un icono de candado en la barra de direcciones. Este proceso ocurre en milisegundos y es invisible para el usuario mas alla del indicador de candado.
Tipos de certificados SSL
Existen tres tipos de certificados SSL, diferenciados por el nivel de validacion:
- Validacion de Dominio (DV): Verifica que controlas el dominio. El mas barato y rapido de obtener (minutos). Let's Encrypt los proporciona de forma gratuita. Suficiente para la mayoria de las tiendas PrestaShop.
- Validacion de Organizacion (OV): Verifica que tu organizacion existe y controla el dominio. Cuesta entre 50 y 200 EUR al ano. Muestra el nombre de la empresa en los detalles del certificado, pero no en la barra del navegador. Proporciona un poco mas de confianza para tiendas B2B.
- Validacion Extendida (EV): La verificacion mas exhaustiva, incluyendo comprobaciones de entidad legal. Cuesta entre 200 y 1.000 EUR al ano. Anteriormente mostraba el nombre de la empresa en verde en la barra del navegador, pero la mayoria de los navegadores han eliminado esta distincion visual. El beneficio de seguridad respecto al DV es minimo para la mayoria de las tiendas.
Para la gran mayoria de las tiendas PrestaShop, un certificado DV gratuito de Let's Encrypt proporciona una seguridad de cifrado identica a la de un certificado EV de 500 EUR. La fortaleza del cifrado es la misma. Ahorra tu dinero e inviertelo en tu tienda.
Paso 1: Obtener un certificado SSL
Opcion A: Let's Encrypt (recomendado)
Let's Encrypt es una autoridad de certificacion gratuita y automatizada que emite certificados DV. La mayoria de los proveedores de alojamiento modernos integran Let's Encrypt directamente en sus paneles de control.
En cPanel: Navega a Estado SSL/TLS en tu panel de cPanel. Haz clic en "Ejecutar AutoSSL" para obtener e instalar automaticamente certificados para todos los dominios. El AutoSSL de cPanel gestiona la renovacion automaticamente cada 60-90 dias.
En Plesk: Ve a Sitios web y dominios, selecciona tu dominio, haz clic en Certificados SSL/TLS y pulsa "Instalar" junto a Let's Encrypt. Habilita la renovacion automatica.
En linea de comandos (VPS/dedicado): Instala Certbot, el cliente oficial de Let's Encrypt. Para Apache en Debian/Ubuntu: ejecuta el comando certbot apache. Para Nginx: usa el comando certbot nginx. Certbot configura tu servidor web automaticamente y establece una tarea cron para la renovacion.
Opcion B: Certificado de pago
Si necesitas un certificado OV o EV, compralo a una CA reputada (Sectigo, DigiCert, GlobalSign). El proceso implica generar una Solicitud de Firma de Certificado (CSR) en tu servidor, enviarla a la CA, completar su proceso de validacion e instalar el certificado emitido.
El equipo de soporte de tu proveedor de alojamiento puede ayudarte con la instalacion si no te sientes comodo con el proceso.
Opcion C: Cloudflare (SSL gratuito)
El plan gratuito de Cloudflare incluye SSL. Cuando enrutas tu dominio a traves de Cloudflare, este proporciona SSL entre el visitante y los servidores de Cloudflare. Puedes elegir el modo "Full (Strict)", que tambien cifra la conexion entre Cloudflare y tu servidor (requiere un certificado en tu servidor, incluso uno autofirmado).
Esta es una buena opcion si ya estas usando Cloudflare para CDN o proteccion DDoS. Ten en cuenta que en modo "Flexible", la conexion entre Cloudflare y tu servidor no esta cifrada, lo cual no es verdaderamente seguro.
Paso 2: Habilitar HTTPS en PrestaShop
Una vez que tu certificado SSL esta instalado en el servidor, necesitas indicarle a PrestaShop que lo utilice.
En PrestaShop 1.7.x y 8.x:
Ve a Parametros de la tienda > General en el back office. Establece "Habilitar SSL" en Si. Si no aparecen errores despues de guardar, establece tambien "Habilitar SSL en todas las paginas" en Si.
Importante: Habilita SSL primero, verifica que el back office funciona, y luego habilitalo en todas las paginas. Si habilitas ambos a la vez y algo va mal, puedes quedarte sin acceso al panel de administracion.
Si te quedas sin acceso
Si habilitar SSL rompe tu acceso al back office, puedes solucionarlo editando directamente la base de datos. Conectate a tu base de datos y establece el valor de PS_SSL_ENABLED a 0 en la tabla ps_configuration. Esto desactiva SSL para que puedas acceder de nuevo al admin y depurar el problema.
Actualizar las URLs de la tienda
Ve a Parametros de la tienda > Trafico y SEO > URLs de la tienda. Verifica que tanto el dominio como el dominio SSL esten configurados correctamente. Deben ser identicos (por ejemplo, ambos "tutienda.com" sin ningun prefijo http:// o https://). No anadais prefijos de protocolo en estos campos.
Paso 3: Configurar la redireccion de HTTP a HTTPS
Despues de habilitar HTTPS, necesitas redirigir todo el trafico HTTP a HTTPS. Esto tiene dos propositos: asegura que los visitantes siempre usen la conexion cifrada y evita problemas de contenido duplicado en los motores de busqueda.
Redireccion .htaccess (Apache)
Anade las siguientes reglas a tu archivo .htaccess en el directorio raiz de PrestaShop. Colocalas despues de "RewriteEngine On" pero antes de las reglas de reescritura existentes de PrestaShop:
La condicion de reescritura comprueba que HTTPS no esta ya habilitado, y la regla de reescritura redirige a la version HTTPS de la misma URL con un estado de redireccion permanente 301.
Importante: PrestaShop genera su propio contenido de .htaccess. Si ejecutas "Generar archivo .htaccess" desde el back office (Parametros de la tienda > Trafico y SEO), tus adiciones personalizadas seran sobreescritas. Anade tus reglas despues de la regeneracion o colocalas en un archivo de configuracion separado.
Redireccion Nginx
Para servidores Nginx, anade una redireccion en la configuracion del bloque server. Crea un bloque server separado que escuche en el puerto 80 y devuelva una redireccion 301 a la version HTTPS de la URI solicitada.
Redireccion Cloudflare
Si usas Cloudflare, habilita "Usar siempre HTTPS" en los ajustes de SSL/TLS. Esto gestiona la redireccion a nivel de CDN, lo cual es mas eficiente que las redirecciones del lado del servidor.
Paso 4: Solucionar el contenido mixto
El contenido mixto ocurre cuando una pagina HTTPS carga algunos recursos (imagenes, CSS, JavaScript) a traves de HTTP. Los navegadores bloquean o advierten sobre estos recursos inseguros, lo que puede romper los disenos de pagina, desactivar formularios de pago y mostrar advertencias de seguridad.
Encontrar contenido mixto
Abre tu tienda en Chrome, pulsa F12 para abrir las Herramientas de Desarrollador y comprueba la pestana Consola en busca de advertencias de contenido mixto. Tienen el aspecto de: "Mixed Content: The page at https://... was loaded over HTTPS, but requested an insecure resource http://...".
Alternativamente, usa una herramienta online como WhyNoPadlock.com o el SSL Checker de JitBit para escanear tus paginas en busca de contenido mixto.
Fuentes comunes de contenido mixto en PrestaShop
- URLs HTTP codificadas en el contenido CMS: Descripciones de productos, descripciones de categorias y paginas CMS que contienen URLs absolutas con http://. Solucionalo buscando en el contenido de tu base de datos URLs con http:// y reemplazandolas por https:// o por URLs relativas al protocolo //.
- Recursos de modulos: Algunos modulos cargan archivos CSS o JavaScript usando URLs http://. Actualiza el codigo del modulo o contacta con el desarrollador del modulo.
- Recursos externos: Google Fonts, scripts de analitica, videos incrustados o widgets de redes sociales cargados a traves de HTTP. Actualiza los codigos de incrustacion para usar https://.
- Modificaciones personalizadas del tema: Imagenes de fondo CSS o archivos de fuentes referenciados con http:// en las hojas de estilo del tema.
- Plantillas de email antiguas: Plantillas de email que incluyen imagenes con URLs http://. Actualiza estas en Diseno > Tema de email.
Limpieza de la base de datos
Para una solucion exhaustiva, ejecuta consultas de busqueda y reemplazo en tu base de datos para convertir las URLs HTTP restantes. Apunta a los campos de descripcion de productos, campos de descripcion de categorias, campos de contenido CMS y entradas de la tabla de configuracion. Realiza siempre una copia de seguridad de tu base de datos antes de ejecutar consultas de actualizacion.
Paso 5: Actualizar los servicios externos
Varios servicios y configuraciones externas necesitan actualizarse despues de cambiar a HTTPS:
- Google Search Console: Anade tu propiedad HTTPS (https://tutienda.com) como una nueva propiedad. Google trata HTTP y HTTPS como sitios separados.
- Google Analytics: Actualiza tu URL predeterminada en los Ajustes de la propiedad para usar https://.
- Google Merchant Center: Actualiza la URL de tu sitio web si usas feeds de Google Shopping.
- Sitemap: Regenera tu sitemap para asegurar que todas las URLs usan https://. Si usas un modulo SEO, regenera el sitemap a traves del modulo. En mypresta.rocks, nuestro modulo de sitemap gestiona esto automaticamente cuando cambian los ajustes de SSL.
- Perfiles de redes sociales: Actualiza la URL de tu sitio web en Facebook, Instagram y otras plataformas.
- Directorios empresariales y backlinks: Cuando sea posible, actualiza los enlaces externos para usar https://. La redireccion 301 se encarga de esto para el SEO, pero los enlaces HTTPS directos son siempre mejores.
Paso 6: Verificar que todo funciona
Despues de completar la configuracion, repasa esta lista de verificacion:
- Visita tu pagina de inicio a traves de HTTPS: el candado deberia aparecer sin advertencias
- Navega por paginas de productos, categorias y CMS: comprueba si hay advertencias de contenido mixto
- Completa un checkout de prueba: verifica que todo el flujo de pago funciona a traves de HTTPS
- Revisa el back office: todas las paginas de administracion deberian cargarse a traves de HTTPS
- Verifica la redireccion de HTTP a HTTPS: visitar http://tutienda.com deberia redirigir a https://tutienda.com
- Prueba la redireccion de no-www a www (o viceversa): deberias tener un unico formato de URL canonica
- Comprueba tu certificado SSL con SSL Labs Server Test (ssllabs.com/ssltest): apunta a una calificacion A o A+
Errores comunes y como solucionarlos
Bucle de redireccion
Si tu tienda entra en un bucle de redireccion infinito despues de habilitar SSL, la causa mas comun es un proxy o balanceador de carga que termina SSL antes de llegar a tu servidor. PrestaShop ve la conexion como HTTP y redirige a HTTPS, lo que el proxy redirige de vuelta, creando un bucle.
Solucion: Comprueba si tu alojamiento usa un proxy inverso (comun con Cloudflare, AWS ELB o paneles de alojamiento). Puede que necesites configurar la comprobacion del encabezado X-Forwarded-Proto en tu .htaccess o en la configuracion de PrestaShop.
CSS y JavaScript no se cargan
Si tu tienda se ve rota despues de habilitar HTTPS (sin estilos, sin interactividad), comprueba si hay bloqueo de contenido mixto. El navegador probablemente esta bloqueando recursos HTTP. Revisa la consola en busca de errores y corrige las URLs.
Fallos en la pasarela de pago
Algunas pasarelas de pago tienen URLs de webhook configuradas que todavia usan http://. Actualiza las URLs de webhook/notificacion en el panel de tu proveedor de pagos para usar https://. Infractores comunes: URL IPN de PayPal, endpoint de webhook de Stripe, URL de webhook de Mollie.
Las imagenes no se cargan
Si las imagenes de productos o imagenes CMS desaparecen despues de la migracion a HTTPS, probablemente contienen URLs http:// codificadas. Ejecuta la limpieza de base de datos descrita en el Paso 4. Tambien comprueba que tu servidor de imagenes o CDN soporta HTTPS.
Consideraciones de rendimiento
HTTPS anade una pequena sobrecarga debido al handshake TLS, pero en servidores modernos esto es insignificante (1-5 ms por nueva conexion). La sobrecarga se minimiza aun mas mediante:
- HTTP/2: Disponible solo a traves de HTTPS y mejora significativamente el rendimiento mediante multiplexacion, compresion de cabeceras y server push. La mayoria del alojamiento moderno soporta HTTP/2 automaticamente a traves de HTTPS.
- Reanudacion de sesion TLS: Los visitantes que regresan pueden reanudar su sesion TLS sin un handshake completo, reduciendo la sobrecarga a practicamente cero.
- OCSP Stapling: Tu servidor puede incluir la comprobacion de validez del certificado en el handshake TLS, eliminando la necesidad de que el cliente contacte con la CA por separado.
En la practica, habilitar HTTPS normalmente mejora el rendimiento porque desbloquea HTTP/2, lo que compensa con creces la sobrecarga de TLS.
Mantenimiento de tu configuracion SSL
SSL no es una configuracion que se establece y se olvida. Monitoriza estas cuestiones de forma continua:
- Renovacion del certificado: Los certificados de Let's Encrypt expiran cada 90 dias. AutoSSL o Certbot deberian gestionar la renovacion automaticamente, pero verifica que funciona comprobando periodicamente la fecha de expiracion de tu certificado.
- Contenido nuevo: Siempre que anadas nuevo contenido CMS, descripciones de productos o incrustes recursos externos, asegurate de que usan URLs HTTPS.
- Actualizaciones de modulos: Los nuevos modulos o las actualizaciones de modulos pueden introducir contenido mixto. Realiza pruebas despues de cada instalacion o actualizacion de modulo.
- Cabeceras de seguridad: Considera anadir cabeceras de seguridad como HSTS (HTTP Strict Transport Security) para instruir a los navegadores a usar siempre HTTPS. Empieza con un max-age corto y aumentalo una vez que estes seguro de que todo funciona.
La configuracion SSL/HTTPS es una de esas tareas que parece intimidante pero que en realidad es sencilla cuando se desglosa en pasos. Los beneficios de seguridad y SEO son inmediatos y significativos. Si tu tienda PrestaShop aun no esta completamente en HTTPS, convierte esto en tu proyecto para esta semana. Tus clientes, tu posicionamiento en Google y tus proveedores de pago te lo agradeceran.
Artículos Relacionados
- Seguridad PrestaShop: La lista de verificacion completa de endurecimiento
- Seguridad en tu tienda PrestaShop: Guía práctica para propietarios
- PrestaShop .htaccess: reglas de seguridad y rendimiento que necesitas
Comentarios
Aún no hay comentarios. ¡Sé el primero!
Sé el primero en hacer una pregunta o compartir una opinión útil.
Dejar un comentario
Comparte una pregunta, un detalle de instalación o una opinión que pueda ayudar a otro lector.