Si Joomla se selecciona como plataforma de destino, la preparación debe tratar el sitio de origen como un sistema de contenido conectado, no como una colección de Articles y tablas de base de datos. Articles depende de Categories, Menu Items, Modules, niveles de acceso, idiomas, medios, Templates, plugins, componentes y rutas. Un registro de contenido puede existir en la base de datos y aun así resultar inaccesible, quedar oculto para el grupo de usuarios previsto, estar asignado al idioma equivocado o depender de una extensión que no exista en la tienda de destino.
El paquete de preparación debe hacer explícitas esas relaciones antes de que comience la migración. Cada tarea importante necesita un responsable, una evidencia y una condición que determine que está lista. El objetivo no es completar por adelantado el diseño del destino. Consiste en eliminar la ambigüedad sobre qué pertenece a Joomla, qué pertenece a una extensión, qué debe permanecer fuera de Joomla y qué registros representativos permitirán detectar las relaciones más importantes durante una prueba de migración representativa.
Asegure el acceso administrativo, al hosting y a la evidencia del origen
Empiece confirmando quién puede acceder a Joomla Administrator, al panel de control del hosting, a la base de datos, al sistema de archivos, a los directorios de medios, a los registros DNS y a cualquier servicio externo de almacenamiento o entrega. El acceso debe ser suficiente para recuperar el sitio, inspeccionar registros pertenecientes a extensiones y obtener evidencia fiable incluso si el sitio público deja de estar disponible.
| Acción de preparación | Responsable | Evidencia | Condición de preparación |
|---|---|---|---|
| Confirmar acceso a Joomla Administrator | Propietario del sitio o administrador de Joomla | Cuenta administrativa operativa y resumen del rol | Es posible inspeccionar menús, usuarios, extensiones y áreas de configuración necesarias. |
| Confirmar acceso al hosting y a la base de datos | Responsable de hosting o infraestructura | Acceso al panel de control, credenciales de base de datos y registro de versiones de PHP/base de datos | Puede crearse una exportación actual de la base de datos y una copia de seguridad del sistema de archivos independientemente del sitio activo. |
| Registrar el entorno de Joomla | Responsable técnico | Versión de Joomla, versión de PHP, versión de base de datos, Template activa, idiomas habilitados y notas sobre caché/CDN | El entorno de origen queda documentado en un inventario fechado. |
| Registrar dependencias externas | Responsable del sistema | Lista de DNS, CDN, almacenamiento de objetos, correo electrónico, búsqueda, formularios, CRM, analítica y autenticación | Cada dependencia externa tiene un responsable y una decisión sobre su continuidad en el destino. |
| Fijar los identificadores del origen | Coordinador de migración | IDs de Articles, Categories, Menu Items, Users, registros de extensiones y claves externas cuando corresponda | Las referencias importantes entre registros pueden rastrearse después de la extracción. |
Cree una copia de seguridad completa antes de cualquier tarea de limpieza. Mantenga inmutable la copia original y registre su fecha, alcance, ubicación, cifrado o controles de acceso y responsable de restauración. Si el sitio utiliza almacenamiento externo de medios, reescritura mediante CDN o referencias a archivos remotos, documente estos elementos por separado, porque un archivo local del sistema de archivos puede no contener todo el conjunto de contenido.
Inventaríe Articles, Categories, menús, Modules y rutas
Los Articles de Joomla no definen toda la estructura pública. Categories organiza el contenido, Menu Items crea rutas y contextos de página, Modules aporta contenido complementario y los niveles de acceso controlan quién puede ver cada objeto. La preparación debe representar estas relaciones para las páginas más importantes.
| Relación de contenido | Evidencia de preparación | Condición de preparación |
|---|---|---|
| Article con Category | Exportación de Article y Category con IDs, aliases, idioma, estado y nivel de acceso | Cada Article incluido tiene una Category identificada o un tratamiento intencional como contenido sin Category. |
| Menu Item con destino | Inventario de menús con tipo de menú, elemento superior, alias, ruta, idioma, nivel de acceso y componente/vista vinculados | Las rutas prioritarias tienen un destino explícito y no se deducen únicamente de los títulos de Articles. |
| Module con contexto de página | Lista de Modules con posición, asignación a menús, idioma, nivel de acceso y extensión responsable | Los Modules críticos para el negocio están clasificados como contenido, presentación, salida de extensión o candidatos a retirada. |
| Jerarquía de Categories | Mapa padre-hijo de Categories con aliases y descripciones | Se comprenden la jerarquía, las variantes multilingües y las restricciones de acceso. |
| Redirecciones y funcionamiento SEF | Lista actual de URL, registros de redirección, reglas de extensiones de enrutamiento y notas canónicas | Las rutas de alto valor tienen un único destino previsto o una decisión de redirección. |
Separe la estructura de contenido permanente de la presentación. Un Menu Item puede apuntar a un Article, un Category Blog, una vista de elementos etiquetados, un contacto, un componente personalizado o una URL externa. Un Module puede aparecer en determinados Menu Items en lugar de hacerlo en todas las páginas que utilizan el mismo Article. Registre la ruta real y las reglas de asignación en lugar de asumir que migrar el Article recreará la página.
Priorice las URL con tráfico orgánico, backlinks, uso en campañas, relevancia legal, acceso a cuentas o uso frecuente por parte de clientes. Para cada URL prioritaria, registre el responsable actual del objeto, el destino previsto, el idioma y si la ruta debe conservarse directamente, redirigirse una sola vez o retirarse.
Prepare Users, Groups, Access Levels y permisos
Joomla separa Users, User Groups, Viewing Access Levels y permisos. Un User puede pertenecer a varios Groups y la jerarquía de grupos puede afectar el acceso heredado. Los Access Levels pueden controlar Articles, Categories, Menu Items, Modules y registros de componentes. Por eso, una simple exportación de Users no es suficiente cuando el sitio depende de membresías, roles editoriales, contenido restringido o tipos de cuenta personalizados.
| Acción de preparación | Responsable | Evidencia | Condición de preparación |
|---|---|---|---|
| Clasificar poblaciones de usuarios | Administrador de Joomla y responsable empresarial | Lista de Users agrupada por administradores, autores, miembros, Customers, socios, Users bloqueados y cuentas inactivas | Cada población tiene un rol de destino previsto o una exclusión explícita. |
| Mapear pertenencia a Groups | Responsable de control de acceso | Exportación de User a Group y jerarquía de Groups | Los Users que pertenecen a varios Groups y las relaciones heredadas son visibles. |
| Mapear Viewing Access Levels | Responsable de contenido o membresía | Definiciones de Access Levels y Groups asignados | El contenido restringido puede rastrearse hasta los Users que deben verlo. |
| Mapear permisos | Administrador de Joomla | Resumen de permisos globales y de componentes para roles importantes | La capacidad administrativa no se confunde con el acceso de visualización en la parte pública. |
| Registrar dependencias de autenticación | Responsable de identidad | Inventario de acceso local, acceso social, LDAP, SSO, MFA, política de contraseñas y proceso de restablecimiento | El enfoque de acceso a cuentas en el destino está documentado sin asumir que las contraseñas de origen sean transferibles. |
Cuando una extensión de comercio, membresía, formación, directorio o comunidad crea su propio perfil o registros de cuenta, vincule esos registros al ID de Joomla User y clasifique la extensión como responsable real de la relación empresarial. No reduzca estado de membresía, historial de suscripciones, progreso de cursos, datos de vendedores o registros de Customer a metadatos genéricos de Joomla User.
Prepare el contenido multilingüe y las asociaciones de idioma
Los sitios multilingües de Joomla pueden asignar Articles, Categories, Menu Items, Modules, Contacts y otros registros a idiomas y conectar elementos equivalentes mediante asociaciones. La preparación debe conservar tanto la asignación de idioma como la relación entre equivalentes traducidos.
Cree un conjunto de evidencias que incluya idiomas de contenido habilitados, etiquetas de idioma, idioma predeterminado, Menu Items de inicio específicos de cada idioma, Articles asociados, Categories asociadas, Menu Items asociados y configuración del selector de idioma. Identifique por separado los registros marcados para todos los idiomas y los asignados a uno específico.
| Aspecto multilingüe | Evidencia | Condición de preparación |
|---|---|---|
| Familia de Articles traducidos | IDs de registros asociados, aliases, títulos, etiquetas de idioma y rutas | Cada traducción incluida tiene un equivalente conocido o un tratamiento independiente intencional. |
| Navegación específica por idioma | Menús, elementos de inicio, aliases de menú y asignaciones de Modules por idioma | Cada idioma tiene una navegación principal y una ruta de inicio definidas. |
| Medios o metadatos compartidos | Referencias a archivos, pies de imagen, texto alternativo y metadatos por idioma | Se distinguen los activos compartidos de los campos localizados. |
| Contenido de fallback no traducido | Registros asignados a todos los idiomas o utilizados como fallback | La intención del fallback está documentada y no se deduce de traducciones ausentes. |
No trate aliases o títulos idénticos como prueba de asociación. Utilice los registros reales de idioma y asociaciones de Joomla cuando estén disponibles y documente cualquier vínculo manual entre idiomas que dependa de Templates o extensiones.
Inventaríe extensiones, Custom Fields, Templates y tablas personalizadas
Las extensiones de Joomla pueden ser responsables de contenido, transacciones, perfiles, formularios, redirecciones, Tags, descargas, reservas, membresías, eventos, directorios e integraciones. Templates y sobrescrituras también pueden modificar cómo se presentan registros nativos sin ser responsables de esos registros. La preparación debe identificar al responsable de cada conjunto de datos no perteneciente al núcleo que sea crítico para el negocio.
| Evidencia de extensión | Detalle necesario | Condición de preparación |
|---|---|---|
| Inventario de componentes | Nombre, versión, propósito, tablas de base de datos, IDs del núcleo referenciados y responsable actual | Cada componente importante tiene una decisión de conservar, sustituir, reestructurar, externalizar o retirar. |
| Inventario de plugins y Modules | Evento o función de presentación, ubicación de configuración y registros relacionados | Las dependencias de funcionamiento están separadas de los registros de contenido. |
| Custom Fields | Grupo de campos, tipo, valores permitidos, contextos asignados, valores almacenados y Template/extensión consumidora | Los campos necesarios en la plataforma de destino tienen un responsable de implementación identificado. |
| Inventario de Templates y sobrescrituras | Template activa, Template hija, sobrescrituras, layouts personalizados, posiciones y dependencias de builders | El trabajo de presentación no se confunde con migración de datos. |
| Tablas y código personalizados | Esquema, claves primarias, claves externas, propósito empresarial e identificadores externos | Los datos personalizados activos pueden rastrearse hasta el proceso que los utiliza. |
Para cada conjunto de datos perteneciente a una extensión, prepare registros representativos del origen y un mapa de relaciones. Una extensión de formularios, por ejemplo, puede contener definiciones reutilizables, envíos, archivos, notificaciones y estado de entrega a CRM. Una extensión de directorio puede contener fichas, responsables, Categories, ubicaciones, reclamaciones y reseñas. Estos elementos no deben reducirse a "Custom Fields" cuando son entidades independientes.
Prepare medios, archivos y referencias incrustadas
Los medios de Joomla pueden referenciarse desde HTML de Articles, Custom Fields, Modules, Templates, galerías, extensiones de descargas, almacenamiento remoto o builders de terceros. Una copia del sistema de archivos no muestra por sí sola qué registros utilizan cada archivo.
Cree un inventario de medios que distinga imágenes locales, documentos, audio/vídeo, miniaturas generadas, activos remotos y cargas gestionadas por extensiones. Registre ruta del archivo, nombre, tipo MIME, tamaño, registro responsable cuando se conozca y si la referencia aparece en contenido de Article, un Custom Field, metadatos, un Module o una tabla de extensión.
Identifique URL absolutas, rutas relativas, nombres de archivo codificados, archivos duplicados, referencias rotas y diferencias de mayúsculas/minúsculas en las rutas. No cambie nombres ni elimine duplicados en el origen hasta haber registrado sus referencias. Si es necesaria una limpieza, mantenga un registro de correspondencia entre ruta de origen y ruta depurada para que la relación original siga siendo rastreable.
La condición de preparación no es disponer de una biblioteca de medios perfecta. Consiste en contar con evidencia suficiente para conectar el contenido prioritario y los registros de extensiones con los archivos que necesitan.
Separe el alcance de Joomla core del alcance comercial y de aplicaciones
Un sitio Joomla también puede contener J2Commerce, J2Store, VirtueMart, membresías, LMS, reservas, eventos, directorios o datos de aplicaciones personalizadas. La preparación de Joomla debe identificar estos dominios sin absorber sus listas de comprobación a nivel de registro.
| Dominio | Preparación a nivel de Joomla | Responsable separado |
|---|---|---|
| Extensión comercial | Versión de Joomla, Users, Articles, Categories, menús, Modules, plugins, Template e inventario de extensiones | Products, Customers, Orders, precios, pagos, envíos, impuestos y registros de la extensión comercial pertenecen a la lista de comprobación de comercio. |
| Membresía o LMS | Users, Groups, Access Levels, contenido protegido de Joomla e inventario de extensiones | Planes, suscripciones, matrículas, progreso, pagos y certificados pertenecen al responsable de la aplicación. |
| Formularios y CRM | Ubicación en menús/Modules, vínculos con Users e inventario de extensiones | Definiciones de formularios, envíos, archivos, notificaciones e identificadores de CRM pertenecen al responsable de formularios/CRM. |
| Componente personalizado | Users de Joomla, menús, Modules, rutas e integración con Templates | Entidades personalizadas, procesos e identificadores externos pertenecen al alcance del componente personalizado. |
Este límite evita duplicar la preparación y deja clara la responsabilidad. El paquete de Joomla debe seguir registrando cada dependencia capaz de ocultar, exponer o enrutar contenido perteneciente a aplicaciones.
Seleccione muestras representativas para la prueba de migración
Las muestras para una prueba representativa deben revelar las relaciones más importantes de Joomla, no limitarse a incluir los Articles más recientes. Cree un registro de muestras con IDs de origen, URL, motivo de selección, objetos vinculados, propiedad esperada y la evidencia de origen necesaria para interpretarlos.
Incluya al menos:
- un Article vinculado mediante un Menu Item de un solo Article;
- un Article accesible a través de una vista Category Blog o List;
- una familia multilingüe de Articles con Menu Items asociados;
- contenido restringido que utilice Access Levels no públicos;
- una página cuya salida visible dependa de Modules;
- contenido con Custom Fields y medios incrustados;
- una URL heredada o redirección prioritaria;
- un registro perteneciente a una extensión importante o componente personalizado;
- un User con varios Groups cuando el significado del acceso sea relevante.
El registro de muestras está listo cuando cada elemento identifica las relaciones de Article, Category, Menu Item, Module, idioma, Access Level, medios, extensión y ruta que debe poner a prueba. El registro debe centrarse en evidencia de origen completa y rastreable.
Establezca la condición final de preparación
Antes de que empiece la migración, el coordinador debe poder responder las siguientes preguntas a partir de evidencia documentada y no de memoria.
| Pregunta de preparación | Condición de preparación |
|---|---|
| ¿Puede recuperarse el origen? | Existen copias inmutables de la base de datos y del sistema de archivos, con responsable de restauración y notas sobre almacenamiento externo. |
| ¿Son rastreables las páginas prioritarias? | Articles, Categories, Menu Items, Modules, idiomas, Access Levels, medios y rutas están vinculados para el contenido de alto valor. |
| ¿Se comprenden Users y permisos? | User Groups, Access Levels, permisos y dependencias de autenticación están documentados. |
| ¿Están clasificadas las extensiones? | Cada extensión y tabla personalizada importante tiene responsable, propósito, evidencia de origen y decisión de destino. |
| ¿Están claros los límites entre aplicaciones? | Los registros comerciales y de otras aplicaciones están asignados a su propio alcance de preparación. |
| ¿Se han seleccionado muestras representativas? | El registro de muestras cubre complejidad de enrutamiento, acceso, multilingüe, medios, extensiones y datos personalizados. |
| ¿Están controlados los puntos pendientes? | Cada dependencia sin resolver tiene responsable, fecha de decisión y efecto sobre el alcance. |
Una decisión estética pendiente no bloquea necesariamente la preparación. La falta de acceso al origen, copias de seguridad incompletas, propiedad desconocida de extensiones, contenido restringido no rastreable o datos personalizados sin definir sí deben bloquear el alcance correspondiente hasta que exista evidencia suficiente.
Conclusión
La preparación de Joomla es más sólida cuando conserva las relaciones entre Articles, Categories, menús, Modules, Users, Access Levels, idiomas, medios, rutas, Templates, extensiones y sistemas externos. La lista de preparación debe producir evidencia recuperable del origen, responsabilidades identificadas, muestras representativas y condiciones claras para avanzar, en lugar de limitarse a una lista genérica de exportaciones.
Cuando estos controles están completos, el alcance de migración puede distinguir contenido de Joomla core de presentación, funcionamiento de extensiones y datos pertenecientes a aplicaciones sin depender de supuestos durante la ejecución.
Preguntas frecuentes
¿Qué debe prepararse primero para una migración hacia Joomla?
Asegure acceso a Joomla Administrator, hosting, base de datos, sistema de archivos y almacenamiento externo; después cree copias de seguridad inmutables y un inventario fechado del entorno. Sin evidencia de origen recuperable, el análisis posterior de contenido y extensiones no es fiable.
¿Por qué los menús de Joomla forman parte de la preparación de la migración?
Menu Items crea rutas y contextos de página. Puede apuntar a Articles, vistas de Category, Contacts, componentes personalizados o URL externas, y puede contener configuración de idioma y acceso. Migrar únicamente un Article no recrea la página a través de la cual llegan los usuarios.
¿Cómo deben prepararse Users y Access Levels de Joomla?
Exporte por separado Users, pertenencia a Groups, jerarquía de Groups, Viewing Access Levels y permisos importantes. Identifique también proveedores de autenticación y perfiles pertenecientes a extensiones para no confundir identidad de inicio de sesión con registros de membresía, Customer, alumno o vendedor.
¿Qué debe hacerse con los Custom Fields de Joomla?
Documente el grupo, tipo, valores permitidos, contexto asignado, valores almacenados y Template o extensión consumidora de cada campo. Un campo está listo únicamente cuando se conoce su responsable de destino y su uso empresarial.
¿Cómo debe representarse el contenido multilingüe de Joomla en el paquete de preparación?
Registre las asignaciones de idioma y asociaciones de Joomla para Articles, Categories, Menu Items y Modules. Incluya elementos de inicio y rutas específicos de cada idioma y distinga contenido compartido de equivalentes traducidos y fallbacks intencionales.
¿Qué registros de Joomla deben elegirse para una prueba de migración representativa?
Elija registros que pongan a prueba menús, vistas de Category, asociaciones multilingües, restricciones de acceso, Modules, Custom Fields, medios, URL prioritarias y propiedad de extensiones. Cada muestra debe incluir los IDs de origen y relaciones necesarias para interpretarla.