Blog Ideas y recursos

Cómo automatizar tareas de WordPress con n8n: guía práctica paso a paso

Flujo supervisado de n8n: inicio manual, datos, búsqueda, control de duplicados, creación de borrador y comprobación.

Vamos a preparar un flujo que crea un borrador en WordPress desde n8n. Empieza manualmente, comprueba una clave antes de crear la entrada y deja la publicación en manos de una persona. Es una base para conectar procesos, sin dar acceso público a contenido sin revisar.

Antes de empezar: utiliza un WordPress de pruebas, una copia recuperable y una cuenta con permisos limitados. El ejemplo no necesita datos de clientes, IA ni una contraseña de administrador. No ejecutes el flujo en producción antes de comprobar credenciales y resultado.

1. Qué es n8n y qué tareas puede automatizar

n8n conecta pasos de un proceso mediante nodos: recibir datos, consultar una API, aplicar condiciones y enviar un resultado. En WordPress puedes preparar borradores desde una ficha interna, consultar entradas para informes o coordinar avisos. El alcance depende de los permisos y de las API disponibles.

Para aprender la conexión usaremos nodos HTTP Request y la API REST de un WordPress instalado en tu alojamiento. No es el mismo acceso que la API de WordPress.com. El flujo trabaja con texto; subir medios o modificar otros tipos de contenido exigiría ampliar permisos y pruebas.

2. Prepara una instancia de n8n y un acceso seguro

Puedes usar una instancia existente, n8n Cloud o un despliegue propio. Para seguir este tutorial necesitas poder crear un workflow y guardar credenciales. Si no administras servidores, utiliza una opción gestionada o pide ayuda antes de instalar.

  • Cloud: accede a tu espacio de trabajo y crea un workflow. Revisa las condiciones y límites de tu servicio.
  • Despliegue propio: utiliza el procedimiento oficial con Docker Compose y una versión estable compatible. Prepara almacenamiento persistente y copias del estado y la clave de cifrado.
  • Acceso remoto: protege el editor con autenticación y HTTPS. No expongas un puerto de pruebas directamente a Internet.
  • Disponibilidad: un flujo programado necesita una instancia operativa; cerrar el ordenador que la aloja puede detener las tareas.

No necesitas instalar n8n dentro de WordPress ni asumir que cualquier hosting compartido permite ejecutarlo. Consulta los requisitos del despliegue y las medidas de seguridad de n8n.

3. Conecta WordPress con credenciales revocables

Comprueba la API y prepara la cuenta

  1. Abre https://tu-dominio.example/wp-json/ y comprueba que responde la API. Utiliza el dominio real del WordPress de pruebas, incluido su subdirectorio si lo tiene.
  2. Usa una cuenta dedicada con capacidad para crear sus propios borradores. El rol Colaborador puede servir para este ejemplo de texto; no necesita poder publicar ni administrar plugins.
  3. En WordPress, entra en Usuarios → Perfil → Contraseñas de aplicación. Si la función está disponible, crea una para esta integración y guárdala de forma segura.
  4. En n8n crea una credencial HTTP Basic Auth: usuario de WordPress y contraseña de aplicación. No uses como usuario el nombre que diste a la aplicación.

WordPress admite contraseñas de aplicación sobre HTTPS mediante Basic Auth. Estas heredan los permisos de la cuenta; no son un permiso limitado únicamente a “crear borradores”. Si falta la opción, revisa HTTPS, permisos o políticas del sitio antes de cambiar protecciones. Autenticación oficial de WordPress.

Guarda el secreto en la credencial, no en el flujo

Seleccionaremos Generic Credential Type → Basic Auth en los dos nodos HTTP. Esta elección permite ver los endpoints REST de forma explícita. Guarda usuario y contraseña en el almacén de credenciales, no en un encabezado escrito a mano, una URL, el código o el JSON descargable. Credenciales de HTTP Request.

Mantén la validación de certificados activa. No actives “Ignore SSL Issues” para resolver un fallo de certificado. Si hay una redirección a otro dominio, corrige la URL de destino antes de enviar autenticación.

4. Importa el flujo de ejemplo

Descargar JSON del flujo supervisado. El archivo contiene seis nodos, un dominio de ejemplo y ningún secreto. Arranca manualmente y no incluye programación ni un paso de publicación.

  1. Descarga el JSON. En un workflow nuevo abre el menú e importa desde archivo, según tu versión de n8n.
  2. Abre Preparar borrador y sustituye https://example.com por el WordPress HTTPS de pruebas. El ejemplo se detiene mientras conserve ese dominio.
  3. Selecciona tu credencial Basic Auth en Buscar clave y Crear borrador. La importación no puede crear esa credencial por ti.
  4. Revisa los seis nodos antes de ejecutar. Conserva la clave de ejemplo cuando repitas la misma prueba.

La importación y exportación oficial de n8n utiliza JSON. Antes de compartir un archivo propio, revisa también nombres de credenciales, encabezados y datos fijados de pruebas.

5. Configura los seis pasos del flujo

Inicio manual y datos de entrada

El nodo Manual Trigger inicia el flujo al pulsar Execute Workflow. En Preparar borrador, un nodo Code en modo Run Once for All Items define sitio, clave y contenido. La clave identifica esta operación; no debe cambiar al reintentar.

const site = 'https://tu-wordpress.example';
const key = 'dardo-n8n-prueba-001';

El payload que prepara el archivo es equivalente a este:

{
  "title": "Prueba de borrador desde n8n",
  "content": "<!-- wp:paragraph --><p>Borrador de prueba. Revisión humana pendiente.</p><!-- /wp:paragraph -->",
  "slug": "dardo-n8n-prueba-001",
  "status": "draft"
}

No pongas datos personales en la prueba. Cuando adaptes la entrada a un formulario o una hoja de cálculo, valida y limita sus campos antes de construir contenido HTML.

Buscar clave: consulta antes de crear

En HTTP Request configura GET, autenticación Basic y esta URL:

={{ $json.site + '/wp-json/wp/v2/posts' }}
  • slug: ={{ $json.key }}.
  • status: any.
  • context: edit.
  • per_page: 1.
  • _fields: id,slug,status.

En la respuesta selecciona JSON y activa Include Response Headers and Status. Deja Never Error desactivado. La siguiente comprobación necesita statusCode y una lista en body, incluso cuando no hay coincidencias.

Evitar duplicado: detenerse si hay coincidencia

El nodo Code siguiente exige una respuesta 200 con una lista. Si encuentra una entrada visible para esa cuenta con la misma clave, detiene el flujo antes del alta. También comprueba que el payload siga indicando draft. Una respuesta errónea no se interpreta como “no hay entradas”.

Crear borrador: enviar el payload

El segundo HTTP Request utiliza POST al mismo endpoint, la misma credencial y Send Body → JSON → Using JSON. El valor es:

={{ JSON.stringify($json.payload) }}

Mantén respuesta JSON con cabeceras y estado, sin ignorar errores. No actives reintentos automáticos en este POST. Comprobar resultado exige una respuesta 201, un ID y estado draft; el resultado final muestra el ID para localizarlo en WordPress. Referencia de entradas REST y configuración de HTTP Request.

6. Ejecuta y revisa el resultado

  1. Ejecuta el workflow manualmente con una clave nueva de prueba.
  2. En el último nodo, verifica ID y estado draft.
  3. Abre WordPress → Entradas → Borradores y localiza la prueba. Revisa título y párrafo; no la publiques.
  4. Ejecuta otra vez con la misma clave: debe detenerse en Evitar duplicado, sin crear una segunda entrada.
  5. Si cambias contenido, revisa el borrador existente. El ejemplo no actualiza ni sobrescribe entradas.

Si el POST se queda sin respuesta, comprueba primero WordPress y vuelve a pasar por la búsqueda antes de reintentar. Una petición que parece haber fallado puede haber creado el borrador.

7. Registra errores y conoce el límite del control de duplicados

Diagnóstico de errores

  • 401: verifica usuario, contraseña de aplicación y dominio HTTPS final. No pegues secretos en capturas.
  • 403: revisa permisos y registros de la protección del sitio; no desactives el firewall para probar sin diagnóstico.
  • 404 o HTML en lugar de JSON: revisa URL base, subdirectorio y endpoint REST.
  • 400: revisa los parámetros y el cuerpo; lee el código de error de WordPress.
  • 429, 5xx o timeout: detén la prueba, registra hora y nodo, y revisa límites o disponibilidad antes de repetir.

Consulta Executions para la entrada y salida del nodo fallido. Conserva solo los datos necesarios y limita su retención. En un flujo automatizado puedes asociar un workflow iniciado por Error Trigger; las pruebas manuales se revisan en su propia ejecución. Gestión de errores en n8n.

La búsqueda reduce duplicados, pero no garantiza ejecución única

El ejemplo está pensado para ejecuciones manuales de una en una. La búsqueda consulta entradas accesibles a esa cuenta y no incluye la papelera. Dos ejecuciones simultáneas pueden consultar antes de que exista el borrador y crear dos entradas. Cambiar el slug, borrar la entrada o usar otra cuenta también puede impedir reconocerla.

Para un proceso de producción con entradas repetidas, utiliza una clave externa estable y un registro con restricción única, bloqueo o cola; guarda el ID de WordPress junto al resultado. Define cómo recuperar una operación incompleta. No confíes solo en un slug para prometer ausencia de duplicados.

8. Automatización supervisada y casos de uso

Preparar un borrador automatiza el traslado de información, no su aprobación editorial. Una persona debe comprobar hechos, enlaces, derechos de imágenes, SEO y afiliación antes de publicar. No basta con cambiar draft por publish para convertir este ejemplo en un sistema editorial fiable.

  • Equipo comercial: convertir una ficha de servicio aprobada en un borrador para revisión.
  • Operación interna: preparar una noticia a partir de un registro validado, sin datos de clientes.
  • Seguimiento: consultar contenido para un informe o coordinar un aviso, con permisos y destinos definidos.

Si hay datos personales, acuerda qué se envía a cada servicio y quién accede a las ejecuciones. Revisa permisos, revoca la contraseña de aplicación al retirar la integración y conserva copias del estado de n8n.

Preguntas frecuentes

¿Necesito instalar un plugin REST en WordPress?

La API REST y las contraseñas de aplicación forman parte del núcleo en versiones compatibles. La disponibilidad puede estar restringida por políticas o plugins; comprueba la configuración antes de añadir otro plugin.

¿La contraseña de aplicación es la del acceso habitual?

No. Es un secreto específico y revocable para la integración. Usa una cuenta con los permisos mínimos necesarios y guárdalo en Credentials.

¿Por qué el flujo se detiene en la segunda ejecución?

Con la misma clave y una entrada visible existente, ese bloqueo es el resultado esperado. Revisa el borrador creado en lugar de forzar otra alta.

¿Incluye generación de textos con IA?

No. El ejemplo usa un párrafo fijo para comprobar la conexión sin sumar otro servicio. Si incorporas IA después, añade revisión humana, límites y un tratamiento adecuado de los datos.

Conecta tus procesos con una revisión clara

Nuestro equipo puede ayudarte a definir entradas, permisos, validaciones y recuperación antes de automatizar. Conoce nuestras soluciones de automatización y desarrollo WordPress, o cuéntanos qué tarea necesitas conectar.

¿Lo llevamos a tu proyecto?

Nuestro equipo puede ayudarte a convertir una necesidad en una solución de WordPress, SEO, automatización o IA.

Cuéntanos tu proyecto →