Как не дать Google Ads замедлить работу моего сайта (особенно мобильного)? - PullRequest
0 голосов
/ 30 ноября 2018

Я знаю, что многие веб-мастера считают, что скорость страницы ничего не значит.Тем не менее, я уверен, что этот фактор является одним из ТОП-3 в решении Google о ранжировании любого веб-сайта.

Мне надоело видеть, как собственные сервисы Google замедляют мои страницы.Я пишу чистый код.Когда я запускал любой веб-сайт / приложение, он получал оценку «А» в GTMetrix и Pingdom и 100/100 на Google Page Speed ​​(для мобильных устройств).Как правило, объявления Google не наносят вреда настольной версии.

Однако, как только я добавляю хотя бы одну рекламу Google, мой рейтинг падает до «C» и 60-67 / 100 (для мобильных устройств).

Конечно, можно сказать, что Page Speed ​​не является фактором ранжирования SEO.Хорошо, для NYT, WSJ, Bustle, HuffPost и т. Д. Может быть.Но для любого нового веб-сайта скорость является решающим фактором.

Несправедливость заключается в том, что Google указывает на свои собственные сервисы, которые замедляют мои (и ваши) проекты, такие как:

Там6 статических компонентов без даты истечения срока давностивремя:

/pagead/ads?client=…(googleads.g.doubleclick.net)
/pagead/ads?client=…(googleads.g.doubleclick.net)
…js/adsbygoogle.js(pagead2.googlesyndication.com)
…r20100101/osd.js(pagead2.googlesyndication.com)
…r20180604/show_ads_impl.js(pagead2.googlesyndication.com)
…activeview/osd_listener.js(tpc.googlesyndication.com)

и т. д. и т. д. и т. п.

Я знаю, что не могу редактировать код на их стороне.Но, может быть, есть какой-то способ отложить рекламу Google или сделать какую-то другую хитрость, чтобы уменьшить вред от собственных служб Google?По крайней мере, есть кто-то, кто набрал 100/100 баллов на Google Page Speed ​​(для мобильных устройств) с 2-3 объявлениями Google на странице?

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Я особенно замечаю fonts.googleapis.com на многих сайтах, которые зависают при загрузке страницы до 10+ секунд.Это очень раздражает, потому что мой блокировщик рекламы uBlock Origin не блокирует это.

Некоторые вещи, которые вы можете сделать, это разместить контент на ваших собственных серверах (шрифты, JQuery), но тогда люди не будут кэшировать их.для часто используемых библиотек.(Вероятно, у всех есть последняя версия JQuery в своем кеше уже из CDN, потому что все веб-сайты используют его.) Вы можете попробовать для размещения рекламных сценариев, но Google, вероятно, часто их изменяет или включает хэшдля каждого уникального пользователя, который сделал бы это невозможным.Если они не уникальны для каждого пользователя, вам может потребоваться их частое обновление в фоновом режиме, возможно, каждый час или день.Не уверены.

Кроме того, разместите теги <script> внизу страницы, даже после </body>, но до </html>.Это будет загружать сценарии последними и загружать объявления последними.

Еще одна вещь, которую вы можете сделать, это разместить функцию JQuery $(document).ready() {...} для вставки тегов объявления <script> и <iframe> (?) В соответствующие места после после загрузки документа,Тогда они не будут учитываться при загрузке вашей страницы.Используйте заполнитель <div class="ad"></div>.

0 голосов
/ 03 декабря 2018

Недавно я провел несколько тестов и более подробно рассмотрел эти проблемы.Так что имейте какое-то решение и рекомендации, связанные с этим.

Основная цель - , чтобы минимизировать влияние на скорость вашего сайта и переместить все сценарии конверсии и сторонних разработчиков, например, на более низкую приоритетную нагрузку.добавьте их в нижний колонтитул, а не в голову, как предлагают все эти сервисы.Вы не потеряете много времени для загрузки этих сценариев с более низким приоритетом с точки зрения отслеживания и анализа.Возможно, вы немного увеличите вероятность того, что некоторые конверсии не будут отслеживаться и будут пропущены в ваших отчетах, но в то же время вы улучшите скорость сайта для всех пользователей.Исключением будет держать Google Analytics или Google Tag Manager в голове, поскольку это может иметь более высокий приоритет и быть важным с точки зрения функциональности и отслеживания.

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

Мой рекомендуемый метод управления всеми этими третьими сторонамиСценарии - это использование диспетчера тегов Google и управление всеми этими тегами.

Как оптимизировать скорость сайта при использовании сторонних сценариев с Диспетчером тегов Google:

  1. Приоритетность загрузки всех сценариеви упорядочить их по приоритетам

Используйте триггер просмотра страниц Google Tag Manager для запуска тегов при загрузке страниц в веб-браузерах.Существует три типа триггеров, которые отслеживают события загрузки страницы, и у каждого типа есть немного разные критерии, чтобы определить, когда триггер должен запускать тег:

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

DOM Ready: срабатывает после того, как браузер завершил создание полной страницы в HTML, и объектная модель документа (DOM) готова для анализа.Теги на основе просмотра страниц, которые взаимодействуют с DOM для заполнения переменных, должны использовать этот тип триггера, чтобы гарантировать, что правильные значения доступны для диспетчера тегов.

Window Loaded: срабатывает после полной загрузки страницы, включая любые встроенные ресурсытакие как изображения и сценарии.

Чтобы создать новый триггер просмотра страницы:

  1. Нажмите Триггеры, а затем Новый.
  2. Нажмите Конфигурация триггера и выберите тип триггера просмотра страницы.
  3. Необязательно, но рекомендуется для повышения производительности. Укажите условия (обычно шаблон URL) для страниц, на которых ожидается клик:

    • Под заголовком «Этот триггервключает », выберите« Некоторые события ».
    • В разделе« Запустить этот триггер, когда происходит событие, и все эти условия выполняются », добавьте фильтр, чтобы включить этот триггер только на тех страницах, где он требуется, например, нажмитеURL содержит /path/to/promo.
  4. Сохраните триггер и опубликуйте.

Источник: https://support.google.com/tagmanager/answer/7679319?hl=en

Я рекомендовал использовать триггер просмотра страницы только для самых важных тегов, например, Google Analytics.Для всех остальных тегов вы должны использовать как минимум DOM Ready или, что более вероятно, триггеры Page Loaded.Использование триггера Page Loaded даст меньшее влияние на скорость вашего сайта для всех этих сторонних тегов, но вы увеличите вероятность того, что некоторые конверсии не будут отслеживаться, если пользователи закрывают страницу «Спасибо» раньше, чем загружается скрипт отслеживания..

Иногда сценарии, такие как HotJar или аналогичные сценарии тепловых карт, также следует использовать со сценарием просмотра страницы, чтобы повысить точность этих аналитических данных.

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

Просмотрите и при необходимости обновите сценарии.

Вы должны просмотреть, изменить или поставить на паузу теги, которые вы не используете, или у этих сторонних инструментов нет активных кампаний.

Использовать подсказки ресурсов: предварительная выборка DNS и / или предварительное подключение

Кроме того, вы должны использовать эти подсказки ресурсов для всех ваших сторонних ресурсов, загружаемых из другого домена.Поскольку оба не поддерживаются для одних и тех же браузеров, я бы порекомендовал использовать оба из них.

Короче говоря, вы должны использовать их для всех доменов, упомянутых в разделе «Уменьшение числа поисков DNS».

Кодто, что вы должны добавить на голову, должно выглядеть так:

<!-- Prefetch DNS for external assets -->
 <link rel="dns-prefetch" href="//fonts.googleapis.com">
 <link rel="dns-prefetch" href="//www.google-analytics.com">
 <link rel="dns-prefetch" href="//cdn.domain.com">

<!-- Preconnect for external assets -->
 <link rel="preconnect" href="//fonts.googleapis.com" crossorigin>
 <link rel="preconnect" href="//www.google-analytics.com" crossorigin>
 <link rel="preconnect" href="//cdn.domain.com" crossorigin>
...