Коротко о "простых" (нет) и эффективных способах: 1. 1 файл JS (можно запустить загрузку после `ошибки` загрузки файла метрики и разделить исполнение таймаутами, вынесением в worker и пр.), 1 файл CSS, изображения (лучше 1 большое склеенное чем много мелких, есть более эффективные методы, но менее универсальны) и пр. загружать лениво (что-то начать грузить с задержкой, что-то подменять близкими по цвету и размеру плашками пока грузится, менее важное - после определённого взаимодействия юзверя со страницей: скролл, клик и пр.); 2. Критический JS/CSS для верхней части видимого экрана вставлять в HTML, безопаснее всего в конец body (есть средства для автоопределения, но как и со всем универсальным весьма посредственные); 3. Кастомные шрифты та ещё проблема, но по самым эффективным способам их подключения много исследований проведено (гугл и пр. сторонние сервисы - зло). Это основная проблема большинства сайтов с долгим FCP; 4. Для моб. устройств без WiFi кол-во запросов гораздо хуже размера файлов; 5. Ifram`ы/изображения и пр. подгружаемый контент 3-их лиц вставлять с помощью кода из JS, а до их загрузки использовать плашки; 6. С контентом странных рекламных сетей - просто страдать и плакать.
Вообще, главное правило: не делать то, что не нужно в данный момент (это сразу ухудшает результат универсальных движков/библиотек/фреймворков, не ставящих скорость страницы в приоритет). Не может человек сразу прокрутить/кликнуть по невидимому элементу, так и обработчики не должны быть загружены для них.
Возможно когда-нибудь в далёком будущем у меня дойдут руки до производства фронтовой либы, чтобы товарищи формошлёпы могли создавать фронтовый код только в строгих рамках, ставящих логику загрузки ресурсов и исполнения кода во главу угла. За ними подтирать уже бесполезно, т.к. их слишком много сходит с конвейеров всяких курсов.
Включаю Вангу: дальше будет ещё хуже с этим.
Коротко о "простых" (нет) и эффективных способах:
1. 1 файл JS (можно запустить загрузку после `ошибки` загрузки файла метрики и разделить исполнение таймаутами, вынесением в worker и пр.), 1 файл CSS, изображения (лучше 1 большое склеенное чем много мелких, есть более эффективные методы, но менее универсальны) и пр. загружать лениво (что-то начать грузить с задержкой, что-то подменять близкими по цвету и размеру плашками пока грузится, менее важное - после определённого взаимодействия юзверя со страницей: скролл, клик и пр.);
2. Критический JS/CSS для верхней части видимого экрана вставлять в HTML, безопаснее всего в конец body (есть средства для автоопределения, но как и со всем универсальным весьма посредственные);
3. Кастомные шрифты та ещё проблема, но по самым эффективным способам их подключения много исследований проведено (гугл и пр. сторонние сервисы - зло). Это основная проблема большинства сайтов с долгим FCP;
4. Для моб. устройств без WiFi кол-во запросов гораздо хуже размера файлов;
5. Ifram`ы/изображения и пр. подгружаемый контент 3-их лиц вставлять с помощью кода из JS, а до их загрузки использовать плашки;
6. С контентом странных рекламных сетей - просто страдать и плакать.
Вообще, главное правило: не делать то, что не нужно в данный момент (это сразу ухудшает результат универсальных движков/библиотек/фреймворков, не ставящих скорость страницы в приоритет). Не может человек сразу прокрутить/кликнуть по невидимому элементу, так и обработчики не должны быть загружены для них.
Возможно когда-нибудь в далёком будущем у меня дойдут руки до производства фронтовой либы, чтобы товарищи формошлёпы могли создавать фронтовый код только в строгих рамках, ставящих логику загрузки ресурсов и исполнения кода во главу угла. За ними подтирать уже бесполезно, т.к. их слишком много сходит с конвейеров всяких курсов.