Salı, 24 Aralık 2024
İçerik Dağıtım Ağları (CDN), web sitenizin gecikmesini azaltmak ve genel olarak web trafiğiyle ilgili baş ağrılarını uzak tutmak için özellikle uygundur. Sonuçta asıl amaçları budur: siteniz yoğun trafik alsa bile içeriğinizin hızlı bir şekilde sunulması. “D”
CDN’deki amaç içeriği dünya çapında ulaştırmak veya dağıtmaktır; bu nedenle kullanıcılara aktarım süreleri, herhangi bir veri merkezinde barındırmaya kıyasla daha düşüktür. Bu yazıda, sitenizde taramayı ve kullanıcı deneyimini iyileştirecek şekilde CDN’leri nasıl kullanacağınızı keşfedeceğiz ve ayrıca CDN destekli sitelerin taranmasının bazı nüanslarına bakacağız.

Özet: CDN Nedir?
CDN’ler temel olarak kaynak sunucunuz (web sitenizin bulunduğu yer) ile son kullanıcı arasında bir aracıdır ve onlar için (bazı) dosyalara hizmet eder. Tarihsel olarak,
CDN’lerin en büyük odak noktası önbelleğelemedir, yani bir kullanıcı sitenizden bir URL talep ettiğinde, CDN’ler sunucunuzun bu dosyaya bir süre tekrar hizmet vermesine gerek kalmaması için o URL’nin içeriğini önbelleklerinde bir süre saklar.
CDN’ler sitenizi büyük ölçüde hızlandırabilir kullanıcılara kendilerine yakın bir konumdan hizmet vererek. Diyelim ki Avustralya’daki bir kullanıcı Almanya’da barındırılan bir siteye erişiyor, bir CDN o kullanıcıya Avustralya’daki önbelleklerinden hizmet vererek dünyanın öbür ucundaki gidiş-dönüş süresini kısaltacaktır. Işık hızı olsun ya da olmasın,
mesafe hala oldukça büyük.
Ve nihayet,
CDN’ler sitenizi aşırı yüklenmeden ve bazı güvenlik tehditlerinden korumak için harika bir araçtır. CDN’lerin yönettiği küresel trafik miktarı ile trafik anomalilerini tespit etmek ve aşırı veya kötü amaçlı görünen erişimleri engellemek için güvenilir trafik modelleri oluşturabilirler. Örneğin, 21 Ekim 2024’te,
Cloudflare’in sistemleri
özerk olarak 4.2 tespit etti ve hafifletti
Tbps
(ed: bu çok fazla) Yaklaşık bir dakika süren DDoS saldırısı.
CDN’ler Sitenize Nasıl Yardımcı Olabilir?
Paranın satın alabileceği en hızlı sunuculara ve en iyi uplink’e sahip olabilirsiniz ve hiçbir şeyi hızlandırmanıza gerek olmadığını düşünebilirsiniz, ancak özellikle siteniz büyükse CDN’ler uzun vadede size para kazandırabilir:
- CDN’de Önbelleğe Alma: Medya, JavaScript ve CSS gibi kaynaklar ve hatta HTML’niz bir CDN’in önbelleklerinden sunuluyorsa, sunucularınız bu kaynakları sunmak için hesaplama ve bant genişliği harcamak zorunda kalmaz ve bu süreçte sunucu yükünü azaltır. Bu genellikle sayfaların kullanıcıların tarayıcılarında daha hızlı yüklenmesi anlamına da gelir
daha iyi dönüşümlerle ilişkilendirir. - Trafik Taşkını Koruması: CDN’ler aşırı veya kötü amaçlı trafiği belirleme ve engellemede özellikle iyidir; kötü davranan botlar veya iyilik yapmayanlar sunucularınızı aşırı yükleyecek olsa bile kullanıcılarınızın sitenizi ziyaret etmesine izin verir.
Taşkın korumasının yanı sıra, kötü trafiği engellemek için kullanılan aynı kontroller, belirli tarayıcılar, belirli bir kalıba uyan istemciler veya aynı IP adresini kullanmaya devam eden troller olsun, istemediğiniz trafiği engellemek için de kullanılabilir. Bunu sunucunuzda veya güvenlik duvarınızda da yapabilmenize rağmen, genellikle bir CDN’in kullanıcı arayüzünü kullanmak çok daha kolaydır. - Güvenilirlik: Bazı CDN’ler siteniz kapalı olsa bile sitenizi kullanıcılara sunabilir. Bu elbette yalnızca statik içerik için çalışabilir, ancak bu zaten işlerini başka bir yere götürmemelerini sağlamak için yeterli olabilir.
Kısacası, CDN’ler sizin dostunuzdur ve siteniz büyükse veya büyük miktarda trafik bekliyorsanız (veya hatta zaten alıyorsanız!), fiyat, performans, güvenilirlik, güvenlik, müşteri desteği, ölçeklenebilirlik, gelecekteki genişleme gibi faktörlere dayanarak ihtiyaçlarınıza uygun olanı bulmak isteyebilirsiniz. Seçeneklerinizi (ve zaten bir tane kullanıp kullanmadığınızı) öğrenmek için barındırma veya CMS sağlayıcınıza danışın.
Tarnmanın CDN’li Siteleri Nasıl Etkilediği
Tarama cephesinde, CDN’ler de yardımcı olabilir, ancak bazı tarama sorunlarına neden olabilirler (nadiren de olsa). Bizimle kalın.
CDN’lerin Tarama Oranına Etkisi
Tarama altyapımız, tarayıcılarımızın eriştiği URL’lere hizmet eden hizmetin IP adresinden çıkarılan bir CDN tarafından desteklenen sitelerde daha yüksek tarama oranlarına izin verecek şekilde tasarlanmıştır. Bu iyi çalışıyor, en azından çoğu zaman.
Diyelim ki bugün bir stok fotoğraf sitesi başlattınız ve stokta… 1.000.007 resminiz var. Web sitenizi bir açılış sayfası, kategori sayfaları ve tüm eşyalarınız için ayrıntı sayfalarıyla başlatırsınız – böylece çok sayıda sayfayla sonuçlanırsınız. Belgelerimizde açıklıyoruz
tarama kapasitesi sınırı
Google Arama tüm bu sayfaları olabildiğince çabuk taramak isterken, taramanın da sunucularınızı aşırı yüklememesi gerektiğini belirtir. Artan sayıda tarama isteğiyle karşılaşıldığında sunucunuz yavaş yanıt vermeye başlarsa, sunucunuzun aşırı yüklenmesini önlemek için Google tarafında yavaşlatma uygulanır. Tarama altyapımız sitenizin bir CDN tarafından desteklendiğini algıladığında bu yavaşlatmanın eşiği çok daha yüksektir ve sunucunuzun bunu büyük olasılıkla kaldırabileceği için daha fazla eşzamanlı istek göndermenin sorun olmayacağını varsayar, böylece web mağazanızı daha hızlı tarar.
Ancak, bir URL’ye ilk erişimde CDN’in önbelleği “soğuktur”, yani henüz hiç kimse bu URL’yi istemediğinden, içeriği henüz CDN tarafından önbelleğe alınmamıştır, bu nedenle kaynak sunucunuz CDN’in önbelleğini “ısıtmak” için bu URL’ye en az bir kez hizmet vermek zorunda kalacaktır. Bu çok benzer
HTTP önbelleğe almanın nasıl çalıştığı, de.
Kısacası, web mağazanız bir CDN tarafından destekleniyor olsa bile, sunucunuzun bu 1.000.007 URL’ye en az bir kez hizmet vermesi gerekecektir. Yalnızca bu ilk sunumdan sonra CDN’iniz önbellekleriyle size yardımcı olabilir. Bu, “taramak bütçeniz” için önemli bir yüktür ve tarama hızı muhtemelen birkaç gün boyunca yüksek olacaktır; aynı anda birçok URL yayınlamayı planlıyorsanız bunu aklınızda bulundurun.
CDN’lerin oluşturma (rendering) üzerindeki etkisi
İlk
kaynak taraması hakkındaki Aralık ayı blog yazımızda açıkladığımız gibi, kaynakları kendi ana bilgisayar adlarına veya bir CDN ana bilgisayar adına ayırmak (cdn.example.com), Web Oluşturma Servisimizin (WRS) sayfalarınızı daha verimli bir şekilde oluşturmasına olanak tanıyabilir. Ancak bunun bir istisnası vardır: Bu uygulama, farklı bir ana bilgisayar adına yapılan bağlantının ek yükü nedeniyle sayfa performansını olumsuz etkileyebilir, bu yüzden dikkatlice düşünmeniz gerekir
sayfa deneyimini oluşturma performansı ile.
Ana sunucunuzu bir CDN ile desteklerseniz, bu sorundan kaçınırsınız: sorgulanacak tek bir ana bilgisayar adı ve kritik oluşturma kaynakları muhtemelen CDN’in önbelleğinden sunulur, böylece sunucunuzun bunları sunmasına gerek kalmaz (ve sayfa deneyiminde hiçbir düşüş yaşanmaz).
Sonuç olarak, işletmeniz için en iyi çalışan çözümü seçin: statik kaynaklar için ayrı bir ana bilgisayar adınız (cdn.example.com) olsun, ana ana bilgisayar adınızı bir CDN ile destekleyin veya her ikisini de yapın. Google’ın tarama altyapısı her iki seçeneği de sorunsuz bir şekilde destekler.
CDN’ler aşırı korumacı olduğunda
CDN’lerin taşkın koruması ve tarayıcıların tarama yapma biçimleri nedeniyle, bazen sitenizde olmasını istediğiniz botlar, tipik olarak Web Uygulaması Güvenlik Duvarı (WAF) içinde olmak üzere CDN’inizin engelleme listesine düşebilir. Bu, tarayıcıların sitenize erişmesini engeller ve bu da nihayetinde sitenizin arama sonuçlarında görünmesini engelleyebilir. Engelleme çeşitli şekillerde gerçekleşebilir; bazıları bir sitenin Google arama sonuçlarındaki varlığına diğerlerinden daha fazla zarar verir ve CDN tarafında gerçekleştiği için bunu kontrol etmeniz sizin için zor (veya imkansız) olabilir. Bu blog yazısının amaçları doğrultusunda bunları iki kategoriye ayırdık: sert engellemeler ve yumuşak engellemeler.
Sert engellemeler
Sert engellemeler, CDN’in bir tarama isteğine bir şekilde hata içeren bir yanıt gönderdiği durumlardır. Bunlar şunlar olabilir:
- HTTP
503/429durum kodları: Göndermek
bu durum kodları, geçici bir engellemeyi sinyallemenin
tercih edilen yoludur. Bu, CDN tarafından istenmeyen engellemelere tepki vermeniz için size biraz zaman verecektir. - Ağ zaman aşımı: CDN’den gelen ağ zaman aşımı, etkilenen URL’lerin Google arama dizininden kaldırılmasına neden olacaktır, çünkü bu
ağ hataları sonlandırıcı, “sert” hatalar olarak kabul edilir. Ek olarak, tarama altyapımıza sitenin aşırı yüklendiğini bildirdikleri için sitenizin tarama hızını da hatırı sayılır ölçüde etkileyebilirler. - HTTP içeren rastgele hata mesajı
200durum kodu: Ayrıca şu şekilde de bilinir
yumuşak hatalar, bu özellikle kötüdür. Hata mesajı Google tarafında “sert” bir hata olarak değerlendirilirse (diyelim ki bir HTTP500), Google URL’yi Arama’dan kaldıracaktır. Google hata mesajlarını “sert” hatalar olarak algılayamazsa, aynı hata mesajına sahip tüm sayfalar Google’ın arama dizininden kopyalar olarak silinebilir. Google indekslemesinin yinelenen URL’lerin yeniden taranmasını istemek için çok az nedeni olduğundan, bundan kurtulmak daha uzun sürebilir.
Yumuşak engellemeler
Benzer bir sorun, CDN’iniz “insan olduğunuzdan emin misiniz” ara sayfalarını (interstitial) gösterdiğinde ortaya çıkabilir (kelime oyunu kesinlikle kasıtlıdır).

Tarayıcımız aslında insan OLMADIKLARINA ve insan taklidi yapmadıklarına ikna olmuştur. Sadece taramak istiyorlar. Ancak ara sayfa göründüğünde, harika siteniz değil, gördükleri tek şey budur. Bu bot doğrulama ara sayfaları durumunda, içeriğin geçici olarak kullanılamadığını tarayıcılar gibi otomatize edilmiş istemcilere 503 HTTP durum kodu biçiminde net bir sinyal göndermenizi şiddetle tavsiye ederiz. Bu, içeriğin Google dizininden otomatik olarak kaldırılmamasını sağlayacaktır.
Engellemeleri hata ayıklama
Hem sert hem de yumuşak engellemeler durumunda, işlerin düzgün çalışıp çalışmadığını kontrol etmenin en kolay yolu
Search Console’daki URL İnceleme aracını
kullanmak ve oluşturulan görseli incelemektir: eğer sayfanızı gösteriyorsa harika; boş bir sayfa, bir hata veya bot doğrulaması içeren bir sayfa gösteriyorsa, CDN’inizle bu konuyu görüşmek isteyebilirsiniz.
Ek olarak, bu istenmeyen engellemelere yardımcı olmak için Google, diğer arama motorları ve diğer tarayıcı operatörleri şunları yayınlar
IP adreslerimiz tarayıcılarımızı (crawler) tanımlamanıza yardımcı olmak ve uygun gördüyseniz engellenen IP’leri WAF kurallarından kaldırmak veya hatta onlara izin verilenler listesi (allowlist) oluşturmak için. Bunu nerede yapabileceğiniz kullandığınız CDN’e bağlıdır; neyse ki çoğu CDN ve bağımsız WAF harika bir dokümantasyona sahiptir. Küçük bir aramayla bulabildiklerimizden bazıları şunlardır (bu yazının yayınlandığı tarih itibarıyla):
- Cloudflare: https://developers.cloudflare.com/bots/get-started/free/#visibility
- Akamai: https://www.akamai.com/products/bot-manager
- Fastly: https://www.fastly.com/products/bot-management
- F5: https://clouddocs.f5.com/bigip-next/20-2-0/waf_management/waf_bot_protection.html
- Google Cloud: https://cloud.google.com/armor/docs/bot-management
Sitenizin arama motorlarında görünmesini istiyorsanız, önemsediğiniz tarayıcıların sitenize erişip erişemediğini kontrol etmenizi şiddetle tavsiye ederiz. IP adreslerinin sizin haberiniz olmadan otomatik olarak engellenenler listesine (blocklist) düşebileceğini unutmayın, bu nedenle aramalarda ve ötesinde sitenizin başarısı için engellenenler listelerini arada bir kontrol etmek iyi bir fikirdir. Eğer engellenenler listesi (tıpkı bu blog yazısı gibi) çok uzunsa, aramak yerine 192.168.0.101 şu şekilde arayabilirsiniz: 192.168.
Bu, bizim
Crawling December blog yazısı serisindeki son yazımızdı, umarız bunları yazmaktan zevk aldığımız kadar siz de okurken keyif almışsınızdır. Eğer… bla bla bla… rutin aynı.
Tarama (crawling) hakkında daha fazla bilgi edinmek ister misiniz? Crawling December serisinin tamamına göz atın:
Biz bunu nasıl uyguluyoruz
Google announcements age. We keep this post here for the record, and we note for clients whether the behaviour it describes still applies today or has since been superseded.
İlgili hizmetler