Files
feadulta/AUDITORIA_MIGRACION.md
T
rafa 668d973889 Initial commit — migración Joomla→WordPress feadulta.org
Incluye: mu-plugins custom (fea-homepage, carta-semana), scripts de
migración/traducción/deploy, documentación de auditoría, análisis de
cartas y HTML de evangelios exportados desde Joomla.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 08:33:12 -04:00

221 lines
8.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Auditoría de Migración: Joomla → WordPress
**Fecha:** 2026-03-04
**Estado general:** Migración mayoritariamente completada, con pendientes importantes
---
## 1. Resumen de contenido
### Fuente: Joomla
| Origen | Total | Publicados | En papelera |
|--------|-------|-----------|------------|
| `jos_content` (Joomla nativo) | 102 | 55 | - |
| `ew4r_k2_items` (K2) | 17.712 | 15.764 | 54 |
| `jos_categories` | 33 | 33 | - |
| `ew4r_k2_categories` | 7 | 7 | - |
| K2 items no publicados (borrador) | 1.885 | - | - |
> **Nota:** Los artículos de `jos_content` son páginas de estructura de Joomla (demo, categorías, etc.), no contenido real del sitio. Todo el contenido editorial está en K2.
### Destino: WordPress
| Tipo | Total | Publicados | Borrador |
|------|-------|-----------|---------|
| `wp_posts` (post) | 26.554 | 24.631 | 1.922 |
| `wp_posts` (attachment) | 6.195 | 6.195 | - |
| `wp_posts` (page) | 1 | 1 | - |
| Categorías | 1.351 | - | - |
| Tags | 12 | - | - |
| Usuarios | 1.182 | - | - |
| Menús importados | 19 | - | - |
---
## 2. Cobertura de migración K2 → WordPress
| Métrica | Valor |
|---------|-------|
| K2 items publicados (no papelera) en Joomla | **15.764** |
| WP posts con `_fgj2wp_old_k2_id` (migrados de K2) | **17.649** |
| WP posts con `_fgj2wp_old_id` (migrados de jos_content) | **8.904** |
**Conclusión:** Se migraron más K2 items (17.649) que los actualmente publicados en Joomla (15.764). La diferencia de ~1.885 corresponde a artículos que en Joomla estaban en borrador/no publicados y también se importaron (como borradores en WP).
**No hay artículos K2 publicados sin migrar.**
---
## 3. Distribución por año
Comparativa publicados Joomla K2 vs WordPress:
| Año | Joomla K2 | WordPress |
|-----|-----------|-----------|
| 2008 | 217 | 217 |
| 2009 | 254 | 254 |
| 2010 | 452 | 451 |
| 2011 | 630 | 613 |
| 2012 | 923 | 1.730 |
| 2013 | 986 | 1.645 |
| 2014 | 931 | 1.696 |
| 2015 | 920 | 1.641 |
| 2016 | 830 | 1.442 |
| 2017 | 739 | 1.288 |
| 2018 | 729 | 1.284 |
| 2019 | 1.002 | 1.495 |
| 2020 | 1.053 | 1.584 |
| 2021 | 1.065 | 1.594 |
| 2022 | 1.032 | 1.615 |
| 2023 | 1.276 | 1.797 |
| 2024 | 1.348 | 2.410 |
| 2025 | 1.380 | 1.814 |
| 2026 | 51 | 61 |
> Los años 20122018 muestran más posts en WP que en Joomla K2. Esto es probablemente por la importación de contenido de `jos_content` (páginas de estructura) que comparte rango de fechas. Revisar si hay duplicados en esos rangos.
---
## 4. Problemas detectados
### 🔴 CRÍTICO
#### ~~4.1 — 1.922 posts en borrador~~ ✅ DECISIÓN TOMADA (2026-03-04)
- Se mantienen como borradores. Son artículos K2 que estaban sin publicar en Joomla. No se tocarán.
#### ~~4.2 — 508 posts con enlaces internos rotos de Joomla~~ ✅ RESUELTO (2026-03-04)
- **Script:** `scripts/fix_joomla_links.php`
- **Resultado:** 3.400 posts procesados, **93.030 links reemplazados**, 42 sin resolver
- **Sin resolver:** K2 items que no se importaron (papelera/no publicados). Ver `links_no_resueltos.txt`
- **Restantes:** 3 posts con `index.php?option=` de jos_content IDs inexistentes (IDs 52, 54, 58, 60)
#### ~~4.3 — 429 posts con URLs `/es/ayuda/` de Joomla en el contenido~~ ✅ RESUELTO (2026-03-04)
- Corregido por el mismo script `scripts/fix_joomla_links.php` junto con el punto 4.2
### 🟡 IMPORTANTE
#### ~~4.4 — 100 categorías con nombres numéricos~~ ✅ RESUELTO (2026-03-04)
- **Causa real:** El plugin FG importó el campo K2 "Autor" (extra field id=12) usando el valor numérico como nombre de categoría en lugar del nombre del autor
- **Script:** `scripts/fix_numeric_categories.php`
- **Resultado:** 5 renombradas, 95 fusionadas con categorías de autor ya existentes, 0 sin resolver
#### 4.5 — 333 posts con referencias a `feadulta.com` en el contenido
- **Cantidad:** 333 posts con URLs absolutas al dominio original
- **Acción:** Revisar si son imágenes, links externos o internos. Los internos hay que reemplazarlos por URLs relativas del nuevo WordPress.
#### 4.6 — 81 posts publicados con contenido muy corto (< 100 caracteres)
- **Cantidad:** 81 posts
- **Causa probable:** Posts de estructura/navegación de Joomla, o migración fallida de contenido
- **Acción:** Revisar manualmente o crear query para identificar si son vacíos útiles o basura
- **Query:**
```sql
SELECT ID, post_title, CHAR_LENGTH(post_content) as len
FROM wp_posts
WHERE post_type='post' AND post_status='publish'
AND CHAR_LENGTH(post_content) < 100
ORDER BY len ASC;
```
#### 4.7 — 1 post publicado con contenido vacío
- **ID a verificar:**
```sql
SELECT ID, post_title FROM wp_posts
WHERE post_type='post' AND post_status='publish'
AND (post_content='' OR post_content IS NULL);
```
### 🟢 MENOR
#### ~~4.8 — Redirects 301~~ ✅ RESUELTO (2026-03-04)
- **Script:** `scripts/generate_k2_redirects.php`
- **Resultado:** 17.649 redirects K2 añadidos a `wp_fg_redirect` (total: 17.853)
- El plugin FG K2 ya tenía activos `redirect_k2_url` y `redirect_k2_sef_url` → regex automática
- Redirect verificado: `301` funcional para URLs `/es/.../item/NNN-alias.html`
#### 4.9 — Solo 1 página de WordPress
- El sitio tiene 1 única página publicada; todo el contenido son posts
- Revisar si se necesitan páginas estáticas (Inicio, Acerca de, Contacto)
#### ~~4.10 — Menus importados con nombres de sistema~~ ✅ RESUELTO (2026-03-04)
- Eliminados 13 menús técnicos de Joomla: `art1menu`, `art2menu`, `art3menu`, `comentmenu`, `eucamenu`, `multimenu`, `multi2menu`, `proyemenu`, `secc1menu`, `menuuser6`, `encuesta`, `el-ano-de-la-biblia`, `buscadores`
- Quedan 6 menús útiles: `mainmenu`, `secciones`, `colaboradores`, `resumeneslibros`, `idioma`, `libros`
---
## 5. Estado de medios (attachments)
| Métrica | Valor |
|---------|-------|
| Attachments en WordPress | 6.195 |
| Attachments con archivo asociado | 6.195 |
| Posts con imágenes de feadulta.com | 333 |
| Imágenes `/images/stories/` en contenido | 0 |
| Imágenes `/media/k2/` en contenido | 0 |
✅ Los archivos de medios parecen estar correctamente importados (0 referencias a rutas antiguas de K2/stories).
---
## 6. Usuarios
- **1.182 usuarios** migrados
- Roles verificados (2026-03-04): 1.162 subscribers, 14 authors, 6 administrators — ✅ correcto
---
## 7. Pendientes de migración por tipo de contenido
Basado en los scripts de importación presentes (`/home/rafa/*.php`):
| Script | Estado | Notas |
|--------|--------|-------|
| `import_stories.php` | ✅ Ejecutado | 13 importados (pocos) |
| `import_portadas.php` | ✅ Ejecutado | 2.385 de 2.388 OK |
| `import_homilias.php` | ⚠️ Revisar | Ver `import_homilias.log` |
| `import_jornada.php` | ⚠️ Revisar | Ver `import_jornada.log` |
| `import_pensamientos.php` | ❓ Sin log | Verificar si se ejecutó |
| `import_libros_sub.php` | ❓ Sin log | Verificar si se ejecutó |
| `import_remaining.php` | ❓ Sin log | Verificar si se ejecutó |
| `bulk_import.php` | ❓ Sin log | Verificar si se ejecutó |
| `fix_attachments.php` | ❓ Sin log | Verificar si se ejecutó |
---
## 8. Cartas Semanales
- Análisis completo disponible en `analisis-cartas/`
- 4 cartas de prueba identificadas con 104 artículos vinculados (ver `CARTAS_PARA_MIGRAR.md`)
- **Pendiente:** Crear la estructura de "Carta semanal → artículos relacionados" en WordPress
- **Pendiente:** Verificar que las 717 entradas en categoría "Cartas de otras semanas" están correctas
---
## 9. Plan de acción priorizado
### Prioridad 1 — Contenido roto (bloquea el lanzamiento)
- [x] **Arreglar 508 links `index.php?option=`** → ✅ 93.030 links corregidos (2026-03-04)
- [x] **Arreglar 429 links `/es/ayuda/`** → ✅ incluido en el mismo script (2026-03-04)
- [x] **Renombrar 100 categorías numéricas** → ✅ resuelto, eran IDs del campo K2 "Autor" (2026-03-04)
### Prioridad 2 — Calidad de contenido
- [x] **1.922 borradores** → se mantienen como borradores (decisión tomada)
- [x] **Revisar 81 posts con contenido < 100 chars** → ✅ 13 convertidos a borrador (2026-03-04)
- [x] **Revisar 333 referencias a feadulta.com** → ✅ son archivos externos (`/anterior/`, `/ediciones/`) — se mantienen (2026-03-04)
### Prioridad 3 — SEO y estructura
- [x] **Implementar redirects 301** → ✅ 17.853 entradas en wp_fg_redirect (2026-03-04)
- [ ] **Verificar scripts de importación sin log** (pensamientos, libros, remaining)
- [ ] **Estructura Cartas Semanales** → implementar relación carta → artículos
- [x] **Revisar roles de los 1.182 usuarios** → ✅ correctos (2026-03-04)
- [x] **Simplificar menús** → ✅ 13 eliminados, quedan 6 útiles (2026-03-04)
### Prioridad 4 — Finalización
- [ ] **Configurar página de inicio** del sitio WordPress
- [ ] **Activar plugins** pendientes (AdSense, TTS, Wordfence)
- [ ] **Test completo** de enlaces, imágenes y navegación
- [ ] **Configurar redirects DNS** y lanzar
---
*Auditoría generada automáticamente el 2026-03-04. Ejecutar nuevamente tras aplicar correcciones.*