Sunucunun Safari ile çalışma ayarları
Veri toplamayı ve reklam hedeflemeyi iyileştirmek için Safari'de _ym_uid
çerezinin sunucuda güncellenmesini ayarlamak gerekir. Bu çerez dosyası, site ziyaretçilerinin kimliklerini belirlemeyi sağlar.
Çerez güncelleme mantığı
Cookie
sorgusunun başlığı _ym_uid
öğesini içeriyorsa sunucu, _ym_uid
değerli Set-Cookie
öğesini de göndermeli ve bunun geçerlilik süresini 1 yıl olarak belirlemelidir.
Benzer şekilde, _ym_d
çerezi de _ym_uid
'in oluşturma zamanı bilgilerini içerir.
NGINX sunucusu için talimatlar
NGINX konfigürasyon dosyasını düzenlemekle başlayın.
Not
Konfigürasyon dosyalarının yolu sunucu ayarlarınıza göre farklılık gösterebilir.
sudo nano /etc/nginx/sites-enabled/default
Basit yöntem
Dikkat
Diğer başlıkları belirlemek için add_header
direktifini veya koşullu yönlendirme için if
direktifini kullanıyorsanız bu yöntem sizin için uygun değildir. İstenmeyen davranışları önlemek için gelişmiş yöntemi kullanmalısınız.
Her location
bloğuna istediğiniz yere şu kodu yerleştirin:
Not
Servisiniz HTTPS protokolü kullanmıyorsa, Secure;
parametresini başlıktan silin.
Servisiniz alt alan adları kullanıyorsa $host
değişkeninin yerine kök alan adını (örneğin, sales.example.com
sitesi için example.com
) kullanın.
# Yandex Metrica çerezlerinin güncellenmesi
if ($cookie__ym_uid) {
set $ym_postfix "Max-Age=31536000;Secure;Path=/;Domain=.$host";
add_header Set-Cookie "_ym_uid=$cookie__ym_uid;$ym_postfix";
add_header Set-Cookie "_ym_d=$cookie__ym_d;$ym_postfix";
add_header Set-Cookie "_ym_ucs=nginx;$ym_postfix";
}
Gelişmiş yöntem
Not
Sunucunuzda paket adı ve kurulum yöntemi farklı olabilir.
-
NGINX için
lua
modülünü kurun.sudo apt install libnginx-mod-http-lua
-
Her
server
bloğuna istediğiniz yere şu kodu yerleştirin:Not
Servisiniz HTTPS protokolü kullanmıyorsa,
Secure;
parametresini başlıktan silin.Servisiniz alt alan adları kullanıyorsa
ngx.var.host
değişkeninin yerine tırnaklar içinde kök alan adını (örneğin,sales.example.com
sitesi içinexample.com
) kullanın.# Yandex Metrica çerezlerinin güncellenmesi header_filter_by_lua_block { if ngx.var.cookie__ym_uid and ngx.var.host then local ym_postfix = "Max-Age=31536000; Secure; Path=/; Domain=." .. ngx.var.host ngx.header["Set-Cookie"] = { "_ym_uid=" .. ngx.var.cookie__ym_uid .. "; " .. ym_postfix, "_ym_d=" .. (ngx.var.cookie__ym_d or "") .. "; " .. ym_postfix, "_ym_ucs=nginx; " .. ym_postfix } end }
Son adımlar
Konfigürasyon doğruluğunu kontrol edin:
sudo nginx -t
Kontrol işleminden sonra NGINX konfigürasyonunu güncelleyin:
sudo service nginx reload
Sunucunun doğru yapılandırılıp yapılandırılmadığını kontrol etmek için:
- Safari tarayıcısında sitenizi açın.
- Menüde Safari → Ayarlar (Settings) bölümünü seçin.
- Gelişmiş (Advanced) sekmesinde Web geliştiricisi özelliklerini göster (Show features for web developers) seçeneğini işaretleyin.
Cmd+Opt+I
tuş kombinasyonunu kullanarak geliştirici moduna girin ve sayfayı yeniden yükleyin.- Geliştirici modundayken menüdeki Ağ (Network) bölümünü seçin.
- İlk sorguyu bulup Yanıt (Response) alanında başlığın girildiğinden emin olun.