Inicio / Blog / Coordinación y administración
Coordinación y administraciónCómo crear muchos cursos a la vez en Moodle con un archivo CSV
Ve a Administración del sitio > Cursos > Subir cursos y sube un CSV con las columnas shortname, fullname y una de category, category_idnumber o category_path. Revisa la Vista previa, elige Crear solo cursos nuevos, saltar los existentes y, si quieres que todos nazcan con el mismo contenido, indica un curso plantilla en Restaurar de este curso después de subirlo.
En esta guía ▾
Para crear muchos cursos a la vez, entra a Administración del sitio > Cursos > Subir cursos, sube un archivo CSV con las columnas shortname, fullname y una columna de categoría (category, category_idnumber o category_path), revisa la Vista previa y elige el modo Crear solo cursos nuevos, saltar los existentes. Si indicas un curso modelo en templatecourse, todos los cursos nacen con su estructura y actividades.
Así, los 40 cursos de un ciclo se crean en minutos y con nombres coherentes, en lugar de una mañana entera de formularios.
Paso 1: prepara las categorías
Las categorías deben existir antes de subir el CSV: la herramienta no las crea. Créalas en Administración del sitio > Cursos > Administrar cursos y categorías y ponle a cada una un Número de ID corto, por ejemplo enf-c1 para «Enfermería / Ciclo I». Ese código es el más seguro para el CSV. Cómo armar el árbol de categorías está en Cómo crear un curso en Moodle y organizarlo en categorías.
Paso 2: arma el CSV
Ejemplo para un instituto que abre el ciclo 2027-I de Enfermería con turnos mañana y noche:
shortname,fullname,category_idnumber,startdate,enddate,format,visible,templatecourse
ENF-ANAT-27I-M,Anatomía 2027-I Mañana,enf-c1,2027-03-15,2027-07-31,topics,0,MODELO-ANAT
ENF-ANAT-27I-N,Anatomía 2027-I Noche,enf-c1,2027-03-15,2027-07-31,topics,0,MODELO-ANAT
ENF-BIO-27I-M,Biología 2027-I Mañana,enf-c1,2027-03-15,2027-07-31,topics,0,MODELO-BIO
Las columnas que más se usan:
| Columna | Obligatoria | Qué va | Ejemplo |
|---|---|---|---|
shortname |
Sí | Nombre corto, único en el sitio | ENF-ANAT-27I-M |
fullname |
Sí, al crear | Nombre que ven los alumnos | Anatomía 2027-I Mañana |
category_idnumber |
Una de las tres | Número de ID de la categoría | enf-c1 |
category_path |
Una de las tres | Ruta de categorías separada por « / » | Enfermería / Ciclo I |
category |
Una de las tres | Id interno de la categoría | 12 |
idnumber |
No | Código del curso en tu sistema académico | ANAT101 |
startdate, enddate |
No | Fechas en formato año-mes-día | 2027-03-15 |
format |
No | topics (temas), weeks (semanal), singleactivity |
topics |
visible |
No | 1 visible, 0 oculto |
0 |
summary |
No | Descripción del curso | Texto breve |
enablecompletion |
No | 1 activa el rastreo de finalización |
1 |
templatecourse |
No | Nombre corto del curso modelo | MODELO-ANAT |
Reglas que evitan la mayoría de errores:
- Los nombres de columna van en minúsculas, tal cual.
- Si un nombre de curso lleva coma, encierra el valor entre comillas o elige otro separador al subir.
- Guarda el archivo en UTF-8 para que las tildes y la ñ salgan bien.
- Usa fechas ISO (
2027-03-15). Un03/04/2027puede leerse como 4 de marzo. - Deja los cursos ocultos (
visibleen0) hasta que el docente los revise.
Paso 3: súbelo y revisa la vista previa
- Ve a Administración del sitio > Cursos > Subir cursos.
- Arrastra el CSV a Archivo.
- Revisa Separador CSV (coma) y Codificación (UTF-8).
- Haz clic en Vista previa.
En la pantalla de Previsualización de los cursos cargados, cada fila muestra si se creará y los errores encontrados (por ejemplo, «Falta valor para los campos obligatorios»). Si una fila tiene error y sigues adelante, esa fila se ignora: mejor corrige el archivo y vuelve a empezar.
Paso 4: elige las opciones de carga
| Opción | Qué elegir para un ciclo nuevo |
|---|---|
| Modo subida | Crear solo cursos nuevos, saltar los existentes |
| Modo de actualización | Sin cambios (no tocas cursos que ya existen) |
| Permitir eliminar, Permitir renombrar, Permitir reiniciar | No |
| Restaurar a partir de este archivo después de la carga | Un archivo de copia (.mbz) si tu modelo está en un archivo |
| Restaurar de este curso después de subirlo | El nombre corto del curso modelo, si es el mismo para todos |
| Valores por defecto del curso | Formato, idioma, visibilidad y número de secciones para los campos que no pusiste en el CSV |
Luego haz clic en Subir cursos. Al final verás Resultados de la carga de cursos con el Total de cursos, Cursos creados y Cursos con errores.
Si todo salió bien, en Administrar cursos y categorías verás los cursos dentro de sus categorías, con las actividades del modelo y sin alumnos.
El curso modelo
Con templatecourse (o la opción general), Moodle copia el contenido del modelo en cada curso nuevo: secciones, actividades, recursos, libro de calificaciones y configuraciones. No copia alumnos. Es la forma más rápida de que todas las secciones de Anatomía tengan el mismo sílabo, las mismas prácticas y la misma escala de 0 a 20 con aprobatoria 11.
Revisa después las fechas de las actividades (aperturas, cierres, vencimientos): pueden quedar con las del modelo, así que compruébalas antes de mostrar el curso. La guía Cómo cambiar las fechas de todas las actividades te ayuda a revisarlas en una sola pantalla. Para copiar contenido de un curso que ya existe a otro, también existe la importación: Cómo copiar un curso o importar actividades.
Agregar métodos de matrícula desde el mismo CSV
Puedes dejar cada curso conectado a una cohorte desde la carga:
shortname,fullname,category_idnumber,enrolment_1,enrolment_1_cohortidnumber,enrolment_1_role
ENF-ANAT-27I-N,Anatomía 2027-I Noche,enf-c1,cohort,enf-2027-1-noche,student
El curso nace con el método Sincronizar cohorte y los miembros de esa cohorte quedan matriculados como estudiantes. Cómo crear la cohorte está en Cohortes en Moodle.
Actualizar cursos que ya existen
La misma herramienta sirve para cambios masivos, por ejemplo ocultar todos los cursos del ciclo anterior:
shortname,visible
ENF-ANAT-26II-M,0
ENF-ANAT-26II-N,0
Usa Modo subida: Sólo actualizar cursos existentes y Modo de actualización: Actualizar solo los datos CSV. Prueba primero con dos filas.
Problemas comunes
«Falta valor para los campos obligatorios». Falta fullname o la columna de categoría en esa fila.
El curso no se crea porque el nombre corto ya existe. Los nombres cortos son únicos en todo el sitio. Agrega el ciclo y el turno al nombre corto (-27I-M).
La categoría no se encuentra. El category_idnumber no coincide con el Número de ID de la categoría, o en category_path usaste otro separador. Debe ser espacio, barra, espacio: Enfermería / Ciclo I.
Las tildes salen como símbolos raros. El archivo no está en UTF-8. Guárdalo como «CSV UTF-8» desde Excel.
«El curso a restaurar no existe». El nombre corto en templatecourse está mal escrito.
Con miaula.pe Al inicio de cada ciclo, el soporte de miaula.pe puede crear tus cursos por CSV a partir de una hoja con nombres, turnos y docentes, usando tus cursos modelo para que todos salgan iguales. Mira cómo trabajamos con institutos.
Nota para Moodle 5.x
En Moodle 5.0 a 5.3, Subir cursos sigue en la misma ruta y acepta las mismas columnas básicas; revisa la ayuda de la propia página por si tu versión admite campos nuevos. La lista completa de columnas está en Upload courses.
Preguntas frecuentes
¿Qué columnas son obligatorias para subir cursos en Moodle?
Para crear un curso necesitas shortname (nombre corto, único), fullname (nombre completo) y una columna de categoría: category (id), category_idnumber o category_path. Los nombres de las columnas van en minúsculas.
¿Puedo crear los cursos con el contenido de un curso modelo?
Sí. Agrega la columna templatecourse con el nombre corto del curso modelo, o indícalo para todos en Restaurar de este curso después de subirlo. Cada curso nuevo se crea con las actividades del modelo, sin alumnos.
¿Qué formato de fecha acepta el CSV de cursos?
El formato ISO, año-mes-día, por ejemplo 2027-03-15, funciona siempre. Úsalo en startdate y enddate para evitar confusiones entre día y mes.
¿Puedo matricular a los alumnos desde el mismo CSV?
Puedes agregar métodos de matriculación al curso, por ejemplo una sincronización de cohorte con las columnas enrolment_1, enrolment_1_cohortidnumber y enrolment_1_role. Las personas se matriculan después, con Subir usuarios o con la cohorte.
¿Quieres un aula así para tu institución?
Te entregamos tu aula Moodle lista, con tu marca, y capacitamos a tus docentes.
