red and black train rail

Optimizar imágenes para la web en Linux

Las imágenes son parte importante en un sitio web hoy en día, no solo como una simple decoración sino también para mostrar o complementar información. Algo a tomar en cuenta para el SEO es el tiempo en que tarda en cargarse el sitio web debido a que un bajo rendimiento perjudica el posicionamiento en Google ademas de hacerte perder visitas. Optimizar las imágenes es una de las tantas cosas que pueden ayudar a disminuir el tiempo de carga del sitio reduciendo su tamaño disminuyendo el tiempo de descarga.

Existen plugins para WordPress que permiten hacer esto, sin embargo algunos no son gratis o poseen algunas limitaciones pero si se tiene acceso shell a un servidor dedicado o a un VPS hay dos utilidades que resuelven este problema y que ademas pueden ejecutarse de forma automática con cron.

jpegoptim y optipng

La primera utilidad optimiza los archivos jpeg y la segunda los archivos png, están disponibles nativamente en al menos las distribuciones de GNU/Linux más populares por lo que se pueden instalar usando yum o apt

# Ubuntu, Debian o que usen Advanced Packaging Tool(apt)
sudo apt-get install jpegoptim optipng

# RHEL, Centos o que usen Yellow dog Updater(yum)
sudo yum install jpegoptim optipng

Terminada la instalación ahora ejecutamos la optimización, yo prefiero usar find para buscar las imágenes, ademas de usar una variable de entorno llamada $IMG indicándole la ruta donde están las imágenes que quiero convertir en este caso usaremos /var/www/ como ejemplo, de esta forma recorrerá el directorio /var/www/ y subdirectorios que se encuentran dentro de este directorio usado como valor de la variable anteriormente nombrada.

IMG=/var/www/;find $IMG -type f -iname '*.jpg' -exec jpegoptim -o7 --strip-all {} +; find $IMG -type f -iname '*.png' -exec optipng -o7 {} +

Al terminar la ejecución la imágenes estarán optimizadas, la secuencia anterior puede ser usada como un script en Cron y programarse para ejecutarse según que tan frecuentemente se actualice el sitio web, recuerda que esto es solo una de las tantas cosas que debes hacer para mejorar el rendimiento del sitio, otras son usar PHP-FMP, cache, CDN, Apache, NGINX, etc.