585984cfe2900d42dcf38bd3ca3411d2ebc09a25
Wordfence trae loginSec_disableApplicationPasswords=1 de fabrica. Con eso wp_is_application_passwords_available() devuelve false, la seccion desaparece del perfil sin dar ni un aviso, y la autenticacion por REST responde 401. Los bots de la carta publican asi (publicabot, de icalvotorre), o sea que estaban sin poder publicar y la carta 738 se compone manana. Lo introdujimos nosotros: en produccion Wordfence no estaba instalado, se anadio el 31-jul. No salio en el ensayo porque probamos lectura de la REST API pero nunca autenticacion. Lo detecto Inma; la traza es un 401 real suyo contra /wp-json/wp/v2/users/me a las 11:14 UTC. Aplicado en produccion y comprobado con su prueba de humo: POST a /wp-json/wp/v2/posts devuelve 201, y el ultimo uso de publicabot pasa de 29-jul a hoy. Se anade como paso 3e y no como arreglo de una vez porque el paso 3d reinstala Wordfence si falta, y una instalacion nueva vuelve a ponerlo a 1. Dos detalles del propio script, que fallaban en silencio: - va por heredoc y no por la funcion wp(), porque esa expande "$*" y se come las comillas del codigo PHP. - y sin --skip-plugins, o la clase wfConfig de Wordfence no existe. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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
- Wiki — Home
- Credenciales y accesos
- Infraestructura
- Arquitectura WordPress
- Sincronización local → producción
- Limitaciones del servidor de producción
- Roadmap
- Issues
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
Description
Languages
PHP
61%
Python
35.7%
Shell
3.3%