Chrome Traffic Advice Protocol (.well-known/traffic-advice) Nedir ve Nasıl Yapılandırılır?

Chrome Traffic Advice Protocol (.well-known/traffic-advice) Nedir ve Nasıl Yapılandırılır?

Günümüz modern web ekosisteminde kullanıcı deneyimini artırmanın ve sayfa açılış hızlarını milisaniyeler seviyesine indirmenin en etkili yollarından biri ön yükleme (prefetching) teknolojileridir. Ancak sunucunuza haber verilmeden yapılan aşırı ön yükleme istekleri, sunucu kaynaklarının tükenmesine ve bant genişliği maliyetlerinin katlanmasına yol açabilir. İşte tam bu noktada Google tarafından geliştirilen Chrome Traffic Advice Protocol devreye girer. Bu protokol, web sitesi yöneticilerinin tarayıcılardan ve ön arama vekil sunucularından (prefetch proxy) gelen otomatik istek trafiğini kontrol etmesine, sınırlandırmasına veya tamamen engellemesine imkan tanır. Doğru bir yapılandırma ile sunucu kaynaklarınızı korurken sitenizin genel performansını ve Core Web Vitals Nedir? Site Hızı Nasıl Optimize Edilir? rehberimizde ele aldığımız metrikleri olumlu yönde etkileyebilirsiniz.

Bu kapsamlı rehberde, .well-known/traffic-advice endpoint'inin tam olarak nasıl çalıştığını, JSON şema parametrelerini, Nginx, Apache ve CDN sağlayıcıları üzerindeki yapılandırma adımlarını ve sık yapılan yapılandırma hatalarını inceleyeceğiz.

Chrome Traffic Advice Protocol Nedir ve Nasıl Çalışır?

Chrome Traffic Advice Protocol, Google Chrome ve Chromium tabanlı tarayıcıların Google Arama sonuçları veya Speculation Rules API gibi mekanizmalar üzerinden yapacağı Private Prefetch Proxy (Özel Ön Yükleme Vekil Sunucusu) isteklerini yönlendirmek için kullanılan HTTP tabanlı bir standarttır.

Google Chrome, kullanıcıların tıklama olasılığı yüksek olan bağlantıları henüz tıklamadan arka planda yüklemek ister. Ancak bu işlem hedef sunucuya ekstra trafik yükü getirir. Chrome, bir alan adına toplu prefetch isteği göndermeden önce ilgili sunucunun kök dizininde bulunan /.well-known/traffic-advice yolunu kontrol eder.

İşleyiş adımları şu şekildedir:

  • İstek Öncesi Kontrol: Chrome Özel Ön Yükleme Vekil Sunucusu, hedef alan adının https://example.com/.well-known/traffic-advice adresine bir HTTP GET isteği gönderir.
  • Tavsiye JSON'ının Alınması: Sunucu, tarayıcıya veya proxy sunucusuna ön yükleme trafiğini kabul edip etmediğini belirten bir JSON yanıtı döndürür.
  • Trafik Filtreleme: Proxy sunucusu, dönen JSON içerisindeki disallow veya fraction kurallarına göre prefetch isteklerini ya sunucunuza iletir ya da engeller.
  • Önbellekleme: Dönen yanıt HTTP önbellek başlıklarına (Cache-Control) göre saklanır, böylece her prefetch isteğinde sunucunuza tekrar sorgu atılmaz.
  • Not: Eğer sunucunuz bu dosyaya 404 Not Found yanıtı dönerse, varsayılan olarak Chrome prefetch isteklerine izin verildiğini varsayar. Bu nedenle trafiği sınırlamak veya özelleştirmek istiyorsanız dosyayı açıkça yapılandırmalısınız.

    Trafik Tavsiyesi (Traffic Advice) JSON Yapısı ve Parametreler

    /.well-known/traffic-advice dosyası bir JSON dizisi (array) döndürmelidir. İçerisinde farklı kullanıcı ajanlarına (user-agent) özel talimatlar barındırabilir. En güncel standartlara göre temel parametreler şunlardır:

    [
      {
        "user_agent": "prefetch-proxy",
        "disallow": false,
        "fraction": 0.5
      }
    ]
    

    Şimdi bu alandaki kritik parametreleri detaylıca inceleyelim:

    • user_agent: Kuralların uygulanacağı vekil sunucu grubunu tanımlar. Günümüzde birincil değer "prefetch-proxy" olarak belirlenmiştir.
    • disallow: Boolean (true veya false) değer alır. true yapıldığında, ilgili vekil sunucu üzerinden gelecek TÜM ön yükleme istekleri engellenir.
    • fraction: 0.0 ile 1.0 arasında bir kayan noktalı sayı (float) değeridir. Sunucunuza yönlendirilecek prefetch trafiğinin oranını temsil eder. Örneğin 0.5, gelen ön yükleme isteklerinin %50'sine izin verileceğini, kalan %50'sinin ise reddedileceğini belirtir.

    Senaryolara Göre JSON Örnekleri

    Senaryo 1: Ön Yükleme Trafiğini Tamamen Engellemek Sunucu kapasiteniz kısıtlıysa veya sunucu yükünü minimumda tutmak istiyorsanız:

    [
      {
        "user_agent": "prefetch-proxy",
        "disallow": true
      }
    ]
    

    Senaryo 2: Trafiği %30 Oranında Sınırlandırmak (Önerilen Denge Kurulumu) Yüksek trafik alan e-ticaret veya haber sitelerinde sunucu yükünü dengelerken performans kazanımlarından faydalanmak için:

    [
      {
        "user_agent": "prefetch-proxy",
        "disallow": false,
        "fraction": 0.3
      }
    ]
    

    Sunucu Düzeyinde .well-known/traffic-advice Yapılandırması

    Chrome Traffic Advice Protocol'ünün sorunsuz çalışması için iki temel koşul vardır:

  • Doğru MIME türünün sunulması: Content-Type: application/trafficadvice+json (fallback olarak application/json da kabul edilir ancak resmi tür tercih edilmelidir).
  • Yanıtın uygun şekilde önbelleklenmesi (Cache-Control başlığı).
  • 1. Nginx Yapılandırması

    Nginx sunucunuzda .well-known/traffic-advice isteğini doğrudan bellekten hızlıca döndürmek için konfigürasyon dosyanıza (örneğin /etc/nginx/sites-available/default) şu bloku ekleyebilirsiniz:

    location = /.well-known/traffic-advice {
        default_type application/trafficadvice+json;
        add_header Cache-Control "public, max-age=86400";
        return 200 '[{"user_agent": "prefetch-proxy", "disallow": false, "fraction": 0.5}]';
    }
    

    Alternatif olarak, JSON içeriğini bir dosya olarak sunmak isterseniz:

    location = /.well-known/traffic-advice {
        types { application/trafficadvice+json json; }
        default_type application/trafficadvice+json;
        add_header Cache-Control "public, max-age=86400";
        alias /var/www/html/.well-known/traffic-advice.json;
    }
    

    2. Apache Web Server Yapılandırması

    Apache kullanıyorsanız, .htaccess dosyanıza veya vhost yapılandırmanıza şu kuralları ekleyebilirsiniz:

    <Location "/.well-known/traffic-advice">
        Header set Content-Type "application/trafficadvice+json"
        Header set Cache-Control "public, max-age=86400"
    </Location>
    
    # Eger dosya olarak sunuyorsaniz mod_rewrite ile yönlendirme:
    RewriteEngine On
    RewriteRule ^\.well-known/traffic-advice$ /path/to/traffic-advice.json [L]
    

    3. Edge ve CDN Düzeyinde Yapılandırma (Cloudflare Workers / Edge Rules)

    Trafiği kök sunucunuza (origin) hiç ulaştırmadan edge seviyesinde yanıtlamak, altyapı maliyetlerini ciddi oranda düşürür. CDN Nedir, Nasıl Çalışır? Cloudflare ile Site Hızlandırma Rehberi içeriğimizde vurguladığımız gibi edge computing performansın anahtarıdır.

    Bir Cloudflare Worker betiği ile işlemi şöyle çözebilirsiniz:

    addEventListener('fetch', event => {
      const url = new URL(event.request.url);
      if (url.pathname === '/.well-known/traffic-advice') {
        event.respondWith(handleTrafficAdvice());
      }
    });
    
    async function handleTrafficAdvice() {
      const body = JSON.stringify([
        {
          "user_agent": "prefetch-proxy",
          "disallow": false,
          "fraction": 1.0
        }
      ]);
    
      return new Response(body, {
        status: 200,
        headers: {
          'Content-Type': 'application/trafficadvice+json',
          'Cache-Control': 'public, max-age=86400',
          'Access-Control-Allow-Origin': '*'
        }
      });
    }
    

    Doğrulama, Test ve Hata Ayıklama Adımları

    Yapılandırmayı tamamladıktan sonra protokolün doğru çalışıp çalışmadığını test etmek kritiktir.

    cURL ile Terminalden Test Etme

    Terminalinizi açın ve sunucunuza şu isteği atın:

    curl -i -X GET https://yoursite.com/.well-known/traffic-advice
    

    Beklenen çıktı örneği:

    HTTP/2 200
    content-type: application/trafficadvice+json
    cache-control: public, max-age=86400
    
    [
      {
        "user_agent": "prefetch-proxy",
        "disallow": false,
        "fraction": 0.5
      }
    ]
    

    Burada kontrol etmeniz gereken 3 nokta:

  • Status code 200 OK olmalı.
  • content-type değeri application/trafficadvice+json veya application/json olmalı.
  • JSON sözdizimi geçerli bir array içermeli.
  • Tarayıcı ve Performans Araçları ile İzleme

    Chrome DevTools Network sekmesini açarak Google Arama üzerinden sitenize yönlendirilen prefetch isteklerini izleyebilirsiniz. Google Lighthouse Nedir? Web Sitesi Performansı Nasıl Ölçülür? yazımızdaki adımları takip ederek LCP (Largest Contentful Paint) değerlerindeki iyileşmeyi gözlemleyebilirsiniz.

    Sık Yapılan Hatalar ve Çözüm Yolları

  • Hatalı MIME Türü (Content-Type):
  • Sunucunun varsayılan olarak text/plain veya text/html döndürmesi Chrome proxy sisteminin dosyayı reddetmesine neden olur. application/trafficadvice+json başlığının set edildiğinden emin olun.

  • Yanlış JSON Yapısı:
  • Sık yapılan bir hata, JSON nesnesini dizi (array) içine almamaktır. Doğrudan `{

    Sıkça Sorulan Sorular

    Chrome Traffic Advice Protocol (.well-known/traffic-advice) nedir?
    Chrome Traffic Advice Protocol, Google Chrome'un Private Prefetch Proxy üzerinden sitenize göndereceği ön yükleme (prefetch) trafiğinin oranını ve izinlerini sunucu düzeyinde kontrol etmenizi sağlayan HTTP tabanlı bir protokoldür.
    .well-known/traffic-advice dosyası yapılandırılmazsa ne olur?
    Dosya bulunamazsa (404 hatası verirse), Chrome varsayılan olarak tüm ön yükleme isteklerine izin verildiğini varsayar (fraction: 1.0) ve prefetch trafiğini sınırlamadan sunucunuza iletir.
    Traffic Advice için doğru Content-Type başlığı nedir?
    Resmi olarak önerilen standart MIME türü 'application/trafficadvice+json' şeklindedir. İkincil olarak 'application/json' türü de desteklenmektedir.
    Prefetch trafiğini tamamen kapatmak performansımı olumsuz etkiler mi?
    Ön yüklemeyi kapatmak (disallow: true), Google Arama'dan gelen kullanıcılar için sayfa açılış hızlarını bir miktar yavaşlatabilir ancak yoğun trafik alan sunucuların kilitlenmesini engeller. Sunucu kapasitenize göre fraction değerini kademeli ayarlamak en iyi yaklaşımdır.
    WxDigitals
    WxDigitals

    WebTeknoloji.net editör ekibi; web geliştirme, SEO, hosting ve yapay zeka alanlarında üretilen içeriklerin araştırma, test ve yayın süreçlerini yürütür. Tüm incelemeler gerçek kullanım deneyimine, karşılaştırmalar ise resmi dokümantasyon ve güncel fiyatlandırma sayfalarına dayanır.

    Bu içeriği faydalı bulduysanız…

    Haftalık teknoloji & SEO rehberlerimize katılın, 38 maddelik Teknik SEO Kontrol Listesi PDF'ini hediye olarak hemen indirin.

    Yorumlar (0)

    Henüz yorum yapılmamış. İlk yorumu siz yapın!

    Yorum Yazın