Skip to main content
← Back to blog

SEO Kılavuzu Adım 7: Güvenlik — 2026'da Google'ın Beklentisi

·11 dk okuma·by LANGR SEO

SEO Kılavuzu Adım 7: Güvenlik

Bu, 13 Adımlı SEO Kılavuzunun 7. adımıdır. Güvenlik, yalnızca kullanıcıları korumakla ilgili değildir — arama sıralamalarınızı doğrudan etkiler. Google, 2014'ten beri HTTPS'yi bir sıralama sinyali olarak kullanıyor ve beklentiler yalnızca artmıştır.


Çoğu site sahibi güvenliği ikili bir durum olarak düşünür: "SSL'im var, bu yüzden güvendeyiz." Gerçekte, Google onlarca güvenlik sinyalini değerlendirir. Doğru güvenlik başlıklarına, geçerli sertifikalara ve karışık içerikten uzak olan siteler, yalnızca temel bir SSL sertifikasına sahip olan sitelerin önünde yer alır - diğer tüm şeyler eşit olduğunda.

İyi haber: Çoğu güvenlik düzeltmesi bir kez yapılandırma ile halledilir. Bir kez ayarlayın ve bu, sıralamalarınızı kalıcı olarak korur.

SSL Yapılandırması

SSL (teknik olarak TLS) sunucunuz ile ziyaretçileriniz arasındaki bağlantıyı şifreler. 2014'ten beri, Google HTTPS'yi açıkça bir sıralama sinyali olarak doğrulamıştır. 2026'da HTTPS'ye sahip olmamak yalnızca bir sıralama sorunu değildir — Chrome, HTTP sitelerini adres çubuğunda "Güvenli Değil" olarak işaretleyerek kullanıcı güvenini yok eder.

Doğru SSL için gereksinimler:

GereksinimNedenNasıl Kontrol Edilir
Geçerli sertifikaSüresi dolmuş = tarayıcı uyarısı = çıkış yapan kullanıcılarSüre dolum tarihini kontrol et
Tam zincirTamamlanmamış zincirler bazı cihazlarda başarısız olurSSL Labs testi
TLS 1.2+Eski sürümlerin bilinen zayıflıkları varSSL Labs testi
SHA-1 yokKullanımdan kaldırıldı, tarayıcılar bunu reddederSertifika detayları
SAN kapsamıwww ve non-www her ikisi de kapsanmalıdırSertifika detayları
Otomatik yenilemeSüre dolma felaketlerini önlerLet's Encrypt / sağlayıcı yapılandırması

SSL puanlaması:

100% = Geçerli sertifika + Tam zincir + TLS 1.3 + Güçlü şifre + Otomatik yenileme
  0% = Süresi dolmuş veya eksik sertifika

Yaygın SSL hataları:

  1. Sertifika süresi dolmadan bildirim verilmesi — Süre dolmadan en az 30 gün önce izleme kurun (Adım 6)
  2. Tamamlanmamış sertifika zinciri — Sunucu, yalnızca yaprak sertifikayı değil, ara sertifikaları da göndermelidir
  3. Karışık içerik — HTTPS sayfası HTTP kaynaklarını yükler (resimler, scriptler, stil dosyaları)
  4. Yeniden yönlendirme döngüleri — Yanlış yapılandırılmış CDN/proxy nedeniyle oluşan HTTP → HTTPS → HTTP döngüleri
  5. Non-www ve www uyumsuzluğu — Sertifika biri kapsarken diğeri kapsamaz

Hızlı kazanım: Alan adınızı SSL Labs üzerinden çalıştırın (ssllabs.com/ssltest). "A" derecesinin altındaki her şey, harekete geçirebileceğiniz sorunlar içerir. Çoğu barındırma sağlayıcısı bunları bir tıklama ile düzeltir.

Güvenlik Başlıkları

Güvenlik başlıkları, sitenizi yüklerken tarayıcılara nasıl davranmaları gerektiğini bildiren HTTP yanıt başlıklarıdır. Bu başlıklar, tüm saldırı kategorilerini önler — ve Google'ın tarayıcıları bunları kontrol eder.

Temel güvenlik başlıkları:

İçerik Güvenliği Politikası (CSP)

CSP, en güçlü güvenlik başlığıdır. Tarayıcılara, sayfalarınızda hangi kaynakların (scriptler, stiller, resimler, fontlar) yüklenmesine izin verildiğini açıkça belirtir.

Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' https://api.example.com; frame-ancestors 'none';

CSP'nin önlediği saldırılar:

  • Cross-site scripting (XSS) saldırıları
  • Veri enjeksiyon saldırıları
  • Clickjacking (via frame-ancestors)
  • Yetkisiz script çalıştırma (kriptopara madencileri, reklam enjeksiyonları)

CSP dağıtım stratejisi:

  1. Content-Security-Policy-Report-Only ile başlayın (bloklamadan ihlalleri kaydeder)
  2. Raporları 1-2 hafta izleyin
  3. Geçerli kaynakları beyaz listeye alın
  4. Zorunlu moda geçin
  5. Sürekli ihlal kaydı için report-uri veya report-to ekleyin

X-Frame-Options

Sitenizin diğer alan adlarında iframe'lerde yerleştirilmesini önler (clickjacking koruması).

X-Frame-Options: DENY

Aynı köken çerçevelemesine izin vermeniz gerekiyorsa:

X-Frame-Options: SAMEORIGIN

X-Content-Type-Options

Tarayıcıların MIME türü taraması yapmasını önler (dosyaları beyan edilen türlerden farklı türler olarak yorumlamasını önler).

X-Content-Type-Options: nosniff

Bu satır, bir .jpg dosyasının içinde tarayıcının çalıştırabileceği gizli JavaScript içermesi durumunda meydana gelen saldırıları önler.

Referrer-Policy

Kullanıcıların sitenizdeki bağlantılara tıkladıklarında ne kadar referans bilgisi gönderileceğini kontrol eder.

Referrer-Policy: strict-origin-when-cross-origin

Bu, aynı köken istekleri için tam URL gönderirken, çapraz köken istekleri için yalnızca kökeni (domain) gönderir. Analiz ihtiyaçları ile gizliliği dengeleyerek ayarlanır.

Permissions-Policy

Hangi tarayıcı özelliklerinin (kamera, mikrofon, konum bilgisi vb.) sitenizde kullanılabileceğini kontrol eder.

Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()

Kullanmadığınız özellikleri devre dışı bırakmak, üçüncü taraf scriptlerin bunları istismar etmesini önler.

Başlık uygulama örneği (Next.js):

// next.config.js
module.exports = {
  async headers() {
    return [{
      source: '/(.*)',
      headers: [
        { key: 'X-Content-Type-Options', value: 'nosniff' },
        { key: 'X-Frame-Options', value: 'SAMEORIGIN' },
        { key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
        { key: 'Permissions-Policy', value: 'camera=(), microphone=(), geolocation=()' },
        { key: 'Strict-Transport-Security', value: 'max-age=31536000; includeSubDomains; preload' },
      ]
    }]
  }
}

Başlık uygulaması (Apache .htaccess):

Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Başlık uygulaması (Nginx):

add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Hızlı kazanım: Yukarıdaki 5 başlığı sunucu yapılandırmanıza ekleyin. Bu 5 dakikanızı alır ve herhangi bir tarama aracında güvenlik duruşunuzu anında iyileştirir.

HSTS Preload

HTTP Strict Transport Security (HSTS), tarayıcılara alan adınız için her zaman HTTPS kullanmalarını söyler — hatta ilk talep gerçekleşmeden önce bile. HSTS olmadan, sitenizi ilk ziyaret eden kullanıcılar hala HTTP kullanabilir (kesintiye uğramaya açık) ve HTTPS'ye yönlendirilmeden önce bu şekilde kalabilir.

HSTS başlığı:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Üç direktif:

DirektifAnlamı
max-age=31536000Bunu 1 yıl boyunca hatırla (saniye cinsinden)
includeSubDomainsTüm alt alan adlarına da uygulanır
preloadTarayıcı preload listelerinde dahil edilme talebi

HSTS preload listesi:

Son derece etkili HSTS koruması. Tarayıcılar, her zaman HTTPS kullanması gereken alan adlarının yer aldığı yerleşik bir listeyle gelir. Alan adınızı hstspreload.org adresine göndermek demektir ki:

  • İlk kez ziyaret eden kullanıcılar hemen HTTPS ile karşılaşır (HTTP → HTTPS yönlendirmesi yok)
  • Saldırganlar bağlantıları düşüremez
  • Kalıcıdır (gönderildikten sonra kaldırması zor)

HSTS preload için gereklilikler:

  1. Geçerli HTTPS sertifikası
  2. Tüm HTTP yönlendirmeleri HTTPS'ye yapılmalıdır (alt alan adları dahil)
  3. max-age >= 31536000 olan HSTS başlığı
  4. HSTS başlığı includeSubDomains içerir
  5. HSTS başlığı preload içerir
  6. Tüm alt alan adları HTTPS desteklemelidir

Uyarı: Sadece tüm alt alan adlarınız HTTPS destekliyorsa preload'a gönderin. includeSubDomains direktifi, herhangi bir yalnızca HTTP alt alan adının erişilemez olacağı anlamına gelir.

Hızlı kazanım: Eğer tüm alt alan adlarınızda zaten HTTPS varsa, tam HSTS başlığını ekleyin ve hstspreload.org adresine gönderin. İşlem birkaç hafta sürer, fakat koruma kalıcıdır.

Zayıflık Taraması

Otomatik zayıflık taraması, saldırganlar bu sorunları istismar etmeden önce yığınınızdaki bilinen güvenlik sorunlarını tanımlar.

Zayıflık taraması şunları kontrol eder:

  • Güncel olmayan yazılımlar: Bilinen CVE'leri olan WordPress, eklentiler, JavaScript kütüphaneleri
  • Açık dosyalar: .env, .git, wp-config.php, veritabanı dökümleri
  • Bilgi sızıntısı: Sunucu sürümü başlıkları, hata ayıklama modu, yığın izleri
  • Varsayılan kimlik bilgileri: Auth olmadan yönetici sayfaları, varsayılan şifreler
  • Açık portlar/hizmetler: İnternete açılan gereksiz hizmetler
  • Enjeksiyon noktaları: CSRF koruması olmayan formlar, doğrulanmamış girdiler

Platform bazında yaygın zayıflıklar:

PlatformEn Yaygın ZayıflıkDüzeltme
WordPressGüncel olmayan eklentilerOtomatik güncelleme + WAF
ShopifyÜçüncü taraf uygulama izinleriUygulama listesini üç ayda bir denetleyin
Next.jsAçık API yollarıKimlik doğrulama ara yazılımı + rate limiting
Statik sitelerCDN yanlış yapılandırmasıÖnbellek kurallarını gözden geçirin
ÖzelSQL enjeksiyonuParametreli sorgular

Tarama sıklığı:

  • Günlük: Otomatik yüzey taraması (SSL, başlıklar, açık dosyalar)
  • Haftalık: Bağımlılık zayıflık kontrolü (npm audit, WordPress eklenti tarayıcısı)
  • Aylık: Yetkilendirilmiş test ile derin tarama
  • Her dağıtım sonrasında: Regresyon kontrolü

Hızlı kazanım: npm audit (Node.js) çalıştırın veya CMS eklentilerinizi güncel olmayan bileşenler için kontrol edin. Kritik/yüksek şiddetteki sorunları hemen düzeltin.

Karışık İçerik

Karışık içerik, bir HTTPS sayfasının kaynakları (resimler, scriptler, stiller, iframe'ler) HTTP üzerinden yüklemesi durumunda oluşur. Bu, şifrelemeyi kısmen bozuyor ve tarayıcı uyarılarını tetikliyor.

Karışık içerik türleri:

TürŞiddetÖrnekTarayıcı Davranışı
AktifYüksekHTTP script, iframe, CSSVarsayılan olarak engellendi
PasifOrtaHTTP resim, video, sesUyarı ile yüklendi

Aktif karışık içerik modern tarayıcılar tarafından engellenmektedir — yani scriptleriniz ve stilleriniz yüklenmeyecek. Pasif karışık içerik yüklenir ancak güvenlik uyarıları gösterir.

Karışık içeriği bulma:

  1. Chrome Geliştirici Araçları'nı açın → Konsol
  2. "Karışık İçerik" uyarılarını arayın
  3. Alternatif olarak, bir tarayıcıyla tarayın (Screaming Frog, LANGR)

Karışık içerik kaynakları:

  • İçerikte sabit kodlanmış http:// URL'leri (blog yazıları, ürün açıklamaları)
  • HTTP kaynaklarını yükleyen üçüncü taraf widget'ları
  • Gömülü içerikler (YouTube eski gömüler, sosyal medya widget'ları)
  • HTTP URL'leri ile CSS background-image
  • HTTP üzerinden yüklenen fontlar

Karışık içeriği düzeltme:

<!-- Kötü -->
<img src="http://example.com/image.jpg" />

<!-- İyi -->
<img src="https://example.com/image.jpg" />

<!-- En İyi (protokol ile ilgili, sayfa protokolüne uyum sağlar) -->
<img src="//example.com/image.jpg" />

Veritabanı düzeltmesi (WordPress):

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://yourdomain.com', 'https://yourdomain.com');

Hızlı kazanım: Chrome'da ana sayfanızı açın, F12 tuşuna basın, Karışık içerik uyarıları için Konsol sekmesini kontrol edin. Görünen her hatayı düzeltin — bu doğrudan Google'a görünür.

Üçüncü Taraf Script Riskleri

Yüklediğiniz her dış script, potansiyel bir güvenlik (ve performans) sorunudur. Üçüncü taraf scriptler:

  • Tehdit altına alınabilir (tedarik zinciri saldırıları)
  • Kullanıcılarınızı onay olmadan takip edebilir (GDPR ihlali)
  • Sitenizi yavaşlatabilir (render-blocking, ağ gecikmesi)
  • İşlevselliği bozabilir (sürüm güncellemeleri, kesintiler)
  • İstenmeyen içerik enjekte edebilir (yanlış giden reklam scriptleri)

Üçüncü taraf scriptlerinizi denetleyin:

ScriptGerekli mi?Risk SeviyesiAlternatif
Google AnalyticsÇoğunlukla evetDüşükSunucu tarafı takibi
Sohbet widget'larıBelkiOrtaKendinize ait çözümler
Sosyal paylaşım düğmeleriNadirOrtaStatik paylaşım bağlantıları
A/B testiBazenYüksekSunucu tarafı testi
Yeniden hedefleme pikselleriİş kararıYüksekBirinci taraf verileri
Font CDN'leriKullanışlıDüşükKendinize ait fontlar

Gerekli üçüncü taraf scriptler için risk azaltma:

  1. Subresource Integrity (SRI): Hash doğrulaması, değiştirilmiş scriptlerin yüklenmesini engeller
<script src="https://cdn.example.com/lib.js"
        integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
        crossorigin="anonymous"></script>
  1. CSP kısıtlamaları: Yalnızca bilinen alanlardan gelen scriptlere izin verin
  2. Sandboxed iframe'ler: Üçüncü taraf widget'ları izole edin
  3. Düzenli denetimler: Tüm dış kaynakların üç ayda bir gözden geçirilmesi
  4. İzleme: Sayfalarınızda yeni dış alanların belirmesi durumunda uyarı almanız

Hızlı kazanım: HTML'nizde dış bir alandan yükleyen her