Hotjar ładowany tylko dla jednej podstrony WP
4.9 (98%) 10 ocen

Hotjar ładowany tylko dla jednej podstrony WP

Witam.
Posiadam stronę na WP i korzystam na niej z Google Analyticsa.
Kod Analyticsa mam wklejony w plik header.php mojej skórki (którą kiedyś robiła dla mnie agencja marketingowa i nie mam z nią już kontaktu ani wsparcia od nich). Potrzebuję skorzystać z narzędzia Hotjar (dokładnie z funkcji mapy ciepła) i wygenerowałem tam kod, następnie mam instrukcję żeby wrzucić go w head strony (co u mnie jest w pliku header.php). Tylko że plik header.php jest dołączany do wszystkich stron a mapa ciepła potrzebna mi jest dla jednej podstrony. Gdy wrzucam w header.php mam to generowane wszędzie a to obciąża mi cały serwis. Jest od tego jakaś wtyczka? Pomoże ktoś?

Przypięta odpowiedź

Tak, Hotjar ma oficjalną wtyczkę do WP i być może jest tam opcja włączenia tego tak jak chcesz, ale skoro nie chcesz obciążać serwisu to zrób to inaczej.
Widzę że wiesz za co odpowiada plik header.php to zapewne też wiesz za co plik functions.php. Dopisz tam po prostu kod, który załaduje Ci kod Hotjara tylko na wybranej podstronie.
Możesz się złapać ID strony, kategorii czy jakieś klasy.
Spójrz na taki przykład:

add_filter('wp_head','custom_hotjar');
function custom_hotjar() {
    if(is_home()): ?>
    <!-- Twój kod do mapy hotjar -->
    <script>
        (function(h,o,t,j,a,r){
            h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
            h._hjSettings={hjid:xxx,hjsv:xxx};
            a=o.getElementsByTagName('head')[0];
            r=o.createElement('script');r.async=1;
            r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
            a.appendChild(r);
        })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
    </script>
<?php endif;
}

Tutaj dodany jest filtr, dzięki któremu kod po komentarzu będzie dodany do head tylko na stronie głównej.
Jeśli chcesz, możesz się łapać ID strony lub postu (domyślam się po Twojej znajomości plików motywu, że wiesz jak to znaleźć) i wtedy w ifie zmieniasz z is(home()): na:

if(is_page(2)):

Teraz podepniesz mapę Hotjara tylko na stronę/post o ID 2.
Generalnie takie filtry nie służą tylko do podpięcia kodu Hotjara, tylko do wsadzenia i wykonania dowolnego kodu w head strony na WP.
Powodzenia 🙂

4
Dodaj komentarz

avatar
najnowszy najstarszy
Jura
Jura

Stronę główną też można złapać po ID, poza tym zawsze można już w pliku header.php zrobić ifa..
Aczkolwiek zgodnie ze sztuką funkcje powinny być w functions.php.
Btw. sprytny, prosty sposób, dobra robota

Jurek
Jurek

Sposób dobry, ale do autora postu mam taką uwagę. Zobacz sobie jak bardzo Twoja podstrona będzie obciążona przez heat mapę. Jakiś czas temu chciałem skorzystać z tego rozwiązania i przetestowałem mapy ciepła w kilku narzędziach m.in w Hotjarze i Yandexie. Wyniki z page insighta i gtmetrixa tragedia. Pomijając fakt, że za każdym razem inne (bo takie rozwiązania jak heat mapa mają to do siebie, że raz się załadują w 2 sekundy a raz w 4) to znacząco spowolniły działanie strony. To jest skórka za wyprawkę, fajne rozwiązanie kosztem optymalizacji :/

Jurq
Jurq

Raz w 2 raz w 4? Chyba w 40 😀 Rozwiązania porażka -> tak dociskają stronkę że szybciej je się wywala niż instaluje 🙂

Xawi
Xawi

Dlatego warto wspomnieć o narzędziu Crazy Egg, które daje więcej możliwości niż Hotjar czy Yandex a jest sporo lżejsze 🙂

Ta strona korzysta z ciasteczek. Więcej informacji

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close