Швидкодія15 правил:що може сповільнювати ваші сторінки.
Сервер, те, на що сторінка чекає, скільки вона важить і що зсуває її макет.
Сервер
- Текстова відповідь могла б виграти від стисненняТекстова відповідь понад 1 КіБ не має Content-Encoding, а пробне стиснення gzip показує додатну економію розміру.У звіті: Text response served uncompressed
- Сторінки повільно надсилають перший байтНа сторінках, виміряних на хості, час від надсилання запиту до отримання першого байта відповіді на рівні 75-го процентиля перевищив 800 мілісекунд.У звіті: Slow server response (TTFB) for HTML documents
- Статичні файли кешуються ненадовго або не кешуються взагаліВерсіонований статичний файл має короткий час життя в кеші, або інший статичний файл не має політики кешування чи має нульовий час життя.У звіті: Static assets without long-lived caching
Завантаження
- Скрипт у head може блокувати рендерингЗавантаженому зовнішньому класичному скрипту в head документа бракує async і defer, і він може блокувати рендеринг.У звіті: Synchronous external script declared in the document head
- Імовірне головне зображення завантажується відкладеноПерше зображення на початку основного контенту сторінки завантажується відкладено, через
loading="lazy"або скриптом, що може затримати його, якщо це зображення, яке люди бачать першим.У звіті: A likely main image is lazy-loaded - Імовірне головне зображення не видно з HTMLПерше статично визначене велике зображення в основній області є фоном CSS, для адреси якого немає підтвердженого збігу зі звичайним HTML-зображенням або image preload у початковому head.У звіті: Likely LCP image not discoverable from HTML
- Вебшрифт не має дескриптора font-displayПравило
@font-faceу таблиці стилів, яку завантажують перевірені сторінки, не оголошує дескриптораfont-display, тож те, як текст очікує на шрифт, вирішує типова політика браузера.У звіті: @font-face without font-display - Початкова таблиця стилів оголошує залежність через імпортПідтверджена початкова таблиця стилів для екрана містить чинну застосовну залежність через імпорт, яку, можливо, варто спростити.У звіті: @import chain inside blocking CSS
- Початкові таблиці стилів перевищують зафіксований бюджет передаванняВиміряні закодовані байти підтверджених початкових таблиць стилів для екрана перевищують бюджет, зафіксований для аудиту.У звіті: Large render-blocking stylesheet payload
Вага сторінки
- Велике зображення застарілого формату не має підтвердженої сучасної альтернативиЗображення, вбудоване в початковий HTML, отримано у форматі JPEG, PNG чи GIF понад зафіксований бюджет передавання на одне зображення, без підтвердженої сучасної альтернативи для цього вбудовування, а запит, що приймав AVIF і WebP, отримав відповідь у застарілому форматі.У звіті: Large image in legacy format
- Сторінка має забагато HTML-елементів або вони надто глибоко вкладеніКількість елементів сторінки, глибина вкладення чи кількість дочірніх елементів перевищує задані пороги.У звіті: Excessive DOM size
- Сторінки посилаються на скрипти з багатьох інших сайтівПосилання на скрипти на сторінці походять із більшої кількості зовнішніх джерел, ніж заданий поріг.У звіті: Declared third-party script origins exceed the configured threshold
Макет і швидкість реакції
- Сторінка містить шаблон обробника unloadЗахоплений текст скрипта чи атрибут події body відповідає шаблону обробника unload; справжній слухач
unloadможе перешкодити кешуванню переходів назад і вперед.У звіті: Unload/beforeunload handler pattern in first-party script - CSS оголошує анімації властивостей макетаТаблиця стилів, яку завантажують перевірені сторінки, оголошує перехід або анімацію з ключовими кадрами для властивостей макета, наприклад
width,topчиmargin, замістьtransformабоopacity.У звіті: CSS animation of layout properties - Медіа може завантажуватися без зарезервованого місцяЗображення, відео, iframe чи embed не має висоти, зарезервованої в HTML і підтримуваному CSS, які ми змогли прочитати, тож перегляньте його завантаження в браузері, не вважаючи цю перевірку вимірюванням зсуву макета.У звіті: Media element without reserved space