Как найти проблемы с совокупным сдвигом макета, если Page Speed ​​Insights говорит одно, а Search Console - другое

С кумулятивным сдвигом макета (CLS) теперь критерием Page Speed ​​Insights (PSI) и Google Search Console (GSC) мне было интересно, какой метод следует использовать для идентификации CLS, если PSI возвращает значение 0, а данные поля возвращает высокое значение .

Например, у меня есть страница, которая получает 0 баллов по PSI, но получает 0,99 CLS для настольных компьютеров (0 для мобильных устройств) согласно Search Console.

Используя инструменты разработчика, я попытался включить мигание краски и переключить области сдвига макета, но все равно получил 0 сдвиг, тогда как в полевых данных указано 0,99.

Итак, как определить причину сдвига макета с помощью инструментов разработчика?


person Graham Ritchie    schedule 06.07.2020    source источник
comment
Вы когда-нибудь получали на это ответ? У меня та же проблема, когда данные FIELD постоянно показывают плохой CLS (выше 1.0), но лабораторные данные постоянно показывают 0 CLS. Это происходило месяцами и месяцами. Как вы отлаживаете, какие элементы вызывают эту проблему в полевых данных, если проблема отсутствует в лабораторных данных?   -  person l_r    schedule 21.04.2021
comment
Мой ответ ниже был способом, которым мне удалось его отследить, поскольку ни трассировка производительности, ни автоматические тесты не улавливали его на моей машине. В противном случае (и я бы сказал, что первый способ попытаться найти проблему) - попробовать метод, предложенный @dnq, если это не периодическая проблема.   -  person Graham Ritchie    schedule 14.06.2021


Ответы (3)


Так как никто не ответил на это, я запишу то, что я сделал, возможно, это не лучший способ сделать это, так что имейте это в виду!

Я открыл инструменты разработчика и настроил новый профиль для скорости сети, где задержка составляла 1000 мс, а скорость - 50 кб / с. (где написано онлайн рядом с отключением кеша, щелкните здесь и перейдите в Custom ›Add ...).

Это фактически дает вам время увидеть, что происходит на странице по мере загрузки ресурсов.

Затем я перешел на вкладку рендеринга и включил мигание краски, области сдвига макета и границы слоя.

Затем я просто наблюдал за загрузкой страницы с этим искусственным замедлением.

При этом сразу стало очевидно, что у меня было боковое меню, загружаемое через AJAX, но когда оно загружалось, оно было примерно на 1 пиксель шире из-за границы на нем, поэтому весь основной раздел немного сдвинулся влево.

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

Я надеюсь, что это поможет кому-то, пока кто-нибудь не предложит лучший способ определения основной причины сдвига макета.

Обновлять

Как указано в комментариях, убедитесь, что вы тестируете также разные размеры экрана.

person Graham Ritchie    schedule 21.07.2020
comment
Также не забудьте протестировать все ваши разные ширины отклика / точки останова. PSI тестирует только одну ширину для настольных компьютеров и одну для мобильных устройств. Если у ваших реальных пользователей устройства разной ширины, которые вызывают проблему с макетом CLS, это может отображаться как высокое значение CLS в данных поля Search Console / CrUX, но не PSI. - person Chris Sears; 09.09.2020
comment
Для этого добавлена ​​дополнительная строка, спасибо, Крис! - person Graham Ritchie; 14.09.2020

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

Пока инструменты разработчика записывают, вы можете прокрутить вниз до конца и остановить запись, когда окажетесь внизу.

Измените размер вкладки Инструменты разработчика, появится шкала времени. Сюда входит раздел «Web Vitals». В разделе «Опыт» вы найдете блоки , указывающие сдвиги макета.

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

Если вы нажмете на поле Layout Shift, появится сводка, в которой вы сможете увидеть изменения например 'Перемещено из местоположения [...], размер: [... x ...]'

Требуется некоторое изменение размеров между всеми вкладками в разделе «Производительность», но для меня это действительно полезно, чтобы узнать, какие классы вызывают эти сдвиги! Надеюсь, это сработает и для вас.

person Dnq    schedule 12.02.2021

Chrome DevTools может дать вам оценку CLS и помочь вам отладить болевые точки на вашем веб-сайте с помощью:

Маяк

введите описание изображения здесь

Панель производительности

введите описание изображения здесь Красная полоса сдвига макета поможет вам разобраться в затронутых элементах


Подробнее читайте: https://web.dev/optimize-cls/

person t_dom93    schedule 30.03.2021