Size: a a a

WordPress Ukraine Community

2020 June 03

AB

Andrey Berezhnoy in WordPress Ukraine Community
*гивнокит
источник

AB

Andrey Berezhnoy in WordPress Ukraine Community
;D
источник

VK

Vitaliy Kulish in WordPress Ukraine Community
Andrey Berezhnoy
та гивнокод же
не соглашусь) костыльно, но рабочий) я так когда-то делал
источник

VK

Vitaliy Kulish in WordPress Ukraine Community
Ihor Vorotnov
нє, це вже 500 🙂
бля, даже сивика не хватит
источник

AB

Andrey Berezhnoy in WordPress Ukraine Community
Vitaliy Kulish
не соглашусь) костыльно, но рабочий) я так когда-то делал
а че костыльного? преконнект?
источник

A

A.M in WordPress Ukraine Community
Ihor Vorotnov
1. В functions.php завантажуєм скрипт з трекерами в футері:
function enqueue_theme_assets()
{
   wp_enqueue_script( 'trackers', THEME_ASSETS_URL . '/js/trackers.js', null, null, true );
}
add_action( 'wp_enqueue_scripts', 'enqueue_theme_assets' );

2. Даємо йому defer
fu
nction add_defer_attribute( $tag, $handle )
{
if ( is_admin() ) {
 return $tag;
}

// Script handles to defer
$defer_handles = [
 'trackers',
];

if ( in_array( $handle, $defer_handles, true ) ) {
 return str_replace( ' src', ' defer="defer" src', $tag );
}

return $tag;
}
add_filter( 'script_loader_tag', 'add_async_attribute', 10, 2 );
3
. Додаємо preconnect для зовнініх доменів, до який будуть конектитись трекери
func
tion dns_prefetch_tags( $hints, $relation_type )
{
if ($relation_type === 'preconnect') {
 $hints[] = '//www.googletagmanager.com';
 $hints[] = '//www.google-analytics.com';
 $hints[] = '//www.gstatic.com';
 $hints[] = '//connect.facebook.net';
 $hints[] = '//www.facebook.com';
}

return $hints;
}
add_filter( 'wp_resource_hints', 'dns_prefetch_tags', 10, 2 );
4.
А ось і сам скрипт з трекерами (trackers.js):
var fi
red = false;

window.addEventListener('scroll', () => {

   if (fired === false) {
       fired = true;

       setTimeout(() => {

           // Google Tag Manager
           (function (w, d, s, l, i) {
               w[l] = w[l] || [];
               w[l].push({
                   'gtm.start':
                       new Date().getTime(), event: 'gtm.js'
               });
               var f = d.getElementsByTagName(s)[0],
                   j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
               j.async = true;
               j.src =
                   'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
               f.parentNode.insertBefore(j, f);
           })(window, document, 'script', 'dataLayer', 'YOUR_PROPERY_ID');


       }, 1000)

   } // endif
});
Для п
рикладу вставлений там GTM
Если у меня получится это сделать - это будет большая удача!

Спасибо большое, попробую!
источник

IV

Ihor Vorotnov in WordPress Ukraine Community
цей код робить щасливими:
- маркетологів - всі їх трекери, ретаргетінг, вебвізори і тд буде на сайті і буде працювати,
- девелоперів - бо їм не будуть мати мізки перфомансом 3rd-party гівна
- юзерів, бо TTI, FP та навіть fully loaded будуть дуже швидкими (такими як без всіх цих скриптів)
- гугл пейдж спід та роботи іже с німі, бо вони ті маркетингові скрипти взагалі не побачать, завантажать сторінку швидко
источник

IV

Ihor Vorotnov in WordPress Ukraine Community
так, сам код звичайно трошки костильний. але сорян пацани, це вордпрес
источник

IV

Ihor Vorotnov in WordPress Ukraine Community
головне шо він робить щасливими всіх
источник

VK

Vitaliy Kulish in WordPress Ukraine Community
Ihor Vorotnov
головне шо він робить щасливими всіх
+++
источник

VK

Vitaliy Kulish in WordPress Ukraine Community
я когда-то вообще не показывал некоторые блоки для роботов) только тсссс
источник

IV

Ihor Vorotnov in WordPress Ukraine Community
Vitaliy Kulish
я когда-то вообще не показывал некоторые блоки для роботов) только тсссс
ну це не зовсім надійно, хоча теж працює часто
источник

VK

Vitaliy Kulish in WordPress Ukraine Community
Ihor Vorotnov
ну це не зовсім надійно, хоча теж працює часто
просто если спалят, то могут атата сделать
источник

IV

Ihor Vorotnov in WordPress Ukraine Community
а в даному випадку все дуже просто і чесно з точки технології - бот не скролить, тому не бачить ці інструменти
источник

IV

Ihor Vorotnov in WordPress Ukraine Community
людина скролить - для нього все завантажується
источник

IV

Ihor Vorotnov in WordPress Ukraine Community
але спочатку головне - сама сторінка і контент
источник

IV

Ihor Vorotnov in WordPress Ukraine Community
а маркетингові інструменти - другорядні, вони повинні йти потім
источник

VK

Vitaliy Kulish in WordPress Ukraine Community
схоронил код себе)
источник

IV

Ihor Vorotnov in WordPress Ukraine Community
на здоров'я 🙂
источник

IV

Ihor Vorotnov in WordPress Ukraine Community
тільки там може не бути в тебе константи
источник