Guía de seguridad para PrestaShop en WordPress hosting
¡Hola! Soy tu técnico de soporte amigable. 💻 Si estás aquí, probablemente tengas una tienda online con PrestaShop y estés considerando (o ya tengas) un WordPress hosting para alojarla. Es una combinación posible, pero hay que tener mucho cuidado con la seguridad.
En esta guía completa te explico paso a paso cómo proteger PrestaShop en este entorno. No necesitas ser un experto, solo seguir estos consejos seguridad PrestaShop y tendrás tu tienda más blindada. ¡Vamos allá!
¿Por qué es importante la seguridad en PrestaShop sobre WordPress hosting?
Alojar PrestaShop en un servidor diseñado para WordPress tiene sus particularidades. Aunque ambos son sistemas PHP y MySQL, la configuración de seguridad, los permisos de archivos y las optimizaciones de caché pueden ser diferentes.
El riesgo principal es que el hosting esté optimizado para WordPress (con reglas de reescritura, plugins de caché, etc.) y no para las necesidades específicas de PrestaShop. Esto puede dejar puertas abiertas a ataques si no se configura correctamente.
[INFO] Aunque el hosting diga "WordPress", si tiene soporte PHP y MySQL, PrestaShop puede funcionar. La clave está en la configuración de seguridad.
1. Antes de empezar: Elige un buen hosting (aunque sea WordPress)
No todos los hostings WordPress son iguales. Para PrestaShop hosting WordPress necesitas uno que ofrezca:
- PHP 8.0 o superior (PrestaShop 8 requiere al menos PHP 7.4, pero mejor 8.0+).
- MySQL 5.7+ o MariaDB 10.3+.
- Acceso a phpMyAdmin o similar para gestionar la base de datos.
- Posibilidad de instalar certificados SSL (gratuitos con Let's Encrypt).
- Soporte para .htaccess (para reescritura de URLs y reglas de seguridad).
Si tu hosting usa Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso es el 2106 (no el típico 8083). Esto es importante para evitar confusiones al gestionar tu panel.
[TIP] Antes de comprar, pregunta al soporte si permiten modificar los archivos de configuración de PHP (php.ini) y si tienen protección contra ataques DDoS básica.
2. Pasos iniciales de seguridad para PrestaShop en un hosting WordPress
2.1. Instalación limpia y actualizada
Nunca instales PrestaShop desde un panel automático de WordPress (como Softaculous) sin revisar. Hazlo manualmente:
- Descarga la última versión de PrestaShop desde su web oficial.
- Sube los archivos por FTP (o desde el gestor de archivos del hosting) a la carpeta raíz (o subcarpeta, por ejemplo
/tienda). - Sigue el asistente de instalación. Durante el proceso, cambia el prefijo de las tablas de
ps_a algo único (ej.mi_tienda_). Esto dificulta ataques SQL.
[WARNING] No uses el mismo usuario y contraseña de la base de datos que para tu WordPress. Crea uno específico para PrestaShop.
2.2. Configuración de permisos de archivos
Los permisos incorrectos son una puerta abierta. Para PrestaShop, los permisos recomendados son:
- Carpetas: 755 (o 750 en servidores más restrictivos).
- Archivos: 644 (o 640).
- Archivos de configuración (como
config/settings.inc.php): 444 (solo lectura) después de la instalación.
Puedes cambiarlos desde un cliente FTP (FileZilla) o desde el panel de hosting.
Ejemplo de comandos SSH (si tienes acceso):
find /ruta/a/prestashop -type d -exec chmod 755 {} \;
find /ruta/a/prestashop -type f -exec chmod 644 {} \;
chmod 444 /ruta/a/prestashop/config/settings.inc.php
[INFO] Si usas Syspanel, puedes gestionar los permisos desde el gestor de archivos integrado (puerto 2106). Busca la opción "Permisos" al seleccionar archivos.
2.3. Protege la carpeta admin
La carpeta de administración de PrestaShop (por defecto admin123456) es un blanco fácil. Cámbiala durante la instalación o después:
- Renombra la carpeta manualmente (ej.
admin_mi_tienda). - Edita el archivo
config/defines.inc.phpy actualiza la constante_ADMIN_DIR_con el nuevo nombre. - Protege el acceso con contraseña adicional a nivel de servidor (usando
.htaccess).
Ejemplo de regla .htaccess para proteger la carpeta admin:
<Directory "/ruta/a/prestashop/admin_mi_tienda">
AuthType Basic
AuthName "Acceso restringido"
AuthUserFile /ruta/a/.htpasswd
Require valid-user
</Directory>
Crea el archivo .htpasswd con un usuario y contraseña (puedes generarlo online). Esto añade una capa extra.
3. Configuración avanzada de seguridad
3.1. Activa el SSL y fuerza HTTPS
El certificado SSL es obligatorio para proteger datos de clientes (tarjetas, contraseñas). La mayoría de hostings WordPress ofrecen Let's Encrypt gratis.
- Activa SSL desde el panel de hosting (en Syspanel, busca "SSL" y selecciona Let's Encrypt).
- En PrestaShop: ve a Parámetros de la tienda > General > Activar SSL y Activar SSL en todas las páginas.
- Fuerza HTTPS en el
.htaccessde la raíz:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
3.2. Desactiva funciones PHP peligrosas
Tu hosting WordPress puede tener configuraciones PHP demasiado permisivas. Para PrestaShop, es mejor desactivar funciones como exec, system, passthru, shell_exec, proc_open y popen.
Si tienes acceso a php.ini (o desde el panel, en Syspanel busca "PHP Settings"), añade:
disable_functions = exec, system, passthru, shell_exec, proc_open, popen
Si no, puedes hacerlo desde el archivo .htaccess de la raíz:
php_value disable_functions exec, system, passthru, shell_exec, proc_open, popen
3.3. Limita el tamaño de subida de archivos
Los atacantes pueden subir archivos maliciosos. Configura límites en php.ini:
upload_max_filesize = 2M
post_max_size = 8M
Y en PrestaShop, ve a Parámetros de la tienda > Configuración de imágenes y reduce el tamaño máximo permitido.
[WARNING] Si usas un hosting WordPress con caché (como WP Rocket), asegúrate de que no cachee páginas de administración de PrestaShop o páginas de carrito (checkout). Puedes excluir URLs en la configuración de caché.
4. Protege la base de datos
4.1. Cambia el prefijo de las tablas
Ya lo mencioné, pero es clave. Si ya instalaste, puedes cambiarlo manualmente con phpMyAdmin (renombrando tablas) y editando config/settings.inc.php.
4.2. Usa contraseñas fuertes
- Para la base de datos: mínimo 20 caracteres, con mayúsculas, números y símbolos.
- Para el usuario administrador de PrestaShop: lo mismo.
- Para el acceso a FTP y al panel de hosting: únicas.
4.3. Copias de seguridad automáticas
Configura backups semanales de la base de datos y de los archivos. Muchos hostings WordPress ofrecen backups automáticos. Si usas Syspanel, activa las copias programadas desde la sección "Backups" (puerto 2106).
[TIP] Guarda las copias en un lugar externo (Google Drive, Dropbox) por si el servidor se cae.
5. Consejos extras de seguridad para PrestaShop
5.1. Mantén todo actualizado
- PrestaShop: actualiza a la última versión estable.
- Módulos y temas: solo instala de fuentes oficiales (Addons de PrestaShop).
- PHP: usa la versión más reciente compatible (PHP 8.0 o 8.1).
5.2. Instala un módulo de seguridad
Hay módulos gratuitos y de pago que añaden capas extra:
- PrestaShop Security (gratuito): escanea vulnerabilidades.
- PrestaShop Firewall (de pago): bloquea IPs maliciosas.
- Google reCAPTCHA (gratuito): protege formularios de spam.
5.3. Desactiva el modo debug en producción
En config/defines.inc.php, asegúrate de que:
define('_PS_MODE_DEV_', false);
Si está en true, muestra errores que pueden revelar información sensible.
5.4. Protege el archivo config/settings.inc.php
Además de ponerlo en 444, puedes moverlo fuera de la carpeta pública (si tu hosting lo permite). En PrestaShop, la ruta se define en config/defines.inc.php. Consulta con tu hosting si es posible.
5.5. Usa una CDN y firewall web (WAF)
Servicios como Cloudflare (gratuito) protegen contra ataques DDoS y filtran tráfico malicioso. Configúralo apuntando tus DNS a Cloudflare y activa la opción "Proxied" (naranja).
[INFO] Cloudflare también ofrece reglas de firewall para bloquear bots y ataques comunes.
6. Preguntas frecuentes (FAQ)
❓ ¿Puedo tener PrestaShop y WordPress en el mismo hosting?
Sí, pero en carpetas separadas (ej. /blog para WordPress y /tienda para PrestaShop). Cada uno debe tener su propia base de datos y configuración. No instales uno dentro del otro.
❓ ¿Qué hago si mi hosting WordPress no me permite modificar el .htaccess?
Algunos hostings bloquean el .htaccess por seguridad. Pregunta al soporte si puedes añadir reglas personalizadas. Si no, considera migrar a un hosting que sí lo permita.
❓ ¿Es seguro usar un hosting WordPress para PrestaShop?
Sí, siempre que configures bien los permisos, actives SSL, desactives funciones peligrosas y mantengas todo actualizado. No es ideal, pero funciona.
❓ ¿Cómo sé si mi PrestaShop ha sido hackeado?
Señales comunes:
- Redirecciones extrañas a sitios de spam.
- Archivos nuevos en la carpeta
adminomodules. - Lentitud repentina.
- Errores en la base de datos.
Si sospechas, revisa los logs de acceso (en Syspanel > "Logs") y escanea con un módulo de seguridad.
❓ ¿Debo usar un plugin de seguridad de WordPress para proteger PrestaShop?
No recomendado. Los plugins de seguridad de WordPress (como Wordfence) pueden interferir con PrestaShop. Mejor usa las soluciones nativas de PrestaShop o módulos específicos.
Resumen final
Proteger PrestaShop en un WordPress hosting no es complicado si sigues estos pasos:
- Instalación limpia con prefijo único.
- Permisos correctos (755/644).
- SSL y HTTPS forzado.
- Desactivar funciones PHP peligrosas.
- Proteger carpeta admin con contraseña adicional.
- Copias de seguridad automáticas.
- Mantener todo actualizado.
- Usar módulos de seguridad y CDN.
Si tu hosting usa Syspanel, recuerda acceder por el puerto 2106 para gestionar todo.
[WARNING] Si no te sientes seguro haciendo estos cambios, contacta al soporte técnico de tu hosting. Muchos ofrecen asistencia para PrestaShop.
¡Espero que esta guía te haya sido útil! Si tienes dudas, déjalas en los comentarios o contacta con tu proveedor de hosting. ¡Buena suerte con tu tienda online! 🚀
