Crear un certificado SSL para PrestaShop en cPanel
¿Tu tienda PrestaShop sigue mostrando el temido candado roto en el navegador? ¿Tus clientes dudan antes de pagar porque ven "No seguro" en la barra de direcciones? Tranquilo, no eres el único. Activar SSL PrestaShop cPanel es uno de los pasos más importantes para dar credibilidad a tu negocio online, y hoy te voy a explicar cómo hacerlo de principio a fin, sin tecnicismos raros y sin necesidad de ser un experto en servidores.
Vamos a desgranar todo el proceso: desde qué es exactamente un certificado, cómo generarlo e instalarlo en cPanel, hasta cómo configurar tu PrestaShop para que funcione obligatoriamente en PrestaShop HTTPS. Al final, tendrás una tienda rápida, segura y con la confianza que tus clientes necesitan.
¿Por qué necesitas un certificado SSL en PrestaShop?
Antes de ensuciarnos las manos con los paneles de control, vamos a entender el "por qué". Un certificado SSL (Secure Sockets Layer) es como un pasaporte digital para tu web. Su función principal es cifrar la información que viaja entre el navegador del cliente y tu servidor. Piensa en ello como un sobre sellado: si alguien intercepta el correo, no puede leer lo que hay dentro.
Esto es crítico en una tienda online porque tus clientes van a introducir datos personales, direcciones y, sobre todo, números de tarjeta de crédito. Sin un certificado SSL PrestaShop, toda esa información viaja en "texto plano", siendo vulnerable a ataques de intermediarios.
Además de la seguridad, hay dos razones de peso para hacerlo:
- Confianza del usuario: Los navegadores modernos (Chrome, Firefox, Edge) marcan cualquier sitio sin HTTPS como "No seguro". Esto es un asesino de conversiones. Un cliente que ve ese aviso probablemente abandonará el carrito.
- Posicionamiento SEO: Google confirmó hace años que el HTTPS es un factor de posicionamiento. Si tu competidor tiene SSL y tú no, él tiene ventaja en los resultados de búsqueda. No es una opción, es una necesidad para sobrevivir en el mundo digital.
Paso 1: Comprobar si ya tienes un certificado instalado
A veces, tu proveedor de hosting ya incluye un certificado gratuito (como Let's Encrypt) activado por defecto. Antes de empezar a generar nada, vamos a verificar tu estado actual.
- Abre tu tienda en un navegador (por ejemplo,
https://tudominio.com). - Haz clic en el icono del candado que aparece junto a la URL.
- Si ves un mensaje que dice "Conexión segura" o similar, ¡enhorabuena! Ya tienes uno.
- Si ves un icono de "i" dentro de un círculo o un candado tachado, no tienes SSL activo o está mal configurado.
También puedes usar una herramienta externa gratuita como SSL Labs para analizar la configuración de tu servidor en profundidad. Pero no te preocupes, si no lo tienes, vamos a solucionarlo ahora.
Paso 2: Acceder a cPanel y localizar la sección SSL
Para instalar el certificado SSL PrestaShop, necesitas acceso a tu panel de control de hosting. Aquí te voy a dar un consejo rápido: si tu hosting utiliza Syspanel (antes conocido como HestiaCP), el acceso se realiza a través del puerto 2106 (por ejemplo, https://tudominio.com:2106). Aunque el proceso de instalación puede variar ligeramente, los conceptos de cPanel que veremos a continuación son los estándar y los que la mayoría de proveedores utilizan.
Una vez dentro de cPanel, busca la sección llamada "Seguridad" o directamente "SSL/TLS". Dependiendo de la versión de cPanel, puede aparecer como:
- SSL/TLS Status (Estado SSL/TLS)
- SSL/TLS (para instalar manualmente)
- Let's Encrypt (si tu hosting ofrece este emisor de certificados gratuitos).
Paso 3: Generar el certificado (¿Gratis o de pago?)
Aquí tienes dos caminos principales. Te recomiendo encarecidamente que empieces con el gratuito, ya que es 100% válido y seguro.
Opción A: Usar Let's Encrypt (Gratuito y Recomendado)
La mayoría de los cPanel modernos tienen una integración nativa con Let's Encrypt. Esto es lo más fácil del mundo:
- En tu cPanel, busca el icono de "Let's Encrypt".
- Selecciona tu dominio principal (o el subdominio donde está PrestaShop).
- Marca las casillas que dicen "Incluir www" (es muy importante que lo hagas para cubrir ambas variantes).
- Haz clic en "Emitir" o "Instalar".
En menos de un minuto, el sistema generará el certificado y lo configurará automáticamente. Además, se renovará solo cada 90 días, así que no tendrás que preocuparte por nada más.
Opción B: Instalar un certificado de pago (Manual)
Si tu empresa requiere un certificado de validación extendida (el que muestra el nombre de la empresa en verde), tendrás que comprarlo a un proveedor como Comodo, DigiCert o Sectigo. El proceso es más largo y requiere generar una solicitud de firma (CSR).
- En cPanel, ve a "SSL/TLS" y luego a "Generar, ver o eliminar solicitudes de firma de certificados".
- Rellena los datos: nombre del país, estado, ciudad y el nombre común (tu dominio).
- Copia todo el bloque de texto que te genera (empieza por
-----BEGIN CERTIFICATE REQUEST-----). - Pega ese texto en el formulario de compra de tu proveedor de certificados.
- Cuando el proveedor te envíe el certificado (normalmente por email), vuelve a cPanel, ve a "Instalar y administrar SSL para su sitio (HTTPS)".
- Selecciona tu dominio y pega el certificado en el campo correspondiente. La clave privada (que se genera automáticamente en cPanel) y el bundle de CA (certificados intermedios que te envía el proveedor) se rellenarán solos o tendrás que pegarlos manualmente.
- Haz clic en "Instalar certificado".
Paso 4: Forzar la redirección a PrestaShop HTTPS
Este es el paso más crítico. No basta con tener el certificado instalado; tu tienda debe usar PrestaShop HTTPS de forma obligatoria. Si no lo haces, un cliente podría entrar por http:// (sin la "s") y ver la web sin cifrar, lo que anula todo el trabajo.
Configurar la URL en PrestaShop
PrestaShop tiene una opción específica para forzar SSL en el panel de administración.
- Accede a tu Panel de Administración de PrestaShop (normalmente en
/admino similar). - Ve al menú "Parámetros avanzados" y luego a "Rendimiento".
- En la sección "URIs" o "URL", busca la opción que dice "Activar SSL" o "Forzar SSL en todas las páginas".
- Actívala y guarda los cambios.
[INFO] Si al activar el SSL en PrestaShop te da un error de "Redirección infinita" o "Demasiadas redirecciones", no entres en pánico. Esto suele pasar porque hay una regla de redirección duplicada en el servidor. Lo solucionaremos en el siguiente bloque.
Redirección a nivel de servidor (.htaccess)
Para asegurarte de que nadie pueda acceder por HTTP, vamos a añadir una regla de redirección en el archivo .htaccess de tu tienda. Este archivo está en la raíz de tu instalación de PrestaShop.
- Conéctate a tu hosting vía FTP o usa el "Administrador de archivos" de cPanel.
- Busca el archivo
.htaccessen la carpeta donde está instalado PrestaShop (la raíz depublic_htmlnormalmente). - Antes de tocarlo, descarga una copia de seguridad a tu ordenador. Esto es vital.
- Abre el archivo y, al principio del mismo, pega este código:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Este código le dice al servidor: "Si la conexión no es HTTPS, redirige al visitante a la versión segura con un código 301 (movido permanentemente)".
[WARNING] Si no ves el archivo
.htaccess, asegúrate de que en tu administrador de archivos esté activada la opción "Mostrar archivos ocultos". En cPanel, suele ser un botón en la esquina superior derecha del Administrador de Archivos.
Paso 5: Actualizar las URLs en la base de datos (Cuidado con el contenido mixto)
A veces, aunque tengas el SSL activo, verás que el candado sigue apareciendo roto. Esto se debe al "contenido mixto". Significa que tu web se carga por HTTPS, pero algunos recursos (imágenes, scripts, hojas de estilo) se están cargando por HTTP. El navegador bloquea estos recursos por seguridad y muestra el error.
Esto pasa porque PrestaShop guarda las URLs de los productos en la base de datos con la dirección http://. ¿Cómo lo arreglamos? Hay dos formas.
Método rápido: Parámetros de PrestaShop
En el Panel de Administración, ve a "Parámetros avanzados" > "Rendimiento". En la sección de "URIs", verás dos campos: "URL de la tienda" y "URL de SSL". Asegúrate de que ambas tengan el prefijo https:// (por ejemplo, https://tudominio.com). Guarda y borra la caché de PrestaShop (botón "Vaciar caché" en la parte superior).
Método exhaustivo: Consulta SQL
Si el problema persiste, tendrás que actualizar la base de datos. Para ello, ve a "phpMyAdmin" dentro de cPanel.
- Selecciona la base de datos de tu PrestaShop.
- Ve a la pestaña "SQL".
- Ejecuta la siguiente consulta (cambia
tudominio.compor tu dominio real):
UPDATE ps_shop_url SET domain='tudominio.com', domain_ssl='tudominio.com', physical_uri='/';
UPDATE ps_configuration SET value = '1' WHERE name = 'PS_SSL_ENABLED';
[WARNING] Esta consulta SQL es genérica. Si tu tienda tiene un prefijo de tabla distinto a
ps_(por ejemplo,prestashop_), deberás cambiarlo en la consulta. Revisa tu archivoconfig/settings.inc.phppara ver el prefijo exacto.
Paso 6: Verificar que todo funciona correctamente
Después de todos estos pasos, es hora de la prueba de fuego.
- Abre tu tienda en una ventana de incógnito (Ctrl+Shift+N en Chrome, Ctrl+Shift+P en Firefox).
- Escribe tu dominio con
https://delante. - Comprueba que el candado aparece cerrado y en verde.
- Navega por un producto, añádelo al carrito y llega hasta la página de pago (no hace falta pagar, solo ver que la URL sigue siendo HTTPS).
- Haz clic derecho en la página y selecciona "Inspeccionar". Ve a la pestaña "Consola". Si no hay errores de "Mixed Content", estás listo.
Si ves errores de contenido mixto, repite el paso de la consulta SQL o busca en el código de tu plantilla o módulos que tengan URLs absolutas con http://.
Solución de problemas comunes (FAQ)
Aquí tienes una lista rápida de problemas que suelen surgir y sus soluciones.
"Me sale el error 'ERR_SSL_PROTOCOL_ERROR' al entrar"
Esto casi siempre significa que el certificado no está bien instalado o no coincide con el dominio. Revisa que has instalado el certificado para el dominio correcto (y su variante www).
"El candado aparece pero con una advertencia amarilla"
Es contenido mixto. Hay algún elemento de tu web (una imagen, un script de un slider, etc.) que carga por HTTP. Usa la consola del navegador para localizar el recurso exacto y cámbialo a HTTPS.
"Mi hosting no tiene cPanel, usa Syspanel"
Como mencioné antes, si tu panel es Syspanel (HestiaCP), el acceso es por el puerto 2106. Dentro del panel, busca la sección de "Web" o "Dominios". Ahí encontrarás la opción de "SSL" o "Let's Encrypt". El proceso de activación con Let's Encrypt suele ser un simple clic en un botón de "Activar SSL" para tu dominio. Después, los pasos de configuración en PrestaShop (forzar HTTPS y el .htaccess) son exactamente los mismos.
"¿Cada cuánto se renueva el certificado de Let's Encrypt?"
Los certificados de Let's Encrypt tienen una validez de 90 días. Si tu cPanel tiene la integración nativa, se renovará automáticamente. Si no, puede que tengas que configurar una tarea cron. Te recomiendo que configures una tarea para que se ejecute dos veces al día para asegurarte. En cPanel, busca "Tareas Cron" y añade esta línea (cambia tudominio.com):
0 0 * * * /usr/local/bin/certbot renew --quiet
Conclusión: Tu tienda ya es segura
Crear un certificado SSL PrestaShop en cPanel no es una tarea de otro mundo. Con estos pasos, has transformado tu tienda de un sitio vulnerable a un baluarte de confianza. Has mejorado tu SSL PrestaShop cPanel configurando correctamente el servidor, has forzado PrestaShop HTTPS y has eliminado los molestos errores de contenido mixto.
Ahora tus clientes podrán comprar con total tranquilidad, y Google te recompensará con una mejor posición en los resultados de búsqueda. Recuerda que la seguridad es un proceso continuo: mantén tu PrestaShop actualizado, haz copias de seguridad periódicas y revisa de vez en cuando que tu certificado sigue en vigor.
Si has seguido todos los pasos y te ha surgido alguna duda, no dudes en consultar la documentación oficial de PrestaShop o contactar con el soporte de tu hosting. ¡Buena suerte con tus ventas!
