Herramientas

Herramientas de contenidos para WordPress

Tres herramientas propias para gestionar contenidos en WordPress: importación XML, agendas y un gestor de marcadores.

Herramientas de contenidos para WordPress

Antes de dedicarme a la administración de sistemas pasé mucho tiempo publicando contenidos para clientes, y una buena parte de aquel trabajo era repetitivo: copiar eventos de una web, pegarlos en el WordPress, volver a poner la fecha, la categoría, la imagen. De ahí salieron tres herramientas que me ahorraron horas cada semana.

De la web del ayuntamiento al XML

La primera pieza es un extractor de agendas. Varios ayuntamientos (Arenys de Mar, El Masnou, Premià de Mar) publican sus agendas en la web, y yo tenía que recogerlas cada semana. Hice una aplicación con Tkinter donde cada municipio tiene su módulo de extracción y su fichero de configuración en JSON: con requests y BeautifulSoup baja las agendas y las deja en XML. Un panel de registros desplegable muestra qué ha pasado en cada extracción, algo que resulta más útil de lo que parece cuando una web cambia de estructura.

Del XML al WordPress

La segunda herramienta coge ese XML y lo publica directamente en el WordPress con su API REST. Lo que más guerra me dio fueron las fechas: venían en texto y en catalán, del tipo “del 15 de juliol”, y tuve que mapearlas al formato que espera el WordPress. También hay un paso de mapeo de campos y de categorías, porque cada fuente tenía las suyas. El primer intento era un único script monolítico —aún lo conservo en el repositorio con el nombre “proceso-archivo inicial sin modular.py”—; cuando lo volví a abrir meses después, lo partí en módulos: interfaz, funcionalidades, mapeo de campos y mapeo de categorías.

El gestor de marcadores

La tercera herramienta es la única que vive dentro del WordPress: un plugin, en un solo fichero PHP, que crea un tipo de contenido “Bookmarks”. Pegas una URL y el plugin extrae el título, la descripción y el favicon —convertido a JPG para guardarlo—, y genera el slug a partir del dominio. Me servía para mantener una biblioteca de referencias sin depender de los marcadores del navegador.

Qué haría distinto hoy

Añadiría pruebas desde el primer día: cuando una web cambia el HTML, el extractor se da cuenta porque no encuentra nada, pero no te dice dónde se ha roto exactamente. Y separaría aún más la configuración de cada municipio del código, porque en la práctica era donde tocaba casi cada mes. Aun así, las tres herramientas hicieron lo que debían: que el contenido llegara solo al WordPress.