Si tienes un fichero CSV lleno de títulos, textos y categorías o una base de datos con cientos de filas que podrían ser artículos, lo peor que puedes hacer es ir uno a uno copiando y pegando en WordPress. Automatizar el alta de artículos en WordPress a partir de un CSV o base de datos es el paso lógico cuando trabajas con proyectos de nicho, programmatic SEO o contenido masivo apoyado en IA.
En este artículo vamos a ver tres enfoques: usar plugins de importación para los que no quieren tocar código, usar la REST API de WordPress para automatizar desde scripts externos y combinarlo con IA para generar o enriquecer el contenido antes de crear el post. Y al final, verás cuándo compensa hacerlo tú y cuándo tiene más sentido delegarlo en un motor como el que usamos en PotionServices.
1. Preparar el CSV o la base de datos antes de automatizar nada
Da igual si vas a usar un plugin o código: si la fuente de datos está mal montada, el resultado será un caos. Lo primero para automatizar el alta de artículos en WordPress a partir de un CSV o base de datos es limpiar y estructurar bien la información.
Una estructura mínima típica de CSV podría ser:
| Columna | Ejemplo | Uso en WordPress |
|---|---|---|
| post_title | Guía para visitar Sevilla en 3 días | Título del artículo |
| post_content | Texto completo del artículo en HTML o texto plano | Cuerpo del post |
| post_category | viajes-espana | Slug de la categoría a asignar |
| post_status | draft o publish | Estado inicial del artículo |
| post_slug | guia-sevilla-3-dias | Slug opcional del post |
Si trabajas con una base de datos SQL el concepto es el mismo: tener columnas claras que luego puedas mapear a campos de WordPress y, si hace falta, a campos personalizados.
2. Opción “sin código”: plugins para importar CSV a WordPress
Si lo que quieres es automatizar el alta de artículos en WordPress a partir de un CSV sin programar, tienes varios plugins que hacen gran parte del trabajo duro. Los más conocidos son:
- WP All Import: permite importar CSV o XML, mapear columnas a campos de WordPress (título, contenido, extracto, campos personalizados, taxonomías) y guardar la configuración para futuras importaciones. Es muy flexible y se usa muchísimo para entradas, páginas y productos de WooCommerce.
- WP Ultimate CSV Importer: similar en concepto, soporta posts, páginas, custom post types y campos personalizados, con opciones de mapeo bastante detalladas.
El flujo típico con un plugin de este estilo es:
- Preparas tu CSV con las columnas que quieras importar.
- Vas a la pantalla del plugin en tu WordPress y subes el CSV.
- Indicas el tipo de contenido al que quieres importar (entradas, páginas, custom post type).
- Mapeas cada columna del CSV al campo correspondiente de WordPress: título, contenido, categoría, etc.
- Ejecutas la importación y dejas que el plugin cree los artículos automáticamente.
Ventaja: no escribes ni una línea de código y puedes repetir importaciones sobre la misma estructura. Limitación: estás bastante atado al formato de CSV, tienes menos control fino del flujo y combinar esto con IA o transformaciones complejas de datos empieza a ser incómodo.
3. Opción técnica 1: usar la REST API de WordPress con un CSV como origen
Si estás cómodo con scripts y quieres más control, puedes automatizar el alta de artículos en WordPress a partir de un CSV usando la REST API. La idea es sencilla: tu script lee el CSV fila a fila y para cada fila hace una petición POST al endpoint de posts de WordPress.
En pseudocódigo el flujo sería:
- Leer el CSV y convertirlo en una lista de objetos (cada objeto, una fila).
- Por cada fila, construir un objeto con los campos que quieres enviar a WordPress: título, contenido, slug, estado, categorías.
- Autenticarte contra la REST API (por ejemplo con usuario y contraseña mediante Basic Auth o con Application Passwords de WordPress).
- Hacer una petición POST a
/wp-json/wp/v2/postscon los datos y comprobar la respuesta.
Un ejemplo mínimo de script en Node.js para ilustrar la idea podría ser:
// Ejemplo simplificado: crear un post en WordPress leyendo datos de un objeto
import fs from "fs";
import csv from "csv-parser";
import fetch from "node-fetch";
const WP_URL = "https://tusitio.com/wp-json/wp/v2/posts";
const WP_USER = process.env.WP_USER;
const WP_PASSWORD = process.env.WP_PASSWORD;
function authHeader() {
const token = Buffer.from(`${WP_USER}:${WP_PASSWORD}`).toString("base64");
return `Basic ${token}`;
}
async function crearPostDesdeFila(fila) {
const body = {
title: fila.post_title,
content: fila.post_content,
status: fila.post_status || "draft",
slug: fila.post_slug || undefined
};
const res = await fetch(WP_URL, {
method: "POST",
headers: {
"Authorization": authHeader(),
"Content-Type": "application/json"
},
body: JSON.stringify(body)
});
if (!res.ok) {
const errorText = await res.text();
console.error("Error al crear post:", res.status, errorText);
} else {
const data = await res.json();
console.log("Post creado con ID:", data.id);
}
}
fs.createReadStream("articulos.csv")
.pipe(csv())
.on("data", async (row) => {
await crearPostDesdeFila(row);
})
.on("end", () => {
console.log("Importación finalizada.");
});
La ventaja de este enfoque es que puedes transformar los datos antes de enviarlos, combinar varias columnas, limpiar texto, etc. Además, si luego quieres meter IA en el proceso, el CSV deja de ser el contenido final y pasa a ser “la fuente de datos” con la que construir prompts.
4. Opción técnica 2: automatizar con WP-CLI y scripts
Otra alternativa para automatizar el alta de artículos en WordPress a partir de un CSV o base de datos es usar WP-CLI, la herramienta de línea de comandos para WordPress. En lugar de llamar a la REST API, puedes ejecutar comandos en el servidor del tipo wp post create desde un script que lee el CSV.
Un comando básico de WP-CLI para crear un post sería algo como:
wp post create \
--post_title="Guía para visitar Sevilla en 3 días" \
--post_content="Contenido completo..." \
--post_status="draft" \
--post_author=1
Desde un script Bash o Python puedes leer el CSV e ir construyendo estos comandos uno por uno. La ventaja es que WP-CLI trabaja directamente con la instalación de WordPress y respeta todos los hooks y comportamientos internos. El inconveniente es que requiere acceso al servidor y cierta comodidad con la línea de comandos.
5. Añadir IA al flujo: usar el CSV como origen de datos, no como post final
La parte interesante llega cuando no tienes el post completo en el CSV, sino datos estructurados que quieres convertir en contenido usando IA. Aquí ya no hablamos solo de automatizar el alta de artículos en WordPress a partir de un CSV o base de datos, sino de combinar ese CSV con modelos de IA para generar el texto justo antes de crear el post.
El flujo sería algo así:
- Tu CSV o base de datos contiene entidades: por ejemplo, nombre de ciudad, categoría de servicio, características de un producto, etc.
- Tu script recorre cada fila y construye un prompt para la IA usando esos datos y una plantilla de contenido definida por ti.
- Llamas a la API de OpenAI (u otro proveedor) con ese prompt y recibes un artículo o una ficha de producto generada a medida.
- Con ese texto generado, creas el post en WordPress via REST API o WP-CLI.
Esquema simplificado de un prompt típico:
Eres un redactor experto en viajes.
Con los siguientes datos:
- Ciudad: [CIUDAD]
- Provincia: [PROVINCIA]
Escribe una guía de viaje para un blog con el título:
"Qué ver en [CIUDAD] en 3 días".
Estructura:
1. Introducción breve.
2. Itinerario día 1.
3. Itinerario día 2.
4. Itinerario día 3.
5. Consejos prácticos.
Tono cercano y útil, sin inventar precios exactos ni horarios.
Tu código se encarga de rellenar los huecos [CIUDAD], [PROVINCIA] y similares a partir de la fila del CSV o de la base de datos, y la IA te devuelve un contenido adaptado que luego importas automáticamente como post.
6. Buenas prácticas para que la automatización no se vuelva contra ti
Automatizar el alta de artículos en WordPress a partir de un CSV o base de datos ahorra muchísimo tiempo, pero también puede multiplicar errores si no pones filtros. Un par de buenas prácticas para no liarla:
- Empieza con un lote pequeño de importación (10–20 artículos) y revisa el resultado antes de procesar cientos o miles.
- Deja los artículos importados inicialmente en estado “borrador” o “pendiente de revisión” y publica solo tras un muestreo de calidad.
- Registra de alguna forma qué CSV o qué versión de la base de datos se usó para cada importación, por si luego necesitas regenerar o corregir contenido.
- Si usas IA, guarda también el prompt base y el modelo utilizado, para poder ajustar o repetir el proceso en el futuro.
- No mezcles en el mismo script todo el proceso; separa leer datos, generar contenido (si hay IA de por medio) y crear posts en WordPress.
7. Hacerlo tú frente a apoyarte en un motor ya construido
Con todo lo anterior puedes automatizar el alta de artículos en WordPress a partir de un CSV o base de datos de varias formas: con plugins como WP All Import o WP Ultimate CSV Importer si no quieres tocar código, con scripts que llamen a la REST API o a WP-CLI si tienes perfil técnico y, si además añades IA al flujo, usando tu CSV como fuente de datos para generar contenido long tail antes de crear cada post.
Esto está muy bien para proyectos pequeños, pruebas de concepto o cuando te gusta el cacharreo técnico. El problema llega cuando pasas de “quiero importar 200 artículos” a “quiero montar un proyecto con miles de URLs, combinando bases de datos, plantillas, IA, HTML y CSS cuidando la estructura SEO y publicando directamente en varios WordPress sin que se rompa nada”. Ahí ya no es solo cuestión de tener un script que lea CSV, sino de contar con un motor sólido de Plantilla + Publicador.
En PotionServices trabajamos precisamente con ese enfoque: usamos bases de datos (propias, generadas por IA o scrapeadas), plantillas programables que definen la estructura de cada tipo de contenido, un motor que llama a la IA de forma controlada y un publicador que conecta con la API de WordPress para crear y actualizar contenido masivo sin depender de copias y pegas ni importaciones manuales.
Si solo quieres automatizar un poco tu flujo, lo que has leído aquí te basta para dar un buen salto. Si lo que buscas es ir un paso más allá y convertir tus CSV y bases de datos en proyectos completos de contenido long tail, puedes echar un vistazo a nuestro servicio de textos masivos usando IA y ver cómo podemos encargarnos de esa parte por ti.

