From f85773413053e65373e6431913e0e0e34c910048 Mon Sep 17 00:00:00 2001 From: rafa Date: Wed, 20 May 2026 09:12:17 -0400 Subject: [PATCH] =?UTF-8?q?docs:=20migrar=20documentaci=C3=B3n=20a=20la=20?= =?UTF-8?q?wiki=20del=20repo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Borrados: - AUDITORIA_MIGRACION.md - PLAN_MIGRACION.md - WORDPRESS_CONFIG.md - CARTAS_PARA_MIGRAR.md README.md reducido a puntero a la wiki, que ahora contiene toda la documentación operativa: credenciales, infraestructura, arquitectura WP, áreas funcionales (cartas, evangelios, EFFA, autores, Brevo), scripts, sincronización local→prod y roadmap. Co-Authored-By: Claude Opus 4.7 --- AUDITORIA_MIGRACION.md | 220 ----------------------------------------- CARTAS_PARA_MIGRAR.md | 163 ------------------------------ PLAN_MIGRACION.md | 163 ------------------------------ README.md | 133 ++++++------------------- WORDPRESS_CONFIG.md | 111 --------------------- 5 files changed, 30 insertions(+), 760 deletions(-) delete mode 100644 AUDITORIA_MIGRACION.md delete mode 100644 CARTAS_PARA_MIGRAR.md delete mode 100644 PLAN_MIGRACION.md delete mode 100644 WORDPRESS_CONFIG.md diff --git a/AUDITORIA_MIGRACION.md b/AUDITORIA_MIGRACION.md deleted file mode 100644 index 489582c..0000000 --- a/AUDITORIA_MIGRACION.md +++ /dev/null @@ -1,220 +0,0 @@ -# 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 2012–2018 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.* diff --git a/CARTAS_PARA_MIGRAR.md b/CARTAS_PARA_MIGRAR.md deleted file mode 100644 index 4a6c3ab..0000000 --- a/CARTAS_PARA_MIGRAR.md +++ /dev/null @@ -1,163 +0,0 @@ -# Cartas Semanales - Análisis para Migración de Prueba - -## 📊 Resumen - -**Total de contenidos a migrar:** -- 4 Cartas semanales -- 104 Artículos relacionados -- **Total: 108 contenidos** - ---- - -## 📝 Detalle de cada carta - -### CARTA 1: "Los mejores regalos" -**URL:** http://localhost:8080/es/ayuda/otras-semanas/8949-los-mejores-regalos.html -**Artículos vinculados:** 38 - -**Temática:** Navidad, Familia, Encarnación - -**Artículos destacados:** -- Misa de medianoche -- Natividad de Jesús -- Sagrada familia -- Familia migrante buscando refugio -- Un Dios migrante -- Y llega Navidad -- La oración y el silencio de Dios - ---- - -### CARTA 2: "Palabra Encarnada" -**URL:** http://localhost:8080/es/ayuda/otras-semanas/8937-palabra-encarnada.html -**Artículos vinculados:** 21 - -**Temática:** Adviento, Encarnación, Doctrina - -**Artículos destacados:** -- Obra del Espíritu -- 4º domingo de Adviento -- Le pondrán por nombre Emanuel -- El mito de la virgen madre -- Leonardo Boff: ecología, espiritualidad y liberación -- San Juan de la Cruz -- El clamor de León XIV a los presos - ---- - -### CARTA 3: "En sus trece" -**URL:** http://localhost:8080/es/ayuda/otras-semanas/8910-en-sus-trece.html -**Artículos vinculados:** 21 - -**Temática:** Adviento, Diaconado femenino, Igualdad en la Iglesia - -**Artículos destacados:** -- 3º domingo de Adviento -- Revuelta de mujeres en la Iglesia de Madrid -- Negativa a ordenar a las mujeres -- Modelos de iglesia y abusos de poder -- Los sacramentos cambian, el diaconado para las mujeres no -- Bonhoeffer: Carta de Navidad desde la cárcel - ---- - -### CARTA 4: "Tras el Maestro" -**URL:** http://localhost:8080/es/ayuda/otras-semanas/8901-tras-el-maestro.html -**Artículos vinculados:** 24 - -**Temática:** Adviento, Conversión, Juan Bautista - -**Artículos destacados:** -- Convertíos -- 2º domingo del tiempo de Adviento -- Utopía, acogida, conversión -- María de Nazaret: una mujer de carne y hueso -- Adviento o el coraje de esperar -- La Biblia, los pobres y Gustavo Gutiérrez -- El drama de los sacerdotes que mueren de VIH/SIDA - ---- - -## 🗂️ Estructura propuesta para WordPress - -### Opción A: Categorías -``` -Fe Adulta/ -├── Cartas Semanales/ -│ ├── Carta: Los mejores regalos (22-29 Dic) -│ ├── Carta: Palabra Encarnada (15-22 Dic) -│ ├── Carta: En sus trece (8-15 Dic) -│ └── Carta: Tras el Maestro (1-8 Dic) -│ -├── Artículos/ -│ ├── Navidad/ -│ ├── Adviento/ -│ ├── Teología/ -│ ├── Iglesia y Sociedad/ -│ └── Espiritualidad/ -``` - -### Opción B: Custom Post Type (más estructurado) -``` -Custom Post Types: -├── Cartas Semanales (con meta: fecha inicio, fecha fin) -└── Artículos (con meta: autor, categoría temática) - -Relaciones: -- Cada Carta enlaza a sus Artículos mediante custom fields -``` - -### Opción C: Híbrido (recomendado) -``` -Post Type: "Post" normal -├── Categoría: "Cartas Semanales" -│ └── Posts con etiqueta "Carta-YYYY-WW" -└── Categoría: "Artículos" - └── Posts etiquetados con la carta correspondiente -``` - ---- - -## 🔄 Proceso de migración sugerido - -### Fase 1: Exportar desde Joomla -```bash -# Usar el plugin FG Joomla to WordPress -# O exportar manualmente con consultas SQL -``` - -### Fase 2: Adaptar estructura -- Convertir cartas a posts de WordPress -- Mantener enlaces entre cartas y artículos -- Preservar fechas y autores - -### Fase 3: Configurar relaciones -- Usar categories/tags para organizar -- O implementar custom fields para enlaces explícitos - ---- - -## 📋 Archivos generados - -- `carta1.html` - Los mejores regalos -- `carta2.html` - Palabra Encarnada -- `carta3.html` - En sus trece -- `carta4.html` - Tras el Maestro -- `analisis_enlaces.txt` - Todos los enlaces extraídos - -**Total de contenidos HTML descargados:** ~134 KB - ---- - -## 🎯 Próximo paso - -**¿Qué estructura prefieres para WordPress?** -1. Opción A - Simple con categorías -2. Opción B - Custom Post Type avanzado -3. Opción C - Híbrido (categorías + tags) - -Una vez decidido, procedemos a: -1. Configurar la estructura en WordPress -2. Migrar las 4 cartas + artículos -3. Diseñar el template/apariencia -4. Probar funcionalidad antes de migrar todo diff --git a/PLAN_MIGRACION.md b/PLAN_MIGRACION.md deleted file mode 100644 index 38eac4f..0000000 --- a/PLAN_MIGRACION.md +++ /dev/null @@ -1,163 +0,0 @@ -# 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 - -1. **Modernizar la plataforma:** WordPress + PHP 8.x -2. **Simplificar la estructura:** Cartas semanales + artículos enlazados -3. **Monetización:** Google AdSense -4. **Accesibilidad:** Plugin Text-to-Speech con múltiples voces - ---- - -## 🛠️ Fases de migración - -### Fase 1: Preparación y backup ✅ -- [x] Entorno Docker levantado -- [x] 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 -```bash -# Exportar todos los artículos + K2 -./scripts/export-joomla-content.sh -``` - -### 2. Conversión de formato -```bash -# Convertir HTML de Joomla a formato WordPress -./scripts/convert-content.sh -``` - -### 3. Import a WordPress -```bash -# Usar WP-CLI para importar en lote -./scripts/import-to-wordpress.sh -``` - -### 4. Migración de imágenes -```bash -# 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? diff --git a/README.md b/README.md index 02e26f6..6dea012 100644 --- a/README.md +++ b/README.md @@ -1,111 +1,38 @@ -# Joomla → WordPress Migration +# feadulta.org — Migración Joomla → WordPress -## Estructura del Proyecto +Working tree del proyecto feadulta.org. WordPress nuevo, scripts de migración K2 → WP, mu-plugins custom. + +**La documentación operativa está en la [wiki del repo](http://localhost:3000/rafa/feadulta/wiki).** + +## Enlaces rápidos + +- [Wiki — Home](http://localhost:3000/rafa/feadulta/wiki) +- [Credenciales y accesos](http://localhost:3000/rafa/feadulta/wiki/Credenciales-y-accesos) +- [Infraestructura](http://localhost:3000/rafa/feadulta/wiki/Infraestructura) +- [Arquitectura WordPress](http://localhost:3000/rafa/feadulta/wiki/Arquitectura-WordPress) +- [Sincronización local → producción](http://localhost:3000/rafa/feadulta/wiki/Sincronizacion-local-prod) +- [Limitaciones del servidor de producción](http://localhost:3000/rafa/feadulta/wiki/Limitaciones-servidor-prod) +- [Roadmap](http://localhost:3000/rafa/feadulta/wiki/Roadmap) +- [Issues](http://localhost:3000/rafa/feadulta/issues) + +## Estructura local ``` -~/joomla-migration/ -├── docker-compose.yml # Configuración de contenedores -├── setup.sh # Script inicial (ejecutar primero) -├── restore-backup.sh # Script de restauración (ejecutar segundo) -├── backup/ # Backup original de Akeeba -├── joomla/ # Joomla restaurado (puerto 8080) -└── wordpress/ # WordPress limpio (puerto 8081) +/home/rafa/joomla-migration/ +├── wordpress/ WP local (Docker) +│ └── wp-content/mu-plugins/ fea-homepage.php, carta-semana-plugin.php (trackeados) +├── joomla/ Joomla legacy restaurado (solo lectura, port 8080) +├── scripts/ Importadores, fixers, cutover +├── analisis-cartas/ Histórico de cartas semanales +├── evangelios_html/ HTML de los evangelios +└── docker-compose.yml ``` -## Paso a Paso - -### 1. Inicializar Entorno - -Abre tu terminal WSL y ejecuta: +## Arrancar el entorno local ```bash -cd ~/joomla-migration -bash setup.sh +cd /home/rafa/joomla-migration +docker compose up -d +# WordPress: https://farmer.taild3aaf6.ts.net/fea/ (Tailscale + Caddy) +# Joomla (legacy, consulta): http://localhost:8080 ``` - -Esto va a: -- Descargar Akeeba Kickstart -- Levantar contenedores Docker (Joomla + WordPress + MySQL) -- Instalar extensiones PHP necesarias - -### 2. Restaurar Backup - -```bash -bash restore-backup.sh -``` - -Esto copia los archivos al contenedor web. - -### 3. Restaurar con Kickstart - -Abre tu navegador en: **http://localhost:8080/kickstart.php** - -**Datos de conexión MySQL:** -- Host: `joomla-db` -- Database: `joomla_db` -- User: `joomla_user` -- Password: `joomla_pass` - -Sigue el asistente de Kickstart para extraer y restaurar el backup. - -### 4. Verificar Joomla - -Después de la restauración: -- **Frontend:** http://localhost:8080 -- **Admin:** http://localhost:8080/administrator - -### 5. Eliminar Kickstart (seguridad) - -```bash -docker exec joomla-web rm /var/www/html/kickstart.php -``` - ---- - -## Comandos Útiles - -**Ver logs de contenedores:** -```bash -docker logs joomla-web -docker logs joomla-db -``` - -**Acceder al contenedor:** -```bash -docker exec -it joomla-web bash -``` - -**Parar todo:** -```bash -docker compose down -``` - -**Parar y eliminar datos:** -```bash -docker compose down -v -``` - -**Reiniciar:** -```bash -docker compose restart -``` - ---- - -## Accesos - -| Servicio | URL | Puerto | -|----------|-----|--------| -| Joomla Frontend | http://localhost:8080 | 8080 | -| Joomla Admin | http://localhost:8080/administrator | 8080 | -| WordPress | http://localhost:8081 | 8081 | - ---- - -## Próximos Pasos - -Una vez Joomla esté restaurado y funcionando: -1. OpenClaw analizará la estructura completa -2. Planearemos la arquitectura WordPress -3. Migraremos contenido de forma automatizada -4. Optimizaremos el resultado final diff --git a/WORDPRESS_CONFIG.md b/WORDPRESS_CONFIG.md deleted file mode 100644 index 4badfa8..0000000 --- a/WORDPRESS_CONFIG.md +++ /dev/null @@ -1,111 +0,0 @@ -# WordPress - Configuración Completada ✅ - -## 🔑 Acceso al Panel de Administración - -**URL:** http://localhost:8081/wp-admin -**Usuario:** `admin` -**Contraseña:** `FeAdulta2024!` - ---- - -## 🎨 Temas Instalados - -- **Astra** (activo) - Tema ligero y optimizado para contenido -- GeneratePress - Alternativa popular -- Kadence - Opción moderna - ---- - -## 📦 Plugins Instalados - -### Migración -- ✅ **FG Joomla to WordPress** (activo) - Para migrar desde Joomla -- ✅ **WordPress Importer** (activo) - Para imports manuales - -### SEO -- ✅ **Yoast SEO** (activo) - Optimización SEO - -### Publicidad -- ⚪ **Advanced Ads** - Para Google AdSense (inactivo, activar cuando sea necesario) - -### Text-to-Speech -- ⚪ **GSpeech TTS** - Plugin TTS con múltiples voces -- ⚪ **Text To Speech TTS Accessibility** - Alternativa TTS - -### Seguridad & Performance -- ⚪ **Wordfence** - Seguridad y firewall -- ⚪ **WP Super Cache** - Cache y optimización - -### Utilidades -- ⚪ **Classic Editor** - Editor clásico de WordPress - ---- - -## ⚙️ Configuraciones Aplicadas - -- **Idioma:** Español (es_ES) -- **Zona horaria:** Europe/Madrid -- **Estructura de permalinks:** `/%postname%/` (SEO-friendly) -- **Comentarios:** Deshabilitados por defecto -- **Posts por página:** 20 - ---- - -## 📋 Próximos Pasos - -### 1. Revisar y personalizar el tema -- Accede a **Apariencia → Personalizar** -- Configura colores, fuentes, layout -- Define logo y favicon - -### 2. Activar y configurar plugins necesarios -```bash -# Activar GSpeech (Text-to-Speech) -docker exec wordpress-web wp plugin activate gspeech --allow-root - -# Activar Advanced Ads (Google AdSense) -docker exec wordpress-web wp plugin activate advanced-ads --allow-root -``` - -### 3. Preparar estructura de "Cartas Semanales" -Opciones: -- **a)** Categoría especial "Cartas Semanales" -- **b)** Custom Post Type (más estructurado) -- **c)** Taxonomía personalizada - -### 4. Migración de prueba -- Seleccionar 2 cartas semanales + artículos -- Probar el plugin FG Joomla to WordPress -- Revisar resultado y ajustar - ---- - -## 🔧 Comandos Útiles - -```bash -# Ver todos los plugins -docker exec wordpress-web wp plugin list --allow-root - -# Activar un plugin -docker exec wordpress-web wp plugin activate NOMBRE_PLUGIN --allow-root - -# Ver temas -docker exec wordpress-web wp theme list --allow-root - -# Crear un usuario nuevo -docker exec wordpress-web wp user create USUARIO email@example.com --role=editor --allow-root - -# Hacer backup de la BD -docker exec wordpress-mysql mysqldump -u wordpress -pwordpress wordpress_db > backup.sql -``` - ---- - -## 📝 Notas - -- **Base de datos:** wordpress_db -- **Usuario DB:** wordpress / wordpress -- **Contenedor web:** wordpress-web (puerto 8081) -- **Contenedor MySQL:** wordpress-mysql - -El sitio está listo para empezar la migración de prueba. 🚀