Sayacın CSP içeren siteye kurulumu
Yandex Metrica'nın oluşturduğu sayaç kodu inline türünde olup sayfaların HTML koduna eklenmek içindir. Content Security Policy teknolojisini kullanan sitelerde bu kod sadece şu özel eylemler yapılmış olmak kaydıyla çalışır: HTTP başlığında tarayıcıya nonce özelliğine sahip src-script direktifini (bu script öğesinin imzalanmasını gerektirir) ve noscript öğesinin içeriğini işlenmesi için img-src direktifini işleme izni aktarılmalı.
Yandex Metrica'da sayaç kodunu başka bir yönteme göre çalıştırmak için sayfaların HTML koduna sadece noscript öğesinin içeriğini yerleştirip script öğesinin içeriğini örneğin JS dosyası gibi bir harici komut dosyasına dahil edebilirsiniz.
Kullanacağınız yöntemi seçerken, HTTP başlığına, Yandex Metrica'ya giriş izni eklemeniz gerekir.
Genel adres listesi
https://mc.yandex.ru
https://mc.yandex.az
https://mc.yandex.by
https://mc.yandex.co.il
https://mc.yandex.com
https://mc.yandex.com.am
https://mc.yandex.com.ge
https://mc.yandex.com.tr
https://mc.yandex.ee
https://mc.yandex.fr
https://mc.yandex.kg
https://mc.yandex.kz
https://mc.yandex.lt
https://mc.yandex.lv
https://mc.yandex.md
https://mc.yandex.tj
https://mc.yandex.tm
https://mc.yandex.uz
https://mc.webvisor.com
https://mc.webvisor.org
https://yastatic.net
wss://mc.yandex.ru
wss://mc.yandex.az
wss://mc.yandex.by
wss://mc.yandex.co.il
wss://mc.yandex.com
wss://mc.yandex.com.am
wss://mc.yandex.com.ge
wss://mc.yandex.com.tr
wss://mc.yandex.ee
wss://mc.yandex.fr
wss://mc.yandex.kg
wss://mc.yandex.kz
wss://mc.yandex.lt
wss://mc.yandex.lv
wss://mc.yandex.md
wss://mc.yandex.tj
wss://mc.yandex.tm
wss://mc.yandex.uz
wss://mc.webvisor.com
wss://mc.webvisor.org
Frame-ancestors için adresler
metrika.yandex.ru
analytics.yandex.by
analytics.yandex.com
analytics.yandex.com.tr
analytics.yandex.kz
analytics.yandex.ru
metr.yandex.by
metr.yandex.com
metr.yandex.com.tr
metr.yandex.kz
metr.yandex.ru
metrica.ya.ru
metrica.yandex
metrica.yandex.by
metrica.yandex.com
metrica.yandex.com.tr
metrica.yandex.kz
metrica.yandex.ru
metrika.ya.ru
metrika.yandex
metrika.yandex.by
metrika.yandex.com
metrika.yandex.com.tr
metrika.yandex.kz
metrika.yandex.uz
Sayacın site sayfalarının HTML kodunda yerleştirilmesi
Dikkat
Örneklerde Yandex Metrica'nın çalışması için gereken tüm adresler yazılmamıştır.
Bu yöntemi kullandığınızda Content-Security-Policy veya Content-Security-Policy-Report-Only şeklinde olan HTML başlığı aşağıdaki direktifleri içermelidir:
-
script-src direktifi (nonce özelliğine sahip). Özellik Latin harflerinden ve rakamlardan oluşan rastgele karakter dizisi şeklinde bir satır değeri içermelidir. Bu değer rastgele ve her bir isteğe özel olarak sunucuda oluşturulmalıdır.
Content-Security-Policy: script-src 'nonce-<karakter dizisi>';Site sayfalarındaki sayaç kodunun
scriptöğesindekinonceözelliği de aynı karakter dizisini içermelidir.... <!-- Yandex Metrica tag --> <script type="text/javascript" nonce="<karakter dizisi>"> (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a|| []).push(arguments)}; ... -
img-src direktifi,
noscriptöğesi içeriğinin işlenebilmesi için.Content-Security-Policy: img-src https://mc.yandex.ru; -
connect-src Yandex Metrica'ya bağlanmak için direktif.
Content-Security-Policy: connect-src https://mc.yandex.ru; -
Webvisor’un, tıklama haritalarının, bağlantıların ve kaydırmanın doğru çalışması için child-src,
blob: https://mc.yandex.rusatırının belirterek.Content-Security-Policy: child-src blob: https://mc.yandex.ru; -
Webvisor’ın, tıklama haritalarının, bağlantıların ve kaydırmanın doğru çalışması için frame-src,
blob: https://mc.yandex.rusatırını belirterek.Content-Security-Policy: frame-src blob: https://mc.yandex.ru; -
Oturum Kaydı'nın tıklama, bağlantı ve sayfa kaydırma haritalarının düzgün çalışması için frame-ancestors. Frame-ancestors için adresleri kullanın.
Content-Security-Policy: frame-ancestors: http://metrika.yandex.ru;
Bu yönteme göre oluşturulan HTML başlığının örneği:
Content-Security-Policy:
...
img-src https://mc.yandex.ru;
script-src https://mc.yandex.ru https://yastatic.net 'nonce-<sıralı karakterler>';
connect-src https://mc.yandex.ru;
...
Sayacın dış komut dizisiyle bağlanması
Dikkat
Örneklerde Yandex Metrica'nın çalışması için gereken tüm adresler yazılmamıştır. Bkz. genel liste.
Bu yöntemi kullandığınızda, Content-Security-Policy veya Content-Security-Policy-Report-Only şeklindeki HTTP başlığı, Yandex Metrica veri yükleme kurallarını kapsayan ortak bir direktif seti içerebilir:
-
komut dizilerinin işlenebilmesini için script-src direktifi.
Content-Security-Policy: script-src https://mc.yandex.ru https://yastatic.net; -
img-src direktifi,
noscriptöğesi içeriğinin işlenebilmesi için.Content-Security-Policy: img-src https://mc.yandex.ru; -
connect-src Yandex Metrica'ya bağlanmak için direktif.
Content-Security-Policy: connect-src https://mc.yandex.ru; -
Webvisor’un, tıklama haritalarının, bağlantıların ve kaydırmanın doğru çalışması için child-src,
blob: https://mc.yandex.rusatırının belirterek.Content-Security-Policy: child-src blob: https://mc.yandex.ru; -
Webvisor’ın, tıklama haritalarının, bağlantıların ve kaydırmanın doğru çalışması için frame-src,
blob: https://mc.yandex.rusatırını belirterek.Content-Security-Policy: frame-src blob: https://mc.yandex.ru;
Bu yönteme göre oluşturulan HTML başlığının örneği:
Content-Security-Policy:
...
img-src https://mc.yandex.ru;
script-src 'self' https://mc.yandex.ru https://yastatic.net;
connect-src https://mc.yandex.ru;
...
JavaScript kodunun JS türü bir dış dosyada bağlanmış olduğu bir örnek şu şekildedir: Bu durumda site sayfalarının HTML kodlarına sadece script öğesinin (src özellikli) eklenmesi gerekir. Bu özellik, metrika.js gibi bir dosya yolu içermelidir.
<script type="text/javascript" src="/metrika.js"></script>
-
Yandex Metrica arayüzünde Ayarlar bölümündeki Sayaç sekmesine geçip ilgili alandan
scriptöğesinin içeriğini kopyalayın. -
Elde ettiğiniz kodu
metrika.jsdosyasının içine ekleyin.Dosya içeriğinin bir örneği:
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a|| []).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t) [0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym") ym(XXXXXX, "init", { id:XXXXXX, clickmap:true, trackLinks:true, accurateTrackBounce:true });Burada
XXXXXXYandex Metrica sayaç numarasıdır. -
Sayacın, JavaScript'i devre dışı olan ziyaretçiler hakkında bilgi toplayabilmesi için site sayfalarının HTML koduna
noscriptöğesinin içeriğini ekleyin:<noscript><div><img src="https://mc.yandex.ru/watch/XXXXXX" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
Faydalı bağlantılar |
Çevrimiçi eğitim |
Sayaç kodu, script öğesinin içerdiği bir JavaScript kodu ve noscript öğesinin bünyesindeki bir HTML kodu olmak üzere iki bölümden oluşur.