Я понял, скорее всего, тут идет учет, без js, как твоя верстка выглядит и применением js насколько она из меняется. На мой взгляд это было бы более логично.
Привет!
По #pagespeed я пару дней назад тут делился своим подходом.
Могу чуть подробнее раскрыть вопрос прыгающего контента (CLS).
Он появляется в основном в случаях:
• слайдер, пока не отработал JS
• модульная сетка, где вертикальный отступ рассчитывается через JS
→ Эти моменты решаются установкой фикс. или макс. высоты в CSS
• картинки без явного указания ширины и высоты → тут стоит отметить что стилями ширину можно сделать адаптивной, но тогда явное указание даст браузеру инфу о пропорциях!
• ajaxSnippet или подобные решения, когда контент подгружается попозже → тоже надо как с картинками решать
• медленный парсинг CSS. → Это вопрос комплексный, может помочь просто более ранняя подгрузка стилей, может удаление вложенных импортов (объединение файлов или если не подходит, хотя бы вынос всех подключений на 1й уровень), также если правда очень сложные, это самый печальный вариант, тогда поможет переверстка на БЭМ...
Как-то так 👻