rafa 65359338f8 cutover: los scripts con los que se ejecuto, y lo que quedo pendiente
Cutover hecho el 3-ago a las 10:50 UTC. feadulta.com y www.feadulta.com ya
apuntan a 188.40.120.157, proxied. Ventana real ~3 min 10 s: dump 67 s, saneo
2 s, import 114 s, delta de uploads 6 s (0 ficheros, como estaba medido).

Cuadro al digito con produccion: 43.893 posts, 1.228 usuarios, 4.416 terms,
135.959 postmeta. Los options salen 958 frente a 975 porque son transients (hay
580 y caducan solos). Con trafico real: 581 respuestas 200, 62 301, 16 302, cero
5xx y cero errores PHP en 20 minutos, 61 IPs distintas atendidas.

Se anaden los cuatro scripts que faltaban, que hasta hoy solo existian como
comandos sueltos del ensayo: 01-traer-dump, 02-sanear-dump, 03-importar,
04-delta-uploads y 05-mover-dns. El runbook ya los citaba por nombre.

Tres cosas encontradas al ejecutar, anotadas en los propios scripts:

- docker exec -i dentro de un ssh 'bash -s' <<EOF se come el resto del script,
  porque hereda el stdin del heredoc. Las consultas van sin -i y con </dev/null.
- Smart Slider cachea el HTML del slider con URLs absolutas, una fila por idioma
  en wp_nextend2_section_storage con application='cache'. Al verificar el import
  con la constante del staging todavia puesta quedaron 5 filas apuntando a
  nuevo.feadulta.com. Se borran y se regeneran solas.
- El cliente de MariaDB de la jaula de CDMON exige TLS y el servidor local no lo
  tiene: con --skip-ssl si se puede consultar la BD de produccion directamente,
  que es como se comprobo que no habia cambiado nada desde el dump de las 05:09.

Pendiente y fuera de nuestro alcance: purgar la cache de Cloudflare (el token
solo tiene permiso de DNS) y darle a Inma su contrasena nueva. Y los certificados
de Let's Encrypt para www y el apex, que fallan porque el WAF de Cloudflare
devuelve 403 a la validacion; no bloquea mientras la zona este en Full, pero por
eso mismo no se puede subir a Full (strict) todavia.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 07:00:38 -04:00

feadulta.org — Migración Joomla → WordPress

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.

Enlaces rápidos

Runbooks locales

Estructura local

/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)
├── joomla-php83/               Joomla con PHP 8.3 (deploy compat, port 8083)
├── scripts/                    Importadores, fixers, cutover
├── tools/
│   ├── e2e/                    Suite Playwright + Gemma vision
│   └── akeeba-kickstart/       Kickstart.php para restaurar .jpa
├── (backups/ ya no está aquí — movida a N:\Backup\Joomla_db el 2026-07-06, ~25 GB, fuera de WSL)
├── archive/                    Scripts setup-inicial y logs migración (gitignored)
├── analisis-cartas/            Histórico de cartas semanales
├── evangelios_html/            HTML de los evangelios
├── capturas/                   PNGs de referencia (gitignored)
└── docker-compose.yml

Arrancar el entorno local

cd /home/rafa/joomla-migration
docker compose up -d
# WordPress: https://farmer.taild3aaf6.ts.net/fea/   (Tailscale + Caddy)
# Joomla (legacy, consulta): http://localhost:8080
S
Description
WordPress feadulta.com — plugins, scripts y documentación
Readme 13 MiB
Languages
PHP 61%
Python 35.7%
Shell 3.3%