Jak dodać statystyki Google Analytics do WordPressa? – Poznaj 4 proste sposoby
Statystyki odwiedzin to jeden z ważniejszych elementów, o którego implementację powinniśmy zatroszczyć się już na początku naszej przygody z blogowaniem. Praktycznie wszyscy usługodawcy hostingowi oferują nam dostęp do podstawowych statystyk naszego konta (czy konkretnych domen), ale od lat prym w tej kwestii wiedzie darmowa usługa od Google. To właśnie umiejętne posługiwanie się Google Analytics w połączeniu ze znajomością Google Search Console (dawne Google Webmaster Tools) dają nam ogrom informacji o osobach odwiedzających nasz serwis i pomagają wybrać odpowiednią strategię. Znajomość tych narzędzi może się zatem okazać przydatna nie tylko dla naszych własnych korzyści, ale być może przyda się również w przyszłej pracy – w końcu każda firma działająca w Internecie nie może się bez nich obejść.
Wspomniane usługi dają nam mnóstwo informacji o użytkownikach odwiedzających naszą stronę. Dzięki nim możemy nie tylko sprawdzić ilości odsłon danej podstrony czy słowa kluczowe z jakich trafia się na naszą witrynę, ale również – skąd pochodzą użytkownicy, ile przebywali na stronie, z jakiego sprzętu korzystali oraz przede wszystkim co robili (polecam również serwisy capturly.com i mouseflow.com). Te wszystkie informacje mogą okazać się pomocne przy optymalizacji naszego bloga. Dzisiaj chciałbym Wam pokazać jak najprościej dodać statystyki Google Analytics do serwisów opartych na platformie WordPress. Integracja opiera się w zasadzie na jednej prostej rzeczy – umieszczeniu specjalnego skryptu w kodzie naszej witryny. Można to zrobić na kilka sposobów, a najważniejsze z nich zaprezentowałem poniżej.
1. Dodanie kodu śledzącego do nagłówka strony
Zakładam oczywiście, że macie już założone konto Google Analytics i wygenerowany kod śledzący z identyfikatorem Waszej strony. Jeśli nie, to znajdziecie go w panelu GA w zakładkach: Administracja –> Usługa (np. witryna lub aplikacja) –> Informacje o śledzeniu –> Kod śledzenia. Przykładowy kod śledzący wygląda następująco:
<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-XXXXXXXX-X', 'auto');
ga('send', 'pageview');
</script>
Teraz w panelu WordPress naszej strony wchodzimy kolejno do: Wygląd –> Edytor i po prawej stronie znajdujemy plik o nazwie Nagłówek motywu (header.php), następnie wygenerowany w panelu Google Analytics kod wklejamy bezpośrednio przed zamykającym tagiem </head> i klikamy na dole „Zaktualizuj plik”.
Taki sposób implementacji kodu jest w zasadzie najprostszy i najszybszy, jest jednak jeden zasadniczy problem – w wypadku aktualizacji motywu lub jego zmiany, trzeba będzie wkleić go ponownie. Niestety w tym wypadku trzeba mieć to na uwadze.
2. Dodanie kodu śledzącego do funkcji motywu
Tutaj sytuacja jest w zasadzie analogiczna jak powyżej, z tym że kod dodajemy do pliku Funkcje motywu (functions.php), a dokładnie doklejamy go na jego końcu. Plusem tego rozwiązania jest to, że możemy przy okazji dodać kilka modyfikacji – jak np. opcję wyświetlania kodu śledzącego tylko dla osób niezalogowanych w panelu WP. W praktyce oznacza to tyle, że statystyki nie wezmą pod uwagę np. administratorów witryny (kod się po prostu nie wyświetli). Dodam tylko, że jeśli mamy stałe IP to sprawa jest o wiele prostsza, bo wystarczy wykluczyć je w opcjach samego Google Analytics.
function add_analytics_script() {
if ( ! is_user_logged_in() ) {
?>
<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-XXXXXXXX-X', 'auto');
ga('send', 'pageview');
</script>
<?php
}
}
add_action( 'wp_head', 'add_analytics_script', 99 );
Powyższy kod uzupełniony o identyfikator Waszej strony wklejamy do pliku Funkcje motywu (functions.php), a znajdziecie go tak jak poprzednio w zakładce Wygląd –> Edytor. Tak jak wspomniałem, kod ten wyklucza ze statystyk osoby zalogowane do naszego WordPressa (dla nich kod po prostu się nie pojawi).
3. Wtyczki WordPress do obsługi Google Analytics
Zawsze wychodziłem z założenia, że im mniej wtyczek tym lepiej… ale jeśli nie chcecie ręcznie modyfikować żadnych plików, to warto zainteresować się jedną z poniższych wtyczek, która w dodatku zaoferuje Wam kilka dodatkowych korzyści.
Google Analytics by MonsterInsights (dawna wtyczka Yoasta)
Google Analytics Dashboard for WP
Istnieje jeszcze całe mnóstwo innych pluginów, które oferują wiele dodatkowych funkcjonalności – znajdziecie je na oficjalnej wyszukiwarce wtyczek WordPress.
4. Stworzenie własnej wtyczki (polecana metoda)
Tak więc w końcu dochodzimy do punktu czwartego, czyli tego co tygryski lubią najbardziej – stworzenia własnej wtyczki, co w zasadzie jest w tym wypadku dość proste. Wystarczy, że weźmiemy kod z punktu drugiego, nieco go przerobimy i wrzucimy do osobnego pliku z rozszerzeniem *.php – by następnie umieścić go w folderze z innymi wtyczkami. W tak utworzonym pliku musicie jedynie (tak jak w pierwszym i drugim punkcie) podmienić zaznaczony na czerwono identyfikator Waszej witryny.
<?php
/*
Plugin Name: Dodaje kod Google Analytics
Description: Wtyczka, która dodaje kod śledzący Google Analytics. Nie zapomnij podmienić identyfikatora Twojej witryny!
Version: 1.0.0
Author: Makabe
Author URI: https://gracz.org/
License: GPL2
*/
/* Google Analytics Code
/* ------------------------------------ */
function add_analytics_script() {
if ( ! is_user_logged_in() ) {
?>
<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-XXXXXXXX-X', 'auto');
ga('send', 'pageview');
</script>
<?php
}
}
add_action( 'wp_head', 'add_analytics_script', 99 );
Tak wygląda przykładowy kod naszej wtyczki – gotowy plik możecie z kolei pobrać tutaj. By zainstalować naszą wtyczkę wystarczy wejść do:
Wtyczki –> Dodaj nową –> Wyślij wtyczkę na serwer
lub przez FTP rozpakować zawartość archiwum do folderu Plugins w katalogu z WP. Gdy już to zrobicie pozostaje podmiana identyfikatora kodu śledzącego – oczywiście możecie to zrobić bezpośrednio z poziomu panelu:
Wtyczki –> Edytor –> wybieramy z listy nazwę, czyli Dodaje kod Google Analytics.
Nasza wtyczka również zawiera wykluczenie ładowania kodu śledzącego dla osób zalogowanych do panelu WordPressa, dlatego nie zdziwcie się jeśli podczas testowania działania kodu Wasza wizyta nie będzie uwzględniona. Jeśli chcecie sprawdzić czy statystyki działają – wystarczy wylogować się z panelu WP lub wejść na stronę np. w trybie prywatnym lub incognito. W razie pytań służę pomocą! :)
Właśnie szukałem odpowiedzi, którą metodę wybrać… a tu znajomy Adrian radzi :D Wielkie dzięki!
Jak widać metod jest sporo, więc można wybierać do woli. Cieszę się, że mogłem pomóc :)
Dzięki za tak jasną i konkretną instrukcję, którą zrozumiał nawet taki laik jak ja. Wszędzie rozpisują się na temat polecanych wtyczek do wordpressa, ale nigdzie nie piszą jak je zainstalować…
Nie ma za co :) Cieszę się, że komuś się przydały moje porady.
A czy to możliwe, że wskutek zainstalowania tej wtyczki i jeszcze kilku innych na blogu coś się sypnęło? U mnie tak się własnie stało i usiłuję wykluczyć powody. Jednym z nich jest zbieżność w czasie z instalowaniem wtyczek. Przepraszam z góry za uprawianie prywaty w tym miejscu i niejako zaśmiecanie miejsca na komentarze ale nikt mi jak dotychczas nie potrafi pomóc w usunięciu usterki.
Generalnie jeśli podejrzewasz, że jakaś wtyczka powoduje problem, a nie możesz zalogować się do panelu WP – możesz ręcznie usunąć jej folder przez FTP. Wracając jednak do Twojego pytania – wskutek zainstalowania tej wtyczki nie mogło się nic „sypnąć”, natomiast w skutek innych (nie wnikam jakich) mogło jak najbardziej :) Niestety trzeba uważać, a najlepiej sprawdzać wtyczki na jakimś blogu testowym – sam stosuję taką metodę od lat.
Jeśli mówimy o stronie http://polkawtyrolu.com, to kod GA ładuje się prawidłowo. Widzę natomiast, że masz chyba problem z certyfikatem SSL (w Googlu Twoja strona zaindeksowana jest z „https://”, ale można ją zobaczyć dopiero po zmianie na „http://”).
Tak na przyszłość – najlepiej sprawdź, czy Twój usługodawca hostingowy oferuje kopie bezpieczeństwa (przeważnie wykonuje się je raz na 24h). W takim wypadku jeśli masz jakiś poważny problem, to zawsze możesz przywrócić kopię strony i po kłopocie.
Bardzo fajny opis – jest takich wiele, ale nigdzie nie radzą, aby stworzyć własną wtyczkę, co jest bardzo ciekawe i nie naraża nas na „inwigilację” autorów pluginów (reklamy, śledzenie itp). Pytanie: czy własna wtyczka będzie całkowicie bezpieczna, gdy ktoś nie ma pojęcia o programowaniu i do którego momentu będzie aktualna (chodzi np. o polecenie add_action czy też odwoływanie się do wp_head itp)? Zdaję sobie sprawę, że jeśli zmieni się struktura kodu w GA, to i w pluginie trzeba będzie ją zaktualizować (wprowadzenie jakichś nowych zmian w Analytics przez Google).
Fajnie by było mieć jeszcze Dashboard GA po stronie WP, ale wiadomo, że to już nie jest 1 linijka kody :)
Pozdrowienia dla autora!
Cześć! Cieszę się, że komuś się przydało :)
Jeśli chodzi o Twoje pytania – tak, jest całkowicie bezpieczna, w dodatku funkcja „wp_head” jest powszechnie wykorzystywana i stała się już raczej standardem. Jeśli chodzi o strukturę kodu GA, to niestety w wypadku jego zmiany trzeba będzie ręcznie zmodyfikować kod wtyczki (na szczęście jest to bardzo proste i możliwe bezpośrednio z panelu WP). Oczywiście jeśli w przyszłości coś się zmieni, to uwzględnię to w tekście.
Czy liczba 99 w ostatnim wierszu skryptu oznacza priorytet dla wp_head, czy dla obu tych akcji/funkcji:
add_action( 'wp_head’, 'add_analytics_script’, 99 );
p.s. czy wystarczy korzystać z wp_head i nie ma konieczności dodawania jeszcze wp_footer? Z tego, co znalazłem na różnych grupach dyskusyjnych i forum jedni zalecają dodanie kodu tylko do header.php w folderze używanego szablonu, inni zalecają również dodać do footer.php. Header załatwia sprawę całkowicie?
Tak, liczba „99” oznacza w tym wypadku priorytet dla kodu, który chcesz dodać (czyli czy pojawi się przed lub za innym kodem wrzuconym przy użyciu tej funkcji). Chciałem żeby kod GA znajdował się bezpośrednio przed zamknięciem sekcji „head”. Możesz tam oczywiście wpisać inną wartość.
Jeśli chodzi o korzystanie z „wp_head” – tak, header załatwi sprawę całkowicie. Kiedyś zalecano dodawanie kodu Analytics do stopki, ale potem Google wprowadziło kilka zmian (zmodyfikowano również kod GA) i dlatego najlepiej wrzucać go bezpośrednio przed „”. Wtedy kod śledzący ładuje się przed innymi elementami strony: https://support.google.com/analytics/answer/1008080?hl=pl
Oczywiście są jeszcze inne metody implementowania kodu GA, jak Google Tag Manager, ale najprościej jest po prostu wkleić go samodzielnie do pliku „header.php”.
Własne pluginy – https://codex.wordpress.org/Writing_a_Plugin
Security Note: Consider blocking direct access to your plugin
PHP files by adding the following line at the top of each of them. Also
be sure to refrain from executing sensitive standalone PHP code before
calling any WordPress functions.
This can be achieved in a few ways. You can either check to see if the ABSPATH constant is defined, or check if a function such as add_action exists. Either method can be used to ensure PHP execution is only allowed when it is included as part of the core system.
defined( 'ABSPATH’ ) or die( 'No script kiddies please!’ );
Jak rozumiem jest to zalecane, aby powyższy wiersz dodać do skryptu celem podniesienia bezpieczeństwa, choć ten post (dotyczy szablonu, nie pluginu) temu zaprzecza, więc sam już nie wiem:
http://stackoverflow.com/questions/27250343/security-wordpress-template
Znów chętnie poznam Twoje zdanie na ten temat ;)
Sprawdziłem wtyczki zainstalowane u mnie i część z nich wykorzystuje tą metodę, a część nie. Na pewno nie zaszkodzi jak dorzucisz to do kodu :)
Jaki kod należałoby dodać, aby plugin miał zakładkę ustawień/settings, jakkolwiek by to nazwać. Można by wówczas dodać pole, w którym byłaby możliwość edycji/ustawienia identyfikatora kodu śledzenia GA po zainstalowaniu wtyczki, ewentualnie drugie pole z możliwością modyfikacji kodu śledzenia, jeśli trzeba go zaktualizować. Wówczas mamy kompletną wtyczkę z pełną funkcjonalnością – bez konieczności używania edytorów :) A w zasadzie Ty masz, bo to Twój pomysł :)