
Tabla de contenido
Importar archivos CSV a WordPress sin usar un complemento es una excelente manera de optimizar su proceso de administración de contenido, especialmente cuando se manejan grandes cantidades de datos. Ya sea que esté buscando importar usuarios, tipos de publicaciones personalizadas o incluso productos de WooCommerce, hacerlo de manera programática le permite mantener un control total sobre el rendimiento y la seguridad. En esta guía, te guiaremos a través de los pasos para importar archivos CSV a WordPress sin el uso de un plugin, lo que facilita la importar CSV a tu base de datos de WordPress de manera eficiente.
Cuándo y por qué importar CSV sin complementos
Importación de datos programáticamente En lugar de usar un complemento, proporciona varias ventajas:
- Evite la hinchazón del complemento: No necesitas depender de plugins de terceros que puedan ralentizar tu sitio.
- Personalización: Puede controlar qué campos se importan y personalizar el proceso para sus necesidades específicas, como importar tipos de publicaciones personalizadas o campos personalizados.
- Mayor seguridad: Al importar datos CSV mediante programación, puede desinfectar y validar los datos, asegurándose de que no se inyecte contenido malicioso en su sitio de WordPress.
Requisitos previos actualizados (2025)
Antes de importar tus archivos CSV a WordPress, asegúrate de cumplir con los siguientes requisitos previos:
- Versión de WordPress: Este método funciona para WordPress 6.6+ y versiones más recientes, que incluyen 2024 y 2025 Temas.
- Versión de PHP: Se recomienda PHP 8.1 o posterior para mejorar el rendimiento y la compatibilidad.
- Archivo CSV: Su archivo CSV debe ser Codificación UTF-8 y formateado correctamente para garantizar una importación de datos sin problemas.
- WP-CLI: Opcional, pero útil para automatizar las importaciones de CSV mediante scripts de línea de comandos.
Pasos para importar CSV a WordPress sin un plugin
1. Prepare su archivo CSV
Comience por asegurarse de que su Archivo CSV está limpio y correctamente estructurado:
- La primera fila debe contener encabezados de columna como post_title, post_content, post_status, etc.
- Asegúrese de que el archivo esté Codificación UTF-8 para evitar problemas de codificación.
- Vuelva a verificar que no haya caracteres especiales ni espacios adicionales.
2. Crear un script personalizado
Para manejar el Importación CSV , debe crear un script PHP personalizado. Esto garantiza que tenga un control total sobre los datos y pueda desinfectar las entradas según sea necesario. Aquí le mostramos cómo comenzar:
Obtener directorio de carga
$upload_dir = wp_upload_dir();
$csv_archivo = $upload_dir[‘basedir’] . «/posts.csv»;
Este enfoque evita el uso de rutas de archivo codificadas de forma rígida y hace que el script sea compatible con WordPress 6.6+ y temas modernos como 2024 y 2025.
3. Lea los datos CSV de forma segura
A continuación, abra el archivo CSV y comience a leer su contenido. Asegúrese de que todos los datos estén desinfectados antes de insertarlos en WordPress.
if (($handle = fopen($csv_archivo, "r")) !== FALSO) {
$header = fgetcsv($handle); Leer el encabezado
while (($row = fgetcsv($handle)) !== FALSE) {
$data = array_combine($header, $row); Combinar encabezados con datos de línea
Desinfectar y validar entradas
$title = sanitize_text_field($data['post_title']);
$content = wp_kses_post($data['post_content']);
prueba {
wp_insert_post([
'post_title' = > $title,
'post_content' = > $content,
'post_status' => 'publicar',
'post_type' => 'publicación'
]);
} catch (Excepción $e) {
error_log('Error de importación de CSV: ' . $e->getMessage());
}
}
fclose($handle);
}
Este método utiliza Saneamiento de entrada (como sanitize_text_field() y wp_kses_post()) para garantizar que no se inserten scripts dañinos en sus publicaciones de WordPress. Es importante manejar estas entradas con cuidado, especialmente si se trata de Importaciones de usuarios o Productos de WooCommerce.

WP Ultimate CSV Importer Pro
Get Ultimate CSV/XML Importer to import data on WordPress faster, quicker and safer.
Importación de diferentes tipos de datos sin un plugin
Importación de tipos de publicaciones personalizadas sin un complemento
Para importar tipos de entradas personalizadas (CPT) a WordPress sin utilizar un plugin, puedes utilizar el comando nativo Importación/exportación de WordPress , o puede importarlos manualmente mediante consultas SQL o a través de WP-CLI. Aquí hay una guía detallada sobre cada método:
1. Importar tipos de publicaciones personalizadas usando la función de exportación / importación de WordPress
WordPress tiene una función de exportación e importación incorporada que le permite exportar contenido, incluidas publicaciones, páginas y tipos de publicaciones personalizadas. Este es un método relativamente fácil, pero solo funciona si sus tipos de publicaciones personalizadas están configurados correctamente y desea importar el contenido como publicaciones.
Pasos para exportar tipos de publicaciones personalizadas:
- En el panel de control de WordPress, Navega a Herramientas -> Exportación en tu panel de control de WordPress.
- Elige el tipo de entrada que quieres exportar:
- Puedes elegir el tipo de publicación personalizada (CPT) específico que deseas exportar o Seleccionar todo el contenido.
- Puedes elegir el tipo de publicación personalizada (CPT) específico que deseas exportar o Seleccionar todo el contenido.
- Descargar el archivo de exportación:
- Haga clic en “Descargar archivo de exportación” y generará un archivo XML (formato WXR) que contiene las publicaciones del tipo de publicación personalizada seleccionado.
Pasos para importar tipos de publicaciones personalizadas:
- En el panel de control de WordPress, Navega a Herramientas -> Importación en tu panel de control de WordPress.
- Instale el Importador de WordPress:
- Si el importador aún no está instalado, haga clic en “Instalar ahora” en la opción “WordPress”.
- Si el importador aún no está instalado, haga clic en “Instalar ahora” en la opción “WordPress”.
- Cargar el archivo exportado:
- Elija el archivo XML que exportó anteriormente y cárguelo.
- Elija el archivo XML que exportó anteriormente y cárguelo.
- Asignar autores:
- Durante el proceso de importación, WordPress te preguntará si quieres asignar autores o crear nuevos usuarios.
- Durante el proceso de importación, WordPress te preguntará si quieres asignar autores o crear nuevos usuarios.
- Importar archivos adjuntos:
- Asegúrese de marcar la opción para descargar e importar archivos adjuntos si es necesario.
Si bien este método funciona para la transferencia básica de publicaciones y CPT, no maneja campos personalizados, taxonomías o meta de publicaciones.
2. Importar tipos de publicaciones personalizadas manualmente a través de SQL
Si tiene un requisito más complejo, como importar una gran cantidad de publicaciones, campos personalizados o taxonomías, puede importar directamente a la base de datos usando SQL. Este método asume que ya tienes acceso a tu base de datos de WordPress a través de phpMyAdmin o una herramienta similar.
- Prepare su archivo CSV:
- Crea un archivo CSV que contenga toda la información necesaria sobre tus tipos de entradas personalizadas, como títulos, contenido, campos personalizados y taxonomías.
- El CSV debe tener columnas como post_title, post_content, post_type, post_date, etc.
- Crea un archivo CSV que contenga toda la información necesaria sobre tus tipos de entradas personalizadas, como títulos, contenido, campos personalizados y taxonomías.
- Preparar el script de importación de SQL:
- Si estás insertando datos manualmente en la base de datos, tendrás que escribir consultas SQL que coincidan con la estructura de las tablas wp_posts, wp_postmeta y wp_term_relationships de WordPress.
Aquí hay un ejemplo de consulta SQL para importar un CPT básico:
INSERTADO EN wp_posts (post_title, post_content, post_type, post_date)
VALORES
(‘Título de la publicación 1’, ‘Contenido de la publicación 1’, ‘your_cpt’, NOW()),
(‘Título de la publicación 2’, ‘Contenido de la publicación 2’, ‘your_cpt’, NOW ());
- Importar datos a wp_postmeta para campos personalizados:
- Si tiene campos personalizados, deberá insertarlos en la tabla wp_postmeta. Por ejemplo:
INSERTAR EN wp_postmeta (post_id, meta_key, meta_value)
VALORES
(1, ‘your_custom_field_key’, ‘value_for_post_1’),
(2, ‘your_custom_field_key’, ‘value_for_post_2’);
- Importar datos a wp_term_relationships para taxonomías:
- Si tu CPT usa taxonomías personalizadas (como categorías o etiquetas), deberás insertarlas en la tabla wp_term_relationships.
- Ejecutar el script SQL:
- Puedes ejecutar estas consultas SQL usando phpMyAdmin o directamente a través de una interfaz de línea de comandos de MySQL para insertar los datos en tu base de datos de WordPress.
Bono: use IA para mejorar su guión
Puede generar u optimizar su script de importación utilizando herramientas como ChatGPT:
“Escriba un script PHP compatible con WordPress que importe tipos de publicaciones personalizadas desde un archivo CSV utilizando entradas desinfectadas”.
Esto puede ahorrar tiempo y reducir los errores durante el desarrollo.

WP Ultimate CSV Importer Pro
Get Ultimate CSV/XML Importer to import data on WordPress faster, quicker and safer.
Importar usuarios sin un plugin
Para importar usuarios a WordPress sin un plugin, puedes seguir el mismo proceso general utilizando SQL o WP-CLI.
Importar usuarios usando SQL:
Puede insertar directamente los datos del usuario en las tablas de wp_users y wp_usermeta de WordPress. Aquí hay un ejemplo básico de SQL:
Insertar en wp_users:
INSERTADO EN wp_users (user_login, user_pass, user_email, user_registered, display_name)
VALORES
(‘nuevousuario1’, MD5(‘contraseña1’), ‘[email protected]’, NOW(), ‘Nuevo usuario 1’),
(‘newuser2’, MD5(‘password2’), ‘[email protected]’, NOW(), ‘New User 2’);
Nota: Utilice la función MD5 para cifrar contraseñas (WordPress utiliza internamente un método más seguro, pero MD5 funciona para este propósito).
Insertar metadatos de usuario:
Si tiene metadatos de usuario (como roles, campos personalizados), insértelos en la tabla wp_usermeta:
INSERTAR EN wp_usermeta (user_id, meta_key, meta_value)
VALORES
(1, ‘wp_capabilities’, ‘a:1:{s:10:”suscriptor”; b:1;}’),
(1, ‘wp_user_level’, ‘0’);
- El metacampo wp_capabilities determina el rol del usuario (por ejemplo, suscriptor, administrador, etc.).
Importar usuarios usando WP CLI:
Crear usuarios con wp user create:
Puede utilizar el comando wp user create de WP CLI para importar usuarios. Por ejemplo:
wp user create newuser1 [email protected] –role=suscriptor –user_pass=contraseña1
wp user create newuser2 [email protected] –role=administrator –user_pass=password2
Importación de usuarios por lotes a través de script:
Si tiene un CSV de usuarios, puede crear un script bash que lea el archivo y use comandos WP CLI:
#!/bin/bash
while IFS=, read -r nombre de usuario correo electrónico contraseña rol
del
usuario de wp create “$username” “$email” –role=”$role” –user_pass=”$password”
hecho < users.csv
Ejecutar el script
Una vez que su script esté listo, puede ejecutarlo de varias maneras:
- Como plantilla de página o función de tema: Puede colocar este script en el functions.php de su tema o crear una plantilla de página personalizada.
- A través de WP-CLI:Uso WP-CLI para procesar por lotes archivos CSV grandes para evitar errores de memoria o tiempo de espera.
Por ejemplo, ejecutar un script PHP personalizado usando WP-CLI podría verse así:
wp eval-file import-posts.php

WP Ultimate CSV Importer Pro
Get Ultimate CSV/XML Importer to import data on WordPress faster, quicker and safer.
WP-CLI para usuarios avanzados (2025)
Si prefieres trabajar en la línea de comandos, WP-CLI ofrece potentes herramientas para la importación de CSV.
Aquí hay un básico Comando de importación de usuario WP-CLI:
wp usuario import-csv users.csv
Para tipos de publicaciones personalizadas o importaciones complejas, puede escribir un script y ejecutarlo a través de WP-CLI:
wp eval-file import-posts.php
Usando WP-CLI le permite evitar tiempos de espera y errores de memoria al importar archivos CSV grandes.
WP-CLI es una poderosa herramienta de línea de comandos para administrar sitios de WordPress y ofrece un método para importar publicaciones, tipos de publicaciones personalizadas, usuarios y otros datos a través de la línea de comandos. Así es como puedes usar WP-CLI para importar tipos de publicaciones personalizadas:
Paso 1: Instalar WP CLI (si no está instalado)
Puede instalar WP CLI siguiendo las instrucciones de instalación en el sitio oficial de WP-CLI. Si está utilizando cPanel, Plesk u otro entorno de alojamiento, es posible que WP-CLI ya esté instalado.
Paso 2: Prepare sus datos (CSV, JSON, etc.)
Puede importar sus datos utilizando formatos CSV o JSON. Para este ejemplo, supongamos que está utilizando un archivo CSV que contiene sus datos de CPT.
Paso 3: Importar tipos de publicaciones personalizadas a través de WP CLI
Puede usar los comandos wp post create o wp post import en WP CLI. Aquí hay un proceso detallado:
Navega a tu directorio de WordPress:
Abre tu terminal y navega hasta la raíz de tu instalación de WordPress.
cd /ruta/a/tu/wordpress
Importar usando wp post create:
- Si tienes un CSV simple y quieres crear entradas individualmente, puedes recorrer el CSV y utilizar el comando wp post create.
Por ejemplo: wp post create –post_type=”your_cpt” –post_title=”Título de tu entrada” –post_content=”Contenido para el CPT” –post_status=”publicar”
- Para automatizar esto, puede usar un script que lea el CSV y ejecute este comando para cada fila.
Script de ejemplo (Bash con importación CSV):
Suponiendo que tiene un archivo CSV con títulos y contenido de publicaciones, puede usar un script bash para importar publicaciones:
#!/bin/bash
mientras que IFS=, lea -r post_title post_content
del
wp post create –post_type=”your_cpt” –post_title=”$post_title” –post_content=”$post_content” –post_status=”publicar”
hecho < posts.csv
Este script crea una publicación personalizada para cada fila a medida que lee desde posts.csv.
Importación mediante JSON (avanzado):
Si sus datos están en formato JSON, puede usar la funcionalidad wp post import de WP CLI (aunque deberá instalar el paquete requerido).
Puede crear un archivo JSON como este:
[
{
"post_title": "Puesto 1",
"post_content": "Contenido para la publicación 1",
"post_type": "your_cpt"
},
{
"post_title": "Puesto 2",
"post_content": "Contenido para la publicación 2",
"post_type": "your_cpt"
}
]
A continuación, utilice el siguiente comando para importar:
WP POST Importar posts.json –post_type=”your_cpt”
Consejos de rendimiento para manejar archivos CSV grandes
Si se trata de un archivo CSV masivo, es posible que encuentre errores de memoria o un rendimiento lento. Aquí hay algunos consejos para manejar grandes conjuntos de datos de manera eficiente:
- Procesamiento por lotes: Procese el CSV en fragmentos más pequeños para evitar alcanzar los límites de memoria de PHP.
- Aumentar los límites de memoria: Agregue el siguiente código a su archivo wp-config.php para aumentar el límite de memoria: define(‘WP_MEMORY_LIMIT’, ‘512M’);
- Uso de transitorios: Si necesita pausar y reanudar el proceso de importación, considere guardar el estado actual usando Transitorios o puntos de control de base de datos personalizados.
Mejores prácticas de seguridad
Cuando se trabaja con importaciones CSV, la seguridad es primordial para evitar la inyección de datos maliciosos. A continuación, le indicamos cómo garantizar un proceso de importación seguro:
- Desinfectar entradas: Desinfecte siempre las entradas y los datos de los usuarios de fuentes externas mediante funciones como sanitize_text_field() y wp_kses_post().
- Validar archivos CSV: Comprueba si hay scripts inesperados o código malicioso en tus archivos CSV antes de procesarlos.
- Restringir acceso: Limite el acceso al script solo a los usuarios autenticados con privilegios de administrador.
- Usar Nonces: Si crea un formulario personalizado para cargas de CSV, incluya WordPress nuncios para proteger contra la falsificación de solicitudes entre sitios (CSRF).
Consejo ecológico
Para reducir la carga del servidor y minimizar el impacto ambiental, considere la posibilidad de ejecutar los scripts de importación localmente durante el desarrollo o el uso de su entorno de ensayo en lugar de su sitio en vivo.
Preguntas frecuentes
1. ¿Qué versiones de WordPress admiten estos métodos de importación?
Este método funciona para WordPress 6.6+ y versiones más recientes. Las versiones anteriores pueden requerir ajustes.
2. ¿Cómo manejo archivos CSV grandes sin errores de memoria?
Puede dividir archivos grandes en trozos más pequeños o usar procesamiento por lotes para importar los datos de forma incremental.
3. ¿Puedo importar tipos de publicaciones personalizadas sin un complemento?
¡Sí! Use wp_insert_post() con el argumento ‘post_type’ => ‘your_custom_post_type’.
4. ¿Cómo aseguro mi script de importación personalizado?
Desinfecte las entradas, restrinja el acceso a los scripts a los usuarios autenticados y use WordPress nonces para evitar la falsificación de solicitudes entre sitios.
5. ¿Qué pasa si mi CSV tiene caracteres especiales o problemas de codificación?
Asegúrese de que el CSV esté Codificación UTF-8. También puede usar mb_convert_encoding() para manejar caracteres no estándar.
6. ¿Puedo automatizar estas importaciones sin un plugin?
Sí, use WP-CLI o programe la importación usando Trabajos CRON para automatizar el proceso.
7. ¿Cómo depuro errores en mi script de importación?
Habilitar WP_DEBUG o use error_log() para realizar un seguimiento de los problemas con el proceso de importación.
8. ¿Cuáles son los riesgos de ejecutar scripts de importación en un sitio en vivo?
Los principales riesgos incluyen posibles problemas de rendimiento, corrupción de datos y vulnerabilidades de seguridad. Siempre pruebe primero en un entorno de ensayo.
9. ¿Puedo importar productos de WooCommerce sin un plugin?
Sí, puedes importar productos de WooCommerce utilizando scripts personalizados, pero tendrás que manejar metacampos de productos personalizados y relaciones de taxonomía.
10. ¿Cómo se compara esto con el uso de un plugin como WP Ultimate CSV Importer?
El uso de un complemento puede ser más fácil para los no desarrolladores, pero escribir código personalizado le brinda más flexibilidad, control y un rendimiento potencialmente mejor.

WP Ultimate CSV Importer Pro
Get Ultimate CSV/XML Importer to import data on WordPress faster, quicker and safer.