Cómo limitar el tamaño de las imágenes que se suben a WordPress

Una de las ventajas de utilizar un gestor de contenidos como WordPress es que la barrera para publicar en Internet prácticamente desaparece, haciendo posible que personas sin mucha experiencia a la hora de editar archivos, suban imágenes y documentos fácilmente a su página web.

WordPress no limita el tamaño de las imágenes que subimos. Lo que sí hace es generar miniaturas (versiones más pequeñas) que, independientemente del tamaño de la foto original, se pueden utilizar en diferentes lugares de las plantillas, para poder ahorrar ancho de banda y que la web se cargue más rápidamente.

En principio, el único limite que se encuentra el usuario cuando va a subir un documento es el peso máximo por archivo asignado en su servidor (configurado a través de las directivas “post_max_size” y “upload_max_filesize” de PHP).

Este valor aparece reflejado en el cargador de archivos de WordPress con la nota: “Tamaño máximo del archivo a subir: X MB”. Si intentamos subir un archivo con un peso mayor nos encontraremos con errores como: “El tamaño del archivo nombre.jpg excede el tamaño permitido en este sitio” o “The uploaded file exceeds the upload_max_filesize directive in php.ini“.

El problema es que no todo el mundo sabe editar una foto en su ordenador (con Photoshop, Gimp, IrfanView, Picasa, etc.) y subir después un copia reducida al servidor.

Una herramienta online muy práctica para reducir fácilmente el peso de las imágenes es http://compressor.io/. Permite comprimir archivos JPEG, PNG, GIF y SVG, e incluso enviar el resultado final a Dropbox.

Muchas veces simplemente se suben las imágenes sin editar, tal como salen de la cámara de fotos o del móvil, que suelen ser demasiado grandes y pesadas para utilizarlas en Internet, y que hacen que la página tarde más de lo necesario en cargarse.

Por cierto, si además queremos evitar que se utilicen acentos, espacios, mayúsculas y otros caracteres en los nombres de los archivos, podemos utilizar Clean Image Filenames, un plugin que se encarga de convertir estos nombres de archivo en su versión “limpia”.

Una solución: htaccess

Una manera sencilla de limitar el tamaño de subida puede ser editando el archivo .htaccess que encontramos en la raiz de nuestra instalación (en el mismo nivel que las carpetas wp-admin o wp-includes), donde especificaremos el peso máximo que vamos a permitir:

En este ejemplo, limitamos la subida de archivos a 2 MB (1024 KB x 2):

php_value upload_max_filesize 2048K
php_value post_max_size 2048K

Otra solución: plugin

Otra solución a este problema es utilizar el plugin Imsanity (abreviación de “Image Sanity Limit”), que se encarga de reducir automáticamente las imágenes grandes y pesadas.

Al activar el plugin tendremos una nueva página de configuración en Ajustes > Imsanity, desde donde podemos configurar:

  • El tamaño máximo para fotos subidas desde una entrada o página
  • El tamaño máximo para fotos subidas a través del cargador de la librería multimedia
  • El tamaño máximo para fotos subidas desde otras partes, como opciones del tema, cabeceras, fondos, etc.
  • Establecer la calidad de los archivos JPG (para poder reducir fácilmente el valor que viene configurado por defecto en el sistema, que es 90%)
  • Convertir a JPG las imágenes subidas en formato BMP, que suelen pesar mucho más que un JPG, GIF o PNG.

Página de configuración del plugin para limitar el tamaño de las imagenes

Con este plugin también podemos cambiar (individualmente o en grupo) el tamaño de las imágenes que ya se han subido, para poder liberar espacio en el servidor.

Al instalar y configurar este plugin, lo único que hará es cambiar automáticamente el tamaño de las imágenes según los ajustes que hayamos configurado, reemplazando el archivo original por otro con unas dimensiones más “normales”.

Si no tenemos instalada ninguna extensión adicional, lo que hace WordPress cuando subimos una imagen es dejar el original intacto y, según el tamaño, crear 3 miniaturas o versiones más pequeñas. Esa foto original normalmente no se utiliza (o sí, dependiendo del tema que tengamos activado), o sea que, como mínimo, se quedará en el servidor ocupando espacio.

Por ejemplo, si subimos una foto de 3000 pixels de ancho y configuramos Imsanity para que las reduzca a 1024 px., lo que hará el plugin es redimensionar la foto original a 1024 px. Es decir, no hace una copia más pequeña (esto ya lo hace WordPress por defecto) sinó que reduce el original.

Lógicamente, conviene utilizar este plugin solo en blogs o sitios web en los que el usuario no sepa cómo editar las fotos directamente en su ordenador, y no instalarlo en webs de fotografía o, en general, donde sea necesario mostrar imágenes en alta resolución.

Otro plugin similar es Client Side Image Resize, que se encarga de reducir automáticamente las imágenes al tamaño y calidad que hayamos configurado.

Comentarios

  1. aptoide

    Gracias, lo andaba buscando

  2. Muakas

    Un artículo muy interesante para los que tenemos blogs en WordPress. Yo también recomiendo usar RIOT (Radical Image Optimizacion Tool).
    Enhorabuena por el post!

  3. Daniel

    Muchas gracias por la aportación.

    RIOT: Radical Image Optimization Tool (sólo Windows)
    Programa gratuito para optimizar imágenes para web. Se puede descargar como programa independiente o como plugin para GIMP, IrfanView…
    http://luci.criosweb.ro/riot/

  4. Desarket

    En algunos casos no funciona. Pero es una solución interesante. Gracias por el aporte.

  5. Luis

    Gracias, gran aporte.

Y tú qué opinas?

Las URLs se convertirán en enlaces automáticamente. Tu dirección de email no se publicará ni se utilizará para enviar ningún tipo de información. Los mensajes que no aporten nada al tema que se trata en esta entrada se borrarán. Las imágenes que aparecen al lado de cada autor utilizan el servicio de Gravatar. Recuerda que puedes usar etiquetas HTML como <a href>, <code>, <em> o <strong> en los comentarios.

(necesario)

(opcional)