Optimiza Imágenes en WordPress desde la Terminal sin Plugins

Reducir el peso de las imágenes en WordPress es clave para mejorar la velocidad de carga y el LCP (Largest Contentful Paint), un factor importante para el SEO y la experiencia del usuario. En este artículo, aprenderás a optimizar todas las imágenes de tu WordPress usando la terminal de Linux, sin necesidad de plugins.

NOTA IMPORTANTE: Antes de comenzar a ejecutar este script te recomiendo que hagas un backup de todos tus datos.


Instalación de los Programas Necesarios

Para ejecutar el script de optimización, necesitas instalar los siguientes paquetes:

  • jpegoptim: Comprime archivos JPG/JPEG.
  • optipng: Optimiza PNG sin pérdida de calidad.
  • gifsicle: Reduce el peso de los GIFs.

Instalación en Debian/Ubuntu

sudo apt update && sudo apt install jpegoptim optipng gifsicle -y

Instalación en CentOS/RHEL

sudo yum install epel-release -y
sudo yum install jpegoptim optipng gifsicle -y

Instalación en Arch Linux

sudo pacman -S jpegoptim optipng gifsicle

Script para Optimizar Imágenes en WordPress

El siguiente script optimiza JPG, PNG y GIF dentro de la carpeta /wp-content/uploads/ sin cambiar el nombre de los archivos ni afectar las referencias en WordPress. Además, evita volver a optimizar imágenes que ya han sido comprimidas.

Código del Script

#!/bin/bash

IMAGES_DIR="/var/www/html/wp-content/uploads"
LOG_FILE="/var/log/optimizacion_imagenes.log"

echo "Iniciando optimización de imágenes..." | tee -a "$LOG_FILE"

# Optimizar JPG/JPEG solo si no han sido optimizados antes
find "$IMAGES_DIR" -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) | while read -r img; do
    before_size=$(stat -c %s "$img")  # Obtener tamaño antes
    jpegoptim --strip-all --max=85 --quiet "$img"
    after_size=$(stat -c %s "$img")  # Obtener tamaño después
    if [ "$before_size" -ne "$after_size" ]; then
        echo "Optimizado: $img ($before_size → $after_size bytes)" | tee -a "$LOG_FILE"
    else
        echo "Ya optimizado: $img" | tee -a "$LOG_FILE"
    fi
done

# Optimizar PNG (optipng no vuelve a comprimir imágenes ya optimizadas)
find "$IMAGES_DIR" -type f -iname "*.png" | while read -r img; do
    before_size=$(stat -c %s "$img")
    optipng -o7 -quiet "$img"
    after_size=$(stat -c %s "$img")
    if [ "$before_size" -ne "$after_size" ]; then
        echo "Optimizado: $img ($before_size → $after_size bytes)" | tee -a "$LOG_FILE"
    else
        echo "Ya optimizado: $img" | tee -a "$LOG_FILE"
    fi
done

# Optimizar GIF (comprobar tamaño antes y después)
find "$IMAGES_DIR" -type f -iname "*.gif" | while read -r img; do
    before_size=$(stat -c %s "$img")
    gifsicle -b -O3 "$img"
    after_size=$(stat -c %s "$img")
    if [ "$before_size" -ne "$after_size" ]; then
        echo "Optimizado: $img ($before_size → $after_size bytes)" | tee -a "$LOG_FILE"
    else
        echo "Ya optimizado: $img" | tee -a "$LOG_FILE"
    fi
done

echo "Optimización completada." | tee -a "$LOG_FILE"

Cómo Usar el Script

  1. Guarda el script en tu servidor:
nano optimizar_imagenes.sh

Pega el código, guarda (CTRL + X, Y, ENTER).

  1. Dale permisos de ejecución:
chmod +x optimizar_imagenes.sh
  1. Ejecuta el script:
./optimizar_imagenes.sh
  1. (Opcional) Automatizar con cron: Si deseas que el script se ejecute automáticamente cada semana, agrégalo a cron:
crontab -e

Añade esta línea al final:

0 3 * * 0 /ruta/del/script/optimizar_imagenes.sh

Esto ejecutará la optimización todos los domingos a las 3:00 AM.


Beneficios de Este Método

  • No cambia los nombres de las imágenes (WordPress seguirá funcionando sin problemas).
  • Evita optimizar imágenes ya procesadas (ahorra recursos).
  • Reduce tiempos de carga y mejora la puntuación en PageSpeed.
  • No requiere plugins adicionales.
  • Seguro y reversible (hace cambios solo si es necesario).

Conclusión

Este script te permite optimizar las imágenes de WordPress de manera eficiente sin necesidad de plugins. La mejora en la velocidad de carga beneficiará tanto la experiencia del usuario como el SEO de tu sitio.

Implementa este método hoy mismo y haz que tu WordPress sea más rápido.

Scroll al inicio
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

WordPress Appliance - Powered by TurnKey Linux