wpconsult.ru wordpress WP Consult

Как удалить метаданные из изображений в WordPress для ускорения сайта

Метаданные изображений, такие как EXIF, IPTC и другие служебные данные, часто занимают дополнительное место и могут замедлять загрузку сайта. Особенно это актуально для сайтов на WordPress, где большое количество медиафайлов влияет на производительность. В этой статье мы подробно рассмотрим, как удалить метаданные из изображений в WordPress, используя плагины и собственный код, чтобы ускорить работу сайта и снизить нагрузку на сервер.

Что такое метаданные изображений и почему их стоит удалять

Метаданные — это информация, встроенная в файл изображения, которая содержит данные о камере, настройках съёмки, геолокации, авторских правах и других характеристиках. Веб-сайты обычно не нуждаются в этой информации, а она увеличивает размер файла, что влияет на скорость загрузки страницы и SEO.

Удаление метаданных уменьшает размер файлов и повышает конфиденциальность, так как, например, данные GPS могут раскрывать местоположение фотосъёмки.

Для сайтов на WordPress, особенно интернет-магазинов и блогов с большим количеством изображений, оптимизация медиа — важная задача для улучшения UX и SEO.

Удаление метаданных с помощью плагинов WordPress

Плагин Imsanity

Imsanity автоматически изменяет размеры загружаемых изображений и удаляет часть метаданных. Это отличный вариант для быстрой оптимизации без сложных настроек.

После установки и активации плагина зайдите в его настройки и включите опции по удалению метаданных и масштабированию изображений.

Плагин Clearfy Pro

Clearfy Pro — мощный инструмент для оптимизации WordPress, в том числе удаление избыточных метаданных из изображений. В настройках плагина есть функция очистки метаданных при загрузке и массовой обработке уже загруженных файлов.

Это удобный вариант для комплексного улучшения производительности сайта.

Удаление метаданных на лету с помощью собственного кода

Если хотите обойтись без плагинов, можно добавить в тему или плагин следующий код для удаления метаданных при загрузке изображения.

add_filter('wp_handle_upload_prefilter', 'wpconsult_remove_image_metadata');
function wpconsult_remove_image_metadata($file) {
    $image_types = array('image/jpeg', 'image/png');
    if (in_array($file['type'], $image_types)) {
        $image_path = $file['tmp_name'];
        $image = wpconsult_create_image_from_file($image_path, $file['type']);
        if ($image) {
            imagejpeg($image, $image_path, 90); // Перезаписываем, удаляя метаданные
            imagedestroy($image);
        }
    }
    return $file;
}

function wpconsult_create_image_from_file($path, $type) {
    switch ($type) {
        case 'image/jpeg':
            return imagecreatefromjpeg($path);
        case 'image/png':
            return imagecreatefrompng($path);
        default:
            return false;
    }
}

Этот код использует GD-библиотеку PHP для перезаписи JPEG и PNG изображений без метаданных. Он срабатывает на этапе загрузки, очищая файлы перед сохранением в медиабиблиотеку.

Обратите внимание, что такой подход может немного снизить качество из-за сжатия, поэтому параметр качества можно регулировать.

Массовое удаление метаданных из уже загруженных изображений

Если на сайте много изображений с метаданными, стоит провести массовую очистку. Для этого можно использовать плагин Media Cleaner, который помогает находить и удалять лишние файлы, а также можно комбинировать с плагинами оптимизации изображений.

Также можно написать WP-CLI команду, которая переберет все изображения и применит функцию очистки. Пример WP-CLI скрипта:

function wpconsult_clean_image_metadata($image_path) {
    $image = wpconsult_create_image_from_file($image_path, mime_content_type($image_path));
    if ($image) {
        imagejpeg($image, $image_path, 90);
        imagedestroy($image);
    }
}

// Получаем все вложения
$args = array(
    'post_type' => 'attachment',
    'post_mime_type' => 'image',
    'posts_per_page' => -1,
);
$attachments = get_posts($args);
foreach ($attachments as $attachment) {
    $path = get_attached_file($attachment->ID);
    wpconsult_clean_image_metadata($path);
}

Такой подход требует опыта работы с WP-CLI и резервного копирования базы и файлов.

Рекомендации по оптимизации изображений в WordPress

Удаление метаданных — только один из этапов оптимизации. Для максимальной производительности рекомендуется:

  • Использовать современные форматы изображений WebP;
  • Сжимать изображения без потери качества с помощью плагинов оптимизации, например, Clearfy Pro или EWWW Image Optimizer;
  • Использовать CDN для доставки изображений;
  • Настроить ленивую загрузку (lazy load) для медиафайлов;
  • Проверять размер и разрешение изображений перед загрузкой.

Следуя этим рекомендациям вместе с удалением метаданных, вы значительно улучшите скорость загрузки сайта и пользовательский опыт.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее