# Plugin WordPress, Convertir y Comprimir Imágenes JPEG

- Link: https://binariocero.com/php/plugin-wordpress-convertir-y-comprimir-imagenes-jpeg
- Published: 2025-08-10T20:49:08+02:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

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:

    ```wp-block-preformatted
    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:

    ```wp-block-preformatted
    ssh usuario@tu-servidor
    ```

### 2. Ir al directorio del sitio WordPress

    ```wp-block-preformatted
    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`:

    ```wp-block-preformatted
    nano convertir-comprimir-jpeg.php
    ```

### 4. Pegar el contenido del plugin

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

    ```wp-block-preformatted
    <?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`

    ```wp-block-code
    chmod +x convertir-comprimir-jpeg.php
    ```

## Activación del plugin

Puedes activar el plugin desde consola con WP-CLI:

    ```wp-block-preformatted
    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:

    ```wp-block-preformatted
    ls -lh wp-content/uploads/2025/08/
    ```

También puedes revisar errores o logs:

    ```wp-block-preformatted
    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-block-preformatted
    wp plugin deactivate convertir-comprimir-jpegrm wp-content/plugins/convertir-comprimir-jpeg.php
    ```
