Copia de seguridad de WordPress: cómo hacerla y restaurarla
En resumen
Una copia de seguridad de WordPress tiene que incluir los archivos y la base de datos, y guardarse también fuera del servidor (regla 3-2-1). Se hace con un plugin, desde el panel del hosting o con WP-CLI y mysqldump, y solo sirve si se ha probado a restaurar. Tras un hackeo, las copias recientes pueden estar infectadas: hay que elegir una anterior a la intrusión y cerrar la entrada antes de restaurar.
Casi todo el mundo cree que tiene copias de su WordPress hasta el día que las necesita. Entonces se encuentra con que el plugin dejó de funcionar hace meses, que las copias estaban en el mismo servidor que se ha caído o que todas son posteriores al hackeo. Esta guía es para que eso no te pase.
Por Jose SorianoÚltima actualización: 6 min de lectura
Qué tiene que incluir
Un WordPress son dos cosas distintas, y la copia necesita las dos:
- La base de datos: entradas, páginas, comentarios, usuarios, ajustes y, en WooCommerce, pedidos y clientes. Sin ella no hay web.
- Los archivos: sobre todo
wp-content/(plugins, temas y la carpetauploadscon todas las imágenes y documentos), además dewp-config.phpy.htaccess. El núcleo de WordPress se puede descargar otra vez, pero copiarlo no cuesta nada y ahorra dudas al restaurar.
La documentación de WordPress recomienda copiar primero la base de datos y luego los archivos, y guardar las dos partes juntas como un mismo juego. Una copia solo de archivos o solo de la base de datos es media copia.
Con un plugin
Es la opción más cómoda si no tienes acceso por SSH. El más usado es UpdraftPlus, que en su versión gratuita ya permite programar copias, enviarlas a un almacenamiento externo (Google Drive, Dropbox, Amazon S3 o compatibles, FTP y otros) y restaurarlas desde el propio escritorio. La versión de pago añade copias incrementales, compatibilidad con multisitio, más destinos y migraciones más directas.
Cómo configurarlo bien, uses el plugin que uses:
- Programa archivos y base de datos por separado. La base de datos, a diario (o más en una tienda); los archivos, a diario o semanalmente según lo que cambien.
- Envíala fuera del servidor. Sin un destino remoto, la copia se queda en
wp-content/y se pierde con el servidor. - Conserva varias. Al menos dos o cuatro semanas de copias diarias, y alguna mensual más antigua si el espacio lo permite. Más abajo explico por qué.
- Excluye lo que no hace falta: cachés y copias de otros plugins, que inflan el tamaño.
- Comprueba que llegan. Entra en el destino (Drive, Dropbox…) y mira la fecha de la última copia.
Otras opciones conocidas son Duplicator (pensado sobre todo para migrar) o Jetpack VaultPress Backup (de pago, con copias en tiempo real). Elige una sola: dos plugins de copias a la vez duplican la carga del servidor.
Desde el hosting o cPanel
Muchos hostings hacen copias automáticas del servidor entero. Están bien como red de seguridad, pero no te fíes solo de ellas: no sabes cuántos días guardan, a veces restaurar es de pago y, si el problema es con el hosting, también pierdes las copias.
En cPanel, el apartado Copia de seguridad (Backup) permite descargar por separado la copia de la carpeta de inicio (todos los archivos) y la de cada base de datos MySQL. Si tu hosting tiene JetBackup u otra herramienta propia, suele estar en el mismo panel. Descárgalas a tu ordenador o súbelas a otro almacenamiento: así ya cumples la parte de «fuera del servidor».
Sin plugin: WP-CLI, mysqldump y zip
Si tienes acceso por SSH, es lo más rápido y fiable. Con WP-CLI, que lee las credenciales de wp-config.php automáticamente:
cd /ruta/a/tu/wordpress
wp db export ../copia-bd-$(date +%F).sql
tar -czf ../copia-archivos-$(date +%F).tar.gz --exclude=wp-content/cache .Sin WP-CLI, la base de datos se exporta con mysqldump (los datos están en wp-config.php: DB_NAME, DB_USER, DB_HOST). La opción --single-transaction evita bloquear las tablas mientras se copia:
mysqldump --single-transaction -h localhost -u USUARIO -p NOMBRE_BD > copia-bd.sqlY si no tienes SSH: los archivos se descargan por FTP o SFTP (con FileZilla o WinSCP) y la base de datos se exporta desde phpMyAdmin → Exportar. Es lento en webs grandes, pero funciona.
Dónde guardarla: la regla 3-2-1
Es la regla clásica y sigue funcionando:
- 3 copias de los datos (la web en producción cuenta como una).
- 2 soportes distintos (por ejemplo, el almacenamiento del plugin y tu ordenador o un disco).
- 1 fuera del servidor y del proveedor de hosting.
Para una web pequeña, en la práctica: copias diarias automáticas a un almacenamiento en la nube que no sea el del hosting, más una copia completa descargada de vez en cuando (y siempre antes de un cambio grande). Protege el acceso a ese almacenamiento con verificación en dos pasos: si alguien entra, puede borrar las copias.
Cómo restaurar
Con un plugin como UpdraftPlus, se restaura desde su pantalla eligiendo la fecha y qué partes recuperar. Si WordPress no arranca, instala un WordPress limpio, el mismo plugin y súbele la copia. A mano, con WP-CLI:
# 1. Archivos: descomprimir sobre la carpeta de la web
tar -xzf copia-archivos-2026-10-01.tar.gz -C /ruta/a/tu/wordpress
# 2. Base de datos
wp db import copia-bd-2026-10-01.sql
# 3. Si cambias de dominio, sustituir la URL (primero en simulación)
wp search-replace 'https://antiguo.com' 'https://nuevo.com' --dry-runDespués, revisa que wp-config.php tiene los datos correctos de la base de datos, vacía las cachés y prueba la web en incógnito: portada, una entrada, el formulario de contacto y, si es una tienda, una compra.
Y lo más importante: haz una prueba de restauración antes de necesitarla, en un subdominio o en tu ordenador. Una copia que nunca se ha restaurado es una suposición. Basta con hacerlo una vez cada pocos meses y apuntar cuánto tardaste: cuando haya una urgencia de verdad, sabrás qué pasos dar y en qué orden.
Copias infectadas tras un hackeo
Es el caso que más me encuentro: la web está hackeada y todas las copias disponibles también, porque la infección entró hace semanas y las copias solo se guardaban siete días. Por eso importa conservar copias más tiempo del que parece necesario.
- Copia la web tal como está, infectada, antes de tocar nada. Sirve para investigar y como vuelta atrás.
- Averigua la fecha de entrada. Las fechas de modificación de los archivos sospechosos y los registros del servidor ayudan.
- Restaura una copia anterior a esa fecha, si la tienes. Si no, hay que limpiar a mano.
- Corrige la entrada antes de volver a abrir: actualiza el plugin vulnerable, cambia todas las contraseñas y regenera las claves de
wp-config.php. Restaurar sin esto es volver a dejar la puerta abierta. - Verifica la restauración con
wp core verify-checksumsywp plugin verify-checksums --all, que comparan los archivos con los originales.
Si no sabes desde cuándo está infectada, lo cuento en la guía cómo saber si tu WordPress está hackeado. Y si prefieres que lo haga yo, la limpieza de WordPress cuesta 219 € con 90 días de garantía.
Si no quieres ocuparte
El plan de mantenimiento de WordPress (35 €/mes) incluye copia diaria fuera de tu servidor y una copia antes de cada actualización. Antes de decidir nada, el análisis gratuito te dice si tienes copias o archivos de configuración expuestos en la web.
Fuentes
Preguntas frecuentes
¿Cómo hago una copia de seguridad completa de WordPress?
Copiando la base de datos y los archivos (sobre todo wp-content, wp-config.php y .htaccess). Con un plugin como UpdraftPlus, desde el panel del hosting o, con SSH, con wp db export y un archivo comprimido de la carpeta de la web.
¿Cada cuánto debo hacer una copia de seguridad de WordPress?
En una web que cambia poco, a diario o semanalmente. En una tienda, la base de datos a diario como mínimo, porque cada pedido la cambia. Y siempre antes de actualizar o de un cambio grande.
¿Es suficiente con la copia del hosting?
Como red de seguridad está bien, pero no basta: no controlas cuántos días guarda, restaurar puede tener coste y, si el problema es con el hosting, pierdes la web y las copias a la vez. Ten siempre una copia fuera.
¿Cómo restauro una copia de seguridad de WordPress?
Con el mismo plugin que la hizo, eligiendo la fecha. A mano, subiendo los archivos y luego importando la base de datos (wp db import o phpMyAdmin), y revisando que wp-config.php tiene los datos correctos.
¿Qué hago si todas mis copias están infectadas?
No restaures a ciegas. Averigua cuándo entró la infección, busca una copia anterior y, si no la hay, limpia la web y corrige la entrada antes de volver a abrir. Conservar copias varias semanas evita este caso.