
Hace tiempo que andaba dándole vueltas a intentar crear algo que permitiera automatizar la publicación de post antiguos en Bluesky que coincidieran con la fecha actual, pero de años anteriores. Ya saben, algo del rollo "sucedió un día como hoy hace x años".
El plugin gratuito más popular usado para hacer algo parecido, aunque no exactamente igual, que recuerdo es el antiguo Revive Old Post, después rebautizado como Revive Social, sin embargo, la opción de compartir en Bluesky es una opción de su versión Pro de pago y tampoco quería ninguna opción extra de esas que suelen engordar los plugins innecesariamente. Si buscas algo simple que solo envíe a Bluesky tus post cuando los publicas, también puedes usar Simple Auto-Poster for Bluesky.
Así nació "Recordar for Bluesky". Se trata de un plugin básico para WordPress diseñado solo para una cosa. Permite automatizar la publicación de contenido de archivo (efemérides) en la red social Bluesky integrándose con el sistema de CRON de WordPress.
Funciones y características
- Publicar automáticamente posts antiguos ("Un día como hoy, hace X años") en los horarios y años de antigüedad definidos por el usuario.
Las tablas de programación se pueden arrastrar y soltar para ordenarlas, pero el orden de publicación siempre estará definido por el horario.

- Compatibilidad total con multidioma: Detecta y permite filtrar posts por idioma (por ejemplo "es", "en", "de", etc.) si utilizas plugins como Polylang o WPML y publicas contenido en distintos idiomas. El selector solo se mostrará si se detecta que hay un plugin de este tipo instalado.


- Publicación inmediata de posts nuevos: Opcionalmente, puede enviar un post a Bluesky inmediatamente tras su publicación en WordPress.

- Control editorial: Permite excluir posts específicos (por ID) para evitar su publicación automática como efemérides o como nuevo contenido para aquellos post irrelevantes, muy caducados, de autobombo o lo que sea.

- Manejo de enlaces (Embeds): Genera el embed de enlace con imagen, título y extracto en Bluesky, si el post tiene imagen destacada.

- Herramientas de Diagnóstico: Incluye funciones de prueba de conexión para enviar texto plano y comprobar que se publica, prueba de consulta de hemeroteca y una herramienta de reinicio del CRON.
Prueba de conexión

Esta caja es para lo que anuncia. Después de conectar con Bluesky puedes probar si funcionó el enlace. También puedes usarla para posteos rápidos o para vacilarle al personal enviando la caja vacía, lo que publicará un inquietante mensaje en blanco.
Prueba de consulta de hemeroteca
La ejecutas y ya tienes la lista de post que publicarás, o no, ese día.


La prueba de consulta de hemeroteca, además dispone de una comprobación de si tu lista de post publicables del día tiene o no imagen destacada y te avisa con un aspa roja si no la tiene para que la añadas.

Herramienta de reinicio de CRON
No hay mucho más que añadir, si se atascan los cron o ves que andan tontos, los reinicias.

- Incluye también una caja de estado en la configuración que indica la hora exacta de la última ejecución del CRON y su resultado (Éxito, No hay posts, o Fallo por "Missed Event").

Crear App Password en Bluesky
Hay que conectar el plugin con Bluesky, así que para ello necesitarás una cuenta activa de Bluesky y una "App Password".
La App Password se consigue rápido y fácil accediendo en tu cuenta de Bluesky a Ajustes / Privacidad y seguridad / Contraseñas de app. La URL de acceso directo (si estás logeado con una cuenta es este).
Ponle un nombre que te recuerde para qué la vas usar y créala. No necesitas marcar la casilla de "Permitir el acceso a tus mensajes directos" y pulsa "Siguiente".

En la siguiente pantalla ya podrás copiar la "App Password" que se te mostrará. Guárdala enseguida porque no se pueden recuperar, aunque no pasa nada si la pierdes. Bastará con crear una nueva.
Instalación de Recordar for Bluesky
La instalación y puesta en marcha es la de siempre:
- Instala recordar-for-bluesky.zip desde el gestor de plugins o descomprímelo en
/wp-content/plugins/. - Activa el plugin.
- Accede a la opción llamada Recordar for Bluesky que aparecerá en el menú de administración de WordPress.
- Introduce la url de usuario (handle) de tu cuenta de Bluesky donde vas a hacer correr el plugin y la contraseña (App Pawssword) que creaste.

Realiza la prueba de conexión publicando un texto desde el plugin y por último define los horarios y la antigüedad de los posts que deseas publicar automáticamente en la tabla de programación y después asegúrate de guardar los cambios para programar las tareas CRON. Y ya lo tienes. Si todo ha salido bien el plugin empezará a servir los post elegidos a las horas marcadas.
Si quieres asegurarte de que la programación es correcta, puedes usar plugins como Advanced Database Cleaner o WP Crontrol. Si observas la lista de cron jobs, verás que aparecen ordenados como los añadiste. En la imagen, en la columna "Arguments", puedes comprobar que la cifra dentro del corchete junto a la hora es el rango de años seleccionado en ese cron.

Algunas consideraciones, consejos y advertencias
Usa una cuenta de Bluesky solo para esto.
No uses tu cuenta personal. Corres el riesgo de que te la suspendan por actividad sospechosa o inusual si haces pruebas de envíos masivos y la cuenta es nueva, se dispararán los automatismos de prevención. A mí me pasó y tuve que explicarles mis intenciones para recuperar la cuenta. Horas más tarde contestaron admitiendo un "falso positivo" y restablecieron la cuenta.
No abuses de los intervalos.
No sueltes montones de post de golpe y/o en muy cortos espacios de tiempo. A nadie le gustan los plastas. En el mejor de los casos no conseguirás más lectores y en el peor empezarás a perder gran parte de los que tengas. En ocasiones especiales puedes soltar dos en un mismo horario si están relacionados, pero no como rutina.
Crea una programación lógica.
No programes post para toda la noche o la madrugada si no tienes lectores de distintas zonas horarias que coincidan con esas franjas. Céntrate en las horas del día que consideres que tu timeline tiene más o mejor actividad.
Intenta que no parezca solo algo automático
Aunque en gran parte lo es, humanízalo en la medida de lo posible escribiendo también en esa cuenta y contesta si alguien te pregunta algo, te cita o lo que proceda. No la arranques y te olvides para que trabaje por ti.
Ejemplo de funcionamiento en una cuenta de Bluesky
Aquí tienes la cuenta que estrené hace un par de días que llamé Hemeroteca donde está funcionando el plugin desde hace unas horas.
Sobre el uso, posibles cambios, mejoras y propuestas
Este plugin se creó para uso personal, me animé a compartirlo porque funciona bien. Puedes disponer de él libremente. Sin embargo, de momento, no puedo asegurar de que funcione en cualquier entorno ni ofrezco soporte como tal ni me responsabilizo si rompes algo al instalarlo. Se entrega como está.
Si se aprueba en el repositorio intentaré ofrecer el mejor soporte que pueda dentro de mis posibilidades desde allí. Mi consejo (y el de cien millones de personas más) es que por ahora lo trastees antes en un entorno de pruebas (staging).
Aún así, si te peta algo y quieres avisar, se agradece. Y si te ha funcionado, pues también sería bueno saberlo.
Cualquier posible actualización del plugin se publicará en este mismo post. Si existiera algún interés por el plugin, no descarto revisarlo a fondo, pulirlo y probar suerte subiéndolo al repositorio de WordPress.
Los cambios previstos para versiones futuras son:
- Gestión de listas guardadas. Capacidad de guardar, cargar y gestionar múltiples configuraciones de horarios ("Listas") mediante AJAX para cambiar rápidamente entre programaciones (ej. "Verano", "Invierno", etc) sin reconfigurar todo manualmente.
- Sistema de Pausa Global. Un interruptor general para detener temporalmente toda la actividad automática (CRON) sin perder la programación configurada.
- Borradores de listas. Nueva herramienta dedicada para crear, editar y guardar listas de horarios en modo "offline", sin afectar a la programación activa del sitio.
- Diseño Modular para el panel de administración con un sistema de tarjetas y rejilla (Grid) para mejorar la usabilidad.
- Ajustes para asegurar un comportamiento preciso de las herramientas de creación, diagnóstico y reinicio de CRON.
Si quieres proponer algún cambio o mejora o notificar algún error en tu entorno, puedes dejar un comentario en este mismo post, haré lo que buenamente pueda. Cuando se cierren los comentarios (se cierran automáticamente pasados 40 días) puedes usar el formulario de contacto.
Descargar o instalar
Enviando el plugin al repositorio de WordPress
Actualización 10 de diciembre: el plugin se revisó y publicó hoy tras un cambio de nombre para evitar conflictos con la marca Bluesky y corregir un par de cosillas. El proceso total desde el envío hasta la aprobación ha sido de 10 días.
Finalmente, me animé a subir el plugin al repositorio para probar suerte. En parte porque era algo que quería probar desde hace tiempo y también animado por un comentario como este de Jamiro.
Hace tiempo que no me emocionada tanto apretar un botón. Mi primer plugin Chispas.

¿Cuánto tarda la revisión y aprobación de un plugin enviado al repositorio?
Pues como siempre, depende. El tiempo que pasará desde que lo envíes hasta que lo revisen dependerá del número de plugins que tengan en cola, del personal disponible para revisarlo y del tipo de plugin. Al tiempo estimado tendrás que sumarle las posibles rectificaciones que tengas que hacerle para que sea aprobado si tiene algún error.
En una de las preguntas frecuentes para desarrolladores de plugins, con fecha de 2024, se encuentra esta respuesta.
¿Cuánto tiempo se tarda en aprobar un plugin?
No hay un promedio oficial, ya que no hay dos complementos iguales. Si tu plugin es pequeño y todo el código es correcto, debería aprobarse en un plazo de catorce días a partir de la revisión inicial.
Si tu plugin tiene algún problema de código, tardará lo que tardes en corregir los problemas. En cualquier caso, recibirás un correo electrónico de plugins@wordpress.org con el estado, así que añádelo a tu lista de correos permitidos y espera pacientemente nuestra respuesta.
Esta es la respuesta que se recibe nada más enviar el plugin. Aunque aseguran que el proceso de revisión tarda entre 1 y 14 días y que tratan de atenderlo en el plazo de 5 días hábiles, también se afirma en el correo de recepción de envío del plugin que no pueden facilitar una fecha exacta de cuándo será revisado. Hay gente que ha esperado mucho más dependiendo de la complejidad del plugin. Sea como sea, el equipo de revisión está formado al completo por voluntarios, así que tarde lo que tenga que tardar.
Changelog
1.7.0 (03/12/2025)
- NUEVO: Ajuste Avanzado de Hora. Se añade la opción de Offset de Hora del Servidor (
+N/-N horas) para corregir el desfase horario del CRON de forma manual, solucionando problemas de publicación a horas incorrectas en servidores desfasados. - MEJORA: La tabla de Programación de Efemérides ahora utiliza el campo de entrada
type="time"que permite la selección de minutos (HH:MM), ofreciendo una programación más precisa. - MEJORA: Herramientas de Diagnóstico. Se incluye la caja azul de "Próximos Eventos CRON Programados" en el panel de administración, que lista de forma clara todos los eventos de Efemérides en cola con su hora de ejecución (compensada) para facilitar el diagnóstico.
- COMPATIBILIDAD: Verificada la compatibilidad total con WordPress 6.9.
1.6.5 (30-11-2025)
- Rollback y Estabilidad: Se elimina por completo la funcionalidad de "Programación Especial" para garantizar la máxima estabilidad y evitar el conflicto fatal en el entorno CRON.
- MEJORA: Se consolida y se simplifica la herramienta de "Diagnóstico de CRON". Ahora se muestra una caja de estado en la configuración que indica la hora exacta de la última ejecución del CRON y su resultado (Éxito, No hay posts, o Fallo por "Missed Event").
- REFORZADO: Se mantiene la corrección de 1 hora para el desfase horario del servidor.
1.4.7 (29-11-2025)
- NUEVO: Añadido un selector de idioma dinámico en la configuración. Este selector solo aparece si se detecta un plugin de multidioma (Polylang/WPML o cualquier plugin que use la taxonomía
language). Después de cualquier cambio en el desplegable debes asegurarte de pulsar el botón "Guardar cambios de configuración" para que se aplique. - MEJORA: La función de búsqueda de efemérides ahora utiliza la configuración de idioma seleccionada, permitiendo filtrar por un idioma específico, incluir todos los idiomas, o desactivar la búsqueda por completo.
1.4.6 (28-11-2025)
- FIX CRÍTICO: Se eliminó la restricción de idioma hardcodeada en la consulta de posts (
tax_query) para garantizar la compatibilidad con sitios monolingües. La consulta ahora es flexible y busca posts en cualquier idioma si no existe una taxonomía específica.
1.4.5 (27-11-2025)
- FIX CRÍTICO: Corregido el error 404 de los assets causado por una ruta incorrecta (
plugins_url). Se ajustó la funciónenqueue_admin_assetspara utilizarplugin_dir_url(__FILE__)de forma robusta.
1.4.4 (26-11-2025)
- MEJORA: Implementado el manejo de horarios y años mediante una tabla dinámica y Drag and Drop.
- OPTIMIZACIÓN: Uso de
<template>en el HTML para evitar errores de renderizado de la tabla dinámica en el admin.
1.4.3 (25-11-2025)
- MEJORA: Se limpiaron las entidades HTML del extracto del post antes de enviarlo a Bluesky, evitando que aparezcan códigos HTML en el embed.
1.4.2 (2025-11-24)
- FIX: Corregida la autenticación para incluir la longitud del App Password en el mensaje de error de diagnóstico, facilitando la depuración de credenciales.
1.4.1 (23-11-2025)
- NUEVO: Añadida una herramienta de reinicio de CRON en el panel de administración para solucionar problemas de ráfagas o publicaciones perdidas.
1.4.0 (22-11-2025)
- NUEVO: Implementada la lógica de exclusión de IDs para posts que nunca deben ser republicados o publicados automáticamente.
1.3.2 (21-11-2025)
- FIX: Implementado un script de limpieza de URL para eliminar los parámetros de la barra de dirección tras una acción en el admin.
1.3.0 - 1.3.1 (20-11-2025)
- MEJORA: Implementada la funcionalidad de Publicación manual.
- MEJORA: Implementada la lógica para Publicar posts nuevos inmediatamente.
1.2.0 (19-11-2025)
- FIX CRÍTICO: Implementada la corrección de 1 hora (
-3600s) para el CRON de WordPress para compensar desfases de servidor. - MEJORA: Bloqueo de Missed Events en el CRON para evitar ráfagas de publicación a horas incorrectas.
1.1.0 (18-112025)
- MEJORA: Refactorización del manejo de las efemérides para poder buscar múltiples posts en distintos años por cada hora de publicación programada.
1.0.0 (17-11-2025)
- Lanzamiento inicial. Funcionalidad básica de conexión con Bluesky y publicación simple de efemérides.










