668d973889
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>
4.4 KiB
4.4 KiB
Plan de Migración: Joomla 3.1 → WordPress
📊 Análisis del sitio actual
Sitio: Fe Adulta - Portal cristiano de renovación de la fe
Joomla: 3.1 (2012) + PHP 7.4.33 (EOL)
Base de datos: MySQL
Contenido:
- 8,971 artículos 📝
- 68 categorías
- Componentes principales:
- K2 (sistema de contenido avanzado)
- JCE (editor)
- Akeeba Backup
- AdminTools
- AIMy Sitemap
🎯 Objetivos de la migración
- Modernizar la plataforma: WordPress + PHP 8.x
- Simplificar la estructura: Cartas semanales + artículos enlazados
- Monetización: Google AdSense
- Accesibilidad: Plugin Text-to-Speech con múltiples voces
🛠️ Fases de migración
Fase 1: Preparación y backup ✅
- Entorno Docker levantado
- Análisis de contenido completado
- Backup completo con Akeeba
- Export de base de datos
Fase 2: Configuración de WordPress
- WordPress instalado (ya tienes el contenedor)
- Tema seleccionado (ligero, optimizado SEO)
- Plugins esenciales:
- Migración: FG Joomla to WordPress o WP All Import
- AdSense: Ad Inserter o Advanced Ads
- Text-to-Speech: Play.ht, Amazon Polly, o similar
- SEO: Yoast SEO o Rank Math
- Cache: WP Rocket o W3 Total Cache
- Seguridad: Wordfence
Fase 3: Migración de contenido
- Exportar artículos de Joomla (K2 + content)
- Mapear categorías Joomla → WordPress
- Importar artículos conservando:
- Títulos y slugs (SEO)
- Categorías y tags
- Imágenes y media
- Metadatos (autor, fecha)
- Migrar menús
- Migrar usuarios
Fase 4: Estructura de "Cartas Semanales"
- Crear custom post type "Cartas Semanales" (o usar posts normales con categoría)
- Cada carta enlaza a artículos de la semana
- Template personalizado para cartas
- Navegación por fechas/semanas
Fase 5: AdSense + Text-to-Speech
- Configurar cuenta Google AdSense
- Insertar bloques de anuncios:
- Header
- Sidebar
- Entre contenido
- Footer
- Plugin Text-to-Speech:
- Configurar voces (masculina/femenina/neutral)
- Botón de reproducción en artículos
- Opciones de velocidad
Fase 6: Testing y optimización
- Probar enlaces internos
- Verificar imágenes rotas
- Optimizar base de datos
- Configurar redirects 301 (Joomla URLs → WordPress URLs)
- Test de velocidad (PageSpeed, GTmetrix)
- Test mobile-responsive
Fase 7: Lanzamiento
- DNS apuntando al nuevo servidor
- SSL/HTTPS configurado
- Sitemap XML generado
- Google Search Console configurado
- Analytics migrado
⚙️ Scripts de automatización
1. Export masivo de contenido
# Exportar todos los artículos + K2
./scripts/export-joomla-content.sh
2. Conversión de formato
# Convertir HTML de Joomla a formato WordPress
./scripts/convert-content.sh
3. Import a WordPress
# Usar WP-CLI para importar en lote
./scripts/import-to-wordpress.sh
4. Migración de imágenes
# Descargar y reorganizar media
./scripts/migrate-media.sh
📋 Checklist crítico
- Backup completo antes de cualquier cambio
- Probar en staging antes de producción
- Mapeo de URLs para no perder SEO
- Conservar metadatos (fechas, autores)
- Migrar comentarios (si aplica)
- Verificar formularios de contacto
🚨 Riesgos y mitigaciones
| Riesgo | Mitigación |
|---|---|
| Pérdida de SEO | Redirects 301 + conservar URLs |
| Imágenes rotas | Script de validación post-migración |
| Contenido duplicado | Limpiar antes de importar |
| Downtime largo | Preparar todo en paralelo, switch rápido |
⏱️ Estimación de tiempo
- Preparación: 2-3 horas
- Configuración WordPress: 3-4 horas
- Migración de contenido: 6-8 horas (automatizado)
- Testing: 4-6 horas
- Total: ~20 horas de trabajo distribuido en 3-5 días
📝 Notas
- K2: El componente K2 tiene estructura propia, necesita exportación especial
- 8,971 artículos: Migración por lotes (500-1000 a la vez)
- Cartas semanales: Posible crear taxonomía personalizada o usar categoría + custom fields
- Text-to-Speech: Amazon Polly es robusto, Play.ht tiene mejores voces en español
Siguiente paso: ¿Empezamos por el export de contenido o prefieres configurar WordPress primero?