В ближайшем будущем сайты WordPress станут работать еще быстрее благодаря улучшению «ленивой загрузки» в ядре. Анализ, проведенный в июле 2021 года, показал, что слишком агрессивное применение «ленивой загрузки» может негативно повлиять на производительность, а потому лучше сразу же загружать изображения в начальном окне просмотра.
Ленивая загрузка всех изображений в WordPress приводила к снижению производительности по метрике Largest Contentful Paint (LCP), которую Google определяет как «время обработки самого крупного изображения или текстового блока, видимого в области просмотра, с момента начального запуска страницы».
Спонсируемые Google участники разработки WordPress написали исправление, позволяющее избежать «ленивой загрузки» изображений в верхней части страницы, и тщательно протестировали его в рамках оценки различных инициатив. Снижение метрики LCP будет исправлено в WordPress 5.9.
«Подобное поведение можно улучшить путем отказа от добавления loading=’lazy’ для первого контентного изображения или iframe, ведь они в подавляющем большинстве случаев выводятся в начальном окне просмотра», – отметил Феликс Арнц. – «Конечно, реализовывать в WordPress нужно только предложения, подтвержденные на 100%, однако наш анализ 50 самых популярных тем показал, что такое исправление повсеместно улучшает LCP, увеличив скорость загрузки страниц до 30%».
В дальнейшем эту реализацию можно будет еще доработать: к примеру, сделать так, чтобы сразу загружались все изображения, которые находятся в начальной области просмотра (что будет зависеть от используемой темы).
«Хотелось бы видеть улучшенную эвристику, которая будет учитывать семантику и структуру блоков, чтобы понять, что именно нужно отложить для загрузки», – прокомментировал тикет Матиас Вентура. – «К примеру, понятно, что логотип сайта или блок с изображением в хэдере выводятся в начальной области просмотра. ‘Первое изображение в области содержимого’ – что это за такая рудиментарная метрика? Ведь все очень сильно зависит от разметки. В мире блочных тем мы, я надеюсь, сможем заранее знать, какой будет разметка, чтобы создавать более осмысленные инструкции».
Феликс Арнц отметил, что уже взял себе на прицел хэдер (участок шаблонов) и готов дорабатывать его реализацию по мере роста блочных тем.
«Исправление реализации lazy loading должно заметно улучшить производительность LCP для большинства сайтов», – поделился мнением Феликс. – «Это хорошая отправная точка. В будущем, когда у нас появится более подробная семантическая спецификация в блочных темах, мы сможем детальнее настраивать «ленивую загрузку», используя доступную информацию о блоках».
Источник: wptavern.com