Карта от Google и pagespeed.

Аватар пользователя VasyOK VasyOK 11 ноября в 15:43

Есть сайт на D7 https://legalcompany.com.ua
Внизу карта от Google.

Сильно влияет на pagespeed. С этим можно что-то сделать?
Слышал, что можно сгенерировать статическую карту но это нужен платный АПИ ключ.
Еще есть варианты?

Комментарии

Аватар пользователя ivnish ivnish 11 ноября в 15:47
1

Многие не согласны с этим способом, но попробуй сделать отложенную на пару секунд загрузку карты.

Аватар пользователя adano adano 11 ноября в 18:11

loading="lazy" добавь к iframe и всё...
И радуйся циферкам в пейджспид, тем более, она у тебя внизу.

Аватар пользователя adano adano 11 ноября в 18:58

Так у него и нормально всё с картой по лайтхаусу... Пейджспид только тупит.

Или сам Васёк че-то чудит с сайтом в это время.

Аватар пользователя marassa marassa 11 ноября в 18:53

Напрашивается конечно более радикальный вопрос: на кой черт вообще нужна карта на главной странице? На странице Контакты она есть, и этого достаточно.

Аватар пользователя ivnish ivnish 11 ноября в 19:02

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

Аватар пользователя adano adano 11 ноября в 19:02

Про Гугл не скажу, но в Я.Карте, "звонок, как добраться, вызвать такси" очень неплохо в конверсию переходит. Как раз с главной.

Аватар пользователя VasyOK VasyOK 11 ноября в 20:40

Просто картинку - да вариант, хотя и туповатый.

Javascript setTimeout - загрузить блок через JS? А че так можно?

Аватар пользователя ivnish ivnish 11 ноября в 20:49

VasyOK wrote: хотя и туповатый.

В чем именно тупость?

VasyOK wrote: загрузить блок через JS? А че так можно?

Зависит от того, как карта выводится. setTimeout подходит в случаях, когда JS код например в пользовательском блоке

Аватар пользователя marassa marassa 11 ноября в 21:11

ivnish wrote: Зависит от того, как карта выводится

Там iframe... По идее наверное можно сначала прописать в iframe заглушку, а через таймаут сменить src на адрес карты.

Аватар пользователя VasyOK VasyOK 11 ноября в 22:27

Спасибо 🤝.
В коде блока оставил
iframe без src т.е.
<iframe width="100%" height="300" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
Поставил такой скрипт:

 window.setTimeout(function() {
                $("#block-block-42 iframe").attr('src', 'https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d10159.566544731742!...');
            }, 3000);

Щас попробую src подставлять, когда элемент на экране появляется. Название библиотеки вспоминаю Smile

Аватар пользователя VasyOK VasyOK 12 ноября в 16:28

Tсли в примере выще поставить не 3000, а 5000 - page speed +5 баллов дает.

Сейчас сделал так:
1. Подключил js файл отсюда https://github.com/bas2k/jquery.appear/
2.

 $("#block-block-42").appear(function() {
                $("#block-block-42 iframe").attr('src', 'https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d10159.566544731742!...');
            });

Скорость приемлима.

Аватар пользователя ivnish ivnish 12 ноября в 16:30

То есть вместо задержки использовал либу jquery.appear ? И как изменился pagespeed?

Аватар пользователя VasyOK VasyOK 12 ноября в 17:00

Чтобы не плодить дополнительные темы, хочу задать еще вопрос специалистам по PageSpeed:
А что делать с кодом google analytics?

Сейчас такой код на сайт поставлен

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-97471480-1', 'auto');
  ga('send', 'pageview');

</script>

Его отключение дает +8 баллов. С ним можно что-то сделать?