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: