Оптимизация и сжатие png и jpg, jpeg без потери качества. Оптимизация изображений как важная составляющая CRO-процесса

Было протестировано несколько самых известных программ для оптимизации изображений. Сразу оговорюсь: речь идёт об алгоритмах значительного уменьшения размера файла, «с потерями» («lossy»). Сжатие джипега без потерь особого интереса не представляет, в виду того, что JPEG - сам по себе формат для хранения изображений «с потерями», а lossless-сжатие любыми средствами даёт максимальный выигрыш в пределах 3-5%. Здесь же мы говорим о программах, способных уменьшить размер файла в несколько раз.

Кстати, оптимизация загруженных участниками файлов давно внедрена в Артклубе Gallerix, она осуществляется автоматически в два этапа: первый - сразу при загрузке (lossless, используется Jpegtran) и второй - спустя некоторое время программой JpegMini.

Если ваш домашний архив никогда не оптимизировался и занимает сейчас, например, 100 Гб - вполне реально уменьшить эту цифру в 2-2,5 раза (до 45-50 Гб) без вторжения в качество картинки и в 3-4 раза (до 20-25 Гб) с небольшим, не очень заметным снижением качества.

Немного о технической части вопроса. Если объяснять очень грубо, работу инструментов компрессии изображений можно сравнить с изобретением переменного битрейта для аудиофайлов. Более насыщенные различными звуками участки аудио кодируются с высоким битрейтом, тишина - с самым низким. В отличие от аудиофайлов с постоянным битрейтом, формат JPEG уже имеет встроенную оптимизацию, мощность которой определяется настройкой качества, устанавливаемой при сохранении файла из любой программы. Работа сервисов компрессии изображений так же основана на подходе переменного битрейта - выявлении фрагментов изображения, кодированием которых можно хитро пренебречь для экономии места на диске.

Для обозначенных целей на рынке представлено несколько коммерческих решений и, по мнению многих российских и зарубежных коллег, JpegMini - номер один по совокупности параметров. Задача этого теста - «столкнуть лбами» все коммерческие и бесплатные инструменты для оптимизации изображений, дабы освежить «табель о рангах».

Исходные файлы

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

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

Третий файл снят на «среднестатистическую» любительскую мыльницу Panasonic GF3 в автоматическом режиме с рук. Это бытовая системная камера, без зеркал, но со сменной оптикой. Благодаря оптической стабилизации, с резкостью здесь лучше, это не мобильник, но шум почти такой же.

Последний файл взят с сайта Unsplash.com, автор Karl Fredrickson. Выступает в качестве примера фото, полученного профессиональной камерой с дорогой оптикой.

Инструменты

JpegMini

JpegMini, платная программа. Есть версии за 20 и за 149 USD, а также дорогая серверная версия. Десктопные версии работают одинаково, младшая имеет два ограничения: в скорости обработки и в максимальном разрешении файла (28Мп), старшая ограничена размером файла (60Мп). Работает на Windows и Mac.

TinyJPG

Есть платная версия в виде плугина для Adobe Photoshop (50 USD) и бесплатная онлайн-версия с ограничениями на размер файла и количество загрузок в сутки (которое, впрочем, очень легко обходится). Плугин работает также на Windows и Mac. Первые 500 файлов в месяц через API бесплатно, далее 0,009 USD за файл.

Compressor.io

Известный онлайн-сервис. Ограничен только максимальный размер файла, 10Мб.

Kraken.io

Популярный на Западе профессиональный сервис с высокими тарифами и жёсткими квотами. Бесплатная онлайн-версия ограничена максимальным размером файла в 1 Мб и вряд ли может восприниматься как инструмент. Это не более, чем демо-версия - обычная любительская камера не в состоянии выдать файл меньше 2-3 Мб. Тарифы на использование API начинаются с 5 USD в месяц за входящий объём 500 MB.

ConvertImage.net

Комплекс онлайн-инструментов для обработки изображений, среди которых есть и Jpeg-компрессор. Полностью бесплатен.

Jpeg-Optimizer.com

Онлайн-сервис. Полностью бесплатен и без ограничений. Есть ручная настройка уровня компрессии.

Optimizilla.com

Бесплатный веб-сервис. Этот же движок встречается и на других доменах. Многоязычный интерфейс. Ручная установка уровня компрессии (настройка появляется после загрузки изображения). Не более 20 файлов за раз.

DynamicDrive.com

Набор бесплатных онлайн-инструментов для обработки изображений. Оптимизация с ограничением файла 2,8 Мб. Выдаёт несколько готовых изображений с разными уровнями компрессии на выбор.

ShortPixel.com

Некий новый сервис с обилием разных тарифных планов, есть подписка с месячной оплатой и пакетные тарифы (10 000 файлов за 9,99 USD). Работает по API или через веб-интерфейс (до 20 файлов за раз). Ограничение размера файла в бесплатной онлайн-версии - до 10Мб.

ACDSee Ultimate

ACDSee Ultimate 9, профессиональная программа для организации и обработки изображений для Windows. Сохранение с включением «Optimize Huffman codes» и «Color Component sampling», качество 70%. Программа платная, цена начинается с 40 USD за самую скромную версию, но похожие настройки есть во многих бесплатных программах. Это пример чистого сохранения с небольшой lossless-оптимизацией.

«Чистый» JPEG

Сохранение файла с качеством около 70% (9 из 12) из Adobe Photoshop CS6, разновидность формата «базовая». Здесь чистый JPEG с использованием только возможностей формата, «нижняя точка отсчёта», доступная бесплатно из любой программы, умеющей сохранять в формате JPG.

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

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

JpegMini и Kraken оказались в самом низу таблицы, отсортированной по размеру итогового файла, но только эти две технологии жмут файл, полностью честно сохраняя картинку. В категории «10 баллов» JpegMini выглядит со всех сторон привлекательнее.

При совсем чуть-чуть менее приемлемой картинке, оказалось, что Compressor.io жмёт лучше маленькие файлы, а Optimizilla.com - большие, но это очень условное заключение в рамках данного теста.

Принимая во внимание соотношение размер/качество, то что находится в таблице ниже девяток, но имеет меньшие оценки при большем размере файла - практического интереса не представляет. А выше «девяток» - всего два сервиса.

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

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

Интересная особенность TinyJPG в виде плугина: после обработки, файл может оказаться как в 8-10 раз меньше исходного по размеру, так и в полтора-два раза больше.

Тестовую картинку №2 лучше всего сжал ShortPixel , но на большинстве файлов с большим числом мелких деталей, победителем выходит веб-версия TinyJPG . Файл получается меньше, а исходное изображение уродуется не так сильно. Однако, TinyJPG допускает файл не более 5 MB, а ShortPixel , даже в бесплатной версии, принимает файлы до 10 MB.

Ещё один важный фактор замера (кроме итогового размера файла) - удобство использования на потоке. Например, если вы озадачились оптимизацией домашнего архива в 100 Гб в первый раз - обработать его полностью при помощи онлайн-сервисов будет очень трудоёмко и долго, из-за ограничений и необходимости порционной загрузки этого объёма на сервер и обратно. При том, что, за скромные 20 USD, с JpegMini для этого потребуется одно движение мыши (буквально: нужно только перетянуть корневую папку с изображениями в окно программы).

Кстати, плугин TinyJPG для фотошопа - выполнен не в виде фильтра, а в виде канала экспорта, т.е. для создания в PS сценария автоматизации он не годится. Поправка: с сайта производителя можно скачать скрипты для автоматизации, которые работают в любой версии Фотошопа, а в Photoshop CC экспорт через плугин встаёт как операция для пакетной обработки. Плугин не имеет никаких ограничений - проверено на файле с разрешением 130Мп (время обработки - около 7 минут на достаточно мощном компьютере).

Вообще, для массовой обработки есть только два варианта - это использование API и JpegMini . За обработку через API платить придётся за каждый обработанный файл.

Выводы

  • Все инструменты, позволяющие получить относительно приемлемый файл меньшего размера, чем даёт JpegMini - или визуально ухудшают в картинку и проигрывают ему в удобстве использования или имеют менее привлекательную ценовую политику - повременная или пофайловая аренда против единоразовой покупки у JpegMini .
  • Для случаев, когда качество картинки имеет первостепенное значение, если уменьшение размера файла за счёт визуальных ухудшений неприемлемо - JpegMini остаётся лучшим инструментом.
  • Для случаев, когда качеством исходных файлов можно немного пренебречь в угоду компрессии, есть смысл использовать обе версии TinyJPG , в зависимости от задачи.
  • Если выбирать только из бесплатных компрессоров, лучше всего выглядят Compressor.io и Optimizilla.com , которые почти не портят картинку, при том, что итоговый файл получается заметно меньше, чем у JpegMini .
  • Владельцам новостных сайтов с большим потоком иллюстраций, претензии к качеству которых не так остры, есть смысл обратить внимание на ShortPixel и TinyJPG . Их преимущества - демократичные тарифы, рекордное сжатие и работа через API. А если качество имеет значение (а деньги нет), то через API имеет смысл подключать Kraken или, в случае очень больших объёмов, серверную версию JpegMini .

обзор

От автора: каждый разработчик знает, что в вопросе веб-производительности и пользовательского опыта важно каждое изображение. Изображения – это низко висящие плоды оптимизации производительности. Сжатие без визуальной потери качества может принести пользу организациям путем снижения веса страниц без ущерба для работы пользователя, что повышает производительность и привлекает все больше аудитории. Существует множество техник, для определения того, какое изображение необходимо загрузить, но эти «правильные изображения» еще необходимо создать. Целью веб-разработчиков и сервисов по повышению производительности должно быть обеспечение всех пользователей на всех типах устройств и во всех браузерах оптимальными изображениями. (Другой целью должна быть доступность, но это тема для отдельной статьи!).

Определение нужных изображений

Существует несколько front-end методов для обслуживания правильных изображений, среди которых можно выделить медиа запросы для фоновых изображений и теги и с атрибутом srcset для изображений переднего плана.

С помощью @media запросов можно задать, какое фоновое изображение использовать под определенное разрешение экрана и плотность экрана. Например, на старый лэптоп можно посылать изображение lowers.jpg, а на iPad Pro – hires.jpeg:

header { background-image: url(img/hires_header.jpg); } @media only screen and (min-device-pixel-ratio: 2) and (min-width: 1024px) { header { background-image: url(img/hires_header.jpg); } }

header {

@ media only screen and (min - device - pixel - ratio : 2 ) and (min - width : 1024px ) {

header {

background - image : url (img / hires_header . jpg ) ;

А что с изображениями переднего плана?

Техника клоунской машины 2013 года работала на том, что SVG в медиа запросах использовал в качестве размеров окна ширину и высоту контейнера, а не браузера. К счастью, текущая поддержка в браузерах тега picture и атрибута srcset позволяет забыть про этот трюк и picturefill полифил.

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

Работа с picture, source и атрибутом srcset похожа на медиа запросы. Вы указываете, какое изображение переднего плана необходимо использовать под определенный размер окна и плотность экрана:

< picture >

< source srcset = "small_lowres.jpg, small_highres.jpg 2x" media = "(max-width: 768px)" >

< source srcset = "default.jpg, default_highres.jpg 2x" >

< source srcset = "large_lowres.jpg, large_highres.jpg 2x" media = "(min-width: 1024px)" >

< img src = "default.jpg" alt = "image descriptor" >

< / picture >

Обратите внимание: всегда вставляйте стандартный тег img в picture, в том числе и атрибут alt с описанием изображения.

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

< img src = "default.jpg"

srcset = "large.jpg 1024w,

Medium.jpg 768w,

Default.jpg 420w"

sizes = "(min-width: 1024px) 1024px,

(min-width: 768px) 90vw,

100vw"

alt = "image descriptor" / >

При помощи атрибута type можно загружать изображения разных форматов:

< picture >

< source srcset = "photo.jxr" type = "image/vnd.ms-photo" >

< source srcset = "photo.jp2" type = "image/jp2" >

< source srcset = "photo.webp" type = "image/webp" >

< img srcset = "photo.jpg" alt = "My beautiful face" >

< / picture >

Если код сверху для вас что-то новенькое, то JPEG-XR и старыйMIME-тип image/vnd.ms-photo используются для Windows Media Photo, проприетарного формата изображений Microsoft. Поддерживается в IE8+ и Microsoft Edge. JPEG 2000 – это jp2, будет отображаться в браузерах Safari при использовании разметки выше. WebP – формат изображений со сжатием без потери качества, работает в Opera и Chrome. Firefox выберет формат по умолчанию, PNG-A, SVG, GIF или JPEG.

В Firefox и IE8 необходимо прописывать JPEG или PNG фолбек. Firefox и Safari экспериментируют с поддержкой изображений формата WebP, однако по данным сайта CanIUse.com нет никаких намеков на ближайшую поддержку.

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

Почти безграничная настройка

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

Оптимальный вариант – написать на стороне сервера запрос на самое оптимальное изображение на основе трех из четырех критериев: размер окна, плотность пикселей на устройстве, поддерживаемый медиа тип в браузере и размер изображения относительно окна. Почему на основе трех из четырех? Потому что можно использовать то, что браузер и так понимает исходники, вам не нужно включать все возможные комбинации, просто парочку.

Если DOM записывается в браузер исключительно через клиентский JS, как бывает в большинстве React приложений, браузеру можно послать запрос на одно правильное изображение, однако пока код парсится, пользователь может наблюдать частично загруженный неинтерактивный экран (скриншот). В более общем сценарии, когда на сайте есть серверная часть, переписывать запрос на изображение в JS – неоптимальный вариант: браузер сначала загрузит оригинал при парсинге DOM, затем загрузит второе, уже оптимизированное изображение после обновления DOM.

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

К сожалению, спецификация Client Hints, добавляющая информацию о соотношении пикселей на устройстве и ширине окна в поля заголовков HTTP запросов, реализована только в Blink браузерах (Chrome и Opera). Если знать браузер пользователя, разрешение и размер окна, обновление всех запросов на изображения можно автоматизировать, тем самым используя технику прогрессивного улучшения для серверных запросов. При помощи Client Hints можно подтвердить поддержку формата webP (Chrome и Opera поддерживают и клиентские подсказки и webP), разрешения и размера окна. На сайте Instart Logic есть скрипт Nanovisor, делающий то же самое для Client Hints. С его помощью можно посылать оптимизированные изображения в оптимизированных форматах, даже когда Client Hints не поддерживаются.

Техники по определению браузера не так умны, поэтому можно брать строку браузера из HTTP заголовков и таблицу поиска и с их помощью определять возвращаемый медиа тип на основе этих заголовков. Можно переписывать расширения изображения, а можно на каждый вызов изображения возвращать «правильный» тип изображения для всех браузеров, но с «неправильным» расширением. Например, если запрошено изображение foo.jpg, верните лучший медиа тип для браузера, но вызывайте foo.jpg, медиа тип не важен. На сайте Instart Logic мы возвращаем формат webP для бразуеров Chrome и Opera, JPEG-XR для Edge и т.д…. мы не переписываем путь к изображению. Мы просто используем расширение оригинала в имени файла, у нас это jpg. Мы пользуемся тем, что браузеры отрисовывают изображения тех медиа типов, которые они распознают, и не смотрят на расширения (или их отсутствие) в имени файла. В таком случае можно не менять разметку и DOM в JS, а также загружать всего одно изображение на один запрос.

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

Автоматизация процесса по созданию файлов

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

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

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

В масштабе всего интернета для определения наилучшего качества для всех изображений нужна целая армия людей. Большинство конвертеров и сервисов снижают размер файла за счет снижения качества изображений по одному и тому же коэффициенту или уровню сжатия. К примеру, когда на моих сайтах было мало изображений, я мог вручную сжимать их. Качество менялось от низкого 35% до высокого 88%. Для галерей и других проектов с множеством изображений я использовал Adobe Fireworks для автоматизации сжатия и экспорта, сохраняя все в JPEG с качеством 78%. Как и я, большая часть инструментов по автоматизации сжатия используют одни и те же настройки качества, обычно это около 80%. Я выбрал 78% чисто случайно (немного основываясь на опыте). Волшебного значения качества, которое подойдет под все изображения, нет. Не существует магического уровня сжатия, который сжимает без потерь качества все изображения.

«Правильная» степень сжатия зависит от контента и того, как будет использоваться изображение. Уровень качества экспорта обычно зависит от деталей на изображении. В зависимости от контента подбирается разный уровень для каждого изображения. Зачастую чем больше деталей в изображении, тем ниже качество: пейзаж требует высокого качества под 90, а изображение с множеством деталей будет хорошо смотреться и на уровне ниже 50.

Автоматизировать настройку качества под каждое изображение все-таки можно. Сайт Instart Logic использует computer vision, машинное обучение и конвертер для оптимизации изображений с учетом содержимого, автоматизации процесса создания изображений, оптимизированных под разрешение устройства, браузер и сеть, а также для вычисления оптимального коэффициента сжатия без ущерба для работы пользователя. SmartVision – это алгоритмический подход, использующий машинное обучение для автоматизации адаптивных настроек под каждое изображение, сжимая изображение на максимум без потери качества (исключение составляют только первые несколько изображений, на которых происходит калибровка алгоритма машинного обучения). Продвинутые алгоритмы компьютерного зрения «заглядывают» в контент изображения и максимизируют уровень сжатия без ущерба для работы пользователя на уровне интеллекта. Парвиз Ахаммад объяснил свои алгоритмы для SmartVision намного лучше меня еще в 2014.

Браузеры далеко продвинулись за последние 6 лет, увеличился и средний вес сайтов. Изображения же – главный виновник медленной загрузки, а современные изображения – лишь часть решения. Время, потраченное на оптимизацию изображений, проведено не зря.

По словам сотрудников Яндекса, “картинки являются очень важной частью нашего поиска. Они помогают пользователям увидеть прохождение Венеры по диску Солнца, узнать, как выглядит йоркширский терьер или новый седан tesla, состав группы свинцовый цеппелин и как завязать галстук”.

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

Просмотр изображений в сервисе Яндекс.Картинки

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

Оптимизация изображений

Наличие на сайте качественных изображений — одна из составляющих успеха большинства интернет-проектов. Пользователи предпочитают получать информацию в виде графических образов, а не текста. Она быстрее и лучше воспринимается, проще запоминается. Для повышения конверсии сайта и улучшения поведенческих факторов необходимо постоянное развитие графического контента. Нужно стараться максимально визуализировать все аспекты и нюансы имеющейся информации. Таким образом пользователи захотят просматривать больше страниц сайта, им будет проще определиться с выбором и совершить конверсионное действие.

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

Атрибуты изображений alt и title

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

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

Изображение c заданным атрибутом alt

Без заданного атрибута alt изображение будет показано как пустое:

Изображение без заданного атрибута alt

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

Атрибут title предоставляет дополнительную информацию о картинке. Текст, заключенный в этом атрибуте, появляется при наведении курсора на картинку:

Изображение c заданным атрибутом title

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

Не встраивайте значимый текст в изображения. Иными словами, все важные надписи должны быть в текстовой форме.

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

Вносите подробный текст в тег alt .

Оптимальный вариант:

Предоставляйте достаточно контекста для изображений. Окружающий изображение текст должен соответствовать тому, что на нем изображено.

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

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

Создать для каждого изображения отдельную целевую страницу, где будет собрана вся связанная с ним информация. Это актуально для сайтов, где изображения — одни из основных элементов контента, или для интернет-магазинов.

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

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

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

Не забудьте о текстах, описывающих картинку:

  • Подписи к картинкам (alt, title);
  • Прилегающий к картинке текст;
  • Имена файлов и скриптов, в том числе с учетом транслитерации и упрощенного подстрочного перевода;
  • Тексты ссылок на картинки с других страниц и с других сайтов;
  • Тексты и заголовки коротких документов, обрамляющих одиночную картинку.

Именно по текстам, которые относятся к картинкам, Яндекс находит изображения по запросам пользователей.

Яндекс индексирует картинки только стандартных графических форматов (JPEG, GIF и PNG). Перед загрузкой изображения на сайт стоит убедиться, что оно сохранено в одном из этих форматов.

На ранжирование также влияет качество самого изображения.

В результатах поиска для каждой найденной картинки показывается ссылка на страницу, на которой текстовое описание картинки лучше соответствует словам запроса. Таким образом, текстовый контент страницы — важный фактор ранжирования в поиске по картинкам. Как и в случае с Google, он должен содержать максимум информации о том, что изображено на картинке, а она должна дополнять текст.

Действия, которые необходимо выполнить для оптимизации изображений

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

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

3. Атрибуты alt и title у изображений должны быть заполнены таким образом, чтобы максимально точно описывать его содержимое. В них необходимо использовать 1-2 ключевых слова, под которые оптимизирована страница. Лучше всего, если это будет основное ключевое слово, совпадающее с заголовком страницы и анкором ссылки на нее из основного меню сайта.

4. Под изображениями разместить подпись, которая будет также показываться снизу при нажатии на него. Подпись может быть идентичной атрибуту alt. Подпись должна стоять в том же абзаце “P”, ячейке таблицы “TD” или теге “DIV”, что и изображение.

5. Страница, на которой размещено изображение, должна содержать соответствующий текст. Текст должен быть в том числе и о том, что представлено на изображении. Оно, в свою очередь, дополняет этот текст.

6. В атрибутах указать высоту и ширину изображения.

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

8. К изображениям можно дополнительно добавить атрибут LONGDESC. Подробнее о нем: http://htmlbook.ru/html/img/longdesc.

9. В свойствах jpg — файлов оригинальных изображений заполнить следующие поля:

— Название: совпадает с атрибутом alt изображения;

— Тема: название раздела, к которому относится товар;

— Оценка: 5 звезд;

— Ключевые слова: keywords со страницы раздела, к которому относится товар;

— Комментарии: описание товара из поля «О товаре» со страницы товара;

— Размеры: максимальный оригинальный размер;

— Ширина: максимальный оригинальный размер;

— Высота: максимальный оригинальный размер;

— Горизонтальное разрешение: максимальное оригинальное значение;

— Разрешение по вертикали: максимальное оригинальное значение;

— Глубина цвета: максимальное оригинальное значение;

— Владелец: название компании;

— Компьютер: название компании.

Заключение

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

Что делает наш модуль?Основная функция, максимально оптимизировать изображения, при этом практически не потеряв в качестве. Для чего это нужно?Причин несколько:Экономия свободного место на хостинге, т.к. как правило именно изображения "съедают" большую его часть.Соответствие требованиям PageSpeed Insights - требованиям по оптизимизации сайта, для его максимального ранжирования в поисковой системе.Увеличение скорости загрузки страниц, за счет уменьшения загружаемого траффикаК тому же:В июле Google запустит алгоритм Speed Update и обновит mobile-first индекс. В рамках этих обновлений скорость загрузки сайта и его мобильность станет серьезным фактором ранжирования.Проверить, есть ли у вашего сайта проблемы с размером изображений можно:здесьи здесь.Наш модуль OptiImg позволяет уменьшить размер изображений на сайте до 99% без видимой потери качества.Автоматическое сжатие изображений избавит вас от долгого и нудного пересохранения в сторонних приложениях.Никаких квот и ограничений, купите лицензию и конвертируйте столько файлов, сколько потребуется, без пополнений баланса и всяческих доплат!Уважаемые клиенты, обращаем ваше внимание, что лицензионный ключ дает возможность пользоваться нашим сервисом без ограничений, по истечению срока действия лицензионного ключа доступ к сервису будет возможен, но вы не сможете получать обновления для нашего модуля. Так же, обратите внимание, что при покупке продления, клбч в настройках модуля менять не требуется.Модуль работает по принципу "установил и забыл". Любое загруженное в инфоблок изображение будет автоматически сжато!Все изображения оптимизируются в 1 клик, все изображения загруженные в инфоблоки, медиабиблиотеку или при обмене с 1С - будут сжаты автоматически.На данный момент поддерживаются форматы JPEG и PNG.HTTPS - протокол поддерживается.PHP7 - поддерживается.Демо - период позволяет обработать 1000 изображений.Каждый день с помощью нашего модуля для 1C - Bitrix, обрабатывается до 500 тысяч изображений!Проверить уровень сжатия можно на сайте модуля.Обратите внимание, что модуль практически полностью написан на D7, на версиях 1С - Битрикс младше 16 - может работать некорректно. Как начать пользоваться?Чтобы упростить вам жизнь, наша команда всегда готова установить модуль на Ваш сайт под управлением 1С - Битрикс и произвести оптимизацию самостоятельно, для этого, после покупки присылайте запрос на наш e-mail - [email protected] c темой "Установка" , в теле письма укажите код купона и доступы к сайту на котором требуется произвести работы.Уважаемые клиенты!Не забывайте делиться своим опытом использования наших продуктов, оставляйте отзывы, пишите в обсуждения и на наш электронный адрес - [email protected], мы всегда рады вам помочь и получить обратную связь!

От АльфаГрупп

Купить: 2 000 1 800 руб.

Скриншоты


Описание

Технические данные

Опубликовано: 17.10.2015 Обновлено: 28.03.2019 Версия: 1.3.6 Установлено: Более 1000 раз Подходящие редакции: «Первый сайт» , «Старт» , «Стандарт» , «Малый бизнес» , «Эксперт» , «Бизнес» , «Корпоративный портал» , «Энтерпрайз» Адаптивность: Нет Поддержка Композита: Нет

Описание

Что делает наш модуль?

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

Для чего это нужно?

Причин несколько:

  1. Экономия свободного место на хостинге, т.к. как правило именно изображения "съедают" большую его часть.
  2. Соответствие требованиям PageSpeed Insights - требованиям по оптизимизации сайта, для его максимального ранжирования в поисковой системе.
  3. Увеличение скорости загрузки страниц, за счет уменьшения загружаемого траффика
К тому же:

Проверить, есть ли у вашего сайта проблемы с размером изображений можно:

Наш модуль OptiImg позволяет уменьшить размер изображений на сайте до 99% без видимой потери качества.

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

Никаких квот и ограничений, купите лицензию и конвертируйте столько файлов, сколько потребуется, без пополнений баланса и всяческих доплат!

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

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

Модуль работает по принципу "установил и забыл". Любое загруженное в инфоблок изображение будет автоматически сжато!

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

На данный момент поддерживаются форматы JPEG и PNG.

HTTPS - протокол поддерживается.

PHP7 - поддерживается.

Демо - период позволяет обработать 1000 изображений.

Каждый день с помощью нашего модуля для 1C - Bitrix , обрабатывается до 500 тысяч изображений !

Проверить уровень сжатия можно на сайте модуля.

Обратите внимание, что модуль практически полностью написан на D7 , на версиях 1С - Битрикс младше 16 - может работать некорректно.

Как начать пользоваться?

Чтобы упростить вам жизнь, наша команда всегда готова установить модуль на Ваш сайт под управлением 1С - Битрикс и произвести оптимизацию самостоятельно, для этого, после покупки присылайте запрос на наш e-mail - [email protected] c темой "Установка" , в теле письма укажите код купона и доступы к сайту на котором требуется произвести работы.

Уважаемые клиенты!

Не забывайте делиться своим опытом использования наших продуктов, оставляйте отзывы, пишите в обсуждения и на наш электронный адрес - [email protected] , мы всегда рады вам помочь и получить обратную связь!

Отзывы (10)

Общая оценка: Всего отзывов: 10

Хорошее решение для оптимизации картинок

На момент 25,02,2019 решение полностью не рабочее, даже на их сайте http://www.optiimg.ru/ напрямую нельзя сжать изображение, оно зависает после загрузки.

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

Модуль отличный!!!

Как ниже писали, присоединяюсь, да это единственное решение, о котором я не пожалела! Модуль работает шустро, не зависает. Почистила сайт на 3 гб. Было 5 гб стало 2гб.
Супер модуль, молодцы!) Рекомендую)

Отличная техподдержка и крутой модуль

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

Здравствуйте

Техподдержка работает мгновенно, через 10 секунд уже ответили в онлайн чате и ответили на вопросы! Программа огонь, особенно когда много картинок! Всем рекомендую!

Отличная тех поддержка

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

Хорошее решение

Отличное решение! Ребята все сами установили и сжали изображения на 40 %. Спасибо!

Пока единственное решение о покупке которого мы не пожалели

Пока единственное решение о покупке которого мы не пожалели. Очистили 5 гб.

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

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

Отличный модуль, отличная поддержка.

Приобрели модуль, тут же подключилась поддержка и все настроила. Благодаря оптимизации фото, Google PageSpeed ставит сайту на большинстве страниц оценку более 80 баллов. Всем рекомендую данное решение.

Отличный модуль

Протестировал сайт на google, оказались большие картинки. Думал как сделать оптимизацию. Нашлось простое и не дорогое решение. Ребята из тех поддержки сами установили, всё прописали, теперь при загрузке картинок работает автоматом всё сжимает до оптимальных размеров. Сразу поставил на второй сайт, очень доволен. Рекомендую.


Обсуждения (76)

Обсуждения (76)

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

Детальная картинка:
Access to undeclared static property: Alfa1c\Optiimg\OptiImg::$_1260989302 (0)
/home/bitrix/www/bitrix/modules/alfa1c.optiimg/include.php:1
#0: OptiImgEvents::CompressOnResize(array, array, NULL, string, string, boolean)
/home/bitrix/www/bitrix/modules/main/classes/general/module.php:490
#1: ExecuteModuleEventEx(array, array)
/home/bitrix/www/bitrix/modules/main/classes/general/file.php:1705
#2: CAllFile::ResizeImageGet(array, array, integer, boolean)
/home/bitrix/www/bitrix/modules/main/lib/ui/fileinputunclouder.php:40
#3: Bitrix\Main\UI\FileInputUnclouder::getSrcWithResize(array, array)
/home/bitrix/www/bitrix/modules/main/lib/ui/fileinput.php:477
#4: Bitrix\Main\UI\FileInput->getFile(string, string, boolean)
/home/bitrix/www/bitrix/modules/main/lib/ui/fileinput.php:283
#5: Bitrix\Main\UI\FileInput->show(array, boolean)
/home/bitrix/www/bitrix/modules/iblock/admin/iblock_element_edit.php:2539
#6: include(string)
/home/bitrix/www/bitrix/admin/cat_product_edit.php:3

Вылезает не всегда, но оооочень часто. При этом иногда на одном и том же товаре сначала глюк есть, на второй-третий раз глюка нет.

Сергей Заботин, судя по тому, что название функции обфусцировано - вы продолжаете использовать демо - версию, удалите модуль полностью и установите заново, если ошибка сохранится - напишите нам на [email protected] мы вам поможем.

Какие у модуля имеются возможности, если изображения хранятся в "облаках"? Например, если это Selectel?
Насколько я понимаю, модуль сжимает и при загрузке, и при ресайзе, но не сжимает, если изображения уже находятся в "облаках"?
Что планируете в этом направлении?

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

С облаком битрикса работать будет, т.к. битрикс файлы в облаке актуализирует время от времени.

Добрый день
На какой период действует лицензионный ключ? (обновления)

Иван Прилепин, Обновления доступны в течении 1 года, доступ к серверу не ограничен по времени.

1.2.8 версия.

Роман Петров, Пишите нам на email, разберемся.

Купил оптимизатор год назад, тогда воспользовался очень мало, сейчас хотел снова использовать, но у меня вышла ошибка авторизации?! мне что заново его покупать?
Что мне его каждый год покупать ради 100 фотографий?

Роман Петров, Купить продление вы можете, если хотите обновить модуль, если версия модуля старшей 1.2.2, то обновление сделать придется, т.к. в этой версии был большой рефакторинг в ней же сменился сервер к которому наш модуль обращается. Если ваша текущая версия новее, то пишите нам на электронный адрес, [email protected] - разберемся, почему возникает ошибка.

Что нового

1.3.6 (28.03.2019) Исправлены мелкие ошибки в событиях
1.3.5 (15.03.2019) Добавлен вариант более безопасной замены файла
Переписан класс для работы с событиями
1.3.4 (20.01.2019) Добавлена анимация в прогрессбар Удаленые deprecated методы
1.3.3 (12.06.2018) Тест GPSI пернесен на страницу анализа
1.3.2 (06.06.2018) Мелкие исправления
1.3.1 (05.06.2018) Добавлена возможность проверить страницу в GPSI
Опция сжатия через imageJpeg помечена как устаревшая, возможность включить удалена
1.3.0 (24.04.2018) Исправлены ошибки с кириллическими папками.
Небольшие улучшения интерфейса
1.2.9 (22.02.2018) Добавлена корректная обработка ситуации, когда библиотека cURL не установлена на сервере.
1.2.8 (24.01.2017) Исправлена ошибка с правами доступа к модулю
1.2.7 (14.12.2017) Исправлена ошибка, при которой происходило переполнение временными файлами.
1.2.6 (04.12.2017) Улучшена стабильность
1.2.5 (15.11.2017) Изменен способ получения сжатого файла
1.2.4 (30.10.2017) Исправлена ошибка событий сжатия
1.2.3 (25.10.2017) Исправлены ошибки в языковых файлах
1.2.2 (24.10.2017) Изменения в структуре модуля
Рефакторинг под D7
1.2.1 (22.10.2017) Добавлена возможность задать порт
Добавлен фильтр по ошибкам и возможность очистить лог обработки
1.2.0 (20.10.2017) Переписаны методы
Улучшена производительность
Добавлена многопоточность
1.1.9 (17.10.2017) Улучшена стабильность производительность
Исправлены ошибки
1.1.8 (03.10.2017) Исправлена ошибка сохранения позиции
Исправлена ошибка отсылки статистики
1.1.7 (01.10.2017) Большой рефакторинг модуля
Модуль переписан под D7
Изменена структура класса
Улучшена стабильность
Улучшена производительность
Удален устаревший режим файлового менеджера
Добавлен корректный показ ошибок
Исправлены мелкие ошибки
1.1.6 (22.04.2017) Небольшой рефакторинг кода под D7
Исправлена ошибка, при которой сжатие на лету могло не срабатывать, при определенных условиях.
Добавлена возможность исключать директории
1.1.5 (13.04.2017) Исправлены баги
Появилась возможность включить/отключить сжатие на лету в настройках модуля.
ВНИМАНИЕ: если вы используете события сжатия в init.php, перед установкой данного обновления их необходимо удалить!.
1.1.4 (21.03.2017) Исключена необходимость использовать allow_fopen
1.1.3 (19.02.2017) Добавлена возможность вести лог
Добавлена возможность проанализировать сайт перед запуском оптимизации.
1.1.2 (14.02.2017) Исправлена ошибка, привожившая к подмене изображений при установленной галке в инфоблоке, создавать изображение из детального даже если создано.
1.1.1 (30.01.2017) Добавлена возможность указать конкретную папку в упрощенном режиме
Исправлена ошибка при которой не отправлялась статистика на сервер
1.1.0 (30.01.2017) Исправлена ошибка, при которой отправка файлов не прекращалась при отсутствующем ключе.
Исправлена ошибка, при которой не сжимались файлы находящиеся в папке включающей пустые непустые подпапки.
Добавлена возможность продолжать процесс, с последнего обработанного файла.
Улучшена производительность.
Статистика теперь отправляется при загрузке страницы модуля.
1.0.9 (20.01.2017) Исправлена критическая ошибка в режиме файлового менеджера. Исправлена ошибка засорения папки upload при неудачной обработке Добавлена возможность не вести статистику
1.0.8 (15.12.2016) Добавлена поддержка события OnAfterResizeImage для сжатия изображений, измененных с помощью метода ResizeImageGet.
1.0.7 (14.12.2016) Исправлена ошибка с шаблоном постраничной навигации
1.0.6 (19.10.2016) Исправлена работа с расширениями верхнего регистра. Добавлена возможность пропускать битые файлы в упрощенном режиме.
1.0.5 (25.04.2016) Новый интерфейс
1.0.4 (16.02.2016) Исправлены проблемы с отображением ошибок
1.0.3 (14.02.2016) Переработан интерфейс
Добавлена возможность сжатия через функцию imagejpeg
Исправлены баги
Улучшены некоторые функции, добавлены новые
1.0.2 (02.02.2016) Добавлена постраничная навигация для разделов

Установка

Установка стандартная из Marketplace.

Доступ к модулю осуществляется через раздел

Сервис -> Оптимизатор изображений либо по ссылке:
/bitrix/admin/optiimg_admin.php

Настройки модуля:
/bitrix/admin/settings.php?lang=ru&mid=alfa1c.optiimg&mid_menu=1

Обратите внимание, что для работы модуля необходимо в поле "Ключ" ввести ключ полученный на почту после покупки.

Решение использует библиотеку cURL, как правило она включена по умолчанию, если нет, обратитесь за помощью к вашему хостеру, либо системному администратору.

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

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

Поддержка

Как пользоваться нашим модулем правильно:

  1. Устанавливаете модуль из маркетплейс.
  2. Переходите по адресу /bitrix/admin/settings.php?lang=ru&mid=alfa1c.optiimg&mid_menu=1
  3. Задаете качество сжатия, устанавливаете галочки Сжимать изображения при загрузке и Сжимать изображения при ресайзе, если ваш сайт работает по https протоколу то в поле порт вписываете 443 либо оставляете пустым.
  4. Переходите в файловый менеджер и удаляете папку /upload/resize_cache/
  5. Переходите в интерфейс работы с модулем /bitrix/admin/optiimg_admin.php
  6. Нажимаете кнопку Оптимизировать

Чем больше сжато изображение, тем быстрее загружается страница сайта на мобильном устройстве. Дальше мы разберем шаги, которые позволят сделать картинки оптимальными под любые устройства.

Сбалансированная оптимизация изображения

Проблема оптимизации изображений заключается в том, что нет никаких 100% правил. Оптимизация изображения — это всегда тонкий баланс между пользовательским опытом, привлекательностью и производительностью страницы.

Raluca Budiu, директор исследования Nielsen Norman Group, объясняет:

«Поскольку у мобильных устройств небольшой экран, слишком маленькие изображения дают слишком мало информации, а слишком большие изображения могут очень сильно замедлять страницу. Мы рекомендуем начать с картинки минимального размера и позволить пользователям увеличивать (или загружать увеличенную картинку).

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

Нет точных правил насколько маленькое должно быть изображение для мобильного устройства — это компромисс между качеством и размером страницы. Согласно httpArchive, средний JPG составляет 29 КБ, а средний PNG — 16 КБ.

Уменьшение веса изображения частично связано с сохранением его в соответствующем размере и разрешении (количество пикселей), и частично сжатием изображения. Некоторые инструменты, такие как Photoshop, позволяют некоторое сжатие, но часто их недостаточно, особенно с более крупными типами изображений, такими как PNG.

Ряд инструментов позволяют эффективно сжимать изображения по отдельности или по партиям изображений. Например, изображение домашней страницы, приведенное выше, было сжато с использованием TinyPNG, что привело к снижению веса на 79%.

Нужно ли использовать изображения разных размеров для мобильных устройств, планшета и рабочего стола?

При разработке сайтов для мобильных устройств, планшетов и настольных компьютеров, будь то через выделенные URL-адреса (site.com и m.site.com) или на разных сайтах через один URL-адрес (адаптивный веб-дизайн), подразумевается, что размер изображений должен соответствовать самому большому устройству в этой категории.
Такая позиция, не совсем подходит для адаптивного веб-дизайна (RWD). У RWD принцип состоит в том, чтобы обслуживать один и тот же сайт на разных устройствах, используя CSS для форматирования содержимого в соответствии с возможностями устройства и размером экрана.

Однако, это не означает, что веб-сайты должны обязательно применять однообразный подход к изображениям, говорит Alex Painter, консультант по веб-эффективности в NCC Group:

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

Множество сайтов загружают одни и те же изображения как на рабочий стол, так как и на мобильные устройства, — при этом мобильные версии просто уменьшаются в размерах. Пользователь высокопроизводительных устройств в быстрых и надежных сетях может это сразу и не заметить. Но это может сделать веб-сайты совершенно непригодными для людей с более слабыми мобильными устройствами, или с плохой связью.
.
У этой большой проблемы есть две причины. Первая: для доставки излишне большого изображения по сети требуется больше времени.
Вторая причина часто упускается из виду: мобильному устройству приходится серьезно потрудиться, чтобы: а) декодировать и б) масштабировать изображение. Это дорого стоит с точки зрения мощности обработки и памяти».

Но так не должно быть. Поддерживая Responsive Images Community Group, спецификация HTML упрощает разработчикам создание нескольких альтернативных изображений для разных типов устройств — для разных размеров экрана (просмотр), разрешений (количество пикселей) или возможности устройства.

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

Alex Painter:
«Выбор правильного изображения для окна просмотра теперь достаточно прост. У нас были мультимедийные запросы CSS для фоновых изображений в течение некоторого времени, но до недавнего времени изображения, упоминаемые в HTML, были скорее проблемой.

Теперь у нас есть характеристика чувствительных изображений: элемент С атрибутом thesrcset, который позволяет определить, какое изображение должно быть выбрано, для какой ширины видового экрана (или разрешить браузеру сделать наиболее подходящий выбор из набора изображений).
Эта функция теперь очень хорошо поддерживается браузерами, и разработчики должны в идеале использовать ее, а не использовать JavaScript для достижения той же цели».

Кто использует изображения с откликом?

Быстрый взгляд на исходный код основных веб-сайтов, таких как Amazon, Facebook и BBC, подтверждает, что ни один из них еще не использует элемент Для обслуживания откликов.

Получат ли они пользу, если станут его использовать? Обслуживание различных изображений на каждой платформе потенциально имеет ряд преимуществ:

  • Позволяет веб-сайту показывать изображение большего размера с более высоким разрешением на рабочем столе.
  • Уменьшает размеры изображения и общий вес страницы и тем самым ускоряет время загрузки.
  • Позволяет мобильному сайту показывать увеличенное изображение на мобильном устройстве (обратите внимание на обрезанное изображение собаки выше).
  • Розничные продавцы могут отображать Mobile-Friendly Hero Images на мобильных устройствах, придерживаясь традиционных снимков на больших дисплеях.

Поиск лучшего формата изображений

Как мы уже знаем, наиболее распространенный формат изображений, используемых на мобильных и дружественных им сайтах: JPEG 46%, PNG 28%, GIF 23% и SVG 1% по данным httpArchive.

Существует два типа веб-изображения: растр и вектор. Первое состоит из точек (например цифровая фотография), а второе состоит из линий и фигур. JPEG, PNG и GIF являются растровыми. SVG — вектор. SVG — это более новый формат, который не так широко используется (пока), но рекомендуется для адаптивного веб-дизайна (RWD).
Есть «за и против» для каждого типа изображений, и у каждого веб-дизайнера есть свое мнение и любимые форматы. В целом:

  • JPEG чаще всего используется для веб-фотографий
  • GIF характерен для анимаций, а также простых графиков, значков и логотипов
  • PNG характерен для графиков более высокого качества, логотипов, значков и других иллюстраций и фотографий с графическими эффектами
  • SVG хорош для графов и логотипов, заголовков страниц – то, что разработано иллюстратором.

Альтернативы традиционным изображениям

Веб-страницы состоят из множества небольших изображений, таких как значки и кнопки. Если они сделаны с использованием отдельных изображений GIF / PNG / JPEG, все это добавляет размер странице, и для каждого из них требуется индивидуальный запрос браузера, что может замедлить время загрузки страницы.

Существует три метода, которые могут помочь сохранить размер страницы и запросы изображения:

  • CSS sprites – объединяют коллекцию меньшей графики в один файл CSS. Примечание: перегрузка спрайтов со слишком многими графиками или со слишком крупными — будет неоптимальна.
  • Icon fonts — это библиотека значков, отправленных как один файл.
  • Формы CSS– это формы, построенные с использованием CSS, а не как традиционное изображение.

Mike D’Agruma Lead Front-End Web Developer, E-volve Creative Group:

«Чтобы сохранить размер файла, я, как правило, не загружаю более крупные, более популярные библиотеки значков и использую Fontastic для создания собственных пользовательских шрифтов значков. Этот метод очень хорошо работает на разных уровнях: 1) Поскольку я использую только небольшое количество пользовательских значков, размер файла шрифта значительно меньше; 2) Иконки создаются с помощью SVG, что гарантирует, что они будут чрезвычайно четкими на устройствах; 3) Вы не можете превзойти этот вариант по гибкости, так как значки шрифтов очень легко настраиваются с помощью CSS.

Еще один отличный способ экономии времени, размера файла и запросов сервера — использовать CSS для создания фигур. Вы можете создавать большинство фигур и добавлять столько эффектов и переходов, сколько хотите с помощью CSS.
Возьмите мобильный сайт Summit County Metro Parks в качестве примера, в одном только разделе заголовка я смог использовать комбинацию символов CSS и значков шрифтов, чтобы создать то, что могло быть шестью разными изображениями. Активация меню для мобильных устройств показывает пример анимации в форме CSS (меню в стиле гамбургера, закрывается с помощью «X»), а использование дополнительного значка с правой стороны показывает открытое и закрытое состояния меню».

Методы веб-дизайна для улучшения времени загрузки

Что делать, когда вы уменьшили вес, удалили ненужные изображения и оптимизировали оставшуюся часть, но страница по-прежнему не загружается достаточно быстро?

Удостоверьтесь, что самый важный материал загружается первым, говорит Raluca Budiu:

«Когда страница загружается, убедитесь, что сначала загружается текст, чтобы люди могли начать сканирование содержимого. По мере загрузки изображений не перемещайте уже загруженный контент вокруг них — это заставит читателей потерять место на странице, где они были, а иногда они даже нажимают на неправильную ссылку, потому что их цель неожиданно сдвинулась».

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

Существует три распространенных метода для этого. Robert Gaines, разработчик веб-приложений в Канзасе, США, объясняет:

  1. Отсроченная или отложенная загрузка использует JavaScript для остановки загрузки изображений и других активов до тех пор, пока основное содержимое веб-страницы не закончит загрузку. Отложенная загрузка уменьшает время, затрачиваемое на первичный контент веб-страницы, но уменьшает необходимость сокращения изображений, которые в противном случае замедляли бы веб-страницу.
  2. Неспешная загрузка загружает активы, по мере их необходимости. Таким образом, содержимое сначала загружается над сгибом, а затем под сгибом, когда пользователь прокручивает. С галереями изображений, такими как поиск товаров на торговых сайтах, используются миниатюрные изображения, большие изображения загружаются только при нажатии соответствующего значка.
  3. Активная загрузка изображений сначала загружает картинки низкого качества во время визуализации веб-страницы, а затем заменяет их высококачественными изображениями после того, как загрузилось основное содержание. Активная загрузка картинок уравновешивает производительность с визуальной привлекательностью. В отличие от отложенной загрузки, она не заставляет пользователей ждать загрузки вторичных изображений после основного содержимого.

Такие инструменты, как Photoshop, позволяют сохранять изображения в виде прогрессивных JPEG или чередующихся PNG, которые будут загружаться описанным способом.