Вроде так отдает заголовок правильный HTTP2 Push
function yw_server_push_font_files() { $font_src2 = plugins_url('wp-recall/assets/rcl-awesome/fonts/rcl-awesome.woff2?7jdlrg'); header( sprintf( 'Link: <%s>; rel=preload; as=font; crossorigin', esc_url($font_src2) ) , false ); } add_action('init', 'yw_server_push_font_files');
Забыл еще кусочек
// добавить <link rel="preload"> в резерв function yw_preload_font_files() { $font_src = plugins_url('wp-recall/assets/rcl-awesome/fonts/rcl-awesome.woff2?7jdlrg'); echo '<link rel="preload" href="' . $font_src . '" as="font" type="font/woff2" crossorigin>'; } add_action( 'wp_head', 'yw_preload_font_files', 10);
И наступило счастье))
Метрики в студию - до и после))
Про 1-е сообщение - поддерживаю.
Надо чтоб в итоге в html странице было так:
<link rel="preload" href="путь/rcl-awesome.woff2" as="font" type="font/woff2" crossorigin>
Все остальное - чую где-то там собака зарыта и не каждому подойдет.
Не понимаю что там дает - но нутром чую - похоже на костыль. Без обид - странная конструкция это.
А что будет если на сервере не http/2 ?
p.s. мои тайминги такие
Но там и шрифт резанный)) в 3 раза
Про не http/2 тут уже от хостинга, как повезло, но подгружаем же резерв))
Просто нет другой или пока не нашел, чего-то более внятного для заголовков, тем не менее работает и используется в каком-то плагине, правда кусок на гите нашел и подрихтовал, так толком и не понял о каком плагине речь, странный там язык в комментах, но обсуждали бурно).
Заголовки корректные, варнинги пропали вот скрин
Вроде все работает, будем посмотреть 🙂
Ловлю все милисикунды и все, что можно, с кучей сторонних приблуд(контекст, лишние метрики...) все важно.
Владимир (Otshelnik-Fm) сказал(а)
Не понимаю для чего это нужно и что это дает. браузеры и так кешировать умеют - без лишних телодвижений. Зачем увеличивать еще длину заголовков и гонять их в каждом запросе - мне не понятно
Так вопрос то о предзагрузке, в общем быстрее обмен данными идет, в этом идея.
Лан, потом может отпишу мысли, пока меня все устраивает, да и просто, что бы не стоять на месте, пробовать все использовать новое. Особенно исчезновения тормозов по тестам относящихся к этому вопросу)
Владимир (Otshelnik-Fm) сказал(а)
а метрики так и не дал))
Да вчера уже сил не было, меня просто вывел вопрос по нехватке инфы с этим протоколом))
Сегодня, как разгребусь сделаю, постараюсь не забыть. Но суть в том, что под 2 сек. каждый шрифт выдавал в гуглометре. Сейчас этого варнинга просто нет.
Что-то не так в королевстве шрифтов))
На тестовом разбираюсь. Владимир, твой способ отличный по шрифтам, но пока хочу разобраться с общей картиной, уж больно долго они грузятся.
скрин с отключенными шрифтами
Скрин с подключенными шрифтами
В подключенными перезагрузка страницы дает конечно разные варианты, но все они в пределах скрина. Скорость естественно падает в общем.
В общем, предзагрузка решает все проблемы по любому, выше ее привел.
Только исключить из админки в выше коде:
add_action('init', 'yw_server_push_font_files');
Кстати, в нее можно засунуть и шрифты шаблона и все, что необходимо.
🙂
Андрей CS сказал(а)
Может мне кто-нибудь объяснить, а зачем это все надо? Посмотрел, шрифты загружаются из кеша всегда, на что это может влиять?
ну типо браузер начинает загрузку шрифта с preload еще до отрисовки страницы, таким образом рисовка не блокируется и при первом открытии страница отобразится на пару наносекунд быстрее. Я так понял
По идее при первой. Потом берет из кеша мгновенно.
Я тут сейчас на gt metrix шрифт roboto с своего сайта погонял.
$main_font_url = COWABUNGA_URL . 'assets/fonts/roboto-custom-400.woff2?ver=' . CWB_VERSION;
Так:
$link = '<link href="' . $main_font_url . '" >';
получилось вот что:
А по рекомендациям:
$link = '<link rel="preload" href="' . $main_font_url . '" as="font" type="font/woff2" crossorigin>';
вот:
как видим - разницы нет вообще. Как загружал его 9-м по счету - так и загружает.
В общем да - хз что в реальности это дает. Я не увидел. Попугаев в пейджспиде даёт. В gtmetrix - я не вижу разницы.
В общем, оставим на тех кому пригодится, решение есть и предупреждение в пейдже по скорости пропадают. Значит уже не влияют на скорость, особенно на не пустых сайтах, где еще масса чего грузится)
Влияет или не влияет пейдж и все такое на позиции, не лучшая тема для обсуждения 🙂
Владимир (Otshelnik-Fm) сказал(а)
В gtmetrix - я не вижу разницы.
Когда они наконец сподобятся обновить свои проверялки под новый пейдж, тогда и появится)
Андрей CS сказал(а)
эффект моргания при первой загрузке или последующих тоже?
Просто нет задержки в загрузки страницы, не про моргание в основном.
ну если пошел холивар про пейдж...
Почему они ни гугол ни ютуб не смотрят в своем инструменте? Советы дают - а сами как от пасынка отрекаются.
Я пейджспид смотрю иногда фана ради - ну похоливарить сайты на эле(матьего)менторе - но без фанатизма. Ну кажет он там что-то.
Все же правильно 20/80 правило. И как показала практика - напрасно он советует. Ну потратил я часок на эксперименты с ним вновь - а толков нету. Мог бы в полезное русло пустить потраченное время - темболее после нововведений реколл - есть куда время потратить.
Без обид - но сервис себя дискредитировал.
Маленький пример.
Заморочился я с оптимизацией amp, реально дорогие плагины(аддоны к плагину) для кеширования правильного. В общем шел по пейджу. В итоге, траф на amp начал расти и не просто медленно, а реально уже не в сотнях. Совпадение, нет, не считаю так. Думаю не будет хуже и остальное подтянуть. Хотя уже комп не так важен, остается под мобилы, хотя и тут уже не очень понятно их судьба, в плане турбо отрабатывает и амп. Гугл вскоре переведет все сайты на Mobile First 🙂
Хотя все это лирика и от личного желания заморочится идет))
Владимир (Otshelnik-Fm) сказал(а)
Почему они ни гугол ни ютуб не смотрят в своем инструменте?
Так там все настолько оптимизировано, что работать будет и на утюге, просто подключается масса чего для каждого устройства. Им просто это не надо) Но вот для сайтов не гугловских, оно надо, так как ты не заморочаешься, кто-то другой по любому себе сделает что-то, что тебя просто выкинет на следующую страницу)
Владимир (Otshelnik-Fm) сказал(а)
Без обид - но сервис себя дискредитировал.
Так мне то зачем обижаться, гуглометор не мой, я просто под него подстраиваюсь, точнее пытаюсь держать боле менее. Но конечно со всякими контекстами и счетчиками, это мего сложно)