Метаданные изображений в WordPress — это информация, которая хранится в базе данных и в файлах картинок, включая EXIF, IPTC, а также внутренние поля WordPress, такие как заголовок, описание, альтернативный текст и подпись. Часто возникает необходимость удалить или изменить эти данные для оптимизации сайта, повышения конфиденциальности или улучшения SEO.
Зачем удалять или изменять метаданные изображений в WordPress
Метаданные могут содержать личную информацию, например, дату и место съемки, модель камеры, GPS-координаты. Это может быть нежелательно публиковать на сайте. Кроме того, избыточные метаданные увеличивают вес файлов, что замедляет загрузку страниц и негативно влияет на SEO.
Изменение метаданных, например, заголовка или альтернативного текста, позволяет улучшить структуру сайта и повысить его доступность для поисковых систем и людей с ограниченными возможностями.
В WordPress большая часть метаданных хранится в базе данных, в таблице wp_postmeta и в прикрепленных к медиафайлам полях.
Как удалить метаданные EXIF из изображений при загрузке
WordPress не очищает автоматически EXIF-данные при загрузке. Для их удаления можно использовать плагин или написать собственный код.
Рассмотрим пример функции, которая удаляет EXIF-данные из загружаемых изображений с помощью PHP GD:
function wphelper_remove_exif_on_upload($metadata, $attachment_id) {
$file = get_attached_file($attachment_id);
$image_info = getimagesize($file);
if ($image_info['mime'] === 'image/jpeg') {
$img = imagecreatefromjpeg($file);
if ($img !== false) {
imagejpeg($img, $file, 100); // Перезаписываем файл без EXIF
imagedestroy($img);
}
}
return $metadata;
}
add_filter('wp_generate_attachment_metadata', 'wphelper_remove_exif_on_upload', 10, 2);
Этот код перезаписывает JPEG-файл без метаданных EXIF, используя GD. Он срабатывает после загрузки, при генерации миниатюр.
Изменение метаданных в базе WordPress: заголовок, альтернативный текст, описание
Для изменения метаданных, которые отображаются в админке и на сайте, используются стандартные поля вложений. Их можно менять через интерфейс, но для массового обновления удобнее применять код.
Пример функции, которая обновляет альтернативный текст и заголовок изображения по ID:
function wphelper_update_attachment_meta($attachment_id, $alt_text, $title) {
if (!get_post($attachment_id) || get_post_type($attachment_id) !== 'attachment') {
return false;
}
update_post_meta($attachment_id, '_wp_attachment_image_alt', sanitize_text_field($alt_text));
wp_update_post(array(
'ID' => $attachment_id,
'post_title' => sanitize_text_field($title),
));
return true;
}
Пример вызова:
wphelper_update_attachment_meta(123, 'Описание альтернативного текста', 'Новый заголовок картинки');
Массовое удаление или изменение метаданных с помощью плагинов
Если не хочется писать код, можно использовать плагины. Рекомендуем следующие:
- Media Cleaner — помогает найти и удалить неиспользуемые медиафайлы и их метаданные;
- Imsanity — автоматически уменьшает размер и очищает метаданные;
- Clearfy Pro — не только оптимизирует сайт, но и позволяет управлять метаданными и кэшированием.
Все эти плагины можно найти на WPSHOP.RU.
Пример удаления метаданных с помощью Clearfy Pro
Clearfy Pro имеет модуль «Оптимизация изображений», который автоматически очищает EXIF при загрузке и также позволяет массово обработать уже загруженные файлы.
Для включения достаточно активировать модуль в настройках Clearfy, что значительно упрощает задачу и экономит время.
Как проверить, что метаданные действительно удалены
После удаления метаданных важно проверить, что они действительно отсутствуют. Для этого можно использовать несколько методов:
- Скачать изображение с сайта и открыть его в редакторе, например, Photoshop или бесплатном ExifTool;
- Использовать онлайн-сервисы проверки EXIF, например exifinfo.org;
- Воспользоваться консольной утилитой ExifTool, выполнив команду
exiftool your-image.jpg;
Если метаданные удалены, эти инструменты не покажут информации о камере, GPS и т.п.
Заключение: лучшие практики работы с метаданными изображений в WordPress
Удаление и изменение метаданных — важный этап оптимизации сайта и защиты данных пользователей. Рекомендуется:
- Автоматизировать очистку EXIF при загрузке, например, через фильтр
wp_generate_attachment_metadata; - Регулярно проверять и обновлять альтернативные тексты и заголовки для SEO и доступности;
- Использовать проверенные плагины, такие как Clearfy Pro, для массовой обработки и оптимизации;
- Проводить тестирование после изменений, чтобы убедиться в отсутствии лишних данных.
Выполнение этих рекомендаций позволит поддерживать ваш WordPress-сайт быстрым, безопасным и удобным для посетителей.