Blog
SignalHost dla Drupala: zainstaluj moduł, połącz raz i śledzenie po stronie serwera działa
Opublikowano · 6 min czytania
Moduł SignalHost umieszcza Google Tag Manager po stronie serwera na witrynie Drupal bez ani jednej linijki wklejanego kodu. Dodaje program ładujący śledzenia na każdej stronie, która nie jest stroną administracyjną, aktualizuje go, gdy coś zmieni się po naszej stronie, i usuwa go, gdy się odłączysz. Ten poradnik idzie w kolejności, w jakiej się z nim spotykasz: instalacja modułu, łączenie z kontenerem, sprawdzanie, czy działa, i to, co zrobić, gdy nie działa.
Zanim zaczniesz
- Drupal 10.3 lub 11 na PHP 8.1 lub nowszym z rozszerzeniem sodium, które jest częścią PHP od wersji 7.2.
- Konto SignalHost. Do wypróbowania wystarczy plan darmowy: 10 000 żądań miesięcznie i jeden kontener. Konto możesz założyć w trakcie łączenia.
- Konto z uprawnieniem Administer SignalHost Server-Side Tagging. Tylko użytkownicy, którzy je mają, mogą połączyć lub odłączyć witrynę.
1. Zainstaluj moduł
Zainstaluj go jak każdy moduł społeczności ze strony projektu na drupal.org: dodaj go przez Composer, a potem włącz.
composer require drupal/signalhost_server_side_tagging
drush en signalhost_server_side_taggingBez Drusha włącz go w sekcji Extend, gdzie jest wymieniony jako SignalHost Server-Side Tagging w grupie Statistics. Nie wstawia niczego, dopóki witryna nie zostanie połączona.
2. Połącz witrynę z kontenerem
Otwórz Configuration › Web services › SignalHost (/admin/config/services/signalhost) i naciśnij „Connect with SignalHost”. Jeśli nie masz jeszcze konta, „Create a free account” przeniesie Cię zamiast tego do rejestracji. Do SignalHost nic nie jest wysyłane, zanim nie naciśniesz „Connect”.
Na signalhost.io zaloguj się. Następny ekran wymienia, co moduł będzie mógł robić, a czego nie, i pyta, którego kontenera ma używać witryna. Kontener to Twój własny serwer tagowania: kontener internetowy i kontener serwerowy Tag Managera, zbudowane na Twoim własnym koncie Google, więc pozostają Twoje.
Wybierz istniejący kontener albo naciśnij „Nowy kontener dla …” i przejdź krótki kreator. Budowa nowego trwa kilka minut; możesz połączyć od razu, a kod zostanie dodany, gdy tylko kontener będzie gotowy. Naciśnij „Połącz”. Wrócisz na stronę SignalHost w Drupalu z komunikatem „Connected”. Kod SignalHost jest teraz dodany na każdej stronie Twojej witryny.
3. Sprawdź, czy kod jest na Twojej witrynie
Strona pokazuje teraz „Tracking is live” albo, gdy nowy kontener jest jeszcze budowany, „Tracking starts as soon as your container is ready”. Potem przeczytaj wiersz „On your home page”: zaraz po połączeniu moduł pobiera Twoją stronę główną tak, jak zrobiłby to odwiedzający, i szuka na niej swojego kodu. „Code found” to odpowiedź, na którą czekasz. „Check again” w każdej chwili powtarza sprawdzenie, a pozostałe odpowiedzi opisuje sekcja „Gdy coś nie działa”.
4. Przetestuj
Otwórz swoją witrynę w oknie prywatnym i przejdź przez kilka stron; odwiedzający, który odrzuci Twój baner cookie, nadal jest liczony, jako sygnał Google bez plików cookie. Potem naciśnij „Open statistics & settings”, aby otworzyć stronę kontenera na signalhost.io.
W sekcji „Rozszerzona analityka” zakładka „Ostatnie” pokazuje odsłony z ostatnich 30 minut, w tym Twoje. „Uruchom sprawdzanie” na karcie „Rozwiązywanie problemów” u dołu strony porównuje to, co otrzymał Twój serwer tagowania, z tym, co Google Analytics raportuje za te same 30 minut. Mniej w Analytics to norma: pomija ono odwiedzających, którzy odrzucili pliki cookie. Od planu Growth w górę „Monitorowanie zdarzeń na żywo” pokazuje każde zdarzenie w chwili nadejścia.
Co moduł dodaje do Twojej witryny
Jeden mały skrypt i jeden cogodzinny kontakt z serwerem:
- Program ładujący Google Tag Manager w sekcji head każdej strony, która nie jest stroną administracyjną, skierowany na Twój własny adres tagowania zamiast na googletagmanager.com. Ładuje stamtąd Twój kontener Tag Managera. Moduł buduje go sam z dwóch sprawdzonych wartości; nic, co wysyła SignalHost, nigdy nie jest wstawiane jako skrypt. Te strony mają znacznik pamięci podręcznej, więc pamięć podręczna stron odświeża się przy każdej zmianie programu ładującego, łącznie ze stronami zapisanymi w niej przed połączeniem.
- Raz na godzinę, po wysłaniu odpowiedzi, moduł kontaktuje się z signalhost.io, aby pozostać aktualnym. Wysyła tylko wersje modułu, Drupala i PHP, adres Twojej witryny oraz informację, czy kod został znaleziony na Twojej stronie głównej: żadnych danych odwiedzających, treści ani kont użytkowników. Jeśli signalhost.io jest nieosiągalny, witryna zachowuje ostatnią poprawną konfigurację. Nic z tego, co moduł zapisuje, nie trafia do eksportu konfiguracji.
Każde żądanie opuszcza przeglądarkę w postaci, której blokery reklam nie rozpoznają, a Twój serwer tagowania przekazuje je do Google Analytics 4 i platform reklamowych skonfigurowanych na stronie kontenera: Google Ads, Meta, TikToka i innych. Śledzenie podąża za Twoim banerem cookie przez Google Consent Mode; umieść kod banera przed kodem SignalHost.
Moduł nie odczytuje formularzy ani zamówień, także z Drupal Commerce. Odsłony docierają same; zakup lub lead dociera do Twojego kontenera, gdy Twoja witryna wypchnie go do warstwy danych.
Twoja własna domena śledząca
Twój kontener startuje pod adresem w signalhost.io. W planie płatnym przycisk „Skonfiguruj własną domenę” na stronie kontenera przenosi go na subdomenę Twojej własnej witryny, taką jak sgtm.twojastrona.pl, za pomocą jednego rekordu DNS u Twojego dostawcy. Ten adres przetrwa listy filtrów, a pliki cookie kliknięć pozostają na nim własnymi plikami cookie Twojej domeny. Gdy zacznie działać, moduł przełączy na niego Twoją witrynę przy następnym kontakcie, zwykle w ciągu godziny, a znacznik pamięci podręcznej odświeży zapisane strony. Niczego nie trzeba wymieniać ręcznie, a do tego czasu stary adres działa dalej.
Ręczne dodanie SignalHost
Kod możesz też wkleić sam. Na stronie kontenera znajdź swój fragment kodu na karcie „Zainstaluj w witrynie” i naciśnij „Kopiuj”. Wklej go w sekcji head każdej strony (w Drupalu: przez motyw), bezpośrednio po skrypcie banera cookie, i naciśnij „Zrobione”. „Kopiuj dla agenta AI” przekazuje to samo zadanie agentowi programistycznemu.
Ręczne wklejenie oznacza rezygnację z tego, co robi moduł: nic nie sprawdza Twojej strony głównej, nic nie usuwa kodu, gdy się odłączysz, a gdy Twoja własna domena zacznie działać, sam wymieniasz kod — z sekcji „Zaktualizuj kod na swojej stronie” na karcie albo z e-maila zapowiadającego domenę. Nigdy nie używaj obu sposobów naraz: dwie kopie liczą każdą wizytę podwójnie.
Aktualizacje, zarządzanie i odłączanie
Aktualizacje przychodzą przez Composer, a raport stanu aktualizacji w Drupalu informuje o nowych wydaniach, tak jak w przypadku każdego modułu z drupal.org.
„Disconnect” na stronie SignalHost pyta raz: „Disconnect this site from SignalHost?”. Potwierdzenie cofa dostęp witryny, usuwa kod ze wszystkich stron i odświeża strony zapisane w pamięci podręcznej. Twój kontener i jego statystyki pozostają, a połączyć się ponownie możesz w każdej chwili.
Na signalhost.io strona kontenera pokazuje „Zainstalowane przez moduł Drupal na witrynie …” z adresem Twojej witryny. Jej przycisk „Zarządzaj” prowadzi do sekcji „Ustawienia › Połączone witryny”, gdzie „Odłącz” też działa: moduł przestaje wczytywać SignalHost przy następnym kontakcie, zwykle w ciągu godziny.
Odinstalowanie modułu również cofa dostęp witryny i usuwa wszystko, co moduł zapisał.
Gdy coś nie działa
- „Could not check (your server refused a request to itself)”: Twój hosting blokuje żądania na własny adres. Nie mówi to nic o Twoich odwiedzających; poszukaj swojego adresu tagowania w źródle strony głównej.
- „An older copy is on the page” albo „The code is on the page twice”: kopia została ręcznie wklejona do motywu, bloku lub innego modułu. Usuń ją; moduł dodaje aktualną, a dwie kopie liczą każdą wizytę podwójnie.
- Komunikat, że Twoja witryna już ładuje kontener Tag Managera własnym fragmentem kodu Google: usuń ten fragment, bo kontener ładuje teraz SignalHost, a oba razem liczą każdą wizytę podwójnie. To samo dotyczy modułu Google Tag Manager (google_tag): używaj jednego albo drugiego, nie obu.
- „This site's address has changed since it was connected”: na kopii, na przykład testowej, nic nie jest wysyłane. Jeśli działająca witryna zmieniła adres, odłącz ją i połącz ponownie.
- „Last update” pokazuje dawny czas: moduł kontaktuje się z serwerem po żądaniach stron, nigdy z crona. Otwarcie strony SignalHost też uruchamia kontakt, a „Check again” go wymusza.
- Coś innego: napisz na hello@signalhost.io i podaj adres swojej witryny.
Znaki towarowe
SignalHost jest niezależnym produktem Algorithmo GmbH i nie jest powiązany z projektem Drupal, Google, Meta ani TikTok, ani przez nie popierany. Google Analytics, Google Ads i Google Tag Manager są znakami towarowymi Google LLC; Meta jest znakiem towarowym Meta Platforms, Inc.; TikTok jest znakiem towarowym ByteDance Ltd.; Drupal jest zarejestrowanym znakiem towarowym, którego właścicielem jest Dries Buytaert.

