Pulsa ESC para cerrar

Curso WordpressCurso Wordpress

Cada imagen que subes se convierte en 8 archivos: cómo controlar los tamaños de imagen

Sube una foto a tu biblioteca de medios y luego mira la carpeta wp-content/uploads del mes. No vas a encontrar un archivo: vas a encontrar ocho, diez o más, con nombres como foto-150x150.jpg, foto-300x200.jpg, foto-768x512.jpg, foto-scaled.jpg.

WordPress crea esas copias para mostrar siempre la imagen del tamaño justo. Es una buena idea, pero con los años los respaldos crecen, el disco se llena y cada subida tarda más, sobre todo si tu tema y tus plugins agregan sus propios tamaños.

Los tamaños que crea WordPress

  • thumbnail (150×150, recortada): las miniaturas.
  • medium (300 de ancho): imágenes medianas.
  • medium_large (768 de ancho): no aparece en los ajustes, pero existe.
  • large (1024 de ancho).
  • 1536×1536 y 2048×2048: pensadas para pantallas de alta densidad.
  • -scaled: si subes una imagen de más de 2560 px, WordPress guarda una versión reducida a ese tamaño y la usa como «original».

A eso súmale los del tema (por ejemplo, para portadas o tarjetas) y los de WooCommerce (woocommerce_thumbnail, woocommerce_single, woocommerce_gallery_thumbnail).

Paso 1: ver cuáles se generan en tu sitio

Con WP-CLI:

wp media image-size

Te muestra una tabla con cada tamaño, sus medidas y si recorta o no. Sin terminal, el plugin gratuito Query Monitor también los lista, o puedes mirar una carpeta de uploads y contar las variantes de una misma imagen.

Paso 2: decidir cuáles sobran

Antes de quitar, piensa en qué se usa cada tamaño. Una regla práctica:

  • Mantén thumbnail, medium y large: el editor y muchos temas los usan.
  • Mantén los de WooCommerce si tienes tienda.
  • Puedes quitar 1536×1536 y 2048×2048 en la mayoría de blogs: rara vez se muestran imágenes tan grandes.
  • Puedes quitar medium_large si tu tema no lo usa, aunque ayuda a que las imágenes se vean nítidas en tablets.
  • Revisa los del tema: si cambiaste de tema, los tamaños del tema anterior ya no sirven.

Lo que pierdes al quitar tamaños. WordPress usa todas las variantes para el atributo srcset, que le permite al navegador elegir la imagen justa según la pantalla. Con menos variantes, algunas pantallas descargarán una imagen un poco más grande de lo necesario. Para la mayoría de los sitios, el ahorro en disco compensa.

Paso 3: el mu-plugin

Guárdalo como wp-content/mu-plugins/cwp-tamanos-imagen.php y ajusta la lista:

<?php
/**
 * Plugin Name: Tamaños de imagen a dieta (Curso WordPress)
 */

// Tamaños que NO queremos generar al subir imágenes.
const CWP_TAMANOS_FUERA = array( '1536x1536', '2048x2048' );

add_filter( 'intermediate_image_sizes_advanced', function ( $tamanos ) {
	foreach ( CWP_TAMANOS_FUERA as $nombre ) {
		unset( $tamanos[ $nombre ] );
	}
	return $tamanos;
} );

// Cambiar el límite de la versión "-scaled" (2560 px por defecto).
add_filter( 'big_image_size_threshold', function () {
	return 1920;
} );

No desactives el escalado con __return_false como recomiendan muchos tutoriales. Si alguien sube una foto de 6000 px directo de la cámara, WordPress la usaría tal cual en algunos lugares, y pesaría varios megas. Bajar el límite a 1920 es mejor que eliminarlo.

Paso 4: optimizar desde la subida

El tamaño de los archivos importa tanto como la cantidad. Dos ajustes que valen la pena:

// Calidad de compresión de las copias (82 por defecto).
add_filter( 'wp_editor_set_quality', function () {
	return 75;
} );

// Guardar las copias en WebP aunque subas JPG (si tu servidor lo soporta).
add_filter( 'image_editor_output_format', function ( $formatos ) {
	$formatos['image/jpeg'] = 'image/webp';
	return $formatos;
} );

Puedes agregar ambos al final del mismo mu-plugin. Antes de usar el segundo, comprueba en Herramientas → Salud del sitio → Información → Medios que tu servidor soporte WebP.

Paso 5: las imágenes que ya subiste

Los cambios solo afectan las imágenes nuevas. Para las antiguas, regenera las miniaturas con WP-CLI:

# Respaldo primero
wp db export antes-de-regenerar.sql

# Regenera solo los tamaños que falten (rápido)
wp media regenerate --only-missing --yes

# O todo, si cambiaste medidas o formato (lento en bibliotecas grandes)
wp media regenerate --yes

Los archivos de tamaños que ya no usas siguen en el disco. Para encontrarlos y borrarlos con seguridad, lo más sencillo es un plugin de limpieza de medios, siempre con un respaldo completo antes.

¿Tu carpeta uploads pesa más de lo que esperabas? Comparte en el foro el resultado de wp media image-size y te ayudamos a decidir qué tamaños quitar.