Есть вот это решение, которое добавляет лоадер немного раньше…
У вас есть источник, подтверждающий, что воспринимаемая производительность влияет на ранжирование в поиске, или вы имеете в виду FCP/LCP? FCP и LCP — это конкретные метрики с техническими требованиями, несмотря на то что они основаны на восприятии. Также обратите внимание: FCP не входит в «основные веб-показатели» (Core Web Vitals) Google, а LCP — входит.
Немного подробнее из https://web.dev/lcp/:
Как указано в спецификации API Largest Contentful Paint, для расчёта Largest Contentful Paint учитываются следующие типы элементов:
- Элементы
<img>- Элементы
<image>внутри элемента<svg>- Элементы
<video>(используется poster-изображение)- Элементы с фоновым изображением, загруженным через функцию
url()(в отличие от CSS-градиента)- Блочные элементы, содержащие текстовые узлы или другие дочерние элементы текстового уровня.
Если страница удаляет элемент из DOM, этот элемент больше не учитывается. Аналогично, если изменяется связанный с элементом ресурс изображения (например, изменение
img.srcчерез JavaScript), то этот элемент перестает учитываться до загрузки нового изображения.
Эти требования немного усложняют задачу. Возможно, сработает элемент загрузки с большим изображением или текстом, если вместо удаления из DOM просто скрыть его другим способом? Приведённый выше спиннер скрывает себя через z-index, так что, возможно, это сработает… но самого спиннера недостаточно, так как он не является изображением или текстом (это чистый CSS).
Согласен, что какой-то лоадер был бы полезен пользователям на медленных соединениях, но для Google есть ряд специфических требований, и мы не знаем, решит ли это проблему, о которой писал автор темы (OP).