Прошедшая неделя запомнилась многочисленными новостями о функциональных плагинах WordPress. Феликс Арнтц, коммиттер WordPress и инженер-разработчик программ в Google, анонсировал планы по внедрению «ленивой загрузки» (lazy loading) в ядро WordPress. Если тестирование пройдет успешно, эта функция может появиться в WordPress 5.4 в марте.
Концепция lazy loading позволяет отображать веб-страницы без загрузки определенных ресурсов, когда они не требуются. Это приводит к ускорению загрузки страниц и экономит трафик на стороне посетителя. «Ленивая загрузка» особенно полезна при выводе изображений в сети.
В противовес «ленивой загрузке» используется также «ускоренная загрузка» (eager loading), которая позволяет выводить все массово. По умолчанию именно так и загружаются все изображения в сети. Это часто приводит к снижению производительности веб-страниц с многочисленными изображениями, при этом чаще всего многие изображения даже не попадают в область просмотра пользователя при первом посещении сайта.
В течение многих лет разные JavaScript-библиотеки по-разному пытались представлять этот функционал, и далеко не всегда успешно. Нативное решение постепенно появлялось и в браузерах. Такая «ленивая загрузка» работает путем добавления атрибута loading к img или iframe. Затем уже браузеры могут решить, как подгружать ресурс, основываясь на значении атрибута. В настоящее время Chrome, Edge и Opera успешно обрабатывают атрибут loading. Как только атрибут официально войдет в спецификацию HTML, этот функционал станет стандартом, поддерживаемым всеми браузерами.
Новый функциональный плагин Lazy Loading теперь доступен в каталоге плагинов WordPress. Плагин опирается только на нативную браузерную поддержку, не внедряя никакого дополнительного JavaScript-кода. Реализация позволяет добавить атрибут loading к изображениям в контенте записи, в цитатах, комментариях, текстовых виджетах, аватарах и экземплярах базовых функций изображений в WordPress. По умолчанию плагин устанавливает для всех изображений «ленивую загрузку».
Наряду с обработкой изображений большого размера в WordPress 5.3, эта опция позволит в целом привести к ускорению работы пользователей в сети. За последние несколько лет число пользователей, загружающих крупные изображения через смартфоны, заметно выросло, что только усугубило проблемы медленной сети. Вот почему крайне важно, чтобы WordPress постоянно продвигал оптимизацию изображений.
«Если бы в WordPress по умолчанию добавлялась ленивая загрузка, это значительно повлияло бы на производительность и опыт взаимодействия для миллионов сайтов – при этом от пользователей не требовалось бы никаких технических навыков или понимания концепций», – рассказал Арнтц в анонсе. – «Принятие нового атрибута loading – это отличный шанс для WordPress проложить путь к быстрой загрузке сети».
Арнтц и команда разработчиков изначально выпустили плагин для lazy loading в сентябре 2019 года. Это произошло вскоре после того, как Google добавили атрибут loading в версию 76 браузера Chrome. Плагин Native Lazyload в данный момент имеет более 7000 установок.
Как это отразится на уже существующих плагинах
Поскольку не все браузеры поддерживают в данный момент атрибут loading, пользователи могут пока опираться на сторонние плагины для реализации «ленивой загрузки» (до тех пор, пока функционал lazy loading не появится в ядре WordPress).
Код в плагине Lazy Loading пытается определить, есть ли атрибут loading у изображения. Если нет, то атрибут добавляется. Соответственно, плагин не должен вызывать проблем при работе в связке с другими решениями для «ленивой загрузки». Это поможет избежать конфликтов.
Разработчикам плагинов для lazy loading рекомендуется начать тестировать свои плагины на соответствие требованиям WordPress 5.4. Тикет Lazy Loading API в Trac позволяет получить всю необходимую информацию по данной опции. Разработка функционала ведется в GitHub-репозитории.
Источник: wptavern.com