Http den Https ye geçis adımları

HTTP den HTTPS ye geçiş

Bu yazımızda HTTP den HTTPS ye geçiş adımları nı derinlemesine inceleyerek yapılması gerekenler ile ilgili ipuçlarını paylaşacağız.

Bildiğiniz gibi Google herkesi daha güvenli bir web ortamına taşımayı hedefliyor. HTTPS’nin SEO’ (arama motoru optimizasyonu) ya katkısı,
Analiz raporlarında doğru referral () veri bilgisi gibi HTTPS’nin avantajlarından yararlanmayı düşünebilirsiniz.

Neden ve nasıl geçiş yapılabilir inceleyelim.

HTTPS NEDİR?

HTTPS (Güvenli metin aktarma protokolü) tarayıcınızın veya web uygulamanızın bir web sitesine güvenli bir şekilde bağlanmasını sağlayan bir mekanizmadır.

HTTPS web sayfalarının güvenli olmasını sağlayan güvenlik önlemlerinden birisidir. Bu bankaların web sitelerine giriş yapma, kredi kartları bilgisi, veya wordpress gibi sitelerin  yönetim paneline giriş gibi unsurları kapsar. Web sitenizdeki HTTPS, şifreleme için SSL sertifikası gerektirir. Bu verilerin düz metin olarak aktarılmamasını sağlar.

Builtwith’e göre Mart 2017’den itibaren ilk 10.000 web sitesinin %18.6’sı HTTPS kullanmaktadır ve bu sayı eylül 2015’e göre %5,68 daha fazladır.

https kullanımı

Hatta Google’ın kendisi, tüm ürün ve hizmetlerinde % 100 şifreleme işareti için bastırıyor. Şubat 2017 itibarıyla Google’a yapılan trafiğin yaklaşık % 85’i HTTPS üzerindendir.

google %100 şifreleme çizelgesi

Web sitesi sahiplerinin HTTPS’yi önemsemelerinin ve HTTP’den HTTPS’ye geçmeyi düşünmelerinin aslında birkaç önemli nedenir vardır.

1- Güvenlik

HTTPS’nin en büyük nedeni eklenen güvenliktir. HTTP’den HTTPS’ye geçerek şimdi web sitenize şifrelenmiş bir SSL/TLS bağlantısı üzerinden hizmet veriyorsunuz.

Bu veri ve bilgilerin artık düz metin olarak iletilmediği anlamına gelir.

Kredi kartı bilgisini işleyen e-ticaret siteleri için bu bir zorunluluktur. Yasal olarak sitelerin teknik olarak HTTPS olması zorunlu olmasa da (bankalar sanal pos verirken SSL bağlantısını şart koşarlar) müşterinizin kişisel verilerini korumak sizin sorumluluğunuzdadır.

E-ticaretin yanı sıra blog sayfalarındaki giriş sayfalarınada uygulanabilir. Özellikle çok yazarlı bir blog web sitesi işletiyorsanız ve http üzerinden çalışıyorsa; kişi giriş yaparken bu bilgi sunucuya düz metin olarak iletilir.

HTTPS web sitesi ile tarayıcı arasında güvenli bir bağlantı sağlamada kesinlikle önemlidir. Bu şekilde istenmeyen kişilerin web sitenize erişmesini önleyebilirsiniz.

2- SEO

Google resmi olarak HTTPS nin bir sıralama faktörü olduğunu söylemiştir.

Bu sadece şimdilik ufak bir avantaj olarak gözükse de muhtemelen çoğumuz rakiplerimizi SERP’de geçmek için her türlü avantajdan yararlanmak isteyeceğiz.

Google web sitelerinin HTTPS ye geçmesi yönünde baskısı sürdükçe; bu sıralama faktörünün ileride dahada önemli olacağını tahmin edebiliriz.

matt cutts sıralama sinyali

SEO ve HTTPS ilişkisine detaylı olarak bakarsak Matthew Barby, 1 milyon URL analizi yaptıktan sonra 1,2 ve 3. sıralanan sayfaların 33% nün HTTPS kullandığını bulmuştur.

https kullanımı ve google sıralaması karşılaştırma

3- Güven ve Güvenirlik

GlobalSign tarafından yapılan araştırmaya göre web sitesi ziyaretçilerin 28,9% u adres çubuğunda yeşil güvenlik kilitlinin olup olmadığına bakmaktadır
ve 77% si girdikleri bilgilerin online olarak kötüye kullanılmasından endişe duymaktadırlar.
https işareti
HTTPS, SSL GÜVENLİĞİ ile işinize yardımcı olur. Yeşil asma kilidi gören ziyaretçileriniz verilerin daha güvenli olduğunu bilerek sitenize ve size daha çok güveneceklerdir.

4- Referral Data

Google Analytics kullanıyorsanız “Referral” veri (referans verilerini biliyorsunuzdur).

Birçoğunun farkında olmadığı şey, HTTPS den HTTP ye olan yönlendirme verisinin Google Analytics’de engellendiği.
Peki bu verilere ne oluyor? Pek çoğu direct traffic (direk trafik) dediğimiz bölüm ile birlikte toplanıyor.

Eğer birisi HTTP den HTTPS ye gidiyorsa o zaman “Referral” bilgisi iletiliyor.

5- Google Chrome Uyarıları

Chrome 56 nın Ocak 2017’de piyasaya sürülmesiyle, artık HTTPS üzerinden yayınlanmayan siteler için gri renkli bir bilgi kutusu gösteriliyor. Bu yalnızca Google’ın tarayıcısındaki değişikliklerinin başlangıcıdır.

google chrome uyarıları
Chrome ekibi, Ocak 2017’den itibaren şifrelerini veya kredi kartlarını güvenli olmayan şekilde ileten HTTP sitelerini işaretleyeceklerini de açıkladı. Web sitenizin trafiğinin çoğu Chrome tarayıcısı üzerinden geliyorsa bu durum önemlidir.

Google analytics’Te tarayıcı ve işletim Sistemi’ndeki hedef kitlesi bölümüne bakabilirsiniz.

Sitenizin Google Chrome’dan aldığı trafiğin yüzdesine göz atın.

https uyarısı
Google ziyaretçilere web sitenizin güvenli bir bağlantıda çalışmayabileceğini çok daha açık hale getiriyor.

6 – Performans

HTTP /2 tarayıcı desteği nedeniyle HTTPS gerektirir.

Performans artışı HTTP / 2 nin daha iyi multiplexing (çoğul lama), paralellik, Huffman kodlamasıyla HPACK sıkıştırması,

ALPN uzantısı ve sunucu push özelliklerini desteklemesi gibi çeşitli nedenlerden kaynaklanmaktadır.

HTTP den HTTPS ye Geçiş Kılavuzu:

İlk önce ihtiyaç duyacağınız bazı temel gereksinimleri gözden geçirelim ve dikkat etmeniz gereken hususları belirtelim.

  • SSL sertifikasına gerekmektedir. Detaylı bilgiye aşağıda değineceğiz.
  • Web sitenizi barındırdığınız sunucunun http / 2 desteklediği kontrol edin. Bu şart değildir yalnız performans olarak bunu isteyebilirsiniz.
  • HTTPS geçişi yapmak için iyi bir zaman dilimi ayırın bu 5 dakika içinde yapılacak bir işlem değildir.
  • Kullandığınız tüm harici servislerin ve scriptlerin HTTPS versiyonu olduğunu kontrol edin.
  • WordPress sitelerinde tüm blog yayınlarınız ve sayfalarınız üzerindeki sosyal paylaşım sayıları silinecektir. Bunun nedeni paylaşım sayılarınızın http sürümüne bakan bir API’yi temel alması ve üçüncü taraf sosyal ağlar üzerinde kontrolü bulunmamasıdır.

İşlemlere başlamadan önce herhangi bir caching plugin kullanıyorsanız bunu iptal edin.

1. SSL sertifikasının seçilmesi

Yapmanız gereken ilk şey SSL sertifikanız yoksa satın almanızdır. Google 2048 bit anahtar sertifika veya daha üstü bir sertifika kullanmanızı önerir.
Comodo, DigiCert, GeoTrust, Thawte, Rapidssl veya Trustwave gibi satıcılardan satın almanızı öneririz.
Ayrıca GoGetSSL, NameCheap ve GoDaddy gibi daha ucuz alternatiflerde vardır.
Seçebileceğiniz üç temel tür sertifika vardır.

  • Alan adı adı doğrulaması : Dakikalar içinde verilen tek alan adı veya alt alan (e-posta veya DNS doğrulaması) Bunlar genellikle yılda 9$ kadar düşük bir fiyatla satın alınabilir.
  • İş / Organizasyon doğrulaması: Tek alan veya alt alan, 1-3 gün içerisinde verilen daha yüksek düzeyde güvenlik /güven sağlayan ve işletme doğrulaması gerektiren sertifikadır.
  • Genişletilmiş Doğrulama : Tek alan veya alt alan, 2-7 gün içinde yayınlanan daha yüksek güvenlik / güven düzeyi sağlayan ve işletme doğrulaması gerektiren sertifikadır. Bu bankaların web sitelerinde gördüğünüz gibi tam yeşil çubuğu sağlar.

2. SSL Sertifikasının kurulumu:

Sertifikayı satın aldıktan sonra, web sitenize kurulması işlemlerine başlanır.
Bunun için SSL sağlayıcısının sertifika dosyası yaratabilmesi için CSR kodu gereklidir.
CSR (Certificate signing request) Sertifika kayıt talebi kodu ve ana anahtar kodu (private key) web sitenizi barındırdığınız sunucunun Cpaneli altında güvenlik-> SSL/TLS bölümünde yaratılır.

Ya da aşağıdaki linkteki adresten CSR kodunu yaratabilirsiniz.
https://www.trustico.com/ssltools/create/csr-pem/create-a-new-csr-instantly.php.

sll sertifika formu doldurma

CSR kodu yaratılıp talep gönderildikten sonra SSL sağlayıcınızdan sertifikanızı içeren bir mail alacaksınız. Bu gelen mailde belirtilen onaylama işlemini yapmanız gerekmektedir.
Bu sertifikayı ve ana anahtar kodunu web barındırma sunucunuzun olduğu firmaya vererek yada yönetim paneline erişiminiz varsa Cpanel içerisinde güvenlik-> SSL/TLS -> SSL yönetimi(HTTPS) kurulumu bölümünden yüklemeniz gerekmektedir.

WordPress sitesi kullanıyorsanız; admin yönetim panelinden giriş yapın, ayarlar -> genel bölümünde WordPress Adres(URL) ve Site Adres(URL) https olarak değiştirin.

3. HTTP den HTTPS ye yönlendirme

SSL sertifikanız var ve sitenize kurulumu yapıldı. Bir sonraki aşama kalıcı olarak tüm HTTP trafiğini HTTPS ye yönlendirmek.

Bunun birkaç yolu vardır. İlk olarak(önerilen) sunucu düzeyinde yapılması veya WordPress kullanıyorsanız eklenti kurulması.

SEO bazında düşünülürse doğru işlem 301 yönlendirilmesi yapılmasıdır. Başka bir çeşit yönlendirme yapılması sıralamanıza zarar verebilir.

Apache’de HTTP den HTTPS ye yönlendirme

apache platformu

Eğer web sunucunuz Apache kullanıyorsa; kolaylıkla tüm HTTP trafiğini HTTPS ye yönlendirmesini .htaccess dosyasına aşağıdaki kodu ekleyerek yapabilirsiniz. Bu Apache üzerinde çalışan siteler için önerilen metotdur.

RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.yoursite.com/$1 [R=301,L]

Nginx’de HTTP den HTTPS ye yönlendirme

nginx platformu

Eğer web sunucunuz Nginx üzerinde çalışıyorsa, Kolaylıkla HTTP trafiğini HTTPS ye aşağıdaki kodu Nginx config dosyasına ekleyerek yapabilirsiniz. Bu Nginx üzerinde çalışan siteler için önerilen metotdur.

server { listen 80; server_name domain.com www.domain.com; return 301 https://domain.com$request_uri; }

Really Simple SSL Plugin ile HTTP den HTTPS ye geçiş

3. seçenek WordPress Really Simple SSL plugin (eklenti) si kullanmak. Bu metodu kalıcı çözüm olarak önermiyoruz çünkü 3.parti eklentiler başka bir çeşit problemlere ve uyumluluk sorunlarına yol açabilir.
Geçici olarak plugin kullanmak iyi bir çözüm olabilir fakat bir sonraki aşamada göstereceğimiz sistem içerisinde kayıt edilmiş HTTP linklerinin güncellenmesi işlemlerinin yapılması gerekmektedir.

wordpress really simple ssl eklentisi

4. Sabit kodlu HTTP Bağlantılarını Güncellenmesi

Bütün yönlendirmeleriniz yerli yerinde şimdi kodlanmış HTTP Url adreslerini düzeltmenin tam vakti.
Genellikle URL’leri sabit kodlamak tavsiye edilmez, ancak zaman içerisinde bu kodlar oluşur ve böyle bir durumda güncellenmeleri gerekir.
Aşağıda HTTP bağlantılarınızı HTTPS olarak güncellemek için kullanabileceğiniz birkaç seçenek bulunmaktadır.

Seçenek 1 – Better Search Replace Plugin (Eklentisi)

İlk metotlardan bir tanesi Better Search Replace plugini kullanmak.

wordpress better search replace eklentisi

Seçenek 2 – interconnect/it Search Replace DB PHP Script

İkinci seçenek arama ve değiştirme için interconnect/it tarafından sunulan ücretsiz PHP yazılımı olan Search Replace DB kullanmak

Önemli! Bu yazılım web sitenizde istenmeyen sonuçlar doğurabilir, eğer ne yaptığınızı bilmiyorsanız bir web sitenizi bozabilir. Yada bunu yaparken rahat değilseniz lütfen öncelikle bir web yazılımcısı veya web barındırıcınızla görüşün..

Komut dosyasını kullanmak için zip dosyasını indirin, search-replace-db-master adındaki dosyayı açın ve ismini değiştirin. Örnek olarak biz ismini update-db-1551 olarak değiştirdik, daha sonra FTP, SFTP aracılığla web sunucunuzun genel dizinine yükleyin. Bu genellikle /wp-content klasörünü içeren dizin ile aynıdır. Ardından https://domain.com/update-db-1551 gibi gizli klasörünüze gidin.

search ve replace script görüntüsü

Komut dosyası otomatik olarak veritabanı alanını bulmaya ve doldurmaya çalışır ancak ayrıntıların doğru olduğundan ve arama/değiştirme işlemi gerçekleştirmek istediğiniz veri tabanının doğru olduğunu kontrol etmeniz gerekir. Güncelleme / değiştirme işlemini görmek için önce “Dry Run” ı tıklayabilirsiniz. Daha sonra hazır olduğunuzda Veri tabanı güncellemelerini ve arama / değiştirme işlemlerini gerçekleştirecek “Live Run” a tıklayın.

HTTPS geçişi örneği “http://alanadiniz.com” yerine “https://alanadiniz.com” olacaktır.

wordpress search / replace eklentisi

İş bitiminde bu komut dosyasını silmeniz güvenlik nedeni ile çok önemlidir! “Delete Me” Beni Sil düğmesini kullanabilirsiniz, bunu yapmazsanız web siteniz saldırılara açık bırakabilir.

Not : Bu komut yazılımı Sitenizin URL’leri, sayfalar ve mesajlardaki kodlanmış bağlantılar dahil olmak üzere veri tabanınızdaki tüm girişleri güncellemektedir.

5. Özel Komut Dosyaları ve Harici Kütüphanelerin Güncellenmesi

Artık eski kodlanmış URL’lerinizi güncellediğinize göre; Sitenizde header, footer vb gibi yerlere eklemiş olabileceğiniz scriptleri (özel komut dosyaları) nı kontrol etmek isteyeceksiniz.

Bunlar Google jquery, Font Awesome, CrazyEgg, AdRoll, Facebook, Hotjar vb. gibi şeyler olabilir. Google jquery’ye bir örnek olarak ; yalnızca HTTPS sürümüne işaret edecek şekilde güncelleyebilirsiniz.

Hemen hemen her yazılım sağlayıcısı veya servis geçiş yapabileceğiniz bir HTTPS sürümüne sahip olmalıdır.

6. Karışık İçerik Uyarıları için Web Sitenizi Kontrol Edin

Bu uyarılar hem HTTPS hem de HTTP komut dosyalarını veya içeriği yüklerken görüntülenir. Her ikisini birden yüklenemez.
HTTPS’ye taşıdığınızda, her şeyin HTTPS üzerinden çalışması gerekir.

Chrome’da karışık bir içerik uyarısı olduğunda gösterilenlere bir örnek:

karışık içerik uyarısı

Güvenli olmayan içerik için web sitenizi veya URL’nizi kolayca taramak için JitBit’ten SSL Check adlı harika ve ücretsiz küçük bir plugin bulunmaktadır.
Bu plugin, HTTPS Web sitenizi tarayarak güvenli olmayan resimleri, komut dosyaları ve css dosyalarını arar. Taranan sayfa sayısı, web sitesi başına 200 ile sınırlıdır.

Ayrıca, herhangi bir sayfayı hızlı bir şekilde kontrol etmek için, ağ istekleri paneline bakarak Chrome DevTools’u kullanabilirsiniz. Güvenlik paneli de aslında oldukça kullanışlıdır. Hemen tüm güvenli olmayan kökenleri görebilir ve daha sonra isteklerini görmek için neler geldiğini görebilirsiniz.
Ayrıca Chrome DevTools’un network request panel (ağ istekleri paneli) ne bakarak herhangi bir sayfa üzerinde hızlı bir kontrol yapabilirsiniz. Diğer özelliği güvenlik paneli de aslında oldukça kullanışlıdır. Tüm güvenli olmayan kökenleri görebilir ve “request” (istek) e tıklayarak kaynaklarını görebilirsiniz.

chrome-dev-tools-https

7. Google Arama Konsolu Profilinin Güncellenmesi

Artık Web sitenizi HTTPS’de çalıştırıp yayınlamış bulunuyorsunuz ve umarım hiçbir uyarı vermezken, Pazarlama tarafına dalış yapmanın zamanı geldi. Bunlardan bazıları çok önemlidir, bu yüzden bunları atlamayın! Yapmanız gereken ilk şey, HTTPS sürümü için yeni bir Google Search Console profili oluşturmaktır.

google search console site ekleme

8. Google Analytics

Google Analytics’de “property and view” bölümünden güncelleme yapmanız gerekmektedir. Bu sitenizi Google Search Console’a bağlarken yardımcı olacak analitik verilerinizi etkilemez.

Property Settings altındaki Default URL kısmını HTTPS olarak değiştirin.

google analytics property ekleme

Görünümü güncellemek için Domain View Settings (Alan adı görünüm ayaları) da Website Url adresini HTTPS:// versiyonu ile değiştirin.

google analytics view ayarları

7. Adım’da oluşturduğunuz Google Search Console profilinizi Google Analytics hesabınızla yeniden bağlantı kurması için alan adınızın özellik ayarlarına tıklayın, aşağı gidin ve “Adjust Search Console” a tıklayın.

Böylece HTTPS Google Search Console profilinizi bağlayabilirsiniz.

İkisini birbirine bağlayarak, arama sorguları verilerinin Google Analytics hesabınıza akması sağlanır.

google search console ayarları

9. Diğer Güncellemeler

– Robots.txt dosyanızın erişebilir olduğundan ve çalıştığından eDismin olun.
– Canonical tags (kanonik etiketlerin) HTTPS sürümünü gösterdiğinden emin olun ( bu, yukarıda adım 4’ü izlediyseniz daha önce yapılmış olmalıdır).
– Disqus gibi bir yorum yazma eklentisi kullanıyorsanız, Disqus yorumlarını HTTP’den HTTPS’ye taşımanız gerekmektedir.
– URL’lerinizi E-posta Pazarlama yazılımınızda güncelleyin.
– PPC Reklam URL’lerini güncelleyin: Adwords, Bing Ads, Facebook Reklamları vb.
– Sosyal medya bağlantılarını güncelleyin (Facebook Sayfası, Twitter Bio, Pinterest, Google+ vb.)