Subir imágenes de forma masiva a WordPress

Les voy a contar una historia de torpeza y despiste, que espero te ayude si te encuentras en esta situación, y aprovecho y lo dejo para la posteridad como documentación, si a futuro me vuelve a ocurrir. ¯_(ヅ)_/¯

Un cliente (y buen amigo) me pidió ayuda, ¡cómo quiero a ese tio! no sabes cuánto me enseña en sus proyectos.

Tiene una tienda online en WordPress y uno de sus proveedores le facilitó los archivos de todos sus productos.

Para automatizar el proceso de subidas, me dijo:

  • Necesito subir unas imágenes a WordPress ¿Me ayudas?
  • Mi respuesta: Si claro, es muy sencillo

Claro, pillé la realidad, en mi cabeza pensaba eran 20-30 imágenes, se trataba de una carpeta con 18.447 imágenes de productos.

La verdad que nunca había subido imágenes de forma masiva a WordPress.

Me imaginé que por FTP podría ser la mejor manera, así que busqué en Google, (como no podría ser de otra forma) y me topé con dos artículos interesantes:

Optimizar imágenes

Parece una obviedad, pero las 18.447 imágenes NO estaban optimizadas. Ordenarlas por tamaño es fácil, me quedé con todas las que pesaban más de 100 kb y un grupo, con solo redimencionarlas, fue suficiente.

Redimensionar imágenes de forma masiva en Ubuntu

Para ello en mi Ubuntu, instalé Image Magic que me permite redimensionar con el menú contextual. Toda la explicación en el blog de Solo Linux: Redimensionar imágenes Ubuntu.

El grupo restante lo solucioné con la herramienta online: TinyPNG. Yo lo hice con un clic porque tengo la versión de pago, pero lo puedes hacer por lotes si no quieres pagar la licencia de la herramienta.

Guay, tenemos las imágenes optimizadas, vamos al siguiente paso:

Subir archivos por FTP

El primer paso es sencillo, en la carpeta de uploads de WordPress, subimos los dichosos archivos.

Yo utilizo FileZilla para conectarme por FTP, y localizo la carpeta: /wp-content/uploads

Hasta allí, no hay misterio. Ya sabemos que FTP es lentillo, así que las 18.447 imágenes tardaron lo suyo. Y lo lógico, esperas verlas en la carpeta de medios de tu administrador de WordPress ¿no?

Exacto, no están. ¿Por qué? Pues porque necesitas agregarlas a las base de datos.

El archivo puede estar, pero si no lo reconoce WordPress, da igual, es como si no existiera.

Los artículos mencionados al inicio recomiendan un plugin: Add from Server

Plugin add form server

Pero a mi este plugin me dio muchos dolores de cabeza, se quedaba colgando. En ese momento pensé: ¿Por qué no hice la prueba con unas pocas imágenes?

Como ven esta historia me ha enseñado muchas cosas ¯_(ツ)_/¯

Plugin Media Sync

Cuando me temía que iba a tener que buscar la manera de hacerlo por SQL, al final, lo solucioné con el plugin: Media Sync, que me funcionó de maravillas y hasta le dejé una reseña porque no veas lo que me alivió.

Opciones del plugin Media Sync

Una vez instalado, en el menú de medios, te crea una opción para que explores los archivos y te indicará cuáles de los archivos, que están en la carpeta de uploads, no están en la biblioteca de medios.

Además, el plugin hace por defecto en la exploración, un simulacro, ya que implica cambios en la base de datos. Para ello deja la casilla activada por defecto. Si quieras hacer los cambios finales, debes desmarcar la casilla. Es listillo el creador del plugin ¿eh?, la seguridad siempre primero:

Subir imágenes de forma masiva a WordPress

Puedes filtrar los archivos por:

  1. Todos los archivos
  2. Solo los archivos que faltan en la biblioteca de medios

Yo fui al camino fácil, filtré por todos los archivos que no estaban y le pulsé importar. Estaba feliz y pletórico, iba comprobando, como poco a poco, aparecían las imágenes.

Pero mi despiste me hizo cometer otro error más en este proceso, que te cuento en el siguiente punto:

Mi torpeza no tiene límites

El demonio está en lo detalles dice el dicho ¿no?

Lo hice rápido sin percatarme que un plugin del hosting almacena una carpeta de archivos de optimización y se marcó por defecto. Esta carpeta estaba a tope de archivos de JavaScript minimizados y claro está, todo fue a parar hasta la carpeta de medios.

Después de un tiempo en el que me consideré el tío más tonto del planeta, me dije, vale, ¿cómo lo soluciono?

Tuve que recurrir a MySQL, e identificando las tablas donde se almacenan los archivos de medios: wp_post, hice la siguiente búsqueda:

SELECT * FROM `wp_posts` WHERE `post_type` = 'attachment' AND `post_mime_type` = 'application/javascript'; 

Esta búsqueda me permitió tener todos los archivos de JavaScript, que no pertenecen a esa carpeta de medios, a golpe de una búsqueda y poder borrarlos en pocos clics.

¡Menos mal!

¿Qué podemos aprender?

Yo mucho, y espero que si te ves en la necesidad de subir imágenes de forma masiva a WordPress lo puedas hacer con este método, evitando mis errores.

Después, me topé con otras opciones. Al parecer, con WP-CLI, puedes hacerlo con el comando: wp media import.

Pero ya no llegué a probar esas opciones, solo he instalado WP-CLI, pero no me siento muy seguro aún al utilizarlo, aunque soy gran fan del uso del terminal. Ya sacaré tiempo y me dedicaré a ello. Seguro me apoyaré en Jorge (unapersona) en esta labor 🙂

En fin, mi amigo feliz con sus 18.447 imágenes, y yo, orgulloso que la metida de pata no fue tan grande y aún por encima, me dió material para este blog, que hacía tiempo no podía escribir, así que todos son victorias.

¡Larga vida y prosperidad!

¿Tu lo sabes hacer de otra forma? Estaremos encantados de leer tu método en los comentarios 😉

Leave this field blank

¿Te suscribes a mi lista?

Te reirás, lo disfrutarás y te puedes borrar cuando quieras. Contenido chachi y anti aburrimiento. El SEO no tiene por qué ser un coñazo. Consejos, promociones y mucho más. Nos vemos dentro. ¡Larga vida y prosperidad!

2 comentarios en «Subir imágenes de forma masiva a WordPress»

Deja un comentario