Загрузка некритических ресурсов

ВC
На сайте с 02.02.2006
Offline
459
279

Просматриваю страницы своего сайта, сделанного десять лет назад. Скрипты, загружающие некритические ресурсы, в соответствии с тогдашними рекомендациями размещены мною в самом низу страницы, перед футером. Уже не помню, почему я отказался от loading="lazy", но какие-то доводы были.

В те годы на странице редко размещали контент длиной более 5-7 тысяч знаков и все работало нормально, а теперь есть страницы по 50 тысяч знаков и даже больше, которые на мобильнике долго загружаются. Размещенный внизу скрипт формирует всплывающее меню. И получается, что пока не закачается контент полностью, меню не будет готово к работе. Не если вернуть скрипт в head, где ему и положено быть, то его вес под 100кб. тоже будет изрядно тормозить.

Как здесь лучше поступить?   

LEOnidUKG
На сайте с 25.11.2006
Offline
1727
#1

Вешать:

header link  rel=preload;

ну или хотя бы тоже самое, но в <head> в HTML коде. Но header страницы лучше.

При этом включить http2


✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Виктор Петров
На сайте с 05.01.2020
Offline
240
#2
Решений на сегодняшний день - тонны, но простых и общих нету.
Из самого главного: реализовывайте асинхронную загрузку ресурсов. HTTP2-то используется? Учитывайте параметры первичного взаимодействия со страницей - ясно-понятно, что в приоритете - первый экран, но гуглобот прокручивать не умеет, поэтому этот самый первый экран должен быть сильно поболе реального, физического.
Важнейший контент (главная навигация - уж точно) лучше вообще реализовывать так, чтобы он был доступен без JS и до полной загрузки JS - там, в конце концов, не только интерактивность, там ключи.
Lazy-load же, как по мне - это зло. Лучше продумать и интегрировать продуманную последовательность запросов, чем такое вот решение.
W1
На сайте с 22.01.2021
Offline
289
#3
Владимир-C :
Размещенный внизу скрипт формирует всплывающее меню. И получается, что пока не закачается контент полностью, меню не будет готово к работе. Не если вернуть скрипт в head, где ему и положено быть, то его вес под 100кб.

Для всплывающего меню не нужно 100кб. У вас там ещё какая-то хрень. И сами по себе 100кб ничего не тормозят, тормозит конкретный скрипт.  Выдёргивайте оттуда критический код и размещайте его до загрузки всей страницы.

Мой форум - https://webinfo.guru –Там я всегда на связи
Антоний Казанский
На сайте с 12.04.2007
Offline
622
#4
webinfo #:
И сами по себе 100кб ничего не тормозят, тормозит конкретный скрипт. 

Закреплю. TC, тормозит не объём данных (хотя и его по возможности надо сокращать), тормозит  исполнение скриптов.


Владимир-C :
Как здесь лучше поступить?   

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

√ SEO продвижение https://akazansky.ru - экспертный аудит сайтов ( https://akazansky.ru/audit-sajtov ), внедрение эффективных решений цифрового маркетинга. Обучение автоматизации с помощью Zennoposter https://goo-gl.me/6Zypu
ВC
На сайте с 02.02.2006
Offline
459
#5
Как на пример для подражания (или просто как на пример грамотно сделанного сайта) я смотрю на vc.ru и e-xecutive.ru. И ни один из них не использует ни  preload, ни  prefetch, ни  preconnect, ни  dns-prefetch, ни  prerender.  А скрипты они ставят, где ни попадя: и в  head, и в самом начале  body и в самом низу страницы. Конечно же, очень существенно, что делают эти скрипты, только для этого разбора моей квалификации недостаточно. Но ни один из них не использует jquery - реально тяжелый, но весьма востребованный скрипт, и как-то они без этого обходятся, хотя функционал у этих сайтов весьма развитый.  
W1
На сайте с 22.01.2021
Offline
289
#6
Владимир-C #:
ни один из них не использует jquery 

Значит, им это не надо

Владимир-C #:
реально тяжелый

Как Вы можете говорить, что он тяжёлый, если только что написали, что у Вас недостаточно квалификации?

Владимир-C #:
как-то они без этого обходятся, хотя функционал у этих сайтов весьма развитый.  

Функциональность сайта никак не связана с использованием библиотеки jQuery.

Виктор Петров
На сайте с 05.01.2020
Offline
240
#7
Владимир-C #:
Как на пример для подражания (или просто как на пример грамотно сделанного сайта) я смотрю на vc.ru и e-xecutive.ru. И ни один из них не использует ни  preload, ни  prefetch, ни  preconnect, ни  dns-prefetch, ни  prerender.  А скрипты они ставят, где ни попадя

vc по факту - приложение, там в RAW версии контента нету по сути. Я бы не стал сравнивать такое с обычным сайтом, пусть даже и js-rich.

Антоний Казанский
На сайте с 12.04.2007
Offline
622
#8
Владимир-C #:
Как на пример для подражания (или просто как на пример грамотно сделанного сайта) я смотрю на vc.ru и e-xecutive.ru.

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

Если у вас популярная CMS, сравнивайте с аналогами. 

У меня долгое время была ситуация когда я использовал готовый компонент и шаблон. Оптимизировать скрипты было невозможно без серьёзных передок. Попытки переделать и изменить порядок загрузки ломали необходимую функциональную последовательность. Для обновляемой линейки компонента подобные правки невозможны.

На одном из этапов обновления разработчик оптимизировал шаблон для связки с компонентом и после обновления проблема ушла сама собой.

ВC
На сайте с 02.02.2006
Offline
459
#9

Сейчас посмотрел скорость загрузки через pagespeed. 

Для vc.ru моб. 29 (красн.), комп. 76 (желт.).

Для e-xecutive.ru моб. 44 (красн.), комп. 84 (желт.).

Для моего сайта 96/94, зеленый. Может, при таком раскладе, оставить все как есть? Если только  redis добавить.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий