Plugin WordPress, Convertir y Comprimir Imágenes JPEG

Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero

El plugin “Convertir y Comprimir Imágenes JPEG” automatiza el proceso de conversión y compresión de imágenes que se suben a WordPress. Su propósito es:

  • Convertir imágenes PNG y WebP a JPEG.
  • Comprimir las imágenes JPEG (existentes o convertidas) con una calidad del 80%.
  • Reducir el tamaño total del almacenamiento y mejorar la velocidad de carga.

Es ideal para entornos optimizados de hosting, especialmente en servidores con recursos limitados.

Requisitos del servidor

Para que el plugin funcione correctamente, el servidor debe tener habilitadas las siguientes extensiones PHP:

  • GD (biblioteca de procesamiento de imágenes)
  • fileinfo (para detectar el tipo MIME)

Puedes comprobarlo con:

php -m | grep -E 'gd|fileinfo'

Instalación del plugin desde consola

1. Acceder al servidor

Conéctate a tu servidor donde está alojado WordPress:

ssh usuario@tu-servidor

2. Ir al directorio del sitio WordPress

cd /ruta/a/tu/sitio/wp-content/plugins

Y crea una carpeta dentro como convertir-comprimir-jpeg

Reemplaza /ruta/a/tu/sitio por la ruta real de tu instalación WordPress.

3. Crear el archivo del plugin

Crea un nuevo archivo llamado convertir-comprimir-jpeg.php:

nano convertir-comprimir-jpeg.php

4. Pegar el contenido del plugin

Copia y pega el siguiente código dentro del archivo:

<?php
/**
* Plugin Name: Convertir y Comprimir Imágenes JPEG
* Description: Convierte automáticamente las imágenes subidas a JPEG y las comprime.
* Version: 1.1
* Author: Juan Jose Fernadnez Duran
*/

add_filter('wp_handle_upload', 'convertir_y_comprimir_jpeg_estable');

function convertir_y_comprimir_jpeg_estable($upload) {
$file_path = $upload['file'];
$mime_type = mime_content_type($file_path);

$tipos_convertibles = ['image/png', 'image/webp'];

if (!file_exists($file_path) || !getimagesize($file_path)) {
error_log("[JPEG Plugin] Archivo inválido o no es imagen: $file_path");
return $upload;
}

if (in_array($mime_type, $tipos_convertibles)) {
switch ($mime_type) {
case 'image/png':
$image = @imagecreatefrompng($file_path);
break;
case 'image/webp':
$image = @imagecreatefromwebp($file_path);
break;
}

if (!$image) {
error_log("[JPEG Plugin] Fallo al crear imagen desde: $file_path");
return $upload;
}

$jpeg_path = preg_replace('/\.(png|webp)$/i', '.jpg', $file_path);

if (!imagejpeg($image, $jpeg_path, 80)) {
error_log("[JPEG Plugin] Fallo al guardar JPEG: $jpeg_path");
imagedestroy($image);
return $upload;
}

imagedestroy($image);
unlink($file_path);

$upload['file'] = $jpeg_path;
$upload['url'] = preg_replace('/\.(png|webp)$/i', '.jpg', $upload['url']);
$upload['type'] = 'image/jpeg';

} elseif ($mime_type === 'image/jpeg') {
$image = @imagecreatefromjpeg($file_path);
if ($image) {
imagejpeg($image, $file_path, 80);
imagedestroy($image);
}
}

return $upload;
}

Guarda el archivo (Ctrl+O, Enter) y sal (Ctrl+X).

Comprueba el propietario de la carpeta, fichero y los permisos de ejecución:


chown -R convertir-comprimir-jpeg

chmod +x convertir-comprimir-jpeg.php

Activación del plugin

Puedes activar el plugin desde consola con WP-CLI:

wp plugin activate convertir-comprimir-jpeg

Asegúrate de tener WP-CLI instalado y ejecutarlo desde la raíz del sitio WordPress.

Si no tienes WP-CLI, también puedes activarlo desde el panel de WordPress:
Escritorio → Plugins → Convertir y Comprimir Imágenes JPEG → Activar

Verificación

Sube una imagen PNG o WebP a la biblioteca de medios. El plugin realizará:

  • Conversión a JPEG.
  • Compresión con calidad del 80%.
  • Eliminación del archivo original convertido.

Puedes verificar que el archivo en el sistema ha sido convertido:

ls -lh wp-content/uploads/2025/08/

También puedes revisar errores o logs:

tail -f /var/log/php_errors.log

Consideraciones

  • El plugin no modifica imágenes ya subidas antes de su activación.
  • La compresión es básica. Para un sistema avanzado, considera usar plugins como Imagify o ShortPixel con optimización en la nube.
  • Ideal para sitios que desean mantener compatibilidad sin depender de formatos como WebP.

Desinstalación

Para desactivar y eliminar el plugin:

wp plugin deactivate convertir-comprimir-jpeg
rm wp-content/plugins/convertir-comprimir-jpeg.php

Compartir:

Binario 0
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.