Jak sledovat uživatele včetně anonymů na webu s Drupalem pomocí Views

Drupal poskytuje jen velmi málo nástrojů umožňujících nějaké pohodlné sledování činnosti uživatelů na vašem webu. S pomocí Views však můžete projít přístupový log (je-li zapnut) a získaná data zobrazit v přehledové tabulce s možností řazení a filtrování.

Dokud něco neobjevíte, nebude vám vadit, že to nemáte. To stejné platí i pro sledování statistik a chování uživatelů na webu s Drupalem. K dispozici máme záložku Sledovat, pomocí které zjistíme, kdo se kdy a odkud proklikl na jednotlivé články. Totéž máme na stránce s profilem uživatele - můžeme sledovat, kudy na webu chodil. Zde bohužel jen u přihlášených uživatelů.

Pak jsou k dispozici různé přehledy v administrační části Logy, jako Nedávná zobrazení, Nejvíce odkazující stránky atd. Ani zde to není zrovna ideální, tabulku se všemi výsledky si můžete maximálně seřadit podle některého z mála sloupečků.

Když to porovnáme například s tím, co nabízí Kentico EMS, je bohužel Drupal k smíchu. To říkám zcela na rovinu. Na druhou stranu je Drupal na rozdíl od Kentico EMS zdarma. Můžeme jej tedy alespoň propojit na Google Analytics nebo na jiná řešení třetích stran.

Pokud se obejdete bez grafů a postačí vám sledování uživatele podle IP adresy s tím, že si budete moci přehled přístupů takřka libovolně filtrovat, můžete zkusit následující postup.

Prohlížení logu přístupů v Drupalu pomocí Views

Co budeme všechno potřebovat? Kromě modulu Views (pokud s ním neumíte pracovat, koukněte na článek Drupal videonávod: Views pro začátečníky - pozor, je pro starší Drupal 6 na rozdíl od tohoto texu) je potřeba zapnout v Drupalu základní modul Statistics a v administrační části  Konfigurace > Systém > Statistiky zapnout logování přístupů.

Vytvořte nové View pomocí Struktura > Views > Add new view. Pohled si nějak pojmenujte, například Sledovač. Z nabídky Ukázat vyberte Log přístupů, zapněte vytvoření stránky, nastavte jí smysluplný název a adresu. Blok nevytvářejte a pokračujte dál tlačítkem Continue & Edit.

Views

Definice View

Dostanete se do části pro upřesnění nového View - předpokládám, že ji už důvěrně znáte, takže nebudu podrobně vysvětlovat. V sekci Formát si vzhled výpisu přepněte na Tabulku. Další nastavení, které vám pak Drupal nabídne, jen potvrďte. Skončíte s tabulkou s jedním sloupcem, ve kterém bude Session ID.

Nyní přidejte do pohledu další pole. V podstatě můžete přidat vše, co začíná pojmem Log přístupů. U přidávaných políček ponechejte popisky, použijí se jako nadpis sloupce v tabulce. Upravte si je dle uvážení. Já osobně bych odebral pole/sloupec Session ID - pokud vám stačí sledování uživatele na úrovni IP adresy, pak už toto další členění nepotřebujete.

Až přidáte všechna potřebná políčka, která chcete vidět, klepněte v sekci Formát vedle Tabulky na odkaz Nastavení a u všech sloupečků zapněte podporu řazení. Data v tabulce pak bude možné seřadit klepnutím do záhlaví sloupce.

Views

Definice View

V části Page setings upravte omezení přístupu k tomuto View - já osobně bych zde vybral přístup jen pro určité role, v Drupalu 7 tedy pro administrátora. View nyní můžete uložit a podívat se na adresu, kterou jste definovali pro stránku s tímto View.

Tip: když zadáte adresu stránky pro toto View ve tvaru admin/něco, pak při jejím načtení bude použito administrátorské téma vzhledu, má-i k němu uživatel prohlížející stránku přístup. To je velmi praktické. Tabulka je kvůli sloupcům docela široká, s čímž by si normální frontendový vzhled webu s pevnou šířkou nemusel poradit.

Filtrování tabulky s přehledem logu přístupů

V tuto chvíli máme jen o něco lepší rozhraní pro prohlížení logu přístupů, než nabízí základní nástroje v Drupalu. Ale už můžeme sledovat uživatele podle IP adresy, tedy i ty anonymní, nepřihlášené návštěvníky webu. Řazení dle sloupců ale není tak praktické, jako možnost vyfiltrovat si přehled jen pro určitou IP adresu nebo jiné pravidlo.

Vraťte se tedy zpátky do úpravy našeho sledovacího View a zaměřte svou pozornost na sekci Filter Criteria. Přidejte filtr pro Log přístupů: Hostitel (což je IP adresa návštěvníka) a tento filtr nastavte jako Exposed, vystavený. Nastavení pak potvrďte a koukněte se na náhled ve spodu View. Objeví se políčko pro zadání hostitele, tedy IP adresy. Když pak klepnete na tlačítko Použít, objeví se v tabulce jen ty záznamy, kde IP adresa odpovídá zadání.

Stejným způsobem můžete přidat filtry pro další políčka v tabulce. Všimněte si, že u vystavených (exposed) filtrů můžete vystavit i operátor - při filtrování si pak budete moci zvolit nejenom hodnotu, podle které chcete filtrovat, ale také to, zda ji má sloupec obsahovat v přesné tvaru nebo ne a podobně. Užitečná je tu také volba Remember last selection, která zajistí, že po dalším návratu na stránku s View zůstane nastaven původní filtr, který jste použili naposledy.

View pak může ve výsledku vypadat nějak takto:

Přístupy

Výsledná tabulka přístupů s filtrováním

A další tip: v editaci View v části Jiné můžete zapnout použití AJAXu - při filtrování tabulky tak nebude docházet k opětovnému načítání celé stránky, ale jen odpovídajících výsledků.

Co říkáte, takovéto prohlížení logu přístupů v Drupalu je už přeci jen o kousek pohodlnější než standardní nástroje, které jsou v něm obsažené, ne? Máte-li tip na zajímavé moduly pracující se statistikou, budu rád, když se o ně podělíte v komentářích.

Poznámka: ikonka článku je od Rafiho.

Tagy

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

návštěvník

Dobrý den,
jaké jsou v Drupalu možnosti sledovat přístupy k databázi?

Profile picture for user Jan Polzer

Asi nerozumím dotazu. Drupal je webová aplikace, ta vám nemá jak říci, kdo se k databázi připojuje, pokud k ní zná přístupové údaje. Na to jsou logy na serveru.

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru