Как добавить изображение в WordPress в формате avif или webp так, чтобы оригинал, если они не отобразятся, загрузился как запасной вариант?
К примеру, существуют плагины, которые автоматически переделывают формат на webp или avif, и если эти форматы не отобразятся пользователю, то подгрузятся оригиналы в jpg или png. Я бы хотел без плагинов, так как не все хостинги поддерживают настройки для этих плагинов - пишут, что у них нет такой возможности. Например, вставить код. Если вы знаете выход - напишите, пожалуйста. Либо если не кодом, то может плагин, который не вызывает ошибку, установил и он сразу без настроек на хостинге конвертирует с запасом при fallback. Пример такой ошибки - плагин Converter for Media, текст ошибки: "Ошибка конфигурации сервера. Похоже, что запросы изображений вашего сайта обрабатываются сервером Nginx в обход Apache".
Дополнительные вопросы
Refguser @Refguser Делаю ИМ и другие решения Если хостинг "не поддерживает" (не имеет нужного ПО), то ничего не поможет.
Либо использую хостинг, где это есть, либо бери ВПС и настраивай как тебе нужно.
Пример такой ошибки - плагин Converter for Media, текст ошибки: "Ошибка конфигурации сервера. Похоже, что запросы изображений вашего сайта обрабатываются сервером Nginx в обход Apache".
А в этом случае может помочь отключить обработку статики (всей или частично) Nginx-сом. Если это позволят настройки сервера.
Только зло это.
ЗЫ, А вообще этот гугломусор нафик не нужен. Лучше научиться оптимизировать jpg.
- Спасибо вам за ответ
Ответы на вопрос 0
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Без плагина самый надёжный способ дать WebP/AVIF с fallback — использовать HTML-тег
picture. Он позволяет браузеру самому выбрать первый поддерживаемый формат, а если AVIF/WebP не поддерживаются, загрузится обычный JPG/PNG.<picture> <source srcset="/images/photo.avif" type="image/avif"> <source srcset="/images/photo.webp" type="image/webp"> <img src="/images/photo.jpg" alt="Описание изображения" loading="lazy"> </picture>
Это работает без специальных настроек nginx/apache, потому что вы явно указываете разные файлы. Серверу нужно только отдавать эти файлы с корректным MIME. Для nginx/Apache иногда достаточно добавить типы:
AddType image/webp .webp AddType image/avif .avif
Если вы хотите, чтобы WordPress автоматически генерировал WebP/AVIF из загруженных картинок, без плагина это уже сложнее: нужно подключаться к процессу генерации thumbnails и конвертировать изображения через GD/Imagick. На многих хостингах AVIF может быть недоступен, WebP чаще доступен.
Для ручного использования можно хранить три файла рядом и вставлять
pictureв шаблон. Для массового сайта практичнее использовать плагин, который умеет fallback черезpicture, а не только через rewrite на сервере. Варианты зависят от хостинга, но важно смотреть именно режим вывода: если плагин требует сложных правил nginx, а хостинг их не даёт, выбирайте плагин с HTML replacement.Итог: для точечной вставки используйте
picture. Для всего сайта нужен конвертер и замена HTML, иначе вручную поддерживать версии изображений будет неудобно.