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

8.9 KiB
Raw Blame History

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:
    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:
    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)

  • Arreglar 508 links index.php?option= 93.030 links corregidos (2026-03-04)
  • Arreglar 429 links /es/ayuda/ incluido en el mismo script (2026-03-04)
  • Renombrar 100 categorías numéricas resuelto, eran IDs del campo K2 "Autor" (2026-03-04)

Prioridad 2 — Calidad de contenido

  • 1.922 borradores → se mantienen como borradores (decisión tomada)
  • Revisar 81 posts con contenido < 100 chars 13 convertidos a borrador (2026-03-04)
  • Revisar 333 referencias a feadulta.com son archivos externos (/anterior/, /ediciones/) — se mantienen (2026-03-04)

Prioridad 3 — SEO y estructura

  • 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
  • Revisar roles de los 1.182 usuarios correctos (2026-03-04)
  • 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.