Copias de seguridad

Preserva progreso y certificados al restaurar en LearnDash

¿Cuánto costaría perder el progreso y los certificados de varios cursos por una restauración mal planificada? Quien gestiona un LMS con LearnDash conoce el riesgo: copias incompletas rompen relaciones usuario‑curso, borran métricas y dificultan auditorías y continuidad operativa.

Backup para sitios LMS (LearnDash): ¿qué conviene proteger? Protege base de datos (tablas clave de LearnDash y addons), archivos de cursos y multimedia en wp‑uploads, progreso y calificaciones, inscripciones, certificados, perfiles de usuario y metadatos; incluye configuraciones, plugins y logs. Se recomienda usar backups automáticos con retención ligada a la actividad, cifrado y pruebas periódicas de restauración para validar integridad y RTO/RPO y comprobar cumplimiento GDPR.

Índice

Anuncio

Factores que determinan qué proteger

La elección de qué copiar depende de la actividad del LMS, el volumen de usuarios y los requisitos legales.

Tablas SQL indispensables

Incluya siempre las tablas que almacenan cursos, lecciones, quizzes y actividad de usuarios.

La evidencia muestra que sin estas tablas se pierde el historial de alumnos tras un restore.

Archivos y multimedia que conviene incluir

Guarde la carpeta wp-content/uploads completa y cualquier carpeta adicional donde se alojan los materiales.

Un curso sin sus archivos multimedia queda inservible aun con la DB intacta.

Metadatos y claves a vigilar

Localice las meta_keys relacionadas con LearnDash y los addons antes de automatizar backups.

Lo que omiten la mayoría de guías es que algunos addons guardan JSON dentro de postmeta. Copiar solo tablas no basta sin incluir esos campos.

Preserva progreso y certificados al restaurar en LearnDash

Políticas RPO/RTO según tipo de LMS

Definir RPO y RTO permite ajustar frecuencia y retención de backups al riesgo operativo.

Matriz RPO/RTO recomendada

Estas cifras permiten balancear coste y disponibilidad según actividad.

Tipos de backup y retención

Combine snapshots del host con backups incrementales y una copia completa semanal.

Desde la entrada en vigor del RGPD, conviene mantener ubicaciones en la UE y cifrado en reposo.

Almacenamiento y cifrado

Almacene offsite en S3 o GCS con cifrado servidor-lado.

Según WordPress.org, WordPress impulsa una gran parte de los sitios web, con muchos LMS alojados sobre WordPress. Fuente

Anuncio

Plugins, hosting y compatibilidad con LearnDash

No todos los plugins de backup incluyen tablas personalizadas ni ofrecen restauración granular.

Tabla comparativa de soluciones

Plugin/servicio Incluye DB completa Soporta tablas personalizadas Multisite Storage S3/GCS
UpdraftPlus Depende de configuración Con add-on
BlogVault Sí, suele cubrir addons
VaultPress / Jetpack Generalmente sí Limitado
Snapshots hosting (Kinsta/WP Engine) Sí (snapshots) No siempre documentado Sí, por plataforma Interno

Qué comprobar antes de elegir

Verificar que el servicio liste tablas wp_learndash_* o permita incluir patrones de tablas.

Un caso habitual: contratar un plugin y descubrir que no incluye tablas de ProQuiz. El resultado fue pérdida de resultados de quizzes tras la restauración.

Imagen relacionada con preserva progreso y

Checklist de compatibilidad práctica

Antes de contratar o automatizar un backup WordPress para un LMS, valide con pruebas concretas si el proveedor incluye tablas y metadatos de LearnDash. Pasos de verificación sencillos:

  1. Solicite un listado de tablas incluidas o descargue un backup .sql y confirme la presencia con grep -E "CREATE TABLE .*wp_learndash|CREATE TABLE .*wp_pro_quiz" backup.sql o con mysql -u user -p dbname < backup.sql en staging y luego SHOW TABLES LIKE 'wp_learndash%';
  2. Verifique que el backup contiene entradas de wp_learndash_user_activity y wp_learndash_user_activity_meta y ejemplos de wp_pro_quiz_* si usa ProQuiz
  3. Compruebe si el plugin permite incluir/excluir tablas personalizadas desde la UI (por ejemplo, UpdraftPlus Premium tiene opción para tablas personalizadas; algunos servicios gestionados como BlogVault o las copias gestionadas por el hosting suelen capturar tablas adicionales, pero exija una restauración de prueba)
  4. Pruebe restauración selectiva en staging y coteje contadores con SELECT COUNT(*) FROM wp_learndash_user_activity; y SELECT COUNT(*) FROM wp_posts WHERE post_type='sfwd-certificates';. Documente los resultados para cada herramienta (incluye si soporta Multisite y restores parciales)

Playbooks de restauración que preservan relaciones

Restaurar en el orden correcto preserva el vínculo usuario→curso. Siga este orden para minimizar errores.

Playbook básico

  1. Poner el sitio en mantenimiento.
  2. Restaurar la base de datos completa primero.
  3. Restaurar wp-content/plugins y wp-content/themes.
  4. Restaurar wp-content/uploads.
  5. Ejecutar search-replace si hubo cambio de dominio con WP-CLI.
  6. Limpiar caches y ejecutar cron inmediato.

La restauración de la DB debe preceder a los archivos para mantener integridad referencial.

Comandos y consultas útiles

Validaciones post-restore

El error más frecuente en este punto es restaurar archivos antes que la base de datos. Esto rompe referencias y obliga a remapear manualmente.

Restauración de un curso aislado

Cuando necesite restaurar solo un curso sin afectar el resto del sitio, siga un flujo dirigido que restaure tanto el contenido del curso como las entradas de actividad relacionadas. Paso 1: identificar IDs del curso y sus lecciones (por ejemplo, COURSE_ID y lesson IDs) con SELECT ID, post_title FROM wp_posts WHERE post_type='sfwd-courses' y SELECT ID FROM wp_posts WHERE post_parent=COURSE_ID AND post_type IN ('sfwd-lessons','sfwd-topic'). Paso 2: exporte posts y postmeta relacionados: mysqldump --single-transaction --skip-lock-tables dbname wp_posts --where="ID IN (list_ids)" > course_posts.sql y mysqldump dbname wp_postmeta --where="post_id IN (list_ids)" > course_postmeta.sql. Paso 3: exporte actividad de usuarios vinculada al curso: mysqldump dbname wp_learndash_user_activity --where="post_id IN (list_ids)" > course_activity.sql y mysqldump dbname wp_learndash_user_activity_meta --where="activity_id IN (select id from wp_learndash_user_activity where post_id IN (list_ids))" > course_activity_meta.sql.

Paso 4: en staging importe en el orden: course_posts.sql → course_postmeta.sql → course_activity.sql → course_activity_meta.sql y verifique con consultas como SELECT COUNT(*) FROM wp_learndash_user_activity WHERE post_id IN (list_ids) y comprobando que los user_id referencian usuarios existentes (wp_users). Si durante la importación hay desajuste de IDs, utilice el mapping user_id→user_email exportado previamente para remapear o restaurar usuarios antes de la actividad. Este procedimiento permite recuperar un curso y su historial de alumnos sin rehacer todo el sitio.

Multisite, rendimiento y consideraciones legales

Multisite exige respaldo de todas las tablas y de las carpetas uploads por sitio.

Backup en multisite

Rendimiento y ventanas de backup

Programar backups completos fuera de horarios punta de cursos en vivo.

Cumplimiento RGPD y LOPDGDD

Desde su lanzamiento, LearnDash apareció como solución LMS para WordPress, y desde entonces muchas implementaciones requieren atención específica en los backups. LearnDash

Las tablas clave de LearnDash que nunca deben omitirse en el backup incluyen wp_learndash_user_activity y wp_learndash_user_activity_meta. Si el proveedor de backup no las lista, no lo contrate sin pruebas de restore en staging.

Anuncio

Flujo de backup recomendado

DB full
Incluye tablas LearnDash
Incremental
Cada X horas
Offsite cifrado
S3/GCS EU
Restore: DB → plugins/themes → uploads → search-replace → validación

Pruebas de restore y métricas operativas

Sin pruebas regulares, la política de backups es una ilusión.

Plan de pruebas y frecuencia

Métricas a registrar

Los expertos recomiendan informes que el DPO pueda revisar en auditorías.

Playbook de pruebas

Para obtener métricas válidas de RTO y RPO en un entorno LearnDash, ejecute pruebas regulares con usuarios sintéticos y comprobaciones automatizadas. Preparación: cree un usuario de prueba ([email protected]), inscríbalo en un curso y registre una actividad (completar lección y generar certificado). Anote el timestamp del último evento (SELECT MAX(activity_last) FROM wp_learndash_user_activity WHERE user_id = X;). Simulación: borre o aísle la instancia en staging y ejecute la restauración desde el backup objetivo. Medición: mida el tiempo desde el inicio del incidente hasta que el sitio está funcional y el usuario de prueba recupera el progreso (RTO). Calcule RPO como la diferencia entre el timestamp del último evento y la marca temporal más reciente recuperada en la restauración (SELECT MAX(activity_last) FROM wp_learndash_user_activity WHERE user_id = X; en el sitio restaurado).

Validaciones adicionales: comprobar certificados con SELECT ID FROM wp_posts WHERE post_type='sfwd-certificates' AND post_author = X; y validar archivos multimedia con checksums (find wp-content/uploads/course_{id} -type f -exec sha256sum {} /;). Registre tiempos y resultados en cada simulacro para comparar con los RPO/RTO objetivo y ajustar la frecuencia de backups incrementales/snapshots en consecuencia.

Errores habituales y cómo evitarlos

Evite estos fallos para no perder progreso ni alumnos.

Errores que causan pérdida de datos

Cómo prevenirlos

Anuncio

Oferta práctica

Para validar la estrategia y ejecutar un simulacro, se puede solicitar una auditoría técnica que incluya pruebas de restore y reporte de RTO/RPO alcanzados.

No aplique estas recomendaciones si el sitio no usa LearnDash ni almacena datos de alumnos en WordPress. En ese caso, los backups pueden limitarse a archivos estáticos y DB mínima del CMS.

Preguntas frecuentes

¿Qué tablas de LearnDash debo incluir sí o sí?

Incluir las tablas wp_learndash_user_activity y wp_learndash_user_activity_meta junto con wp_posts, wp_postmeta, wp_users y wp_usermeta. También añadir tablas de quizzes como wp_pro_quiz_* cuando existan.

¿Con qué frecuencia probar restores en un LMS?

Probar restores completos en staging al menos una vez al mes y hacer simulacros trimestrales. Además vigilar backups diarios y comprobar logs cada día.

¿Puedo usar solo snapshots del hosting para backups?

Sí para RTO cortos, pero conviene complementar con backups offsite cifrados para cumplir retención y GDPR. Los snapshots del host suelen ser rápidos pero pueden no conservar retenciones largas.

¿Cómo evito perder certificados al restaurar?

Restaurar primero la base de datos y luego los archivos. Comprobar que los posts tipo sfwd-certificates existen y que los metadatos referencian users por ID.

¿Qué pasa si los IDs cambian tras migrar el sitio?

Si los IDs cambian, hay que remapear usermeta y tablas de actividad. Mantener export de mapping user_id→email evita remapeos complejos.

¿Cómo cumplir RGPD con backups en la nube?

Almacenar en regiones EU, cifrar en tránsito y en reposo, y mantener logs de acceso. Tener procedimientos para eliminar datos de un backup si un usuario lo solicita.

Qué hacer ahora

Revisar la lista de tablas y meta_keys y programar una prueba de restore en staging para comprobar integridad.

Plazo orientativo: realizar la primera prueba de restore en un entorno staging en los próximos 30 días. Mantener registros de la prueba y corregir exclusiones de tablas si se detectan fallos.
RESUMIR CON IA: Extrae lo importante

Comparte este artículo:

Josu Barrios

Josu Barrios

Somos especialistas en mantenimiento WordPress para empresas, profesionales y tiendas online. Contamos con experiencia en seguridad web, optimización de rendimiento, actualizaciones, copias de seguridad y resolución de incidencias técnicas, ayudando a que cada sitio funcione de forma rápida, estable y protegida. Nuestro enfoque combina soporte técnico profesional, buenas prácticas de seguridad y seguimiento continuo para ofrecer un servicio fiable, transparente y orientado a resultados reales.