Kısa cevap: Evet, pratikte zorunlu. Çünkü HTTPS hem kullanıcı güvenliği için temel standart oldu, hem de Google HTTPS’i bir sıralama sinyali olarak kullandığını yıllar önce duyurdu.
Bu rehberde; WordPress siteni HTTPS’e sorunsuz geçirmek, ardından da en sık görülen problem olan “Mixed Content (Karışık İçerik)” uyarılarını kökten temizlemek için en güvenli adımları sırayla uygulayacağız.
1) Başlamadan önce: 2 şey yap (şart)
- Tam yedek al (dosyalar + veritabanı).
- Eğer Cloudflare kullanıyorsan, SSL modunu doğru ayarlamaya hazır ol (aşağıda var).
HTTPS geçişinde sorun olursa 5 dakikada geri dönmek için yedek hayat kurtarır.
2) SSL Sertifikası (HTTPS) nasıl aktif edilir?
En kolay yol: hosting panelinden (çoğu hosting “Let’s Encrypt SSL” verir).
- Sertifikayı etkinleştir
- Siteyi
https://ile açınca sertifika uyarısı almamalısın
Cloudflare kullanıyorsan ayrıca şuna dikkat edeceğiz: Cloudflare’ın Encryption mode ayarı (Flexible/Full/Full strict). Cloudflare, mümkünse Full veya Full (strict) kullanmayı güçlü şekilde öneriyor.
3) WordPress adreslerini HTTPS yap (en kritik adım)
WordPress panelinde:
- Ayarlar → Genel
- WordPress Adresi (URL) →
https://... - Site Adresi (URL) →
https://...
- WordPress Adresi (URL) →
Panel açılmıyorsa / kilitlendiysen (kurtarma yöntemi)
wp-config.php dosyana (üst kısımlara) şunları ekleyebilirsin:
define('WP_HOME', 'https://siteadiniz.com');
define('WP_SITEURL', 'https://siteadiniz.com');
Bu yöntem WordPress’in resmi geliştirici dokümanlarında geçen bir yaklaşımdır (WP_SITEURL örnekleri ve wp-config düzenleme).
Not: wp-config ile sabitlersen, panelden URL değiştirme alanları kilitlenebilir (bazı ortamlarda bu beklenen davranıştır).
4) HTTP → HTTPS 301 yönlendirme (server-side) ekle
Google, kalıcı URL değişikliklerinde server-side kalıcı yönlendirme (301/308) kullanmayı önerir.
Apache (.htaccess) için örnek
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Nginx için örnek
server {
listen 80;
server_name siteadiniz.com www.siteadiniz.com;
return 301 https://$host$request_uri;
}
Eğer Cloudflare kullanıyorsan, “Always Use HTTPS” gibi ayarları açmadan önce Cloudflare SSL modunun doğru olduğundan emin ol (bir sonraki bölüm). Yanlış mod = sonsuz yönlendirme döngüsü.
5) Cloudflare kullanıyorsan: SSL modu doğru olmalı
Cloudflare’da:
- SSL/TLS → Encryption mode
- Tercih: Full veya Full (strict)
- Flexible: Cloudflare ile ziyaretçi arası HTTPS olsa bile origin’e HTTP gider; bu “yarım güvenlik”tir ve bazı WordPress HTTPS zorlamalarında sorun çıkarabilir.
6) Mixed Content (Karışık İçerik) nedir ve neden olur?
HTTPS sayfanın içinde kalan bazı kaynaklar (resim, CSS, JS) hâlâ HTTP ile çağrılırsa tarayıcı “mixed content” uyarısı verir. Bu hem güvenliği hem de sayfa davranışlarını bozabilir.
Belirti:
- Chrome/Edge console’da “Mixed Content” uyarıları
- Bazı ikonlar, fontlar, slider’lar yüklenmez
- “Kilit” simgesi tam görünmez
7) Mixed Content nasıl çözülür? (En sağlam 3 yöntem)
Yöntem A) Veritabanında http → https düzelt (en etkili)
WordPress içeriklerinde eski http:// linkleri kalırsa mixed content bitmez. En güvenli yöntemlerden biri WP-CLI search-replace komutudur; WordPress Developer Resources bunu resmi olarak dokümante eder.
Örnek (önce dry-run önerilir):
wp search-replace 'http://siteadiniz.com' 'https://siteadiniz.com' --skip-columns=guid --dry-run
wp search-replace 'http://siteadiniz.com' 'https://siteadiniz.com' --skip-columns=guid
--skip-columns=guidözellikle belirtmek istersen güvenli bir pratik olarak sık kullanılır.
WP-CLI yoksa, phpMyAdmin üzerinden
wp_optionstablosundahomevesiteurldeğerlerini kontrol etmek de migration rehberlerinde geçen standart adımdır.
Yöntem B) Tema/eklenti içinde hard-coded http linklerini düzelt
Bazı temalar header/footer veya özel JS içinde http:// ile link basar. Veritabanı temiz olsa bile mixed content sürer.
- Tema dosyalarında “http://siteadiniz.com” araması yap
- Özellikle: header, footer, custom.js, theme options
Yöntem C) Geçici “kalkan” (ileri seviye): CSP ile insecure istekleri upgrade etmek
Eğer çok fazla eski URL varsa ve hızlı toparlamak istiyorsan, tarayıcıların HTTP isteklerini HTTPS’e yükseltmesi için CSP’de upgrade-insecure-requests kullanılabilir (kalıcı çözüm yerine “geçiş desteği” gibi düşün).
Bu yöntem asıl düzeltmenin (Yöntem A/B) yerine geçmez; en doğrusu kaynakları gerçekten HTTPS’e çevirmektir. “Mixed content”in mantığı MDN’de detaylı anlatılır.
8) Search Console adımları (HTTPS’e geçince yapılacaklar)
- HTTPS versiyonunu Search Console’da takip et (özellikle raporları ayrı görmek için).
- Sitemap’i tekrar gönder (sitemap_index.xml).
Önemli: Google, HTTP → HTTPS geçişinde Change of Address tool gerekmediğini özellikle belirtir.
(Change of Address daha çok domain/subdomain değişiminde kullanılır.)
9) En sık sorunlar ve hızlı çözümler
Sonsuz yönlendirme (redirect loop)
- Cloudflare SSL mode “Flexible” + WordPress/Cloudflare HTTPS zorlaması → loop çıkarabilir
Çözüm: Full/Full strict’e geç.
HTTPS aktif ama hâlâ “Not Secure”
- Mixed content vardır (yukarıdaki 7. bölüm)
Google/AdSense botları erişemiyor
- WAF/Firewall/Challenge kuralları çok agresif olabilir (bu ayrıca AdSense tarafında da sorun çıkarır).
SSS
HTTPS SEO’ya tek başına uçuş getirir mi?
Hayır; ama Google HTTPS’i bir sinyal olarak kullandığını söylüyor ve güven/UX tarafında artık standart.
301 şart mı?
Evet, HTTP’den gelen tüm trafik ve botlar HTTPS’e kalıcı yönlenmeli; Google server-side kalıcı yönlendirmeleri önerir.
