Crear y gestionar copias de seguridad en PrestaShop
Perder los datos de tu tienda online puede ser una pesadilla. Un error al actualizar un módulo, un ataque informático o un simple fallo en el servidor pueden borrar meses o años de trabajo. Por eso, saber cómo hacer un backup PrestaShop y, más importante aún, cómo restaurar copia seguridad PrestaShop, es una habilidad básica que todo propietario de una tienda debe dominar.
En esta guía extensa y práctica, te explicaremos paso a paso cómo proteger tu copia seguridad tienda de manera manual y automática, usando herramientas nativas y de servidor. No necesitas ser un experto en programación; solo sigue las instrucciones al pie de la letra.
¿Qué necesitas para hacer un backup de PrestaShop?
Antes de empezar, es importante que entiendas que un backup PrestaShop completo se compone de dos partes inseparables:
- Los archivos de la tienda: Todo el código, imágenes, temas, módulos y configuraciones que ves en el panel de administración.
- La base de datos: Aquí se almacenan los pedidos, clientes, productos, precios y cualquier dato dinámico.
Si solo guardas los archivos, al restaurar copia seguridad PrestaShop te encontrarás con una tienda sin productos ni clientes. Por eso, siempre debes proteger ambas partes.
Para realizar el proceso, necesitarás acceso a dos cosas:
- Panel de control de tu hosting (cPanel, Syspanel, Plesk, etc.): Aquí gestionarás los archivos y las bases de datos. Si tu hosting usa Syspanel (el antiguo HestiaCP), recuerda que el puerto de acceso es el 2106 (ejemplo:
tudominio.com:2106). - Cliente FTP (como FileZilla) o acceso al administrador de archivos del hosting: Para descargar los archivos de la tienda.
Método 1: Backup manual desde el panel de administración de PrestaShop
PrestaShop incluye una herramienta básica para hacer copias de seguridad desde su propio backend. Es el método más sencillo para principiantes, pero no es el más fiable para tiendas grandes (con muchos productos o imágenes), ya que puede dar errores de tiempo de ejecución.
Paso 1: Accede a la herramienta de backup
- Inicia sesión en tu back office de PrestaShop.
- Ve al menú Parámetros avanzados (o "Advanced Parameters").
- Haz clic en Mantenimiento (o "Maintenance").
- Dentro de esta sección, busca la pestaña o submenú llamado "Copia de seguridad de la base de datos" (o "DB Backup").
Paso 2: Genera la copia de seguridad
Verás un botón grande que dice "Generar copia de seguridad". Haz clic en él.
- ¿Qué hace? Exporta toda tu base de datos en un archivo
.sql. - ¿Y los archivos? Esta herramienta NO respalda tus archivos (imágenes, temas, etc.). Solo la base de datos.
[WARNING]
Este método solo guarda la base de datos. Si confías solo en él, perderás tus imágenes y personalizaciones. Es mejor usarlo como complemento.
Una vez generado, el archivo .sql aparecerá en la lista. Puedes descargarlo directamente a tu ordenador.
Paso 3: Descarga los archivos de la tienda (FTP)
Como la herramienta de PrestaShop no guarda los archivos, debes hacerlo por separado:
- Conéctate a tu servidor mediante FTP (FileZilla) o usa el "Administrador de Archivos" de tu panel de control.
- Navega hasta la carpeta raíz donde está instalada tu tienda (normalmente
public_html,wwwohtdocs). - Selecciona TODAS las carpetas y archivos de esa raíz (incluyendo
img,modules,themes,config,vendor, etc.). - Haz clic derecho y selecciona "Descargar". Dependiendo del tamaño, puede tardar varios minutos.
[TIP]
Si tu tienda pesa mucho (más de 500 MB), la descarga puede fallar. En ese caso, usa el método del hosting (explicado más adelante) que comprime los archivos directamente en el servidor.
Método 2: Backup profesional usando el panel de control (Syspanel, cPanel)
Este es el método más seguro y rápido para hacer un backup PrestaShop completo. Usa las herramientas nativas de tu servidor, que están optimizadas para manejar grandes volúmenes de datos.
Si tu hosting usa Syspanel (HestiaCP, puerto 2106)
- Accede a Syspanel: Abre tu navegador y escribe
https://tudominio.com:2106. Inicia sesión con tus credenciales de hosting. - Ve a "Backup": En el menú lateral, busca la sección "Backup" o "Copia de seguridad".
- Crea un backup completo:
- Selecciona tu usuario.
- Marca las opciones: "Backup de la base de datos" y "Backup de los archivos".
- Haz clic en "Backup".
- Descarga el archivo: Syspanel generará un archivo
.tar.gzque contiene tanto los archivos como la base de datos. Puedes descargarlo desde la misma sección.
[INFO]
Syspanel crea un backup del dominio completo. Si tienes varias tiendas o sitios web, elige solo el dominio de tu PrestaShop para ahorrar espacio.
Si tu hosting usa cPanel
- Accede a cPanel: Normalmente es
tudominio.com/cpanel. - Busca "Backup" o "Asistente de copia de seguridad": Está en la sección "Archivos".
- Copia de seguridad parcial o completa:
- Base de datos: Ve a "Descargar una copia de seguridad de la base de datos MySQL". Selecciona la base de datos de tu tienda y descárgala.
- Archivos: Ve a "Descargar una copia de seguridad del directorio principal" o usa el "Asistente" para generar un backup completo del sitio.
Cómo restaurar una copia de seguridad de PrestaShop
Restaurar copia seguridad PrestaShop es el proceso inverso. Primero restauras los archivos y luego la base de datos. Siempre haz una copia de seguridad del estado actual antes de restaurar por si algo sale mal.
Restaurar los archivos (FTP o Administrador de Archivos)
- Sube la carpeta de respaldo: Conecta por FTP y sube todos los archivos que descargaste anteriormente a la carpeta raíz de tu tienda. Si usaste un backup comprimido (
.zipo.tar.gz), primero extráelo en tu ordenador. - Sobrescribe: Cuando el FTP te pregunte si quieres sobrescribir archivos, di que Sí a todo.
- Verifica permisos: Después de subir, asegúrate de que la carpeta
configy el archivosettings.inc.phptengan permisos 644 o 755 (según tu hosting).
Restaurar la base de datos (phpMyAdmin)
- Accede a phpMyAdmin: Desde tu panel de control (cPanel, Syspanel, etc.), busca el icono de phpMyAdmin.
- Selecciona la base de datos de tu tienda: A la izquierda, verás una lista de bases de datos. Haz clic en la que usa tu PrestaShop (el nombre suele ser similar a
tudominio_prestashop). - Importa el archivo SQL:
- Haz clic en la pestaña "Importar".
- Haz clic en "Seleccionar archivo" y elige el archivo
.sqlque descargaste. - Deja las opciones por defecto (SQL, utf8_general_ci).
- Haz clic en "Continuar".
- Espera: La importación puede tardar unos minutos si la base de datos es grande. No cierres la ventana.
[WARNING]
Si importas una base de datos, borrarás todos los datos actuales. Asegúrate de que el archivo.sqlque estás importando es el correcto y de que has hecho un backup previo de la tienda actual.
Restaurar desde un backup completo de Syspanel
Si usaste Syspanel para crear el backup, el proceso es mucho más sencillo:
- Ve a Syspanel > Backup.
- Busca el archivo de backup que quieres restaurar.
- Haz clic en "Restaurar".
- Confirma la acción. Syspanel restaurará automáticamente los archivos y la base de datos a la fecha del backup.
Automatizar las copias de seguridad (La clave para dormir tranquilo)
Hacer backups manuales está bien, pero es fácil olvidarse. Lo ideal es automatizar el proceso. Aquí tienes dos opciones:
Opción 1: Programación desde el hosting (Syspanel)
En Syspanel, dentro de la sección "Cron Jobs" o "Tareas programadas", puedes crear una tarea que ejecute un script de backup cada semana. Si no te sientes cómodo con scripts, muchos hostings ofrecen la opción de "Backup automático semanal" desde el propio panel. Actívala.
Opción 2: Módulos de PrestaShop (Recomendado para usuarios avanzados)
Existen módulos de pago y gratuitos en el marketplace de PrestaShop que automatizan los backups directamente desde el back office. Algunos incluso los envían a la nube (Google Drive, Dropbox). Busca "PrestaShop Backup" en el catálogo de módulos.
[TIP]
Programa tus backups automáticos para que se ejecuten en horas de baja afluencia (por ejemplo, a las 3:00 AM) para no ralentizar tu tienda durante el día.
Preguntas Frecuentes (FAQ)
¿Con qué frecuencia debo hacer un backup de mi tienda?
Depende de la actividad de tu tienda. Si vendes a diario, haz un backup diario de la base de datos y uno semanal de los archivos. Si tu tienda es más estática, uno semanal de todo puede ser suficiente.
¿Puedo restaurar una copia de seguridad en un dominio diferente?
Sí, pero tendrás que editar el archivo config/settings.inc.php (o app/config/parameters.php en PrestaShop 1.7+) para cambiar la URL de la tienda y los datos de conexión a la base de datos. También deberás vaciar la caché después de la restauración.
¿Qué hago si al restaurar la base de datos me da un error de "MySQL ha perdido la conexión"?
Es un error común en bases de datos grandes. Soluciones:
- Aumenta el límite de tiempo de ejecución en phpMyAdmin (opción
$cfg['ExecTimeLimit']). - Divide el archivo SQL en partes más pequeñas usando un editor de texto.
- Usa la línea de comandos (SSH) para importar, si tu hosting lo permite.
¿El backup de Syspanel incluye los correos electrónicos?
Sí, si en la configuración del backup marcas "Incluir correos", Syspanel también respaldará las cuentas de correo asociadas a tu dominio. Es muy útil si usas correos como info@tutienda.com.
¿Puedo perder datos si restauro una copia de seguridad antigua?
Sí. Si restauras un backup de hace un mes, perderás todos los pedidos, clientes y productos nuevos que hayas creado desde entonces. Por eso es crucial tener backups frecuentes y etiquetarlos con la fecha (ej: backup_prestashop_2024-03-15).
Conclusión final
Proteger tu copia seguridad tienda no es opcional, es una necesidad. Ya sea que elijas el método manual desde PrestaShop, el backup completo desde Syspanel (puerto 2106) o la automatización con módulos, lo importante es que tengas un plan y lo ejecutes con regularidad.
No esperes a tener un problema. Dedica 15 minutos hoy a configurar tu primer backup. Tu yo del futuro (el que no pierde 200 pedidos) te lo agradecerá.
[INFO]
Recuerda: un backup que no se ha probado no es un backup. Cada 3 meses, haz una restauración de prueba en un subdominio o en un servidor local para asegurarte de que todo funciona correctamente.
