Blog
Drupal için SignalHost: modülü kurun, bir kez bağlayın ve sunucu tarafı izleme yayında
Yayınlandı · 5 dk okuma
SignalHost modülü, sunucu tarafı Google Tag Manager'ı bir Drupal sitesine tek satır kod yapıştırmadan kurar. İzleme yükleyicisini yönetim sayfası olmayan her sayfaya ekler, bizim tarafımızda bir şey değiştiğinde onu güncel tutar ve bağlantıyı kestiğinizde yeniden kaldırır. Bu kılavuz, adımları karşınıza çıktıkları sırayla izler: modülü kurma, konteyner bağlama, çalıştığını kontrol etme ve bir şey çalışmadığında yapılacaklar.
Başlamadan önce
- PHP 8.1 veya daha yeni bir sürümde, 7.2'den beri PHP'nin parçası olan sodium eklentisiyle çalışan Drupal 10.3 veya 11.
- Bir SignalHost hesabı. Denemek için ücretsiz plan yeterlidir: ayda 10.000 istek ve bir konteyner. Hesabı bağlanırken de oluşturabilirsiniz.
- Administer SignalHost Server-Side Tagging iznine sahip bir hesap. Siteyi yalnızca bu izne sahip kullanıcılar bağlayabilir veya bağlantısını kesebilir.
1. Modülü kurun
Modülü, drupal.org'daki proje sayfasından herhangi bir katkı modülü gibi kurun: Composer ile ekleyin, ardından etkinleştirin.
composer require drupal/signalhost_server_side_tagging
drush en signalhost_server_side_taggingDrush olmadan modülü, Statistics grubunda SignalHost Server-Side Tagging olarak listelendiği Extend altında etkinleştirin. Site bağlanana kadar modül hiçbir şey yazdırmaz.
2. Siteyi bir konteynere bağlayın
Configuration › Web services › SignalHost (/admin/config/services/signalhost) sayfasını açın ve “Connect with SignalHost” düğmesine basın. Henüz hesabınız yoksa “Create a free account” sizi bunun yerine kayıt sayfasına götürür. Siz bağlanma düğmesine basmadan SignalHost'a hiçbir şey gönderilmez.
signalhost.io'da oturum açın. Sonraki ekran modülün neleri yapabileceğini ve neleri yapamayacağını listeler ve sitenin hangi konteyneri kullanması gerektiğini sorar. Konteyner, size ait etiketleme sunucunuzdur: kendi Google hesabınızda oluşturulan bir Tag Manager web konteyneri ve sunucu konteyneri; bu yüzden sizin olarak kalırlar.
Mevcut bir konteyneri seçin ya da sitenizin adını taşıyan “… için yeni konteyner” seçeneğine basıp kısa sihirbazdan geçin. Yeni bir konteynerin oluşturulması birkaç dakika sürer; hemen bağlanabilirsiniz ve kod, konteyner hazır olur olmaz eklenir. “Bağlan” düğmesine basın. Connected mesajıyla birlikte Drupal'daki SignalHost sayfasına geri dönersiniz. SignalHost'un kodu artık sitenizin her sayfasına eklenmiştir.
3. Kodun sitenizde olduğunu kontrol edin
Sayfa artık Tracking is live der; yeni bir konteyner hâlâ oluşturuluyorsa Tracking starts as soon as your container is ready yazar. Ardından On your home page satırını okuyun: bağlandıktan hemen sonra modül ana sayfanızı bir ziyaretçinin yapacağı gibi getirir ve kendi kodunu arar. İstediğiniz yanıt Code found'dur. “Check again” kontrolü istediğiniz zaman tekrarlar; diğer yanıtları “Bir şey çalışmadığında” bölümünde bulabilirsiniz.
4. Test edin
Sitenizi gizli bir pencerede açın ve birkaç sayfaya tıklayın; çerez banner'ınızı reddeden bir ziyaretçi de Google'ın çerezsiz ping'i olarak sayılır. Ardından signalhost.io'daki konteyner sayfanızı açmak için “Open statistics & settings” düğmesine basın.
“Gelişmiş analiz” altındaki “Son veriler” sekmesi, aralarında sizinkilerin de bulunduğu son 30 dakikanın sayfa görüntülemelerini gösterir. Sayfanın en altındaki “Sorun giderme” bölümünde yer alan “Kontrolleri çalıştır”, etiketleme sunucunuzun aldıklarını Google Analytics'in aynı 30 dakika için raporladıklarıyla karşılaştırır. Analytics'te daha az görmeniz normaldir: çerezleri reddeden ziyaretçileri dışarıda bırakır. Growth planından itibaren “Canlı etkinlik izleme” her etkinliği geldiği anda gösterir.
Modülün sitenize ekledikleri
Küçük bir betik ve saatte bir yapılan bir bağlantı kontrolü:
- Google Tag Manager yükleyicisi: yönetim sayfası olmayan her sayfanın head bölümünde, googletagmanager.com yerine kendi etiketleme adresinize yönlendirilmiş olarak. Tag Manager konteynerinizi oradan yükler. Modül onu kontrol edilmiş iki değerden kendisi oluşturur; SignalHost'un gönderdiği hiçbir şey hiçbir zaman betik olarak yazdırılmaz. Bu sayfalar bir önbellek etiketi (cache tag) taşır; böylece yükleyici her değiştiğinde sayfa önbelleği yenilenir, bağlanmadan önce önbelleğe alınmış sayfalar da dahil.
- Modül saatte bir, bir yanıt gönderildikten sonra güncel kalmak için signalhost.io ile bağlantı kurar. Yalnızca modülün, Drupal'ın ve PHP'nin sürümlerini, sitenizin adresini ve kodun ana sayfanızda bulunup bulunmadığını gönderir: ziyaretçi verisi, içerik ya da kullanıcı hesabı göndermez. signalhost.io'ya ulaşılamazsa site son geçerli yapılandırmayı korur. Modülün sakladığı hiçbir şey bir yapılandırma dışa aktarımıyla birlikte taşınmaz.
Her istek tarayıcıdan reklam engelleyicilerin tanımadığı bir biçimde çıkar ve etiketleme sunucunuz onu Google Analytics 4'e ve konteyner sayfasında kurduğunuz reklam platformlarına iletir: Google Ads, Meta, TikTok ve diğerleri. İzleme, Google Consent Mode aracılığıyla çerez banner'ınızı izler; banner'ınızın kodunu SignalHost'unkinden önceye koyun.
Modül, Drupal Commerce dahil formları veya siparişleri okumaz. Sayfa görüntülemeleri kendiliğinden gelir; bir satın alma ya da potansiyel müşteri ise siteniz onu data layer'a push ettiğinde konteynerinize ulaşır.
Kendi izleme alan adınız
Konteyneriniz signalhost.io altındaki bir adresle başlar. Ücretli bir planda konteyner sayfasındaki “Kendi alan adınızı kurun”, sağlayıcınızdaki tek bir DNS kaydıyla onu kendi sitenizin sgtm.yoursite.com gibi bir alt alan adına taşır. Bu adres filtre listelerine takılmaz ve tıklama çerezlerini birinci taraf tutar. Alan adı yayına girdiğinde modül, bir sonraki bağlantı kontrolünde (genellikle bir saat içinde) sitenizi ona geçirir ve önbellek etiketi önbellekteki sayfalarınızı yeniler. Elle değiştirilmesi gereken hiçbir şey yoktur ve eski adres o zamana kadar çalışmaya devam eder.
SignalHost'u elle eklemek
Kodu kendiniz de yapıştırabilirsiniz. Konteyner sayfasında “Sitenize yükleyin” kartındaki kod parçacığınızı bulun ve “Kopyala” düğmesine basın. Onu her sayfanın head bölümüne (Drupal'da temanız aracılığıyla), çerez banner'ınızın betiğinin hemen arkasına yapıştırın ve “Bunu yaptım” düğmesine basın. “Yapay zekâ asistanı için kopyala” aynı işi bir kodlama asistanına devreder.
Elle yapıştırmak, modülün yaptıklarından vazgeçmek demektir: ana sayfanızı hiçbir şey kontrol etmez, bağlantıyı kestiğinizde kodu hiçbir şey kaldırmaz ve kendi alan adınız yayına girdiğinde kodu kartın “Web sitenizdeki kod parçacığını güncelleyin” bölümünden ya da alan adını duyuran e-postadan alarak kendiniz değiştirirsiniz. İki yolu asla birlikte kullanmayın: iki kopya her ziyareti iki kez sayar.
Güncellemeler, yönetme ve bağlantıyı kesme
Güncellemeler Composer üzerinden gelir ve her drupal.org modülünde olduğu gibi Drupal'ın güncelleme durumu yeni sürümleri bildirir.
SignalHost sayfasındaki Disconnect bir kez sorar: Disconnect this site from SignalHost? Onaylamak sitenin erişimini iptal eder, kodu her sayfadan kaldırır ve önbellekteki sayfalarınızı yeniler. Konteyneriniz ve istatistikleri yerinde kalır; istediğiniz zaman yeniden bağlanabilirsiniz.
signalhost.io'da konteyner sayfası “… sitesindeki Drupal modülü tarafından kuruldu” der. Sayfadaki “Yönet” düğmesi sizi “Ayarlar”, “Bağlı siteler” sayfasına götürür; oradaki “Bağlantıyı kes” de çalışır: modül bir sonraki bağlantı kontrolünde, genellikle bir saat içinde SignalHost'u yüklemeyi bırakır.
Modülü kaldırmak da sitenin erişimini iptal eder ve modülün sakladığı her şeyi siler.
Bir şey çalışmadığında
- Could not check (your server refused a request to itself): sunucunuz kendi adresine yapılan istekleri engelliyor. Bu, ziyaretçileriniz hakkında hiçbir şey söylemez; ana sayfanızın kaynak kodunda etiketleme adresinizi arayın.
- An older copy is on the page ya da The code is on the page twice: bir kopya elle bir temaya, bir bloğa veya başka bir modüle yapıştırılmış. Onu kaldırın; güncel olanı modül ekler ve iki kopya her ziyareti iki kez sayar.
- Sitenizin bir Tag Manager konteynerini zaten Google'ın kendi kod parçacığıyla yüklediğini bildiren bir uyarı: o kod parçacığını kaldırın, çünkü konteyneri artık SignalHost yüklüyor ve ikisi birlikte her ziyareti iki kez sayar. Aynısı Google Tag Manager modülü (google_tag) için de geçerlidir: ikisini birden değil, yalnızca birini kullanın.
- This site's address has changed since it was connected: bir kopyada, örneğin staging ortamında, hiçbir şey gönderilmez. Canlı site taşındıysa bağlantıyı kesip yeniden bağlanın.
- Last update eski: modül bağlantı kontrolünü sayfa isteklerinden sonra yapar, hiçbir zaman cron üzerinden yapmaz. SignalHost sayfasını açmak da bir bağlantı kontrolü çalıştırır; “Check again” ise bir kontrolü zorla başlatır.
- Başka bir sorun varsa: sitenizin adresiyle birlikte hello@signalhost.io adresine yazın.
Ticari markalar
SignalHost, Algorithmo GmbH'nin bağımsız bir ürünüdür; Drupal projesi, Google, Meta veya TikTok ile bağlantılı değildir ve bunlar tarafından onaylanmamıştır. Google Analytics, Google Ads ve Google Tag Manager, Google LLC'nin ticari markalarıdır; Meta, Meta Platforms, Inc.'in ticari markasıdır; TikTok, ByteDance Ltd.'nin ticari markasıdır; Drupal, Dries Buytaert'in tescilli ticari markasıdır.

