GTM Server-side Özel Alan Adı Kullanımı
Alan Adı Tanımlama ve DNS, SSL Sertifika Problemleri
Kullanıcı etkinliklerin ölçümü, dönüşüm ve yeniden pazarlama verilerinin sunucu taraflı ele alınması ile ilgili yayınladığım yazı serisi sonrasında, özellikle DNS temelli problemler ve CloudFlare Zaraz gibi alternatif çözümlere dair pek çok soru aldım. Bu vesile ile, ilgili yazı serisine birkaç konuda ekleme yapmaya çalışacağım.
Google Tag Manager Server-side kapsayıcı (container) kurulumu ile ilgili daha önce yayınladığım Google Tag Manager - Server-side Tagging başlıklı yazıda ilgili kapsayıcının oluşturulması ve temel etiket kurulumlarından bahsetmiş, özelleştirilmiş alan adı kullanımı not olarak düşmüştüm. Ancak, DNS işlemlerinde pek çok problem yaşandığına dair çok fazla mesaj ve konu ile ilgili notlarımın yazıya eklenmesine dair istek aldım.
DNS yönetimi başlı başına üzerine ayrıca değinilmesi gereken bir konu. Yaşanan problemlerin bir ya da daha fazla nedeni olabilir. Bu gibi konularda önce sunucu yönetimi konusunda uzman olan arkadaşlarla veya alan adının barındırıldığı sağlayıcısı ile iletişime geçilmesi önemli. Benim aşağıda bahsedeceğim ve örnek işlem olarak ele alacağım adımlar aslında Google'ın da alan adı yönetimi ile ilgili sunduğu dokümana paralellik gösterecek1.
Google Tag Manager Server-side ve Özelleştirilmiş Alan Adı Kullanımı
Google Tag Manager - Server-side Tagging başlıklı yazıda, GTM Server-side kapsayıcı kurulumunun tamamlanması ile birlikte ön tanımlı olarak *.appspot.com
uzantılı bir alan adının oluşturulduğundan bahsetmiştim. İzleme etiketlerinin işlem gördüğü alan adı ve bu alan adı kapsamındaki alt alan adları first-party, bu alan ve alt alan adları dışındaki alan adları ise third-party olarak nitelendirilir.
Örneğin, www.ceaksan.com
ve ss.ceaksan.com
alan adlarında en üst seviye ceaksan.com
olacaktır. www
ve ss
ise bu alan adı ile ilişkili alt alan adlarıdır ve izleme süreçlerinde first-party olarak değerlendirilir ve buna yönelik istekleri / çerezleri kabul eder. Ancak, GTM server-side kurulumunda web sitesi veya uygulama için kullanılan alan adı başlı başına zorunluluk değildir. Farklı amaçlara yönelik olarak, first-party alan adları dışında farklı amaçlara yönelik alan adları da izleme sürecine dahil edilebilir. Eklenecek her alan adı için aşağıdaki adımlar benzerlik gösterir.
Alan Adı Belirleme Ve Kapsayıcı İle İlişkilendirme
Belirlenecek alan adının daha önce kullanılmaması ve DNS kaydına sahip olmaması önemli. Bu nedenle, daha önce problem yaşanmış bir alt alan adı yerine yeni bir alt alan adı tercih edilmeli. Genelde en çok tercih edilen kullanım ss.[alan-adi]
şeklinde. Biz de buna uygun olarak ss
alt alan adını tercih ederek ilerleyelim.
Kullanacağınız alt alan adını önden kontrol etmek isterseniz Dig ön bir kontrol gerçekleştirebilirsiniz. Name alanına kullanacağınız alan adını girip A ve AAAA seçeneklerini tıkladığınızda bu alan adı ile ilişkili kayıtları (record) görüntüleyebilirsiniz.
Sucunu Kapsayıcı URL'si
Tag Manager kapsayıcı ayarlarında yer alan [kbi]Sunucu Kapsayıcı URL'si[/kbi] alanına kullanmak istediğimiz alan adını yazarak ilerleyebiliriz.
Birden fazla alan adı tanımlayacaksanız hepsinin bu alana eklenmesi önemli. Çünkü çoklu alan adı kullanımında, yapılandırma işlemleri tamamlandığında doğrulama işlemli için tanımlanan her alan adına yönelik ayrı bir Önizleme işlemi gerçekleştirilmesi gerekiyor2.
Eğer çoklu alan adı tanımlamak gibi bir ihtiyacınız yoksa, kullanacağınız sadece onu eklemeniz yeterli. Tek alan adı tanımlandığında Preview butonuna bastığınızda önizleme işlemi doğrudan bu alan adı üzerinden gerçekleştirilir.
GTM tarafındaki alan adı tanımlama adımını tamamladık. Şimdi Google Cloud ve eğer gerekiyorsa Webmaster Central (diğer adıyla Google Search Central) adımlarına geçebiliriz3.
Google Cloud > [GTM için oluşturulan proje] > Settings > Custom Domain (sol menüden ilerleyecekseniz App Engine üzerinden yine bu adımlara ulaşabilirsiniz) adımlarını izlemeniz yeterli.
Add a new custom domain seçeneği ile ilerleyebiliriz. Listede yer alan alan adını seçtikten sonra alan adlarının map'lenmesi adımına geçebiliriz. Ön tanımlı olarak alan adına ait www ve non-www alan adları listelenebilir. Bu durumda, ilgili seçenekleri kaldırabilir ve sadece server-side için belirlediğiniz alan ad(lar)ını ekleyebilirsiniz. Örneğin devamlılığına uygun olarak, bu alanada ss.dnomia.com
yazarak kayıt işlemi gerçekleştirdiğimde bu alan adına yönelik tanımlanması gereken DNS kayıtları iletilecektir4.
Bu aşamada alan adınızı hangi barındırma sağlayıcısında tuttuğunuzu göz önünde bulundurmalısınız. Örneğin, Google Domains üzerinden aldığınız alan adınNS ile başka bir sunucu ile ilişkilendirildiyse A ve AAAA tanımlarını (her birinden dörder kayıt) bu sunucu üzerinden ele almak gerekecek. Bu işlem CloudFlare kullanımında da benzerlik göstermektedir5. Ben alan adını Google Domains üzerinde tuttuğum ve NS ile Hawkhost'u işaret ettiğim için A (IPv4) ve AAAA (IPv6) kayıtlarını Hawkhost üzerinden ele alacağım.
İlgili kayıtların girilmesinin ardından bu aşamayı sonlandırabilir ve Google'ın SSL sertifikası oluşturmasını tamamlamasını bekleyebiliriz. Elbette DNS kayıt sürecinin tamamlanmasının birkaç dakikadan birkaç saate kadar uzayabileceğini unutmamak gerekir. Bunun yanı sıra, eğer SSL sertifikasının oluşturulma süreci çok uzun sürmüş ise sertifikalar temelinde de bir problemle karşılaşılmış olabilir. Bu durumda, belirtilen alan adını kapsayan bir sertifika olup olmadığından emin olmak gerekecektir. Örneğin, barındırma sağlayıcı üzerinden oluşturulmuş ve tüm alan adlarını kapsayan bir sertifika Google'in sertifika oluşturma sürecini olumsuz etkileyebilir. Bu tür durumlarda ilgili sertifika hariden Google Cloud'a aktarılabilir ya da farklı bir alt alan adı da sürece dahil edilebilir.
Harici bir sertifikanın aktarımında barındırma sağlayıcının SSL ekranından Public Key ve Private Key içeriklerinin App Engine Settings > SSL Certificates adımlarının izlenerek aktarılması gerekecektir. Bu işlemin ardından, ilgili alan adlarının yüklenen sertifika ile ilişkilendirilmesi sağlanabilir. Aşağıda örnekte iki farklı sertifika kullanıldığı görülebilir.
Yukarıdaki işlemlerin ardından GTM önizleme modu aracılığı ile alan adları kontrol edilebilir.
DNS ve SSL sertifikaları ile ilgili bir sorun yaşanmaması durumunda önizleme sayfalarının sorunsuz bir şekilde açılması beklenir. Eğer bir sorun yaşanmış ise yukarıdaki adımlar baştan sonra doğru tekrar gözden geçirilebilir.
Etiketlerin server-side kapsayıcıya eklenmesinin ardından değişiklikler yayına alınmaz ise client-side tarafından iletilen isteklere 404 hata kodu dönecektir. Bu nedenle, istemci ve sunucu tarafındaki genel kontrollerin sunucu tarafındaki etiket değişiklikleri yayına alındıktan sonra yinelenmesi gerektiği unutulmamalıdır.