SEO Kılavuzu Adım 7: Güvenlik — 2026'da Google'ın Beklentisi
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:
| Gereksinim | Neden | Nasıl Kontrol Edilir | |-------------|-----|--------------| | Geçerli sertifika | Süresi dolmuş = tarayıcı uyarısı = çıkış yapan kullanıcılar | Süre dolum tarihini kontrol et | | Tam zincir | Tamamlanmamış zincirler bazı cihazlarda başarısız olur | SSL Labs testi | | TLS 1.2+ | Eski sürümlerin bilinen zayıflıkları var | SSL Labs testi | | SHA-1 yok | Kullanımdan kaldırıldı, tarayıcılar bunu reddeder | Sertifika detayları | | SAN kapsamı | www ve non-www her ikisi de kapsanmalıdır | Sertifika detayları | | Otomatik yenileme | Süre dolma felaketlerini önler | Let'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ı:
- Sertifika süresi dolmadan bildirim verilmesi — Süre dolmadan en az 30 gün önce izleme kurun (Adım 6)
- Tamamlanmamış sertifika zinciri — Sunucu, yalnızca yaprak sertifikayı değil, ara sertifikaları da göndermelidir
- Karışık içerik — HTTPS sayfası HTTP kaynaklarını yükler (resimler, scriptler, stil dosyaları)
- Yeniden yönlendirme döngüleri — Yanlış yapılandırılmış CDN/proxy nedeniyle oluşan HTTP → HTTPS → HTTP döngüleri
- 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:
Content-Security-Policy-Report-Onlyile başlayın (bloklamadan ihlalleri kaydeder)- Raporları 1-2 hafta izleyin
- Geçerli kaynakları beyaz listeye alın
- Zorunlu moda geçin
- Sürekli ihlal kaydı için
report-uriveyareport-toekleyin
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:
| Direktif | Anlamı | |-----------|---------| | max-age=31536000 | Bunu 1 yıl boyunca hatırla (saniye cinsinden) | | includeSubDomains | Tüm alt alan adlarına da uygulanır | | preload | Tarayı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:
- Geçerli HTTPS sertifikası
- Tüm HTTP yönlendirmeleri HTTPS'ye yapılmalıdır (alt alan adları dahil)
max-age>= 31536000 olan HSTS başlığı- HSTS başlığı
includeSubDomainsiçerir - HSTS başlığı
preloadiçerir - 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:
| Platform | En Yaygın Zayıflık | Düzeltme | |----------|-------------------|-----| | WordPress | Güncel olmayan eklentiler | Otomatik güncelleme + WAF | | Shopify | Üçüncü taraf uygulama izinleri | Uygulama listesini üç ayda bir denetleyin | | Next.js | Açık API yolları | Kimlik doğrulama ara yazılımı + rate limiting | | Statik siteler | CDN yanlış yapılandırması | Önbellek kurallarını gözden geçirin | | Özel | SQL enjeksiyonu | Parametreli 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 | Örnek | Tarayıcı Davranışı | |------|----------|---------|------------------| | Aktif | Yüksek | HTTP script, iframe, CSS | Varsayılan olarak engellendi | | Pasif | Orta | HTTP resim, video, ses | Uyarı 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:
- Chrome Geliştirici Araçları'nı açın → Konsol
- "Karışık İçerik" uyarılarını arayın
- 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:
| Script | Gerekli mi? | Risk Seviyesi | Alternatif | |--------|-----------|------------|-------------| | Google Analytics | Çoğunlukla evet | Düşük | Sunucu tarafı takibi | | Sohbet widget'ları | Belki | Orta | Kendinize ait çözümler | | Sosyal paylaşım düğmeleri | Nadir | Orta | Statik paylaşım bağlantıları | | A/B testi | Bazen | Yüksek | Sunucu tarafı testi | | Yeniden hedefleme pikselleri | İş kararı | Yüksek | Birinci taraf verileri | | Font CDN'leri | Kullanışlı | Düşük | Kendinize ait fontlar |
Gerekli üçüncü taraf scriptler için risk azaltma:
- 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>
- CSP kısıtlamaları: Yalnızca bilinen alanlardan gelen scriptlere izin verin
- Sandboxed iframe'ler: Üçüncü taraf widget'ları izole edin
- Düzenli denetimler: Tüm dış kaynakların üç ayda bir gözden geçirilmesi
- İ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 etiketini listeleyin. Tanımadığınız veya artık ihtiyaç duymadığınızları kaldırın. Her kaldırma işlemi hem güvenliği hem de sayfa hızını artırır.
Kötü Amaçlı Yazılım Tespiti & Google Güvenli Tarama
Google, kötü amaçlı yazılım dağıtan veya phishing içeriği barındıran alanların bir Güvenli Tarama listesini sürdürmektedir. Burada yer almak, SEO için felakettir — Google, kullanıcıların sitenizi ziyaret etmesine izin vermeden önce tam sayfa uyarısı gösterir.
Siteler nasıl işaretlenir:
- Kötü amaçlı yazılım dağıtan bir site (hacklenmiş WordPress vb.)
- Kötü amaçlı sitelere yeniden yönlendiren enjekte edilmiş scriptler
- Alan adınızda barındırılan phishing sayfaları
- Kötü amaçlı yazılıma bağlantı veren kullanıcı tarafından oluşturulan içerikler
- Tehlikeli olarak işaretlenmiş dosyaların barındırılması
Güvenli Tarama durumunuzu kontrol etme:
https://transparencyreport.google.com/safe-browsing/search?url=yourdomain.com
Ya da Google Arama Konsolu'nda: Güvenlik Sorunları bölümünde.
Önleme:
- Tüm yazılımları güncel tutun (CMS, eklentiler, kütüphaneler)
- Güçlü, eşsiz yönetici şifreleri + 2FA kullanın
- Dosya bütünlüğünü izleyin (yetkisiz değişiklikleri tespit edin)
- Kullanıcı tarafından yüklenen içerikleri tarayın
- Kullanılmayan eklentileri/temaları kaldırın
- Yönetici kullanıcıları düzenli olarak gözden geçirin
Eğer işaretlenirseniz:
- Kötü amaçlı yazılım/phishing içeriğini tanımlayın ve kaldırın
- Tüm yazılımları güncelleyin ve tüm şifreleri değiştirin
- Google Arama Konsolu'nda bir inceleme talep edin
- İncelemeler genellikle 1-3 gün sürer
- 30 gün boyunca dikkatlice izleyin (tekrar enfekte olma durumu yaygındır)
Hızlı kazanım: Sitenizi transparencyreport.google.com adresinde kontrol edin. Temizse, CMS'nizi ve tüm eklentilerinizi güncel tuttuğunuzdan emin olun.
Güvenlik SEO Kontrol Listesi
- [ ] Otomatik yenileme yapılandırılmış geçerli SSL sertifikası
- [ ] Tüm sayfalarda HTTP → HTTPS yönlendirmesi (301, 302 değil)
- [ ]
max-age>= 31536000 olan HSTS başlığı - [ ] İçerik Güvenliği Politikası başlığı yapılandırılmış
- [ ] X-Content-Type-Options: nosniff
- [ ] X-Frame-Options: DENY veya SAMEORIGIN
- [ ] Referrer-Policy: strict-origin-when-cross-origin
- [ ] Kullanılmayan özellikleri devre dışı bırakma Permissions-Policy
- [ ] Karışık içerik yok (HTTPS sayfalarında HTTP kaynakları)
- [ ] Açık hassas dosya yok (.env, .git, yapılandırma dosyaları)
- [ ] Sunucu sürüm başlıkları kaldırılmış veya genel
- [ ] Tüm yazılımlar/eklentiler güncel
- [ ] Google Güvenli Tarama durumu: temiz
- [ ] Üçüncü parti scriptler denetlenmiş ve minimize edilmiş
- [ ] Kritik dış scriptlerde SRI hash'leri
Yaygın Güvenlik Hataları (SEO Etkisine Göre Sıralı)
- Süresi dolmuş SSL sertifikası — Anında sıralama düşüşü + tarayıcı uyarısı
- Karışık içerik — Güven sinyallerini zayıflatır, kısmi şifreleme işe yaramaz
- HSTS yok — İlk istek savunmasız, zayıf güvenlik duruşu sinyalleri
- CSP eksik — Herhangi bir scriptin çalışmasına izin verir (XSS vektörü)
- Hassas dosyaların ifşası — API anahtarları olan
.env, kaynak kodu içeren.git - Güncel olmayan CMS/eklentiler — Bilinen açıklar, nihai tehlike
- Hiç güvenlik başlığı yok — Güvenliği düşünmediğinizi sinyaller
- Aşırı izinler veren üçüncü taraf scriptler — Kontrol edemediğiniz güvenlik açıkları
Sonraki Adım Nedir?
Adım 8: AI Görünürlüğü — 2026'da SEO'nun en son noktası. Google AI Özetine, ChatGPT alıntılarına, Perplexity referanslarına ve Gemini'ye — en hızlı büyüyen keşif kanalı, çoğu rakibin henüz dikkate almadığı bir kanal.
Bu kılavuz LANGR'ın 13 adımlı SEO serisinin bir parçasıdır. Sitenizin tüm 13 disiplinde nerede durduğunu görmek için ücretsiz bir denetim yaptırın.