Как накручивают 100 баллов на Google PageSpeed

Привет. В статье «23 заблуждения про скорость загрузки твоего сайта» я упоминал о возможном обмане PageSpeed и способах разоблачить такое «ускорение» сайта.

Мы даём бесплатные рекомендации для ускорения загрузки. И каждый день обрабатываем в ручном режиме десятки сайтов. Чего только не прилетает!

На этом сайте было всё хорошо, нет, даже отлично, с первого взгляда. При замере через Google PageSpeed показатели не идеальные, но 96/100 на мобильной версии и 98/100 ПК.

При замере на Loading.express — 7/10. Сайт почти идеален по всем параметрам. Время загрузки 1,6 секунд — очень быстро!

​Замер из loading.express

Замер через Webpagetest ломается. На GTmetrix показывает больше 20 секунд, но на графиках загрузки ресурсов видно время около 8 секунд.

замер из Webpagetest​ с ошибкой
​Замер из GTmetrix

Если учесть у оценки GTmetrix, что он выполняет «Яндекс.Метрику» 17 секунд, то его замер тоже в порядке!

Обычно в таких рекомендациях мы пишем, что сайт почти идеален, осталось только включить серверный пуш и пушить, ну или что-то подобное, что актуально в данной ситуации.

Дратути — я бот PageSpeed

Что под капотом такого фейкового «ускорения» и как понять, что это подделка.

Если PageSpeed бот (lighthouse) открывает сайт, то он видит это код:

<html> <head> <title>arsagro</title> <style> body { background: url(/image/templates/mob.jpg); background-size: cover; } </style> <link href="catalog/view/theme/revolution/stylesheet/stylesheet_min.css" rel="stylesheet"> <style> #top2 .search {margin-top: 22px;} #top2 #logo {margin-top: 8px;} </style> <link href="/catalog/view/theme/default/stylesheet/blog/module.min.css" type="text/css" rel="stylesheet" media="screen" /> <script src="/catalog/view/javascript/jquery/jquery-2.1.1.min.js"></script> <script src="/catalog/view/javascript/jquery/owl-carousel/owl.carousel.min.js"></script> <script src="/catalog/view/javascript/revolution/javascript_min.js"></script> </head> <body> </body> </html>

Если открыть исходный код сайта, представившись lighthouse, то мы увидим такую картину.

Вот сам скрипт, который подсовывает другую версию страницы только для PageSpeed (lighthouse):

<?php if(strpos($_SERVER['HTTP_USER_AGENT'],'Chrome-Lighthouse')):?> Фейковая страница со скриншотом <?php exit(); endif;?> Далее обычный код index.php

Как обмануть Google PageSpeed

Автор этого «ускорения» сайта не стал привлекать слишком много внимания к блестящим результатам работ и слегка утяжелил скриншот сайта, который и видят все системы замеров, вместо самого сайта.

То есть вместо сайта открывается совсем другая версия главной страницы, которая абсолютно пустая.

Ничего, кроме одной картинки — скриншота вашего сайта!

В успешных аудитах от Google PageSpeed так и написано — ноль элементов структуры DOM, чего быть у настоящего сайта не может:

​фантастические показатели из подставной страницы для ПейджСпид

Как теперь проверить моё ускорение сайта

  • Если вам ускорили медленный сайт за сумму до 10 тысяч рублей и показатели PageSpeed больше 90 по мобильной версии, а loading.express показывает больше 7 баллов, то пожалуйста, проверьте ваш сайт с хорошими специалистами по ускорению сайтов, найдите компанию, а не фрилансера и закажите аудит-проверку результата ускорения сайта.
  • Сделайте замер внутренней страницы и посмотрите на скриншот. Если особо не парились, то у вас будет скриншот главной страницы, на замере от внутренней. Как и в нами описываемом случае.
  • Следите за показателем DOM — он не может быть 0. Это точно не сайт. Остальные значения этого показателя надо проверять со специалистами.
  • Смените картинку на проверяемой странице сайта, которая есть в первом экране и сделайте замер заново. Если картинка не сменилась на скриншоте замера — зовите специалиста.
  • Поисковый трафик из Google резко упал. И это значит, что Google заметил обман и решительно против таких методов.

Подарок судьбы для всех экономных прямо здесь и сейчас

Обойти Google PageSpeed Insights проще простого, но чревато...

Мы решили сэкономить ваши последние деньги, которые вы отдаете за ускорение своего сайта. И если вас устраивает такое «ускорение» сайта, то пользуйтесь бесплатным сервисом для обмана Google PageSpeed.

Сразу важно знать, что за такие махинации — можно поймать фильтр/бан/черный список/санкции от Google для вашего сайта. Так что если вам ускорили сайт и пропали посетители из Google, то вы на скользкой дорожке. Мы не рекомендуем делать такое ускорение!

Итак, сервис, который сделает всё за вас и показатели Google PageSpeed всегда будут зелеными:

Если не хотите уходить с этой отличной статьи, то держите наш хитрый код прямо здесь:

<?php if(strpos($_SERVER['HTTP_USER_AGENT'],'Chrome-Lighthouse')): $url=preg_replace(array('/\/$/i','/\//i'),array('','!'),$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);echo '<!doctype html><html lang="ru"><head><title>FakePagespeed</title><meta charset="utf-8"><meta name="viewport" content="width=device-width"><style>*{padding:0;margin:0}body{background-image:url(https://fake-speed.loading.express/screen/'.$url.'-412x660-cropped.webp);background-size:cover}@media screen and (min-width:600px){body{background-image:url(https://fake-speed.loading.express/screen/'.$url.'-1350x940-cropped.webp)}}</style></head><body></body></html>';exit();endif;?>

Просто вставь эту строчку кода в самое начало файла index.php в корне своего сайта и наслаждайся самообманом. За несколько ретестов показатели по PageSpeed будут 100 из 100. Безопасность кода гарантирую лично.

Скриншоты генерируются для каждой страницы каждый день новые и в формате webp. Дополнительно кешируются на год, чтобы у Google PageSpeed не было шансов найти что-то, снижающее показатель.

Задавайте вопросы в комментариях, в личных сообщениях. Предлагайте улучшения для «супер сервиса». До встречи!

Еще статьи по теме скорости сайтов:

0
195 комментариев
Написать комментарий...
Avdotii Pedishnii

Это вообще похоже на какой-то заговор... Я про янд-метрику.

Мой лайф-хак: пункт в ТЗ - проверка результатов оптимизации проводится с временным отключением я-метрики. И никакого жульничества)))

Ответить
Развернуть ветку
Алексей из LOADING.express
Автор

Это время ошибочно воспринимается как "Тяжелая Яндекс Метрика", но это не корректно.
Любой мог быть на этом месте.
Просто есть поток. Есть перегруз. Метрика выполняется считанные миллисекунды, если выполняется в потоке в правильном месте и время.
Откладывать выполнение метрики не проблема же. Просто через 2-5 секунд начинает выполняться и готово. Запросите консультацию у нас  —  подскажем.

Ответить
Развернуть ветку
Avdotii Pedishnii

Я конечно же не имел ввиду 1888 миллисекунд, я имел ввиду, что убирая метрику, моментально добавляется 10-15 и даже для некоторых сайтов все 30 баллов и наоборот.

Если ускорять САЙТ, то ускорять оный, метрика - стороннее сырое поделие.

Ответить
Развернуть ветку
Алексей из LOADING.express
Автор

метрика не выполнялась 1888 мс, я про это и писал. Дело в том, что есть поток загрузки. И если неправильно его распределить, то вначале будет ад.
И то что на метрику падает самый напряженный момент выполнения, когда процессор занят другими делами  —  не вина метрики. 
Её можно не убирать. Вообще никакую аналитику не надо убирать и получать зеленую зону от 90. Просто поток распределить правильно. Мы об этом рассказываем в эфирах в ПН и ПТ.

Ответить
Развернуть ветку
Nikita Spivak

по подробнее почитать или посмотреть было бы интересно.

Ответить
Развернуть ветку
Алексей из LOADING.express
Автор

Можете придти в наши проведённые эфиры или в любой живой в ПН-ПТ в 20:00 по МСК. https://www.youtube.com/playlist?list=PLvlLv5O7oQiAcGWbxe4awgggp6opvnSpK

Ответить
Развернуть ветку
Nikita Spivak

Согласно вашим метрикам у нас сайт почти топовый 9/10
Но pagespeed ругается на TTI, FID и First CPU Idle. Уже не говоря про кеширование внешних файлов (не очень хорошее решение через Cron).

Так вот если отложить выполнение скриптов метрики или удалить ее вовсе - будет почти 100%, но будем терять точность статистики (показатель отказов, поведенческие факторы).

А что вы подразумеваете под распределением потока?

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

Ответить
Развернуть ветку
Алексей из LOADING.express
Автор

Смотрите, что вам надо сделать для зеленой зоны PageSpeed:

1. Обьединить css и подгружать асинхронно. Стили для первого экрана прописать инлайн.
2. Флаги переделать на svg спрайт или прямо инлайн.
3. Отложить сторонние скрипты.
4. Пушить критически важные CSS и JS файлы и файлы шрифтов.

Можем оказать консультации для вашего отдела разработки.
Пишите тут в личные или в телеграм @axdigital.

Ответить
Развернуть ветку
Nikita Spivak

Так нет вопросов со скоростью отрисовки - проблема в скорости выполнения JS.

Если убирать все метрики - получим 90/100, если не ошибаюсь. И цели добиться 100/100 путем усложнения работы с сайтом - нет.

1) CSS и так все в одном мин. файле. Прописывать инлайн в шапке - каждая страница имеет свою шапку - тут нужно тогда как-то изощряться.

2) флаги можно переделать, но это капля в море.

3) каким образом? Повесить их на событие взаимодействия? Не будет ли это баговать на мобилках например? На скрол? Потеряем часть ДО скролла. Да и в целом это же статистика, можем увеличить показатель отказа - а это не круто для SEO.

4) что значит пушить?

Спасибо, нам консультация не нужна, можем вас проконсультировать))) тут речь про нахождение решения нормального, т.к. в каждом из случаев есть свои минусы которые больше чем профит от 100/100

Ответить
Развернуть ветку
Алексей из LOADING.express
Автор

А кто говорит про отрисовку?
Проблема одна не бывает. Я вам описал, что вам надо сделать в комплексе в консультации выше.

1. Это обычная практика.
2. Капля, согласен. Но это надо сделать.
3. Отложить по времени начала выполнения от загрузки. Как отложенная загрузка картинок, только шрифты откладываем по времени. Ничего сложного. И конечно не на событие, ни в коем случае. Просто по времени.
4. Пушить это... есть такая штуковина. Но вы написали, что сами можете проконсультировать меня и нашу команду инженеров? 

И речь совсем не про 100/100. Речь про то, что у вас время до взаимодействия большое и FID. Сделайте 4 рекомендации и у вас будет сотка.

Надо ЧСВ выключить и обратиться к профильным узконаправленным спецам, то есть к нам. Прокачаться в теме производительности сайтов. Делать себе и своим клиентам быстрые сайты.
А не вот это всё.))

Ответить
Развернуть ветку
Nikita Spivak

Вот собственно ситуация с Facebook Pixel, который не минифицирован и не оптимизирован.

То есть даже если мы минимизируем работу своих скриптов и стилей и вырежем все и вверху подключим только те скрипты и стили которые нужны или отложим выполнение скриптов - все-равно бОльшая часть скриптов будет тянуть вниз.

Руководство: https://web.dev/optimize-fid/

Ответить
Развернуть ветку
Алексей из LOADING.express
Автор

Никита, спасибо вам за вашу тактичность и настойчивость. Я не хотел как-то грубо отвечать или чтобы как-то негативно воспринимались мои комментарии.

Тут дело в том, что да. Есть проект loading.express и да, мы в нём занимаемся только тем, что делаем сайты быстрыми по скорости загрузки.

И да, это коммерция. Причем, чек у нас очень высокий, потому что мы работаем по договору, даем гарантии и подключаем сайт на собственный мониторинг скорости из разных городов, замеряя более 10 параметров каждые 15 минут или чаще. 

И да, мы даем консультации в рамках заказа рекомендаций с сайта.

Я вам как раз эту консультацию и оказал выше и это всё, чем я смогу помочь для вас, потому что консультации вы и не просили, и писали что сами отконсультируете кого угодно. Я же не против!

Наоборот, всегда рад, если есть хорошие спецы, которые могут доступно рассказать и научить меня чему-то новому. Это же круто - учиться.

Но вы в правильном направлении копаете, справка web.dev и правда содержит полезную и необходимую информацию. Не всю, но бОльшую часть.

P.S. Откладывать шрифты надо конечно грамотно. И да, то как вы ниже привели - лучший способ это сделать.

P.P.S. Пушить - попробуйте гуглить на английском языке, потому что в России пушить умет человек 100 всего и никто про это особо не пишет, потому что некогда. Пушат. =)

Ответить
Развернуть ветку
Nikita Spivak

Просто моя цель - хотя бы в узком кругу спецов, на вот таких форумах и ресурсах, в процессе дискуссии, приходить к решениям, а не продавать.

Для таких целей конечно создают конференции, но оффлайн сейчас немного мертв, так что использую возможные источники.

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

А вот показать свой профессионализм и опыт, на который могут, в теории, обратить внимание - можно.

В обмене опытом в данном случае нет ничего страшного, особенно когда не все так очевидно, и по факту решения окончательного и беспроигрышного никто не знает.

По поводу «пушить», спасибо, я только в буржуйском нете все и ищу, потому что наши умельцы на stackoverflow такое напишут, что на голову не налезет. А мой уровень английского позволяет это легко делать.

Но проблема в том что и в нем инфы я не нашел. Вот и решил уточнить.

А минусовать комментарии с которыми вы согласны в своем следующем комментарии это вообще как-то странно.

Ответить
Развернуть ветку
Prime

А я вот реальный клиент и читаю комментарии, чтобы разобраться что делать и какими средствами ) Такое впечатление, что на фриланс сайтах и здесь сидят совершенно разные люди )))

Ответить
Развернуть ветку
192 комментария
Раскрывать всегда