Google Arama, spekülasyon kurallarını nasıl kullanır?

Yayınlanma tarihi: 12 Şubat 2025

Google Arama, web'deki en popüler sitelerden biri ve aynı zamanda en hızlılarından biridir. Arama Ekibi, arama deneyimini daha hızlı hale getirmek için sürekli olarak yatırım yapmaktadır. Google Arama gibi popüler bir sayfada, milisaniye cinsinden iyileştirmeler bile kısa sürede önemli bir fark yaratır. Hızla ilgili bu ilgi, iyi bilinen Google ana sayfasını, arama motoru sonuçları sayfasını (SERP) ve bu arama sonuçlarından diğer sitelere yapılan tıklamaları içerir.

Google Arama, arama sonuçları sayfasından sonuç bağlantılarına gezinme hızını artırmak için Speculation Rules API'yi kullanıyor ve API'nin diğer site sahiplerinin ilgisini çekebilecek birkaç özelliğinden yararlanıyor.

İlk iki sonucu önceden getirme

Spekülasyon kurallarının ilk kullanımlarından biri, ilk iki arama sonucunu önceden getirmekti. Örneğin, "test" araması yapıldığında sayfada aşağıdaki spekülasyon kuralı yer alır:

{
    "prefetch": [{
        "source": "list",
        "requires": [
            "anonymous-client-ip-when-cross-origin"
        ],
        "referrer_policy": "strict-origin",
        "urls": [
            "https://www.merriam-webster.com/dictionary/test",
            "https://dictionary.cambridge.org/dictionary/english/test"
        ]
    }]
}

En alttaki iki URL, ilk iki arama sonucudur ve hemen önceden getirilir. Kullanıcı bunları tıklarsa HTML belgesi tarayıcıya sunulmuş olacağından avantajlı bir başlangıç yapar.

Kural ve önceden getirme denemeleri, daha önce belgelendiği gibi DevTools Application -> Speculation sekmesinde görülebilir:

DevTools Speculation panelinde, "text" kelimesinin iki sözlük tanımı listeleniyor ve her ikisi de başarıyla önceden getiriliyor.
İki başarılı önceden getirme içeren tahminler paneli.

Gizliliği korumaya yönelik önceden getirme

Bu bağlantılar başka sitelerdeki içeriklere yönlendirdiğinden, kullanıcı bu siteleri henüz ziyaret etmediği için önceden getirme işlemiyle ilgili bazı ek gizlilik hususları vardır.

Neyse ki API bu düşünceyle tasarlandı ve Google Arama, kullanıcı gizliliğini korumak için iki özellikten yararlanıyor.

Birincisi, önceden getirme işlemlerinin Chrome'daki özel önceden getirme proxy'sini kullanmasını sağlamak için requires yapılandırmasını kullanmaktır:

"requires": [
    "anonymous-client-ip-when-cross-origin"
],

Bu işlem, bağlantının IP adresini anonimleştirmesini sağlamak için bir proxy kullanır. Böylece, kullanıcı arama sonuçları sayfasından bağlantıyı tıklayıp siteye gitmeden önce kullanıcının IP'si siteye sızdırılmaz.

İkinci olarak, Google Arama, arama sayfasının URL'sinde kodlanmış hiçbir ayrıntının referer HTTP üstbilgisinde siteye gönderilmemesini sağlamak için referrer_policy ayarını kullanır:

"referrer_policy": "strict-origin",

Çoğu tarayıcı artık varsayılan olarak strict-origin-when-cross-origin değerini kullanır ancak bu ayar, aynı kaynaklı önceden getirme işlemleri için bile strict-origin yönlendiren politikasını kullanmak üzere daha katı bir ayar kullanır.

Kullanıcının site için çerezleri varsa üçüncü bir koruma otomatik olarak gerçekleşir. Bu durumda, kullanıcılar bu çerezlere göre farklı sonuçlar alabilir ve Chrome, önceden getirilmiş HTML'yi kullanmaz:

Geliştirici Araçları Tahmin panelinde iki URL var ancak biri, kullanıcının söz konusu kaynağa ait çerezleri olduğu için uygun olmadığı hatasıyla önceden getirme işleminde başarısız oldu.
Çerezler nedeniyle bir önceden getirme işleminin başarısız olduğu tahminler paneli.

Bu durumda, çerezleri olan kullanıcılar söz konusu siteyi tıkladığında önceden getirme özelliğinin sağladığı performans iyileştirmesinden yararlanamaz ancak gizlilik koruması ve doğru sayfa yüklemeleri öncelikli olur. Ayrıca, bir kullanıcı daha önce bir siteyi ziyaret etmişse ve bu site için çerezleri varsa bu siteden bazı öğelerin önbelleğe alınmış olması daha olasıdır. Bu durumda, önceden getirme işlemi yapılmasa bile sayfa yükleme işlemi daha hızlı gerçekleşir.

İlk iki sonucu önceden getirmenin kullanıcılar üzerindeki etkisi

Google Arama, çoğu değişiklikte olduğu gibi önceden getirme özelliğini de A/B testi denemesiyle kullanıma sundu ve etkisini ölçtü. Largest Contentful Paint (LCP) metriğinde önemli iyileşmeler elde ettiler. Android için Chrome'da, Google Arama'dan gelen tıklamalar için LCP 67 milisaniye azaltıldı. Masaüstü Chrome'da yapılan takip lansmanı, LCP'de 58,6 milisaniyelik benzer bir iyileşme sağladı. Bu iyileştirmeler, Google Arama sitesinin kendisinde değil, gidilen sitede yapılır ancak Google Arama kullanıcılarına fayda sağlar.

LCP'deki bu iyileştirmeler önemsiz gibi görünebilir ancak Google Arama gibi son derece optimize edilmiş bir site için kullanıcılarımıza yönelik milisaniyelik iyileştirmeleri bile kutluyoruz. Bu nedenle, on milisaniye aralığındaki iyileştirmeler olağanüstüdür. Siteniz bu özellikten çok daha fazla yararlanabilir. Bunu öğrenmek için denemenizi öneririz.

Tahmin kurallarını kullanarak önceden getirme özelliği, Ekim 2022'den beri Android'de Arama'da varsayılan olarak etkinleştirilmiş ve Eylül 2024'e kadar masaüstü sürümünde kullanıma sunulmuştur.

İlk iki sonucun ötesinde

Speculation Rules API'nin ilk kullanıma sunulmasından bu yana, tahminlerin yalnızca kullanıcı bir bağlantının üzerine geldiğinde veya bağlantıyı tıklamaya başladığında gerçekleşmesine olanak tanıyan bir istekli olma özelliğiyle geliştirildi.

Google Arama, ilk iki arama sonucunun ötesine geçmeye ve kalan arama sonuçlarını da önceden getirmeye karar verdi. Ancak bu işlem yalnızca kullanıcı bağlantının üzerine geldiğinde moderate istekli olma ayarı kullanılarak yapılıyordu. Bu, daha az tıklanma olasılığı olan bağlantılar için kaynakların gereksiz yere harcanmasını önler.

Kuralı, Chrome'da arama yaptığınızda Geliştirici Araçları'nda görebilirsiniz. Bu kural, önceki kuralın aynısıdır ancak bu kez "eagerness": "moderate" seçeneği ayarlanmıştır:

Anonim hale getirilmiş istemci IP'sini kaynaklar arası isteklerde kullanma, katı kaynak yönlendiren politikası, orta düzeyde istekli yükleme ve yedi URL kullanan bir liste kuralını gösteren DevTools Kurallar paneli
Google Arama'nın kullandığı spekülasyon kuralı.

Bu bağlantıların üzerine gelindiğinde önceden getirme işlemi tetiklenir. Google Arama, reklam gibi diğer URL'leri önceden getirmek istemediğinden, Speculation Rules API'nin doküman kuralları özelliğini kullanmak yerine URL'leri açıkça listeler.

İlk iki sonucun ötesindeki sonuçların önceden getirilmesinin kullanıcılar üzerindeki etkisi

Masaüstü Chrome, Google Arama'dan yapılan gezinmelerde İlk Zengin İçerikli Boyama (FCP) süresini 7,6 milisaniye, LCP süresini ise 9,5 milisaniye kısalttı (A/B testiyle gösterildiği gibi). Bu değerler, ilk iki sonuçta görülen 58,6 milisaniyelik iyileşmelere kıyasla daha küçük kazançları temsil eder.Ancak bu sonuçlar, daha az istekli bir şekilde önceden getirilmediğinden daha kısa bir bekleme süresine sahip olmaları şaşırtıcı değildir. Ancak bunlar, daha önce verilen nedenlerle yine de iyi kazanımlardır.

Masaüstünde kalan arama sonuçlarının önceden getirilmesi özelliği, Aralık 2024'te varsayılan olarak kullanıma sunuldu.

Genellikle fareyle üzerine gelme özelliğinin kullanılamadığı mobil cihazlarda gerçek bir iyileşme görülmedi. Bu nedenle, gerileme olmamasına rağmen bu ek önceden getirme işlemleri mobil cihazlarda etkinleştirilmedi.

Google, bu heyecan verici yeni API ile denemeler yapmaya devam ediyor. Amacımız, web'de gezinmeyi mümkün olduğunca hızlı hale getirmek. Üzerinde çalıştığımız birkaç numaramız daha var.

Örneğin, Chrome, kullanıcılar Chrome adres çubuğuna ve Android'deki arama kutusu gibi diğer yerlere arama sorguları yazdığında, önceden oluşturulmuş arama sonuçları sayfalarını (ön yükleme özelliği etkin olan kullanıcılar için) kullanıma sunuyor. Bu özellik, Google Arama'nın yanı sıra diğer arama motorlarının da kullanabileceği bir özelliktir. Ancak şu anda diğer arama motorlarında bu özelliğin kullanıldığını bilmiyoruz.

Google Arama, siteler arası gezinme için kullanılamadığından (ve hatta aynı site, kaynaklar arası önceden oluşturma için etkinleştirilmesi gerektiğinden) sonuç bağlantıları için önceden oluşturma özelliğini uygulamayı düşünmemektedir.

Tarayıcı desteğiyle ilgili not

Browser Support

  • Chrome: 109.
  • Edge: 109.
  • Firefox: not supported.
  • Safari: behind a flag.

Source

Speculation Rules API şu anda Chromium tabanlı tarayıcılarda uygulanmaktadır ancak Chrome, API spesifikasyonunu W3C standartları süreci aracılığıyla yayınlamaktadır ve diğer tarayıcıların bu API'yi uygulaması için çalışmaktadır.

Gizli önceden getirme proxy'si şu anda yalnızca Chrome'da uygulanmaktadır ve Chromium tabanlı diğer tarayıcılarda uygulanmamaktadır. Ancak diğer tarayıcılar kendi gizli önceden getirme proxy'lerini uygularsa Google Arama bu iyileştirmeleri bu tarayıcılarda da uygulamayı düşünebilir.

Özel önceden getirme proxy'si olmadan önceden getirmenin gizlilikle ilgili etkileri nedeniyle Google Arama, bu teknolojiyi desteklemeyen tarayıcılarda önceden getirme işlemi yapmaz. Bu nedenle, diğer tarayıcılar için diğer teknolojileri kullanarak yedek uygulama yapmaz. Ancak bu, aşamalı iyileştirme olarak yalnızca bu tarayıcılardaki kullanıcıların bu küçük hız artışından yararlanmadığı anlamına gelir.

Sitenizde deneyin.

Speculation Rules API, yalnızca Google Arama için değil, tüm siteler tarafından kullanılabilir. Burada bahsedilen önceden getirme özelliklerinin yanı sıra önceden oluşturma, kullanılabildiği durumlarda başka avantajlar da sunar. Google Arama gibi büyük siteler, bu API'nin kullanıcı deneyimi açısından net avantajlarını gösterdiğinden tüm site sahiplerini API'yi nasıl kullanabileceklerini ve API'den nasıl yararlanabileceklerini araştırmaya teşvik ediyoruz.

Ayrıca, bu yayında ayrıntılı olarak açıklanan gizlilik korumaları diğer sitelerde de kullanılabilir. Ancak Google harici sitelerin, trafiği Google'ın özel önceden getirme proxy'sini kullanarak yönlendirmesine izin vermek için kullanıcıların ayarlarında Genişletilmiş Önceden Yükleme desteğini etkinleştirmiş olması gerekir. Bunun nedeni, Google siteleri zaten taraflardan biri olduğundan bu sitelerde gerekli olmamasına rağmen bu durumun Google'ı kullanıcı ile site arasında ek bir taraf olarak tanıtmasıdır.