Converter for Media — Convert WebP and AVIF & Optimize Images

Описание

Speed up your website using our ease image optimizer by serving WebP and AVIF images. By replacing files in standard JPEG, PNG and GIF formats with WebP and AVIF formats, you can save over a half of the page weight without losing quality.

After installing the plugin you do not have to do anything more. Your current images will be converted into a new format. When image optimization by our image optimizer is finished, users will automatically receive new, much lighter images than the original ones.

As of today, over 90% of users use browsers that support the WebP format. The loading time of your website depends to a large extent on its weight and the level of image optimization. Using our image optimizer, now you can and speed up it in a few seconds without much effort!

This will be a profit both for your users who will not have to download so much data, but also for a server that will be less loaded. Remember that a better optimized website also affects your Google ranking. Image optimization is very important.

AVIF support

Now in the PRO version you can use AVIF as the output format for your images. The AVIF format is a new extension — is the successor to WebP. AVIF allows you to achieve even higher levels of image compression, and the quality of the converted images after image optimization is better than in WebP.

Как это работает?

  • If you have just installed the plugin, you can optimize images with one click. Image size will be smaller after generate webp!
  • New images that will be added to the Media Library will be converted automatically.
  • Our image optimizer does not modify your original images in any way. This means security for you and your files.
  • When the browser loads an image, our plugin checks if it supports the WebP format. If so, the image in WebP format is loaded.
  • The plugin does not make redirects in default mode, so the URL is always the same. Only the MIME type of the image changes to image/webp.
  • No redirects means no cache issues, faster and trouble-free operation of your website. If you want to know more about how it works, check out the plugin FAQ below.
  • It does not matter if the image display as an img HTML tag or you use background-image. It works always!
  • In case rewriting by rules from .htaccess file is blocked, a mode is available which loads images via PHP file. Then image URLs are changed, but the logic of operation is the same as in the case of the default mode.
  • The final result after image optimization is that your users download less than half of the data, and the website itself loads faster!
  • You lose nothing — if you had to remove the plugin, it will remove everything after itself. It does not leave any trace, so you can check it with ease.

Convert WebP — it is the future of image optimization!

Поднимите свой сайт на новый уровень сейчас! Установите плагин и наслаждайтесь сайтом, который загружается быстрее. Конечно, вы и ваши пользователи это оценят.

Поддержка дополнительных каталогов

You can convert WebP and optimize images not only from /uploads directory but also from /plugins and /themes directories. This allows full integration with the WebP format!

Поддержка разработки плагина

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

If you would like to appreciate it, you can try the PRO version. In addition, you will gain access to extra functionalities that will allow you to achieve even better image optimization results.

Пожалуйста, прочитайте FAQ ниже. Спасибо за то, что вы с нами!

Скриншоты

  • Снимок экрана панели опций
  • Снимок экрана при регенерации изображений

Установка

  1. Загрузите файлы плагинов в каталог /wp-content/plugins/webp-converter-for-media или установите плагин непосредственно через экран плагинов WordPress.
  2. Активируйте плагин через экран Плагины в панели администратора WordPress.
  3. Используйте экран Настройки -> Настройки -> WebP Converter для настройки плагина.
  4. Нажмите на кнопку Восстановить все.
  5. Проверьте, все ли работает нормально.

Вот и все! Ваш сайт уже загружается быстрее!

Часто задаваемые вопросы

Как получить техническую поддержку? (прежде чем обратиться за помощью)

Всегда добавляйте свою ветку, сначала прочтите все остальные вопросы в разделе часто задаваемых вопросов о плагине и других темах на форуме поддержки. Возможно, у кого-то была похожая проблема, и она была решена.

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

1. Do you have any error on the plugin settings page? Please read this thread if you have any errors.

2. URL of your website.

3. Configuration of your server (link to it can be found on the settings page of plugin in the section «We are waiting for your message») — please take a screenshot of the ENTIRE page and send it to me.

4. Settings of plugin — please take a screenshot of the ENTIRE page and send it to me.

5. Please do the test, which is described in the FAQ in question Как проверить, работает ли плагин?. Please send a screenshot of Devtools with test results.

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

Ошибка на экране настроек плагина?

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

The messages are designed to reduce the number of support requests that are repeated. It saves your and our time. Please read this thread for more information.

Ошибка при конвертации?

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

Если вы получили ошибку: Файл "%s" не существует. Пожалуйста, проверьте путь к файлу. означает, что file_exists () работает в PHP вернул false , используя путь к файлу, указанный в сообщении об ошибке. Проверьте этот путь и убедитесь, что он правильный.

Если вы получили сообщение об ошибке: Файл "%s" не читается. Проверьте права доступа к файлам. означает, что функция is_readable () в PHP вернул false , используя путь к файлу, указанный в сообщении об ошибке.
Проверьте разрешения для файла и каталог, в котором находится файл.

Если вы получили сообщение об ошибке: "%s" не является допустимым файлом изображения. означает, что файл каким-то образом поврежден. Загрузите файл на диск, сохраните его снова с помощью любой графической программы и снова добавьте на страницу. Если ошибка относится к отдельным изображениям, вы можете игнорировать ее — будут загружаться только исходные изображения, а не WebP.

If you get an error: Image "%s" converted to .webp is larger than original and converted .webp file has been deleted. means the original image weighed less than WebP. This happens when images have been compressed before. Disable the «Automatic removal of files in output formats larger than original» option in plugin settings to force always using WebP.

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

Помните, случается, что другие плагины могут вызвать проблемы с доступом к файлам или API REST. Пожалуйста, попробуйте отключить все остальные плагины и установить тему по умолчанию, чтобы убедиться, что это не один из тех, который вызывает такие проблемы.

Какие требования к плагину?

Practically every hosting meets these requirements. You must use PHP at least 7.0 and have the GD or Imagick extension installed. The extension must support WebP format. If you have an error saying that the GD or Imagick library are not installed, but you have it installed then they are probably incorrectly configured and do not have WebP support.

Это обязательные расширения PHP, используемые WordPress для создания миниатюр. На вашем сервере также должны быть включены модули mod_mime, mod_rewrite and mod_expires.

An example of the correct server configuration can be found here. Link to your current configuration can be found in the administration panel, on the management plugin page in the section «We are waiting for your message» (or using the URL path: /wp-admin/options-general.php?page=webpc_admin_page&action=server).

Note the items marked in red. If the values marked in red do not appear in your case, it means that your server does not meet the technical requirements. Pay attention to the WebP Support value for the GD library and WEBP in the list of supported extensions for the Imagick library.

In a situation where your server does not meet the technical requirements, please contact your server Administrator. We are not able to help you. Please do not contact us about this matter, because this is a server configuration problem, not a plugin.

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

Как проверить, работает ли плагин?

You can find more information on how the plugin works in our manual.

Как изменить путь к загрузке?

Это возможно при использовании следующих типов фильтров для изменения путей по умолчанию. Это решение для продвинутых пользователей. Если нет, пропустите этот вопрос.

Путь к корневому каталогу установки WordPress (по умолчаниюABSPATH):

add_filter( 'webpc_site_root', function( $path ) {
    return ABSPATH;
} );

Путь к /uploadsкаталогу(относительно корневого каталога):

add_filter( 'webpc_dir_name', function( $path, $directory ) {
    if ( $directory !== 'uploads' ) {
        return $path;
    }
    return 'wp-content/uploads';
}, 10, 2 );

Путь к каталогу с преобразованными файлами WebP (относительно корневого каталога):

add_filter( 'webpc_dir_name', function( $path, $directory ) {
    if ( $directory !== 'webp' ) {
        return $path;
    }
    return 'wp-content/uploads-webpc';
}, 10, 2 );

Обратите внимание, что каталог /uploads-webpc должен находиться на том же уровне вложенности, что и /uploads , /plugins и /themes каталоги.

Префикс в URL-адресе /wp-content/ каталога или эквивалентного (используется в .htaccess):

add_filter( 'webpc_htaccess_rewrite_path', function( $prefix ) {
    return '/';
} );

Для следующего примера пользовательской структуры WordPress:

...
├── web
    ...
    ├── app
    │   ├── mu-plugins
    │   ├── plugins
    │   ├── themes
    │   └── uploads
    ├── wp-config.php
    ...

Используйте следующие фильтры:

add_filter( 'webpc_site_root', function( $path ) {
    return 'C:/WAMP/www/project/webp'; // your valid path to root
} );
add_filter( 'webpc_dir_name', function( $path, $directory ) {
    if ( $directory !== 'uploads' ) {
        return $path;
    }
    return 'app/uploads';
}, 10, 2 );
add_filter( 'webpc_dir_name', function( $path, $directory ) {
    if ( $directory !== 'webp' ) {
        return $path;
    }
    return 'app/uploads-webpc';
}, 10, 2 );
add_filter( 'webpc_htaccess_rewrite_path', function( $prefix ) {
    return '/';
} );

После настройки фильтров перейдите в Настройки -> WebP Converter в панели администратора и нажмите кнопку Сохранить изменения . Файлы .htaccess с соответствующими правилами следует создавать в каталогах /uploads и /uploads-webpc .

How to exclude paths from converting?

To exclude selected directories, use the following filter:

add_filter( 'webpc_supported_source_directory', function( bool $status, string $directory_name, string $server_path ): bool {
    $excluded_directories = [ 'my-directory' ];
    if ( ! $status || in_array( $directory_name, $excluded_directories ) ) {
        return false;
    }

    return $status;
}, 10, 3 );

To exclude selected files use the following filter:

add_filter( 'webpc_supported_source_file', function( bool $status, string $file_name, string $server_path ): bool {
    $excluded_files = [ 'my-image.jpg' ];
    if ( ! $status || in_array( $file_name, $excluded_files ) ) {
        return false;
    }

    return $status;
}, 10, 3 );

Argument $server_path is the absolute server path to a directory or file. Inside the filters, you can apply more complicated rules as needed.

Filters run before images are converted — they no longer support converted images. You have to delete them manually if they should not be converted.

Как запустить конвертацию вручную?

По умолчанию все изображения преобразуются при нажатии кнопки Regenerate All . Кроме того, преобразование происходит автоматически при добавлении новых файлов в медиатеку.

Помните, что наш плагин учитывает изображения, сгенерированные WordPress. Существует множество плагинов, которые генерируют, например, изображения другого размера или другой версии.

Если вы хотите интегрироваться со своим плагином, который генерирует изображения самостоятельно, вы можете сделать это. Наш плагин предоставляет возможность такой тип интеграции. Это работает для всех изображений в каталоге /wp-content.

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

You can manually run converting selected files, you can use the action to which you will pass an array with a list of paths (they must be absolute server paths):

do_action( 'webpc_convert_paths', $paths );

Альтернативный метод — начать преобразование выбранного вложения вручную, передав идентификатор сообщения из библиотеки мультимедиа. Не забудьте запустить это действие после регистрации всех размеров изображения (т.е. после запуска функции add_image_size ) :

do_action( 'webpc_convert_attachment', $post_id );

Argument $paths is array of absolute server paths and $skip_exists means whether to skip converted images.

You can also modify the list of image paths for an attachment, e.g. to exclude one image size. To do this, use the following filter:

add_filter( 'webpc_attachment_paths', function( $paths, $attachment_id ) {
    return $paths;
}, 10, 2 );

Аргумент $paths — массив абсолютных путей к серверу, а $attachment_id — идентификатор поста, добавленного в медиатеку.

Чтобы удалить файлы, конвертированные вручную, используйте следующее действие, предоставив в качестве аргумента массив абсолютных серверных путей к файлам (это приведет к удалению файлов, конвертированных вручную) :

do_action( 'webpc_delete_paths', $paths );

Support for WP-CLI

The plugin supports WP-CLI, which enables faster image conversion from the server level. More information on how to get started with WP-CLI can be found in the Handbook. The supported commands are described below.

Checking how many maximum images for conversion are on website:

wp webp-converter calculate

Converting all images:

wp webp-converter regenerate

Converting all images (with «Force convert all images again» option):

wp webp-converter regenerate -force

Плагин поддерживает CDN?

The website files (WordPress files) and the images from the Media Library must be on the same server. If they are, everything should work fine.

If only your images are on another CDN server, unfortunately correct operation is impossible, because such images are managed by another server.

Конфигурация для Nginx

For Nginx server that does not support .htaccess rules, additional Nginx server configuration is required for the plugin to function properly.

Find the configuration file in one of the paths (remember to select configuration file used by your vhost):
/etc/nginx/sites-available/ or /etc/nginx/sites-enabled/
/etc/nginx/conf.d/

and add this code (add these lines at the beginning of the server { ... } block):

# BEGIN WebP Converter for Media
set $ext_avif ".avif";
if ($http_accept !~* "image/avif") {
    set $ext_avif "";
}

set $ext_webp ".webp";
if ($http_accept !~* "image/webp") {
    set $ext_webp "";
}

location ~ /wp-content/(?<path>.+)\.(?<ext>jpe?g|png|gif|webp)$ {
    add_header Vary Accept;
    add_header Cache-Control "private" always;
    expires 365d;
    try_files
        /wp-content/uploads-webpc/$path.$ext$ext_avif
        /wp-content/uploads-webpc/$path.$ext$ext_webp
        $uri =404;
}
# END WebP Converter for Media

Then edit the configuration file:
/etc/nginx/mime.types

and add this code (add these lines inside the types { ... } block):

image/webp webp;
image/avif avif;

After making changes, remember to restart the machine:

systemctl restart nginx

Отзывы

15.05.2022
Simply install and adjust your website for all of them devices. The user interface is easy to understand, and even an inexperienced user like myself can use it without any problems.
13.05.2022
I came across this plugin just at the time when I had discovered I would be better using WEBP images to cut down loading times. I had already started converting some of my JPEGs to WEBP myself and uploading them to my blog. So I installed this plugin and let it do the work for me. So far so good. I haven't had a problem and continue to use it. There have been one or two updates. Mostly they have gone OK. I expect to use this Plugin into the future. Great work. Keep it up.
Посмотреть все 569 отзывов

Участники и разработчики

«Converter for Media — Convert WebP and AVIF & Optimize Images» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«Converter for Media — Convert WebP and AVIF & Optimize Images» переведён на 15 языков. Благодарим переводчиков за их работу.

Перевести «Converter for Media — Convert WebP and AVIF & Optimize Images» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

4.3.4 (2022-05-10)

  • [Changed] Generating rewrite rules for via .htaccess loading mode (applies to rewrites_not_working server configuration error)
  • [Changed] Message about rewrites_not_executed server configuration error

4.3.3 (2022-05-08)

  • [Fixed] Calculation of number of images to be converted
  • [Added] Filter webpc_option_quality_levels to change conversion quality levels

4.3.2 (2022-04-20)

  • [Added] Added conversion skip for animated GIF images
  • [Added] Added new information about status of image conversion
  • [Added] Added ability to convert only to AVIF format

4.3.1 (2022-04-05)

  • [Fixed] Generating rewrite rules for via .htaccess loading mode

4.3.0 (2022-04-01)

  • [Fixed] Authorization of access to REST API
  • [Changed] Description of plugin operation in plugin settings
  • [Added] Command «wp webp-converter calculate» for WP-CLI
  • [Added] Command «wp webp-converter regenerate» for WP-CLI
  • [Added] Converting .webp files to AVIF format
  • [Added] Support for environments where DOCUMENT_ROOT is different from WordPress installation directory

See changelog.txt for previous versions.