PageSpeed не меряет скорость: как каталог поднялся с 69 до 100
Каталог получал 69 баллов при живой отрисовке за 2,4 секунды. Почему так, как найти настоящую причину за минуту и что подняло оценку до 100 — без сокрытия контента от проверки.
Пишу о том, что делаю каждый день: скорость сайтов, кэш, обмен с 1С, серверы и WordPress без лишнего.
Каталог получал 69 баллов при живой отрисовке за 2,4 секунды. Почему так, как найти настоящую причину за минуту и что подняло оценку до 100 — без сокрытия контента от проверки.
Список комментариев в HTML статьи заставлял сбрасывать кэш всего сайта на каждый комментарий, даже неодобренный, и обходить 138 адресов заново. Теперь список приходит запросом после загрузки, хуки сброса удалены, одобрение видно сразу.
Устаревшее можно отдать мгновенно, отсутствующее — нет. Фильтр на 22 категории: 18 из 22 MISS по 1,93 с. Засев по категориям на редких событиях, точечный — на обмене, и почему счётчику терминов верить нельзя. Сортировки не греем.
О фоне браузер узнаёт поздно, у него нет ни lazy, ни fetchpriority, ни srcset. Обложки-фоны дали 2,7 с «задержки загрузки» — после перевода на img с object-fit страница выросла с 77 до 92, а мобильный размер файла срезал вес втрое.
Обходчик идёт не через публичный домен, а прямо в nginx сайта. Без X-Forwarded-Proto в кэш ложатся http-ссылки, без точного имени контейнера греется кэш соседа. Бюджет, обрыв, замок и потолок очереди.
WordPress сохраняет имя автора комментария в куке на 347 дней, а кука comment_author_ во всех типовых конфигурациях ведёт мимо кэша. Самые вовлечённые читатели получают самый медленный сайт. Решение — одна строка.
Волны обмена каждые ~10 минут заново ставили первые страницы категорий вперёд — вторая–шестая не рендерились никогда, MISS 0,9–2,3 с спустя часы. Резерв в бюджете прогона под дальние страницы и порядок приоритетов.
Обходчик не ходил дальше 6-й страницы, а их было 13: страницы 7–13 отдавали MISS по 216–707 мс. Глубину брать из данных, а не из константы: после правки 28 страниц пагинации вместо 12.
Штатный адрес приёма, почта комментатора, Gravatar, ссылки, публикация без проверки. Как сделано здесь: имя и текст, всё на модерацию, ссылки отклоняются сразу, свой приём через ajax, ловушка, время и 3 комментария за 10 минут.
$ tail -f /blog
Пишу разборы по скорости сайтов, кэшу и разработке — на живых проектах и с цифрами. Подпишитесь, и ссылка на новую статью придёт сразу после выхода. Без рекламы и спама, отписаться — в один клик.
или на почту