Blog
TYPO3 için SignalHost: uzantıyı kurun, her siteyi bağlayın ve sunucu tarafı izleme yayında
Yayınlandı · 6 dk okuma
TYPO3 Extension Repository üzerinden edinin
SignalHost uzantısı, sunucu tarafı Google Tag Manager'ı TYPO3 sitelerinize tek satır kod yapıştırmadan kurar. İzleme yükleyicisini bağlı bir sitenin her ön yüz (frontend) sayfasına 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. Çok siteli bir kurulumda her site ayrı ayrı bağlanır; bu kılavuz tek bir siteyi kurulumdan teste kadar izler.
Başlamadan önce
- PHP 8.2 veya daha yeni bir sürümde, sodium eklentisiyle çalışan TYPO3 13.4 LTS veya 14.3 LTS.
- Bir SignalHost hesabı. Denemek için ücretsiz plan yeterlidir: ayda 10.000 istek ve bir konteyner. Hesabı bağlanırken de oluşturabilirsiniz.
- Bir backend yönetici hesabı. SignalHost modülü yalnızca yöneticiler içindir.
- Site yapılandırmasındaki base değeri bir alan adı içeren bir site, örneğin https://www.example.com/.
1. Uzantıyı kurun
Composer tabanlı bir kurulumda uzantıyı Packagist üzerinden ekleyin:
composer require signalhost/server-side-taggingKlasik modda bunun yerine Extension Manager'dan kurun; uzantı TYPO3 Extension Repository içinde signalhost_server_side_tagging anahtarıyla bulunur. Bir site bağlanana kadar uzantı o siteye hiçbir şey eklemez.
2. Bir siteyi bir konteynere bağlayın
TYPO3 backend'inde Sites › SignalHost bölümünü açın (TYPO3 13'te Site Management › SignalHost); orada her sitenin kendi kartı vardır. SignalHost bağlantıdan sonra sizi sitenin kendi adresine geri gönderir; bu yüzden backend'i o sitenin alan adı altında açın. Başka bir alan adındaysanız kartta sayfayı orada açan bir düğme bulunur; orada bir kez oturum açmanız gerekebilir.
Sitenin kartında “Connect with SignalHost” düğmesine basın; henüz hesabınız yoksa “Create a free account” düğmesine basın. Siz bağlanma düğmesine basmadan SignalHost'a hiçbir şey gönderilmez. signalhost.io'da oturum açın. Sonraki ekran uzantını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 karta geri dönersiniz. SignalHost'un kodu artık bu sitenin her sayfasına eklenmiştir. İzlemek istediğiniz her site için bunu tekrarlayın.
3. Kodun sitenizde olduğunu kontrol edin
Sitenin kartı 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 uzantı 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.
Uzantının sitenize ekledikleri
Bağlı site başına küçük bir betik ve saatte bir yapılan bir bağlantı kontrolü:
- Google Tag Manager yükleyicisi: her ön yüz sayfasının head bölümünün bitiminden hemen önce, googletagmanager.com yerine sitenin kendi etiketleme adresine yönlendirilmiş olarak. Tag Manager konteynerinizi oradan yükler. Yükleyici, TYPO3'ün sayfa önbelleğinden sonra bitmiş sayfaya eklenir; bu yüzden hiçbir önbelleğin temizlenmesi gerekmez. Site TYPO3'ün Content Security Policy'sini uyguluyorsa uzantı etiketleme adresini politikaya ekler ve yükleyiciye hash'i üzerinden izin verir; politika satır içi betiklere zaten izin veriyorsa bunu yapmaz.
- Uzantı saatte bir, bir yanıt gönderildikten sonra güncel kalmak için signalhost.io ile bağlantı kurar. Yalnızca uzantının, TYPO3'ün ve PHP'nin sürümlerini, sitenin adresini ve kodun ana sayfada 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.
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. Yükleyici, head bölümünde bulunan bir banner'dan sonra gelir; daha sonra yüklenen bir banner, Consent Mode varsayılanlarını yükleyiciden önce ayarlamalıdır.
Uzantı 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 uzantı, bir sonraki bağlantı kontrolünde (genellikle bir saat içinde) o siteyi ona geçirir ve sitenin Content Security Policy'si de buna uyar. 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 (TYPO3'te şablonunuz veya TypoScript 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, uzantını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, TYPO3'ün Content Security Policy'sini uygulayan bir sitede betiğe ve etiketleme adresine elle izin verilmesi gerekir 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
Uzantıyı kurduğunuz yolla güncelleyin: Composer üzerinden ya da klasik modda Extension Manager'dan.
Bir sitenin kartındaki Disconnect bir kez onay ister, ardından SignalHost'un kodunu o sitenin her sayfasından hemen kaldırır ve sitenin erişimini iptal eder. Diğer siteler bağlı kalır; konteyneriniz ve verileri SignalHost hesabınızda kalır.
signalhost.io'da konteyner sayfası “… sitesindeki TYPO3 uzantısı 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: uzantı bir sonraki bağlantı kontrolünde, genellikle bir saat içinde SignalHost'u yüklemeyi bırakır.
Klasik modda uzantıyı Extension Manager'da devre dışı bırakmak her sitenin erişimini iptal eder ve uzantının sakladıklarını siler. composer remove hiçbir TYPO3 kodu çalıştırmaz; bu yüzden önce her sitenin bağlantısını kesin. Aksi halde siteler “Ayarlar”, “Bağlı siteler” altında listelenmeye devam eder ve bağlantılarını orada kesersiniz.
Bir şey çalışmadığında
- Kart, SignalHost'un bağlantıdan sonra sizi sitenin kendi adresine geri gönderdiğini söylüyor: backend'i başka bir alan adı altında açtınız. Sayfayı sitenin alan adında açmak için altındaki düğmeyi kullanın.
- 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 şablona, TypoScript'e veya başka bir uzantıya yapıştırılmış. Onu kaldırın; güncel olanı uzantı 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.
- 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.
- 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; TYPO3 Association, 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; TYPO3, TYPO3 Association'ın tescilli ticari markasıdır.

