Un plugin ligero y seguro para WordPress que elimina los metadatos (EXIF, IPTC, XMP) de imágenes (JPEG, PNG y WEBP) de forma estrictamente local en el navegador del usuario.
Procesamiento "Zero-Server": Los archivos nunca se suben a tu servidor web ni se envían a APIs de terceros, garantizando privacidad total y coste cero en ancho de banda o almacenamiento para tu infraestructura.
- 100% Client-Side: Todo el procesamiento binario ocurre en el navegador del usuario usando JavaScript nativo (
ArrayBuffer). - Seguridad y Privacidad: Las imágenes no salen del ordenador del usuario.
- Sin Pérdida de Calidad: No utiliza
<canvas>para recodificar la imagen. La limpieza se hace a nivel binario eliminando únicamente los segmentos de metadatos, preservando el archivo original intacto. - Procesamiento en Lote (Bulk): Sube múltiples archivos a la vez. El plugin los limpiará y generará un único archivo
.zipdescargable para evitar bloqueos del navegador. - Límites de Seguridad Integrados: Límite de 20MB por archivo y 100MB por lote para evitar colapsar la memoria del navegador.
- Cero Impacto en el Rendimiento: Los scripts y estilos solo se cargan en las páginas donde se utiliza el shortcode.
- Descarga el repositorio como un archivo
.zip. - En tu panel de WordPress, ve a Plugins > Añadir nuevo > Subir plugin.
- Sube el archivo
.zipy haz clic en Instalar ahora. - Activa el plugin.
Alternativamente, clona este repositorio en el directorio wp-content/plugins/ de tu instalación de WordPress:
git clone https://github.com/basabot/metadata_flush.gitAñade el siguiente shortcode en cualquier página, entrada o widget de WordPress:
[metadata_stripper]
Aparecerá una interfaz minimalista con un botón para seleccionar imágenes y un indicador de estado.
Este plugin ha sido diseñado siguiendo estrictos estándares para asegurar la máxima compatibilidad entre versiones de WordPress y evitar conflictos con otros plugins o temas:
- Sin dependencias externas como jQuery: Escrito completamente en Vanilla JavaScript, lo que lo hace inmune a conflictos de versiones de jQuery que a menudo rompen temas o plugins de WordPress.
- Carga Condicional (Lazy Loading de Assets): El archivo JavaScript y CSS solo se insertan en el DOM si el shortcode
[metadata_stripper]está presente en la página (wp_enqueue_scriptse llama dentro del renderizador del shortcode). - Aislamiento de Código: Todo el JS se ejecuta dentro de una IIFE (Immediately Invoked Function Expression) para no contaminar el espacio de nombres global (
window). En PHP, se utiliza una clase estática final (Metadata_Stripper_Local_Plugin) para evitar choques de nombres de funciones. - Soporte Multi-Instancia: Puedes colocar el shortcode varias veces en la misma página; cada instancia operará de forma 100% independiente.
¡Las contribuciones son bienvenidas! Siéntete libre de abrir un Issue o enviar un Pull Request.
Este proyecto es Software Libre, liberado bajo la licencia GPL-2.0-or-later.