~ / blog

Блог — страница 18

Пишу о том, что делаю каждый день: скорость сайтов, кэш, обмен с 1С, серверы и WordPress без лишнего.

#Кэширование 2 мин

Рекламный трафик не кэшируется вообще: открытая проблема

Адрес с ?ysclid всегда MISS: модуль атрибуции ставит куку, а ответ с Set-Cookie nginx не кэширует. 2246 самых дорогих запросов в сутки получают самый медленный ответ. Почему в nginx не лечится и как решать — метка на клиенте.

· · ·
#PageSpeed 2 мин

У ленивых блоков два пути загрузки — закрывать нужно оба

Ворота после отрисовки поставили на наблюдатель, а фоновая догрузка обгоняла отрисовку на 600 мс и приносила в окно 1,2 МБ. Как найти второй путь загрузки и закрыть его, не потеряв блоки для людей и поисковиков.

· · ·
#Кэширование 2 мин

Живые данные в кэшируемой странице: остатки, кнопки редактора, просмотры

HTML одинаков для всех, живое дорисовывается отдельно. Остатки — пустой слот, скрипт и микрокэш 30 секунд, обмен не сбрасывает страницы. Кнопки редактора — класс на body и отдельный скрипт.

· · ·
#PageSpeed 3 мин

defer выполняется до отрисовки: как скрипты темы держат белый экран

Скрипты с defer запускаются до первой отрисовки — слайдеры и замеры держали белый экран 2,5 секунды. Пауза в один кадр перед инициализацией: товарная 92 → 95–98, первая отрисовка 2531 → 1376 мс.

· · ·
#Кэширование 2 мин

Разметка, зависящая от куки, запекается в кэш: плашка cookie и язык

Серверная проверка куки под кэшем даёт вариант первого посетителя всем: плашка согласия у всех навсегда или ни у кого, маска телефона чужой страны. Лечение: рисовать всегда и убирать скриптом, язык — в ключ.

· · ·
#PageSpeed 5 мин

Ворота «после первой отрисовки»: один промис на всё тяжёлое ниже сгиба

Когда открывать загрузку тяжёлого: отрисовка И load, досрочно по действию, потолок 4 секунды. Две грабли, готовый код и результат: каталог 69 → 100, товарная 77–83 → 96–97 — без единого спрятанного блока.

· · ·
#Кэширование 2 мин

Прикладные куки в обходе кэша: сайт медленный у самых активных посетителей

Кука сравнения в карте обхода выключает кэш на всём сайте: главная 1,4 с вместо 0,07 с у того, кто сравнивает товары. Что можно в обход, что — в ключ, что — на клиент, и ловушка с запечённым счётчиком.

· · ·
#Кэширование 2 мин

Set-Cookie при рендере выключает кэш страницы навсегда

nginx не кэширует ответ с Set-Cookie, а обходчик приходит без кук и тоже получает куку. Счётчик просмотров и метка источника держали в кэше 25 страниц из 89 — после переноса на ajax 89 из 89. Как найти за минуту.

· · ·

$ tail -f /blog

Не пропустите новые статьи

Пишу разборы по скорости сайтов, кэшу и разработке — на живых проектах и с цифрами. Подпишитесь, и ссылка на новую статью придёт сразу после выхода. Без рекламы и спама, отписаться — в один клик.

В Telegramодна кнопка «Старт» в боте

или на почту

связаться

Расскажите о задаче