Dinamik Sunum
Dinamik sunumun ne olduğu, Vary User-Agent üstbilgisinin iki görevi, neden eski bir kalıp sayıldığı ve duyarlı tasarım ile dinamik oluşturmadan nasıl ayrıldığı.
Diller
Dinamik sunumda, istekte bulunan user-agent'a bağlı olarak tek bir URL farklı HTML/CSS döndürür — masaüstüne bir sayfa, mobile başka bir sayfa sunulur — ve önbellekler ile tarama botlarının yanlış sürümü sunmaması için sunucu Vary: User-Agent üstbilgisini göndermelidir. Bu, üç mobil yapılandırmadan biridir (duyarlı tasarım, dinamik sunum, ayrı m-dot URL'leri) ve dinamik sunum hataya açık user-agent algılamasına ve doğru Vary üstbilgilerine bağlı olduğundan Google bunun yerine duyarlı tasarımı önerir. Dinamik oluşturmayla (botlar için JS'yi önceden oluşturma) karıştırmayın; bu farklı bir kavramdır ve farklı bir belgesi vardır. 2026'da bu, sıfırdan kurulacak bir yapıdan çok eski veya kurumsal sitelerde denetlenip terk edilecek eski bir kalıptır: mobile-first indexing, cihaz sunumunu yanlış yapmanın riskini artırır ve Vary: User-Agent CDN önbelleklerini parçalar.
Evidence for this claim Dynamic serving uses one URL with device-dependent HTML and should send Vary: User-Agent. Scope: Current official or standards documentation. Confidence: high · Verified: Google: Mobile configurations Evidence for this claim Google supports dynamic serving but recommends responsive design because it is easier to implement and maintain. Scope: Current official or standards documentation. Confidence: high · Verified: Google: Mobile-first indexingTL;DR — Dinamik sunum, bir web sitesinin tek bir web adresi kullanmasına rağmen telefonlara masaüstü cihazlardan farklı bir sayfa göndermesidir — sunucu, hangi cihazı kullandığınıza bakar ve farklı HTML döndürür. Bu yöntem çalışır, ancak dinamik sunumda hata yapmak kolay olduğundan Google duyarlı tasarımı (ekrana sığacak şekilde yeniden düzenlenen tek bir sayfa) tercih eder. Dinamik sunum kullanıyorsanız önbelleklerin yanlış sürümü yanlış kişiye vermemesi için sunucu özel bir
Vary: User-Agentüstbilgisi göndermelidir.
Dinamik sunum nedir?
Bir site mobil ziyaretçileri üç şekilde destekleyebilir:
- Duyarlı tasarım — tek sayfa, tek HTML kümesi ve kullandığınız ekrana uyacak şekilde yeniden düzenlenen bir yerleşim. Google’ın önerdiği yöntem budur.
- Dinamik sunum — tek web adresi kullanılır, ancak sunucu telefonlara ve masaüstü cihazlara farklı HTML gönderir. URL aynıdır; arka plandaki sayfa farklıdır.
- Ayrı URL’ler —
m.example.comgibi kendi adresine sahip, tamamen ayrı bir mobil site.
Dinamik sunum ortadaki seçenektir. Tarayıcınız bir sayfa istediğinde user-agent denilen bir değer aracılığıyla sunucuya telefon, tablet veya masaüstü cihaz olduğunu bildirir. Dinamik sunumda sunucu bu değeri okur ve sayfanın hangi sürümünü göndereceğine karar verir. Siz ve dizüstü bilgisayar kullanan başka biri tamamen aynı URL’yi yazıp gerçekten farklı HTML alabilirsiniz.
Vary: User-Agent üstbilgisi
İşin püf noktası şudur: Sayfa cihaza göre değiştiği hâlde URL değişmediğinden,
sayfaları önbelleğe alan herhangi bir sistem (tarayıcınız, bir CDN veya internet
sağlayıcınız) yanlışlıkla masaüstü sürümünü kaydedip bunu telefon kullanan bir sonraki
kişiye verebilir. Bunu önlemek için sunucu her yanıtla birlikte küçük bir not
göndermelidir: Vary: User-Agent. Bu, “Bu sayfanın içeriği cihaza bağlıdır; bu
nedenle önbellekteki bir kopyayı farklı cihazlarda yeniden kullanmayın” anlamına gelir.
Bu üstbilgiyi unutursanız insanlar ve Google yanlış sürümü görebilir.
Google neden bunu önermiyor?
Dinamik sunum, sunucunun user-agent değerinden hangi cihazı kullandığınızı doğru tahmin etmesine dayanır; bu tahminleri sürekli doğru tutmak gerçekten zordur. Yeni cihazlar çıkar, tabletler telefon sanılır ve masaüstü ile mobil sürümlerin fark edilmeden birbirinden uzaklaşması kolaydır. Böyle bir durumda Google sayfanızın bozuk veya yanlış bir sürümünü görebilir. Bu nedenle Google’ın önerisi basittir: Bunun yerine duyarlı tasarım kullanın; böylece yalnızca tek sürüm olur ve senkronizasyon sorunu yaşanmaz.
İnsanların karıştırdığı nokta
Dinamik sunumu “dinamik oluşturma” ile karıştırmayın. Adları neredeyse aynıdır ve her ikisinde de sunucu user-agent değerini kontrol eder; ancak farklı sorunları çözerler. Dinamik sunum, telefonlara ve masaüstü cihazlara farklı HTML vermekle ilgilidir. Dinamik oluşturma ise JavaScript ağırlıklı bir sayfanın önceden oluşturulmuş bir sürümünü arama motoru botlarına vermekle ilgilidir. Bunlar farklı kavramlardır ve Google belgeleri de farklıdır; ayrıntılar Gelişmiş sekmesindedir.
2026’da dinamik sunum, sıfırdan oluşturulması önerilen bir yöntemden çok eski veya
büyük bir kurumsal siteden devralacağınız bir yapıdır. Vary üstbilgisinin iki
görevini, çoğu kılavuzun atladığı CDN maliyetini, cloaking sorununu ve bir sitenin
bu yöntemi kullanıp kullanmadığını nasıl kontrol edeceğinizi içeren tam sürüm için
Gelişmiş sekmesine geçin.
Evidence for this claim Dynamic serving uses one URL with device-dependent HTML and should send Vary: User-Agent. Scope: Current official or standards documentation. Confidence: high · Verified: Google: Mobile configurations Evidence for this claim Google supports dynamic serving but recommends responsive design because it is easier to implement and maintain. Scope: Current official or standards documentation. Confidence: high · Verified: Google: Mobile-first indexingTL;DR — Dinamik sunum = aynı URL, user-agent başına farklı HTML/CSS; sunucu tarafında algılanır ve
Vary: User-Agentyanıt üstbilgisiyle bildirilir. Bu, duyarlı tasarım (Google’ın önerisi) ve ayrı URL’lerle (m-dot) birlikte üç mobil yapılandırmadan biridir.Varyüstbilgisinin iki görevi vardır: (1) önbelleklerin yanlış cihaz sürümünü sunmasını engellemek ve (2) geçmişte Googlebot’un mobil sürümü keşfetmesine yardımcı olmak. Ancak gerçek bir maliyeti de vardır:Vary: User-Agent, CDN önbellek anahtarlarını her farklı UA dizesine göre parçalara ayırarak kaynak sunucu yükünü artırır. User-agent algılama hataya açıktır (güncelliğini yitirmiş UA listeleri, telefon sanılan tabletler); bir algılama hatası veya eksikVary, Google’ın yanlış ya da bozuk sürümü görmesine yol açabilir. Cloaking riski de asıl burada ortaya çıkar. Bunu dinamik oluşturma (tarayıcılar için JS’yi önceden oluşturma — kendine ait belgesi bulunan farklı bir kavram) ile karıştırmayın. 2026’da bu, yeni kurulacak değil, denetlenip terk edilecek eski bir kalıptır.
Dinamik sunumun kesin tanımı
Google’ın mobile-first indexing en iyi uygulamalar belgesindeki kendi tanımı şöyledir:
“Dynamic serving: Uses the same URL regardless of device. This configuration relies
on user-agent sniffing and the Vary: user-agent HTTP response header to serve a
different version of the HTML to different devices.” (çeviri) “Dinamik sunum, cihazdan bağımsız olarak aynı URL’yi kullanır. Bu yapılandırma, farklı cihazlara farklı HTML sürümleri sunmak için user-agent algılamasına ve Vary: user-agent HTTP yanıt üstbilgisine dayanır.” Artık kullanımdan kaldırılmış
özel Google sayfası bunu daha da somut ifade ediyordu: Dinamik sunum, “a setup where the
server responds with different HTML (and CSS) on the same URL depending on which
user agent requests the page (mobile, tablet, or desktop).” (çeviri) “Sunucu, sayfayı isteyen user-agent’a göre aynı URL’de farklı HTML (ve CSS) döndürür.”
Bu, üç mobil yapılandırmadan biridir ve aralarındaki farkı görmenin en kolay yolu üç satırlı bir tablodur:
| Yapılandırma | Aynı URL mi? | Aynı HTML mi? | Kullanılan birincil sinyal |
|---|---|---|---|
| Duyarlı tasarım | Evet | Evet | CSS media query’leri (sunucu tarafında işlem yok) |
| Dinamik sunum | Evet | Hayır (user-agent’a göre) | Vary: User-Agent üstbilgisi |
| Ayrı URL’ler (m-dot) | Hayır | Hayır | rel=canonical/rel=alternate + Vary |
Bu üç yöntemden ikisi Vary üstbilgisine bağlıdır. Google, ayrı URL’ler konusunda
şunu açıkça belirtir: “like dynamic serving, this configuration relies on the user-agent and Vary
HTTP headers.” (çeviri) “Dinamik sunumda olduğu gibi bu yapılandırma da user-agent ve Vary HTTP üstbilgilerine dayanır.” Yalnızca duyarlı tasarımda senkronizasyondan çıkabilecek bir şey yoktur;
Google’ın bunu önermesinin nedeni de tam olarak budur. Ayrıntılar için duyarlı tasarım
incelemesine ve üç yöntemin birlikte nasıl çalıştığını açıklayan mobil SEO
merkezine bakın.
Nasıl çalışır: user-agent algılama + Vary üstbilgisi
Sunucu, her istemcinin gönderdiği tanımlayıcı olan gelen user-agent dizesini inceler;
cihazın mobil, tablet veya masaüstü olup olmadığına karar verir ve eşleşen HTML’yi
döndürür. URL herkes için aynı olduğundan sunucu daha sonra yanıtın user-agent’a göre
değiştiğini bildirmelidir. Bunu Vary: User-Agent üstbilgisi yapar. Google’ın arşivlenmiş
kılavuzu, bunun birbirinden ayrı iki görevi olduğunu açıkça belirtir; bunları tek
görevmiş gibi ele almayın:
“Bu üstbilgi, internet servis sağlayıcılarında ve başka yerlerde kullanılan önbellek sunucularına, sayfayı önbellekten sunup sunmayacaklarına karar verirken user-agent’ı dikkate almalarını bildirir. Vary HTTP üstbilgisi olmazsa önbellek, mobil kullanıcılara masaüstü HTML sayfasını veya tersini yanlışlıkla sunabilir. Geçerli bir Vary HTTP üstbilgisi, Googlebot’un mobil için optimize edilmiş içeriğinizi daha hızlı keşfetmesine de yardımcı olur.”
Dolayısıyla birinci görev, arama motorlarından bağımsız bir UX/doğruluk konusu olan önbellek doğruluğu; ikinci görev ise tarama keşfidir. Rakiplerin sözlük sayfalarının çoğu yalnızca ilkinden söz eder veya ikisini birbirine karıştırır. Gerçek bir HTTP yanıtında şöyle görünür:
HTTP/1.1 200 OK
Content-Type: text/html
Vary: User-Agent
Content-Length: 5710Sunucunuz zaten bir Vary üstbilgisi gönderiyorsa (örneğin Accept-Encoding için),
mevcut değeri değiştirmek yerine listeye User-Agent ekleyin.
Şu ayrımı açıkça yapmak gerekir: Vary, bir SEO icadı değil, sıradan bir HTTP önbelleğe
alma mekanizmasıdır. Önbelleğe, doğru varyantı saklayabilmesi için hangi istek
üstbilgilerini önbellek anahtarına katması gerektiğini söyler. Cihazları algılamaz ve
SEO’yu anlamaz; bunu sunucunuzun user-agent mantığı ayrı olarak yapar. Google’ın
üstbilgiyi tarama keşfi için kullanması (yukarıdaki ikinci görev), her önbelleğin aynı
şekilde uyguladığı bir önbellek protokolü gereksinimi değil, Google’ın izlediği bir
sinyale ilişkin kendi tanımlamasıdır. Belirli bir URL için bunu 304 Not Modified
yanıtları ve tüm varsayılan/yedek yanıtlar dâhil tutarlı biçimde gönderin; aksi hâlde
önbellek, sakladığı içerikle ilgili tutarsız meta veriler tutabilir.
Çoğu kılavuzun atladığı maliyet: CDN önbellek parçalanması
Neredeyse tüm üst sıralardaki sayfaların kaçırdığı nokta şudur: Vary: User-Agent
bedelsiz değildir; önbelleğinizi parçalara ayırır. Bir önbellek girdileri kısmen Vary
ile listelenen üstbilgilere göre anahtarlar. Dolayısıyla Vary: User-Agent, siteye
ulaşan her farklı user-agent dizesi, yani her tarayıcı sürümü, her işletim sistemi
derlemesi ve her bot için ayrı bir önbellek kopyası demektir. Gerçekte yalnızca iki
veya üç sürümü bulunan içerik için binlerce varyant oluşur. Bununla birlikte, yeniden
kullanım kaybının miktarı CDN’inizin kendi önbellek anahtarı yönetimine bağlıdır
(bazıları benzer user-agent dizelerini normalleştirir veya gruplandırır, çoğu bunu
yapmaz). Bu nedenle alıntılanabilecek tek bir evrensel isabet oranı kaybı yoktur.
Aşağıdaki SiteGround değeri dâhil belirli her çarpanı, kendi altyapınız için garanti
edilen bir sayı değil, tek bir sağlayıcının tahmini olarak değerlendirin.
SiteGround pratik maliyeti açıkça şöyle ifade etti: “With the User-Agent [header] enabled, the system will keep different copies for each combination of OS and browser version visiting your site… you will have 5-30 dynamic requests for the same 100 visits. So the very same site will use 5-30 times the resources.” (çeviri) “User-Agent üstbilgisi etkin olduğunda sistem, sitenizi ziyaret eden her işletim sistemi ve tarayıcı sürümü birleşimi için farklı kopyalar tutar; aynı 100 ziyaret için 5–30 dinamik istek oluşur. Dolayısıyla aynı site 5–30 kat kaynak kullanır.” Bu durum tarayıcıları da ağır etkiler: “If such [a] bot starts crawling your site and you have the Vary: User-Agent header, each request it makes to your site would be a dynamic one and will eat up your resources.” (çeviri) “Böyle bir bot sitenizi taramaya başlarsa ve Vary: User-Agent üstbilginiz varsa yaptığı her istek dinamik olur ve kaynaklarınızı tüketir.”
Bu yeni bir sorun değil. Cindy Krum, 2013’te Search Engine Land’de
kurumsal CDN’lerin üstbilgiyi, içeriğin “cannot be cached
or served from the CDN and must be fetched directly from your server” (çeviri) “CDN’den önbelleğe alınamaz veya sunulamaz ve doğrudan sunucunuzdan alınması gerekir” olduğunu bildiren
bir sinyal olarak ele aldığını ve bunun dinamik sunulan sayfalarda CDN’inizi potansiyel
olarak “rendering your CDN completely useless” (çeviri) “CDN’inizi tamamen işlevsiz hâle getirebileceğini” belirtti. 2013’teki
belirli sağlayıcı davranışları değişmiş olsa da temel gerilim — Vary: User-Agent
üstbilgisinin önbellek anahtarlarını parçalaması — teknik olarak hâlâ gerçektir. Bu,
SEO konusunda endişesi olmayan sitelerde bile dinamik sunumun gözden düşmesinin başlıca
nedenlerinden biridir. SiteGround ayrıca “most of the sites don’t actually serve
different HTML for their mobile versions. It’s the responsive CSS that does all the
heavy lifting” (çeviri) “sitelerin çoğu mobil sürümlerinde aslında farklı HTML sunmuyor; asıl işi duyarlı CSS yapıyor” diyerek pratik bir noktaya dikkat çeker. Başka bir deyişle, internetteki
birçok Vary: User-Agent üstbilgisi aslında duyarlı olan sitelerde kalmış eski yanlış
yapılandırmalardır.
Dinamik sunum cloaking midir?
Hayır, doğası gereği değildir. Risk teknikle değil, sonuç ve niyetle ilgilidir.
Bir cihazı algılayıp cihaza uygun içerik sunmakta sorun yoktur. Tehlike ya (a) bir
algılama hatasının veya eksik Vary üstbilgisinin Googlebot’a yanlış ya da bozuk
sürümü kazara sunması ya da (b) arama motorlarına kullanıcıların aldığından anlamlı
ölçüde farklı içerik sunulmasıdır. Google’ın arşivlenmiş dinamik sunum kılavuzu bu
tuzak konusunda açık sözlüydü:
“User-agent algılarken cloaking konusunda çok dikkatli olun; özellikle Googlebot’u aramayın. Tüm Googlebot user-agent’ları kendilerini belirli mobil cihazlar olarak tanımlar ve bu Googlebot user-agent’larına o cihazlara davrandığınız gibi davranmalısınız.”
Bunun paraleli, Google’ın hâlâ yayında olan dinamik oluşturma belgesidir. Belge, ilgili JS oluşturma durumu için genel ilkeyi şöyle açıklar: “As long as your dynamic rendering produces similar content, Googlebot won’t view dynamic rendering as cloaking,” (çeviri) “Dinamik oluşturmanız benzer içerik ürettiği sürece Googlebot bunu cloaking olarak görmez,” ancak “serving completely different content to users and crawlers can be considered cloaking.” (çeviri) “kullanıcılara ve tarayıcılara tamamen farklı içerik sunmak cloaking sayılabilir.” Aynı mantık dinamik sunum için de geçerlidir: Cihaza göre sunulan ve özünde aynı olan içerik sorun değildir; asıl tehlike, cloaking gibi görünen bir yanlış yapılandırmadır.
Dinamik sunum ve dinamik oluşturma — bunları karıştırmayın
Rakip içeriklerin çoğunun en belirgin biçimde yanlış anlattığı nokta budur; bu nedenle kesin bir ayrım yapmak gerekir:
- Dinamik sunum = cihaz farklılığı. Mobil ve masaüstü için aynı URL’de farklı HTML sunulur. Bu sayfanın konusu budur. Google, bu konudaki kılavuzunu mobile-first indexing belgesine dâhil etti.
- Dinamik oluşturma = botlar için JS oluşturma farklılığı. JavaScript ağırlıklı bir sayfanın önceden oluşturulmuş/sunucu tarafında oluşturulmuş sürümü tarayıcılara sunulurken kullanıcılar istemci tarafında oluşturulan sürümü alır. Bunun kendine ait, hâlâ yayında olan bir Google belgesi vardır. Bing de konuyu 2018 bingbot yazısında ele alır (“Dynamic rendering is about detecting user agent and rendering content differently for humans and search engine crawlers” (çeviri) “Dinamik oluşturma, user-agent’ı algılayıp içeriği insanlar ve arama motoru tarayıcıları için farklı oluşturmaktır” — not: Bu ifade bingbot için JS oluşturmayla ilgilidir, cihaz tabanlı sunumla değil).
Her ikisi de user-agent algılama kullandığı ve cloaking sorusunu gündeme getirdiği için bunları karıştırmak kolaydır; ancak farklı belgelere sahip farklı sorunlardır.
User-agent algılama gerçekten hataya açıktır
Google’ın arşivlenmiş kılavuzunda sıralanan yaygın hata biçimleri bugün de geçerlidir: User-agent listelerinin sürekli güncellenmesi gerekir ve bunlar yepyeni aracıları eşleştiremez; yanlış eşleştirme yapmak kolaydır — “sometimes detecting a desktop user agent as a mobile one or detecting a mobile user agent as a desktop” (çeviri) “bazen masaüstü user-agent’ını mobil, mobil user-agent’ını da masaüstü olarak algılamak” — ve belirli bir klasik hata da şudur: “a common mistake for sites is to inadvertently treat tablet devices as smartphones.” (çeviri) “sitelerin tablet cihazları yanlışlıkla akıllı telefon olarak değerlendirmesi yaygın bir hatadır.” Google’ın kendi özeti — “Use the Vary HTTP header to signal your changes depending on the user agent. Detect user agent strings correctly.” (çeviri) “Değişikliklerinizi user-agent’a göre bildirmek için Vary HTTP üstbilgisini kullanın. User-agent dizelerini doğru algılayın.” — basit görünür; ancak tüm bakım yükünü iki cümlede özetler.
Google on yıldır bu hatalarla karşılaşıyor. Ocak 2015’te Google’dan Pierre Far,
gördüğü başlıca uygulama sorunlarına dikkat çekti. Bunlar yalnızca Vary üstbilgisiyle
değil, JavaScript, CSS ve görsel varyantlarının cihazlar arasında doğru yönetilmesiyle
de ilgiliydi. Bu, “üstbilgiyi eklemenin” hiçbir zaman hikâyenin tamamı olmadığını
hatırlatır.
Duyarlı tasarım neden artık varsayılan?
İki etken dinamik sunumu eski bir kalıba dönüştürdü. Birincisi, Google en az 2015’ten beri duyarlı tasarımı “because it’s the easiest design pattern to implement and maintain” (çeviri) “uygulanması ve bakımı en kolay tasarım kalıbı olduğu için” diyerek öneriyor: Tek sürüm vardır ve cihaz algılama riski yoktur. İkincisi, mobile-first indexing 2023–2024’te tamamlandı ve cihaz sunumunu yanlış yapmanın önemini artırdı: Google artık öncelikle mobil sürümü tarar, dizine ekler ve sıralar. Dolayısıyla bir dinamik sunum yanlış yapılandırması Googlebot’a yalnızca kötü bir mobil sayfa sunmaz; dizine eklenen birincil içeriğinizi yanlış sunar. Ayrı m-dot URL’leri için geçerli olan, cihaza özgü yapılardan uzaklaşma eğilimi dinamik sunum için de geçerlidir: Tek bir duyarlı URL’de birleştirme yapıldığında bu sorun sınıfının tamamı ortadan kalkar.
Evidence for this claim Google supports dynamic serving but recommends responsive design because it is easier to implement and maintain. Scope: Current official or standards documentation. Confidence: high · Verified: Google: Mobile-first indexingİçerik eşdeğerliği, mobil Core Web Vitals, kullanılabilirlik, geçiş reklamları ve AMP’nin bugünkü konumu dâhil mobil ortamın tamamı için mobil SEO merkezine ve mobil SEO kontrol listesine bakın.
Bir sitenin dinamik sunum kullanıp kullanmadığı nasıl kontrol edilir?
Somut ve hızlı yöntem şudur: Aynı URL’yi farklı user-agent dizeleriyle iki kez
isteyin ve sonuçları karşılaştırın. HTML farklıysa ve yanıtta Vary: User-Agent
bulunuyorsa bu dinamik sunumdur. HTML aynıysa ve yalnızca CSS aracılığıyla yeniden
düzenleniyorsa duyarlı tasarımdır. Betikler sekmesinde curl, DevTools ve bookmarklet
sürümleri bulunur. Dikkat edilmesi gereken işaret, cihaza göre farklı HTML sunulmasına
rağmen Vary üstbilgisinin bulunmamasıdır. Bu yanlış yapılandırma, önbelleklerin ve
tarayıcıların yanlış sürümü görmesi riskini doğurur.
AI özeti
Gelişmiş sürümün kısa özeti:
- Dinamik sunum = user-agent başına aynı URL’de farklı HTML/CSS (masaüstü, mobil
veya tablet); sunucu tarafında algılanır ve
Vary: User-Agentyanıt üstbilgisiyle bildirilir. - Üç mobil yapılandırmadan biridir: Duyarlı tasarım (aynı URL + aynı HTML, CSS
media query’leri — Google’ın önerisi), dinamik sunum (aynı URL, farklı HTML) ve
ayrı URL’ler / m-dot (farklı URL + farklı HTML). Üçünden ikisi
Varykullanır. Vary: User-Agentüstbilgisinin iki görevi vardır: (1) önbelleklerin (tarayıcılar, CDN’ler, ISP’ler) mobil ziyaretçiye önbellekteki masaüstü sayfasını veya tersini sunmasını engellemek ve (2) geçmişte Googlebot’un mobil sürümü keşfetmesine yardımcı olmak. Rakip içeriklerin çoğu yalnızca ilkinden söz eder.- Gerçek bir maliyeti vardır:
Vary: User-Agent, CDN önbellek anahtarlarını her farklı UA dizesine (her tarayıcı/OS/bot) göre parçalayarak kaynak sunucu isteklerini artırır (SiteGround tahmini 5–30×). Sitelerin bu yöntemden uzaklaşmasının önemli, ancak yeterince tartışılmayan nedenlerinden biridir. - Cloaking riski teknikle değil sonuçla ilgilidir. Cihaza uygun içerik sunmakta
sorun yoktur. Tehlike, bir algılama hatasının veya eksik
Varyüstbilgisinin Googlebot’a yanlış sürümü sunması ya da tarayıcılara bilerek farklı içerik verilmesidir. Algılamada “Googlebot” için asla özel durum oluşturmayın; bildirdiği cihazı diğer cihazlar gibi ele alın. - User-agent algılama hataya açıktır: Güncelliğini yitirmiş UA listeleri, masaüstünün mobil olarak yanlış eşleştirilmesi ve tabletlerin telefon kabul edilmesi.
- Dinamik oluşturmayla aynı değildir (botlar için JS’yi önceden oluşturma); kavram ve Google/Bing belgeleri farklıdır.
- 2026’da eski bir kalıptır. Google yaklaşık 2015’ten beri duyarlı tasarımı öneriyor; 2023–2024’te tamamlanan mobile-first indexing, dinamik sunum yanlış yapılandırmalarının önemini artırdı. Genellikle eski/kurumsal bir sitede denetleyip terk edeceğiniz bir yapıdır.
- Algılamak için: Aynı URL’yi masaüstü ve mobil UA ile isteyin, HTML’yi karşılaştırın
ve
Vary: User-Agentüstbilgisini kontrol edin.
Resmî belgeler
Arama motorlarının birincil kaynak belgeleri.
- Mobile-first Indexing Best Practices — dinamik sunum ve ayrı URL tanımlarının artık bulunduğu (özel dinamik sunum sayfası buraya dâhil edildi) ve Google’ın duyarlı tasarım önerisini belirttiği belge.
- Dinamik sunum (özgün özel belge — arşivlenmiş) — kullanımdan kaldırılmış, çok daha kapsamlı sayfa (son güncelleme Ocak 2021). Vary üstbilgisinin iki görevi ve user-agent algılama hata biçimleri hakkındaki açıklamaların kaynağıdır. Canlı URL artık mobile-first indexing kılavuzuna 301 ile yönlendiriliyor; ancak ayrıntıların çoğu yeni kılavuzda bulunmuyor.
- Geçici çözüm olarak dinamik oluşturma — ilişkili ancak farklı JS oluşturma kavramı ve “içerik benzerse cloaking değildir” açıklaması. Burada yalnızca ayrımı göstermek için anılmıştır.
- Tüm web için mobile-first indexing duyurusu (Mart 2020) — cihaz sunumunun bugün neden daha önemli olduğuna ilişkin bağlam.
Bing / Microsoft
- bingbot dizisi: JavaScript, dinamik oluşturma ve cloaking (Ekim 2018) — Bing’in cihaz tabanlı dinamik sunumla değil, dinamik oluşturmayla (botlar için JS) ilgili kılavuzu. Bing, Google’ın geçmişte yaptığı gibi cihaz tabanlı dinamik sunum/
Varyiçin özel bir belge yayımlamış görünmüyor; genel olarak duyarlı/tek URL’li yapıları tercih ediyor.
#:~:text= bağlantı parçalarını çözümlemez. Son kabul etmeden önce anlık görüntünün yüklendiğini yeniden doğrulayın. Kaynaktan alıntılar
Google ve sektörden kayda geçmiş açıklamalar. Canlı Google belge bağlantıları alıntılanan bölüme giden derin bağlantılardır; arşivlenmiş ve dolaylı kaynaklar ayrıca belirtilmiştir.
Google — tanım ve öneri (canlı belge)
- “Dynamic serving: Uses the same URL regardless of device. This configuration relies on user-agent sniffing and the
Vary: user-agentHTTP response header to serve a different version of the HTML to different devices.” (çeviri) “Dinamik sunum, cihazdan bağımsız olarak aynı URL’yi kullanır ve farklı cihazlara farklı HTML sunmak için user-agent algılamasıyla Vary: user-agent üstbilgisine dayanır.” — Google Search Central belgeleri. Alıntıya git - “Separate URLs: Serves different HTML to each device, and on separate URLs. Like dynamic serving, this configuration relies on the user-agent and
VaryHTTP headers to redirect users to the device-appropriate version of the site.” (çeviri) “Ayrı URL’ler her cihaza farklı HTML’yi ayrı URL’lerde sunar ve kullanıcıları cihaza uygun sürüme yönlendirmek için user-agent ile Vary HTTP üstbilgilerine dayanır.” Alıntıya git - “Google recommends Responsive Web Design because it’s the easiest design pattern to implement and maintain.” (çeviri) “Google, uygulanması ve bakımı en kolay tasarım kalıbı olduğu için duyarlı web tasarımını önerir.” Alıntıya git
Google — Vary üstbilgisinin iki görevi (arşivlenmiş özel belge, son güncelleme Ocak 2021)
- “The Vary HTTP header has two important and useful implications: It signals to caching servers used in ISPs and elsewhere that they should consider the user agent when deciding whether to serve the page from cache or not. Without the Vary HTTP header, a cache may mistakenly serve mobile users the cache of the desktop HTML page or vice versa. It helps Googlebot discover your mobile-optimized content faster.” (çeviri) “Vary HTTP üstbilgisi önbellek sunucularına user-agent’ı dikkate almalarını bildirir; üstbilgi olmadan mobil ve masaüstü önbellekleri karışabilir. Ayrıca Googlebot’un mobil için optimize edilmiş içeriği daha hızlı keşfetmesine yardımcı olur.” — Google Search Central, Dynamic Serving (archived).
- “Be very careful of cloaking when detecting user agents… it should not be looking specifically for Googlebot. All Googlebot user agents identify themselves as specific mobile devices, and you should treat these Googlebot user agents exactly like you would treat these devices.” (çeviri) “User-agent algılarken cloaking konusunda dikkatli olun; özellikle Googlebot’u aramayın. Googlebot user-agent’larına tanımladıkları mobil cihazlar gibi davranın.” — Google Search Central, Dynamic Serving (archived).
Google — dinamik oluşturma (farklı kavram) (canlı belge)
- “As long as your dynamic rendering produces similar content, Googlebot won’t view dynamic rendering as cloaking.” (çeviri) “Dinamik oluşturmanız benzer içerik ürettiği sürece Googlebot bunu cloaking olarak görmez.” Alıntıya git
SiteGround — Vary: User-Agent üstbilgisinin CDN maliyeti (sektör)
- “With the User-Agent [header] enabled, the system will keep different copies for each combination of OS and browser version visiting your site… you will have 5-30 dynamic requests for the same 100 visits. So the very same site will use 5-30 times the resources.” (çeviri) “User-Agent üstbilgisi etkin olduğunda sistem her işletim sistemi ve tarayıcı sürümü birleşimi için farklı kopyalar tutar; aynı 100 ziyaret 5–30 dinamik istek ve 5–30 kat kaynak kullanımı doğurur.” — SiteGround, “Vary HTTP Üstbilgisi Neden Kötü Olabilir?”
Hangi mobil yapılandırmayı kullanmalıyım?
Neredeyse herkes duyarlı tasarımı seçmelidir. Ancak bu bölüm, dinamik sunumun veya ayrı URL’lerin değerlendirilebileceği durumlar ve bunlardan birini devraldıysanız ne yapmanız gerektiği dâhil gerçek karar sürecini açıklar.
Responsive, dynamic serving, or separate URLs?
Kısa yanıt: Neredeyse her durumda doğru seçenek duyarlı tasarımdır. Dinamik sunum ve m-dot, yeni projelerde seçilecek kalıplar değil, bunlara zaten sahip olan sitelerde kullanımını azaltarak yöneteceğiniz yapılardır.
Dinamik sunum denetim kontrol listesi
- Aynı URL’yi temsili masaüstü ve mobil user-agent değerleriyle isteyin ve HTML’nin bilerek farklı olup olmadığını doğrulayın.
- Gösterimi cihaz sınıfına göre değişen her yanıtta, uygun durumlarda önbelleğe
alınmış yanıtlar ve hata yanıtları dâhil
Vary: User-Agentgönderin. - Birincil metni, başlıkları, iç bağlantıları, görselleri ve alt metinlerini, meta verileri, robots yönergelerini ve yapılandırılmış verileri sürümler arasında eşdeğer tutun.
- Googlebot Smartphone’un normal bir mobil tarayıcıyla aynı mobil gösterimi aldığını test edin; tarayıcı için asla özel durum oluşturmayın.
- Bir cihaz sınıfının diğerine ait önbellekteki belgeyi alamaması için CDN önbellek anahtarlarını ve isabet davranışını kontrol edin.
- Her isteği yalnızca kaynak sunucudan bir kez almak yerine CDN/önbellek uç noktası üzerinden masaüstü, mobil, tablet ve bot user-agent değerleriyle birkaç kez yineleyin. Önbellek zehirlenmesi hatası ilk istekte değil, ancak varyant ısıtılıp yeniden istendiğinde görünür.
- Yedek test matrisine tabletleri, tanınmayan user-agent değerlerini ve user-agent üstbilgisinin bulunmadığı durumları ekleyin.
- Site gerçekten duyarlı hâle geldiğinde ve yanıt artık değişmediğinde
Vary: User-Agentüstbilgisini kaldırın. - Dinamik sunumun bir gereksinim değil eski bir yapı olduğu durumlar için duyarlı tasarıma yönelik belgelenmiş bir geçiş yolu bulundurun.
Dinamik sunum — hızlı başvuru
Tanım: Aynı URL’de user-agent başına farklı HTML/CSS; Vary: User-Agent ile
bildirilir.
Üç mobil yapılandırma
| Yapılandırma | Aynı URL mi? | Aynı HTML mi? | Temel sinyal | Google’ın yaklaşımı |
|---|---|---|---|---|
| Duyarlı tasarım | Evet | Evet | CSS media query’leri | Öneriliyor |
| Dinamik sunum | Evet | Hayır (UA’ya göre) | Vary: User-Agent | Çalışır, ancak kırılgandır |
| Ayrı URL’ler (m-dot) | Hayır | Hayır | rel=canonical/alternate + Vary | En az önerilen |
Vary: User-Agent üstbilgisi — iki görev
- Önbellek doğruluğu — tarayıcıların/CDN’lerin/ISP’lerin yanlış cihazın önbellekteki sürümünü sunmasını engeller.
- Tarama keşfi — geçmişte Googlebot’un mobil sürümü bulmasına yardımcı olmuştur.
Nasıl görünür?
HTTP/1.1 200 OK
Vary: User-AgentGizli maliyet
Vary: User-Agent, CDN önbellek anahtarlarını her UA dizesine (her tarayıcı/OS/bot) göre parçalar.- SiteGround tahmini: Aynı trafik için 5–30× kaynak sunucu isteği.
- HTML’niz cihazlar arasında gerçekten aynıysa → üstbilgi kalmış bir yanlış yapılandırmadır; kaldırın.
Cloaking kuralı
- Cihaza uygun içerik sunmak = sorun değil.
- Bir algılama hatasının / eksik
Varyüstbilgisinin Googlebot’a yanlış sürümü sunması = asıl risk. - Algılamada “Googlebot” için asla özel durum oluşturmayın; bildirdiği cihazı diğer cihazlar gibi ele alın.
Yaygın algılama hataları
- Güncelliğini yitirmiş user-agent dizesi listeleri (yeni cihazları kaçırır).
- Masaüstünün mobil veya mobilin masaüstü olarak algılanması.
- Tabletlerin akıllı telefon olarak değerlendirilmesi (klasik hata).
Şununla karıştırmayın: Dinamik oluşturma = botlar için JS’yi önceden oluşturma (farklı kavram, farklı belge).
2026 gerçeği: Eski bir kalıptır. Google yaklaşık 2015’ten beri duyarlı tasarımı öneriyor; 2023–2024’te tamamlanan mobile-first indexing riskleri artırdı. Denetleyip terk edin; yeni projede kullanmayın.
Herhangi bir URL’de dinamik sunumu algılama
Temel test: Aynı URL’yi bir masaüstü ve bir mobil user-agent ile isteyin, HTML’yi
karşılaştırın ve Vary: User-Agent üstbilgisini kontrol edin. HTML farklıysa dinamik
sunum kullanılıyordur (URL değişiyorsa m-dot olabilir). Yanıt değiştiği hâlde Vary
üstbilgisi yoksa işaretlenmesi gereken yanlış yapılandırma budur.
curl — masaüstü ve mobil yanıtları karşılaştırma (macOS / Linux)
URL="https://example.com/"
DESKTOP="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0 Safari/537.36"
MOBILE="Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0 Mobile Safari/537.36"
# Fetch both, hash the body — different hashes = different HTML per device
curl -sA "$DESKTOP" "$URL" | shasum
curl -sA "$MOBILE" "$URL" | shasum
# Is the site even sending Vary: User-Agent? (headers only)
curl -sI "$URL" | grep -i '^vary:'curl — Googlebot smartphone kimliğine bürünme (tarayıcının ne aldığını doğrulama)
GBOT="Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
curl -sA "$GBOT" "https://example.com/" | shasum
# Compare to the $MOBILE hash above — they should match. If Googlebot gets the
# desktop version, that's the misconfiguration that can look like cloaking.Windows (PowerShell) — aynı karşılaştırma
$Url = "https://example.com/"
$Desktop = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0 Safari/537.36"
$Mobile = "Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0 Mobile Safari/537.36"
(Invoke-WebRequest $Url -UserAgent $Desktop).RawContentLength
(Invoke-WebRequest $Url -UserAgent $Mobile ).RawContentLength
(Invoke-WebRequest $Url -Method Head).Headers["Vary"]Chrome DevTools — terminal gerekmez
- DevTools’u (
F12/Cmd+Opt+I) ve ardından Network conditions sekmesini açın (⋮→ More tools → Network conditions). - “Use browser default” seçimini kaldırın, bir mobil UA seçin (veya Googlebot’un
smartphone dizesini yapıştırın) ve sayfayı yeniden yükleyin. Oluşturulan sayfayı
karşılaştırın; Network panelinde belge isteğinin Response Headers bölümündeki
Varydeğerini inceleyin. - Yeniden masaüstü UA’ya geçip sayfayı yükleyin. Aynı URL’deki farklı HTML aradığınız işarettir.
Tarayıcı konsolu kod parçası — geçerli sayfanın Vary üstbilgisini kontrol etme
// Paste in the DevTools Console on the page you're testing
fetch(location.href, { method: "HEAD", cache: "no-store" })
.then(r => console.log("Vary:", r.headers.get("vary") || "(none)"));Bookmarklet — tek tıklamayla Vary kontrolü
javascript:(async()=>{const r=await fetch(location.href,{method:"HEAD",cache:"no-store"});alert("Vary: "+(r.headers.get("vary")||"(none set)"));})();Not: fetch, çapraz kaynak isteklerinde yalnızca sunucunun CORS aracılığıyla erişime
izin verdiği yanıt üstbilgilerini gösterir. Bu nedenle konsol/bookmarklet kontrolleri
görüntülediğiniz kaynak üzerinde en güvenilir sonucu verir. Kesin bir üstbilgi okuması
için curl -I veya DevTools Network panelini kullanın.
Cihaza bağlı yanıtları denetleme araçları
curl: Aynı isteği açıkça belirtilmiş masaüstü, mobil ve Googlebot Smartphone user-agent değerleriyle yineleyin; üstbilgileri, durumu, gövde boyutunu ve içerik hash’lerini karşılaştırın.- Chrome DevTools Network paneli: User-agent değerini geçersiz kılın, önbelleği devre dışı bırakın ve cihaz emülasyonunun yanıtı değiştirdiğini varsaymak yerine gerçek belge yanıtını inceleyin.
- Search Console URL Inspection: Temsili URL’ler için Googlebot Smartphone’un aldığı oluşturulmuş HTML’yi kontrol edin.
- User-agent yapılandırmalı bir tarayıcı: Ayrı mobil ve masaüstü taramaları çalıştırıp başlıkları, alt başlıkları, canonical değerlerini, yönergeleri, yapılandırılmış verileri ve iç bağlantıları geniş ölçekte karşılaştırın.
- CDN önbellek analitiği: Önbellek parçalanmasını veya cihazlar arası sızıntıyı bulmak için isabetleri, ıskalamaları ve önbellek anahtarlarını cihaz sınıfına göre bölümlere ayırın.
Dinamik sunum anti-pattern’leri
Dinamik sunumu “çalışıyor” durumundan “size etkin biçimde zarar veriyor” durumuna getiren hata biçimleri:
1. Vary: User-Agent üstbilgisi olmadan farklı HTML sunmak.
En büyük hatadır. Bu üstbilgi olmadan önbellek masaüstü sürümünü saklayıp telefona
sunabilir veya Googlebot smartphone’a masaüstü sayfasını verebilir. İçerik değişir,
ancak hiçbir şey önbelleklere veya tarayıcılara bunu bildirmez; böylece yanlış sürüm
sızar. Cihaza göre HTML sunuyorsanız üstbilgi vazgeçilmezdir.
2. Aslında duyarlı olan bir siteye Vary: User-Agent eklemek.
Bu, ters yöndeki ve yaygın bir hatadır. HTML’niz cihazlar arasında aynıysa üstbilgi
yararlı hiçbir şey yapmaz ve CDN önbelleğinizi her user-agent dizesine göre parçalar
(SiteGround: 5–30× istek). “Eksiksiz olsun” diye eklemeyin; yalnızca cihaz başına
gerçekten farklı HTML sunuyorsanız kullanın.
3. Algılama mantığında “Googlebot” için özel durum oluşturmak. Cihaz sınıfını algılamakta sorun yoktur; özellikle Googlebot’u arayıp ona farklı bir şey sunmak, kazara cloaking oluşmasının yoludur. Googlebot kendisini belirli bir mobil cihaz olarak tanıtır; onu tam olarak o cihaz gibi ele alın.
4. Masaüstü ve mobil HTML’nin eşdeğerlikten uzaklaşmasına izin vermek. İki sürüm, senkronize tutulması gereken iki yapı demektir. Mobile-first indexing kapsamında mobil sürüm dizine eklenir. Dolayısıyla yalnızca masaüstünde bulunan içerik, yapılandırılmış veri, görseller/alt metinler ve bağlantılar dizine ekleme açısından yok sayılır.
5. Güncelliğini yitirmiş user-agent listeleri ve tabletlerin telefon sanılması. UA algılama listeleri zamanla bozulur: Yeni cihazlar eşleşmez, masaüstü cihazlar mobil olarak okunur ve tabletler akıllı telefon kabul edilir. Bir kez kurup hiç gözden geçirmediğiniz algılama sistemi, trafiğin giderek büyüyen bir bölümünü sessizce yanlış sınıflandırır.
6. Dinamik sunumu seçilebilecek yeni bir “seçenek” olarak görmek. 2026’da üç eşdeğer seçenekten biri değildir. Google yaklaşık 2015’ten beri duyarlı tasarımı öneriyor ve mobile-first indexing riskleri artırdı. Yeni bir yapı seçiyorsanız duyarlı tasarımı seçin; dinamik sunum, kullanımını azaltarak yönetmeniz gereken eski bir borçtur.
7. Dinamik oluşturmayla karıştırmak. Cihaz tabanlı sunumu yapılandırmak için JS önceden oluşturma belgelerine veya Bing’in bingbot yazısına başvurmak. Bunlar farklı sorunlar ve farklı çözümlerdir; karıştırılmaları ikisinin de ihtiyacını karşılamayan bir kılavuz ortaya çıkarır.
Yaygın dinamik sunum hataları
Mobil kullanıcılar ara sıra masaüstü sayfasını alıyor
Belirti: Soğuk bir istekte doğru mobil yanıt görünürken önbellek isabetlerinden
sonra masaüstü HTML’si görünür. Olası neden: Yanıt, eşleşen bir önbellek anahtarı
veya Vary: User-Agent olmadan user-agent’a göre değişiyordur. Düzeltme: Kaynak
sunucu üstbilgisini ve CDN yapılandırmasını düzeltin, etkilenen nesneleri temizleyin,
ardından ısınmış önbellek girdilerine cihazlar arası istekleri yineleyin.
Googlebot Smartphone daha az içerik görüyor
Belirti: URL Inspection’da masaüstünde bulunan metinler, bağlantılar, yapılandırılmış veriler veya görseller eksiktir. Olası neden: Mobil şablonlar birbirinden uzaklaşmış veya cihaz algılama Googlebot’u yanlış yönlendirmiştir. Düzeltme: Paylaşılan içerik kaynağından eşdeğerliği geri yükleyin ve tam smartphone tarayıcı aracısını normal bir telefon aracısıyla birlikte test edin.
Duyarlı bir sitenin önbellek verimliliği düşük
Belirti: HTML cihazlar arasında aynı olduğu hâlde CDN çok sayıda user-agent varyantı
saklar. Olası neden: Eski bir Vary: User-Agent üstbilgisi duyarlı tasarıma geçişten
sonra kalmıştır. Düzeltme: Yanıtın artık gerçekten değişmediğini doğrulayın,
üstbilgiyi kaldırın, varyantları temizleyin ve önbelleğin birleştiğini doğrulayın.
Dinamik sunum değişikliğini doğrulama
Gösterim ile üstbilginin uyumunu test etme
Çalıştırılacak test: Aynı URL’yi masaüstü ve mobil user-agent değerleriyle isteyin;
gövde hash’lerini ve Vary üstbilgisini kaydedin. Beklenen sonuç: Bilerek farklı
olan gövdelerin ikisi de Vary: User-Agent bildirir; aynı duyarlı gövdeler gereksiz bir
cihaz farklılığı taşımaz. Hatanın yorumu: Önbellek sinyali ile kaynak sunucu davranışı
uyuşmuyor. İzleme aralığı: Hemen. Geri alma tetikleyicisi: Farklı gövdeler,
değişkenlik bildirmeyen tek bir önbellek nesnesini paylaşabiliyor.
Isınmış önbellek yalıtımını test etme
Çalıştırılacak test: URL’yi bir cihaz sınıfıyla ısıtın ve ardından her iki sırayla diğer cihaz sınıfı olarak isteyin. Beklenen sonuç: Her cihaz her seferinde kendisi için amaçlanan gösterimi alır. Hatanın yorumu: CDN önbellek anahtarı cihaz farklılığını yok sayıyor. İzleme aralığı: CDN veya üstbilgi değişikliklerinden hemen sonra. Geri alma tetikleyicisi: Bir mobil istek masaüstü HTML’si veya tersi bir yanıt alıyor.
Mobil içerik eşdeğerliğini test etme
Çalıştırılacak test: Bir masaüstü ve mobil oluşturulmuş çıktı örneğini birincil içerik, meta veriler, yönergeler, bağlantılar ve yapılandırılmış veriler açısından karşılaştırın. Beklenen sonuç: Yerleşim farklı olabilir, ancak dizine eklenebilir anlam ve sinyaller eşdeğer kalır. Hatanın yorumu: Şablonların birbirinden uzaklaşması, mobile-first indexing’in kullanabileceği içeriği değiştiriyor. İzleme aralığı: Yayın sırasında ve URL Inspection’da yeniden taramadan sonra. Geri alma tetikleyicisi: Mobil gösterim dizine eklenebilir bir öğeyi kaldırıyor veya kısıtlayıcı bir yönerge ekliyor.
Kendinizi sınayın: Dinamik sunum
Dinamik sunum ve Vary üstbilgisi hakkında beş kısa soru. Her biri için bir yanıt
seçin ve ardından kontrol edin.
Zaman ayırmaya değer kaynaklar
İlgili yazılarım
- The Beginner’s Guide to Technical SEO — mobil yapılandırma ile tarama/dizine eklemenin büyük resimdeki yerini açıklar.
- JavaScript SEO Issues & Best Practices — insanların dinamik sunumla karıştırdığı dinamik oluşturma kavramıyla ilgilidir (cihaz sunumu değil, botlar için JS tarafı).
Vary: User-Agent üstbilgisine ayrılmış bir yazı yayımlamadım; bu dar kapsamlı ve büyük ölçüde eski bir yapılandırmadır. Bu nedenle yukarıdaki iki kılavuz, konunun doğrudan ele alınmasından ziyade en yakın ilgili birinci taraf bağlamıdır.Konuşmalarım
- Arama Nasıl Çalışır? (SlideShare) — Googlebot’un nasıl akıllı telefon olarak tarama yaptığı dâhil tarama, oluşturma, dizine ekleme ve sıralamaya ilişkin anlatımım. Mobile-first indexing kapsamında cihaz sunumu yanlış yapılandırmalarının sorun yaratmasının nedeni de budur. (Kalıcı uyarı: “This is my understanding of systems… not going to be 100% complete or accurate.” (çeviri) “Bu, sistemleri nasıl anladığımdır; yüzde yüz eksiksiz veya doğru olmayabilir.”)
Sektörden kaynaklar
- Mobile-first Indexing En İyi Uygulamaları (Google) — dinamik sunum ve ayrı URL tanımlarının yanı sıra duyarlı tasarım önerisinin güncel adresi.
- Dinamik Sunum (arşivlenmiş özgün Google belgesi) (Google, Wayback Machine üzerinden) — Vary üstbilgisinin iki görevi ile user-agent algılama hata biçimlerini açıklayan, kullanımdan kaldırılmış daha ayrıntılı sayfa.
- Geçici çözüm olarak dinamik oluşturma (Google) — “benzer içerik cloaking değildir” açıklamasını içeren farklı JS oluşturma kavramı.
- Mobil site yapılandırması ve Vary HTTP üstbilgisi (Search Engine Land, Cindy Krum, 2013) — kurumsal CDN ile
Varyüstbilgisi arasındaki çatışma. Eski tarihli olsa da temel önbellek parçalanması gerilimi hâlâ geçerlidir. - Vary HTTP üstbilgisi neden kötü olabilir? (SiteGround) —
Vary: User-Agentönbellek parçalanmasını ve 5–30× kaynak maliyeti tahminini sade biçimde açıklar. - Google’ın dinamik sunum kullanan mobil sitelerde gördüğü üç büyük sorun (Search Engine Roundtable, 2015) — Pierre Far’ın işaretlediği JS/CSS/görsel uygulama hataları; Google’ın bile bu sorunlarla erken dönemde ilgilendiğini gösteren bir kayıt.
Değişiklik günlüğü
22 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
22 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
22 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
9 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
8 Ağu 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.
18 Tem 2026 tarihinde güncellendi.
Editoryal özet ve kaydedilen değişiklik ayrıntıları.Değişiklik ayrıntıları
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
-
Ayrıntılı değişiklik notları şu anda İngilizce olarak mevcut.
Tam karşılaştırma kullanılamıyor — bu sürüm için önceki anlık görüntü arşivlenmemiş.