Откуда возникает проблема в тестировании скорости загрузки сайтов в сервисе Page Speed Insights у популярных универсальных CMS (WordPress, OpenCartс и др.) и сайтов на "конструкторах" Tilda или Wix? Почему они виноваты в "торможении" скорости, даже при настройке серверного "сжатия" и "кэширования"?
Это происходит потому, что первые сессии загрузки страницы не бесконечны. А "движки" и "конструкторы" ставят в первые секунды загрузки файлы, без которых невозможно даже показать страницу сайта.
Что оказывает влияние на результаты тестов скорости загрузки?
- Файл самой страницы в виде текстового HTML кода. Обычно, он более 100 Кб и "собирается" на стороне сервера из базы данных. А в HTML коде страницы размещены ссылки на другие важные файлы, необходимые для "прорисовки" браузером этой страницы на экранах. И если сама загружаемая страница собирается из базы данных множественными запросами – это повлечёт значительное торможение скорости загрузки. Для сайтов на "конструкторах" практически отсутствует возможность повлиять на работу сервера оптимизацией настроек.
- CSS файлы стилей для страницы являются обязательной загрузкой в первые секунды. Без них так же невозможно сформировать окончательный вид страницы. У большинства современных CMS эти файлы состоят из сотен килобайт "мобильно-оптимизированного" кода для Bootstrap-шаблона страниц сайта. Часто, этот файл не единственный. Различные модули, плагины и дополнения для CMS увеличивают количество дополнительных файлов CSS, обязательных для загрузки в первичных сессиях браузера.
- Затем, туда же в первые секунды сессии загрузки попадают сотни килобайт JavaScript библиотек (например – jquery). Современные разработчики (на популярных CMS) не будут писать отдельные оптимизированные скрипты под каждый сайт! И в первые секунды загрузки будет добавлена загрузка файла JS библиотеки.
- Затем, в первые сессии загрузки попадут библиотеки шрифтов и SVG иконок (как рекомендуемая альтернатива картинок). Но такие "альтернативы" сами могут весить больше самих картинок!
- Ещё первичную загрузку попадают отдельные JS и CSS файлы для различных интерактивных "украшений" (дополнительных модулей самих CMS), различных слайдеров, калькуляторов, мессенджеров, счетчиков, всяких дополнений от плагинов...
- Только потом в загрузку попадут графические файлы, необходимые для формирования и начальной прорисовки страницы браузером – это графические фоны, файлы изображений со ссылками из CSS, файлы графики из "первого окна". Зато остальные файлы в контенте страницы и файлы для "отложенного" показа (в CSS анимации или JS) не сильно повлияют на скорость первичной прорисовки, но скажутся на общем весе страницы и общем времени её окончательной загрузки.
Все ссылки на эти файлы, необходимые браузеру для прорисовки страницы, находятся в начале HTML кода загружаемой страницы. Даже, если это "голый" HTML, загруженный из серверного кэша (при настройки кэширования страниц без множественных обращений к БД), все эти файлы из "головы" документа должны войти в первые сессии загрузки. Чтобы тест Core Web Vitals мог их загрузить и "прорисовать" этот самый HTML, забирая время на загрузку и построение отображения страницы на экране.
А надежда на включение "кэширования" этих файлов на стороне клиента, хоть и немного уменьшает скорость загрузки (у постоянных посетителей сайта), но не у поисковой системы – она тестирует чистое "первичное" обращение с полной загрузкой страницы. А пользователи мобильных устройств постоянно чистят "кэш" в своих смартфонах, а значит – часто загружают полный объём файлов.
И вот от этого такие показатели тестов скоростей...
Как увеличить скорость загрузки страниц?
Оптимизация скорости страницы начинается с уменьшения количества и размеров файлов JS и CSS в первичных сессиях загрузки (удаление лишнего кода, объединения файлов и уменьшения количества загрузочных сессий в первые секунды).
Но это невозможно, при использовании современных CMS движков! Это ломает их архитектуру и технологию подключения шаблонов и модулей, выстроенную в последние время. Количество килобайт в первичной загрузке сайтов значительно росло все последние годы. Именно это "стремление к росту объёмов страниц" и не нравится Google. Так появился Core Web Vitals 2021 – стандарт первичного теста всех страниц перед их поисковой индексацией. Успешное прохождение теста Page Speed Insights страницами сайта – это обязательное условие для начала пути в лидирующие позиции спроса и посещаемости.
А если оптимизировать рабочую архитектуру "движков" не получится, то начинают сокращать количество оформления (графических файлов) на сайтах. По этой причине все сайты становятся "минималистичными" и удивительно похожими друг на друга. Такие сайты теряют Эффект Ресторфф и проигрывают в борьбе за лояльность посетителей другим, сайтам с хорошим графическим оформлением.
Хотя сайты с большим количеством графики (и даже с анимацией в оформлении страниц), могут прекрасно проходить тесты скорости загрузки:
По материалам статьи: Почему важна скорость загрузки сайта?