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

Мой рейтинг по данным Google Page Speed ​​Insights подвергается суровому наказанию из-за:

"Показывать изображения в форматах нового поколения" подробнее на справочной странице Google здесь.

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

Что вы делаете в этом сценарии? Что

Применение градиента к изображению с помощью CSS
Применение градиента к изображению с помощью CSS
Здравствуйте, братья и сестры, как дела? Недавно я застрял на применении градиента к изображению. Я применял это много раз, но иногда наши требования...
Получение URL-адреса изображения курса в Moodle с помощью PHP
Получение URL-адреса изображения курса в Moodle с помощью PHP
Moodle - это популярная система управления обучением с открытым исходным кодом, используемая многими учебными заведениями и организациями по всему...
32
0
30 153
7

Ответы 7

Вы можете использовать элемент <picture>, чтобы доставить изображение WebP пользователям с браузерами, которые его поддерживают, с возвратом к JPEG или PNG для тех, кто этого не делает. Преимущество использования элемента <picture> по сравнению с другими резервными методами заключается в том, что браузеры, не поддерживающие этот элемент, будут выполнять откат к любому источнику, определенному в теге <img>.

<picture>
  <source srcset = "img/yourImage.webp" type = "image/webp">
  <source srcset = "img/yourImage.jpg" type = "image/jpeg"> 
  <img src = "img/yourImage.jpg" alt = "Your image">
</picture>

Вот метод преобразования исходных изображений в WebP.

Если вы используете WordPress, есть плагины, которые автоматически генерируют изображения WebP из вашей медиабиблиотеки и включают в себя резервные функции. Единственный, который я использовал, - это WebP Express, но он сослужил мне хорошую службу, когда клиент был обеспокоен тем, что их оценка 100/100 PageSpeed ​​Insight резко упала до 30 за ночь с развертыванием Lighthouse.

Это действительно похоже на еще один способ для Google продвинуть другую технологию, но тогда сжатие WebP - это довольно впечатляюще по сравнению с другими форматами следующего поколения.

Избавляется ли этот метод от сообщения «Показывать изображения в форматах следующего поколения»? Я использую подход с тегом изображения, с атрибутом src тега изображения в качестве резервной копии jpg, и у меня все еще есть сообщение в PSI ....

José L. 26.05.2021 18:13

До тех пор, пока основные браузеры не будут поддерживать эти форматы следующего поколения, вероятно, лучше продолжать использовать JPG / PNG, поскольку они имеют широкую поддержку. Большинство веб-сайтов действительно используют JPG и PNG, и потребуется некоторое время, чтобы браузеры соответствовали технологиям следующего поколения.

Вы всегда можете использовать CDN образов, например ImageEngine. Полное раскрытие информации Я работаю в компании, стоящей за ImageEngine.

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

Вы можете подписаться на бесплатную пробную версию и посмотреть, как это улучшит вашу оценку Google Page Speed.

Вы можете использовать такой инструмент, как https://www.imagecompress.org/, для преобразования ваших текущих форматов изображений и следовать примеру, чтобы обновить ваши старые теги https://www.imagecompress.org/examples.

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

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

И если вы используете фоновое изображение, вы можете использовать что-то вроде modernizr для обнаружения поддержки функций браузером и в конечном итоге использовать CSS, как показано ниже:

my-selector {
    background: url('../images/home-bg.webp') no-repeat scroll center center
}

.no-webp my-selector {
    background: url('../images/home-bg.jpg') no-repeat scroll center center
}

На самом деле я сделал и то, и другое на своем веб-сайте и успешно реализовал форматы webp, я создал подробный пост о том, как я это сделал, и о том, какой прирост производительности у меня был, вы можете проверить это здесь: Повысьте скорость вашего сайта с помощью форматов нового поколения

Есть ли причина, по которой вы встраиваете CSS для .no-webp с помощью обнаружения браузера? Я имею в виду, не могли бы вы просто поместить несколько стилей «фона» в исходный селектор, как вы это делаете, например, с box-shadow, -moz-box-shadow, -webkit-box-shadow? Конечно, браузер просто использовал бы то, что он распознает / поддерживает, в своем резервном порядке?

grhmstwrt 14.02.2020 13:29

@grhmstwrt, Нет, не было бы, потому что одно дело вендорные префиксы разные. Фон не требует этого, так как он правильно интерпретируется во всех браузерах, вы можете легко это проверить. Просто добавьте к значениям для bg, когда второе будет ошибочным, оно не вернется к первому правильному. например: .myelement{ background: red; background: url(wrong-url-for-image.jpg); }

prettyInPink 15.06.2020 08:47

Я рекомендую вам использовать плагин «Enhanced Media Library», если вы пользуетесь WordPress. Это просто позволит вам напрямую загружать изображения Webp, ничего не настраивая вручную.

Формат WebP будет загружаться быстрее и потреблять меньше сотовых данных. Кто угодно может работать с форматом и предлагать улучшения в WebP с открытым исходным кодом.

В <picture> атрибут <source> может использоваться для загрузки альтернативных форматов файлов изображений, которые могут поддерживаться не всеми браузерами. Например, вы можете передать изображение в Формат WebP браузерам, которые его поддерживают, а в других браузерах вернуться к JPEG:

<picture>
  <source type = "image/webp" srcset = "images/verz.webp">
  <img src = "images/banner.jpg" alt = "Banner Image" width = "100" height = "100">
</picture>

Примечание: Этот элемент в настоящее время доступен в Chrome 38. Попробуйте использовать эмуляцию экрана в Chrome DevTools. Согласно Google, WebP поддерживается в Chrome и Opera и обеспечивает лучшее сжатие с потерями и без потерь для изображений в Интернете. WebP поддерживает не все браузеры. Для других браузеров вам потребуется резервное изображение в формате PNG или JPEG.

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

Другие вопросы по теме