Herhangi Bir WordPress Web Sitesi İçin Ücretsiz SSL
Yayınlanan: 2022-03-10Bir e-ticaret web siteniz varsa, kredi kartlarını güvenli bir şekilde işlemek için SSL zorunludur. Ancak, ödemeleri işleme almıyor olsanız bile, güvenli HTTP'yi (veya HTTPS'yi) ciddiye almalısınız, özellikle de şimdi size nasıl hızlı ve ücretsiz olarak kuracağınızı göstereceğim. Başlayalım.
SSL Nedir ve Neden Bakım Yapmalıyım?
Kısacası SSL, HTTPS'deki "S" dir. HTTP'ye, alıcının gerçekten iddia ettikleri kişi olmasını ve içeriğini görmek için yalnızca yetkili alıcıların mesajın şifresini çözebilmesini sağlayan bir şifreleme katmanı ekler.
SmashingMag'de Daha Fazla Okuma :
- Nginx, Vernik ve Apache ile Her Yerde HTTPS
- Eski Bir SSL Anahtarıyla Yeni Bir SSL Sertifikası Nasıl Verilir
- HTTP/2'ye Hazırlanmak: Web Tasarımcıları İçin Bir Kılavuz
Kredi kartı numaraları gibi hassas bilgiler - temelde özel olan her şey - her zaman HTTPS aracılığıyla sunulmalıdır. Bununla birlikte, haber web sitesinde, bloglarda, arama motorlarında ve çoğu ana markanın web sitelerinde gördüğümüz gibi, tüm içeriği HTTPS aracılığıyla sunmaya yönelik artan bir eğilim var. Bu nedenle, web siteniz ödemeleri işlemeiyor olsa bile, HTTPS'yi düşünmek için iyi nedenler vardır, bunlardan birkaçı burada listelenmiştir:
- güvenilirlik Teknik bilgisi olmayan izleyiciler bile tarayıcının adres çubuğundaki küçük yeşil asma kilidi güven ve güvenilirlikle ilişkilendirir.
- Şifre koruması . Belki de web siteniz yalnızca yavru kedi videoları barındırıyor. Ancak kullanıcılar internet bankacılığı için de kullandıkları bir şifre ile Wi-Fi üzerinden web sitenize giriş yapıyorsa, bu kimlik bilgilerini herkese açık olarak yayınlayarak potansiyel olarak ciddi bir güvenlik ihlalini kolaylaştırıyorsunuz demektir.
- Geleceğe yönelik . Birçok web sitesine hala HTTP üzerinden hizmet verilmektedir, ancak HTTPS'ye yönelik inkar edilemez bir eğilim vardır ve bu yalnızca kullanıcılar web güvenliği konusunda giderek daha fazla eğitim aldıkça artacaktır. Tarihin doğru tarafında olun.
- SEO . Google, HTTPS'nin bir sıralama sinyali olarak kullanıldığını resmen duyurdu. Başka bir deyişle, Google, arama sonuçlarındaki sıralamalarını artırarak HTTPS web sitelerini ödüllendiriyor.
HTTPS'ye karşı yaygın bir argüman, performansı düşürmesidir. Doğru, şifreleme ve şifre çözme işlemi ek milisaniyelere mal olur, ancak Google ve Facebook gibi performans bilincine sahip şirketlerin tüm içeriklerini HTTPS aracılığıyla sunduğu gerçeğinin kanıtladığı gibi çoğu durumda ihmal edilebilir düzeydedir. Ve doğru, HTTPS, birçok CSS dosyasının ayrı ayrı sunulması gibi mevcut performans sorunlarını daha da kötüleştirebilir, ancak bu, performans için temel en iyi uygulamalar izlenerek hafifletilir. HTTP/2'nin benimsenmesiyle HTTPS'nin performans maliyeti daha da düşüktür. Sonuç olarak, performanstaki azalma, yalnızca web siteniz hiper optimize edilmişse veya her milisaniyenin önemli olduğu kadar düşük performans gösteriyorsa anlamlı bir caydırıcıdır.
Ücretsiz HTTPS Nasıl Kurulur
HTTPS'yi ücretsiz kurmanın ilk adımı, bir bulut DNS hizmetine kaydolmaktır. DNS'nin ne olduğu hakkında hiçbir fikriniz yoksa, devam etmeden önce bir dakikanızı ayırmanızı tavsiye ederim. Keyifli DNS Nasıl Çalışır, onu komik bir karikatüre ayırma konusunda harika bir iş çıkarıyor. Aksi takdirde, DNS'nin example.com
(insanların anladığı) gibi alan adlarının 104.28.2.167
(bilgisayarların anladığı) gibi IP adreslerine bağlandığı sistem olduğunu bilin. Pek çok seçeneğiniz var ama ben CloudFlare hayranıyım çünkü kurulumu gerçekten hızlı, gösterge paneli sezgisel ve birçok güçlü özelliğe sahip ücretsiz bir plan mevcut.
CloudFlare'ı Kurma
Bir CloudFlare hesabına kaydolduktan sonra, ilk web sitenizi yapılandırmak için kolay bir sihirbazdan geçeceksiniz; bu, alan adı kayıt sitenize nasıl giriş yapacağınıza ve ad sunucularını CloudFlare'e nasıl yönlendireceğinize ilişkin talimatlarla sonuçlanacak. Değişikliğin yayılması biraz zaman alacak, ancak tamamlandığında, CloudFlare web sitenizin DNS kayıtlarını barındıracak. Ardından, CloudFlare'in “esnek SSL” özelliğini açın.

“Esnek SSL” ayarını seçmek önemlidir çünkü kendi SSL sertifikanızı satın alıp web sitenizin sunucusuna yüklemenizi gerektirmez. İşte neler olduğuna dair bir diyagram.

Gördüğünüz gibi CloudFlare, web siteniz ve müşteri arasındaki trafiği güvence altına almak için aracı görevi görüyor. Bu statik bir HTML web sitesi olsaydı, artık ona HTTPS ( https://yourdomain.com
) aracılığıyla bağlanabileceksiniz. Ancak WordPress, değiştirilmiş protokolle çalışmak için ek yapılandırma gerektirir.
WordPress'i HTTP'den HTTPS'ye Yeniden Yapılandırma
Önce panodaki "Ayarlar" → "Genel" altındaki "WordPress Adresi" ve "Site Adresi" ayarlarını güncellemeniz gerekir. Bunu yaptığınızda, tekrar kontrol paneline giriş yapmanız gerekecek.

Dikkatli ilerleyin. Bu ayarları zamanından önce güncellerseniz, kendinizi kilitleme riskiyle karşı karşıya kalırsınız. Örneğin, web sitesi henüz HTTPS için düzgün bir şekilde yapılandırılmamışsa ve ayarlar güncellenmişse, web sitesini bozan ve kontrol paneline erişmenizi engelleyen bir yeniden yönlendirme döngüsüne neden olabilirsiniz.

Bu noktada web sitesinin ana sayfasını HTTPS üzerinden ziyaret edebilmeniz gerekir. Ancak, sayfa bağlantıları yine de HTTP URL'lerini gösterecektir. WordPress, sayfalara ve resimlere olan bağlantıları mutlak URL'ler olarak saklar; bu, protokol dahil tam URL'nin veritabanına kaydedildiği anlamına gelir. Tüm web sitesinin tutarlı bir şekilde HTTPS aracılığıyla sunulmasını sağlamak için (karma içerikle ilgili uyarılar tükürmeden), eski içeriğinizi güncellemeniz gerekir.
Eski İçeriği Güncelleme
Yalnızca birkaç sayfası olan küçük bir web sitesinde, en hızlı seçenek, yönetici arayüzünde mevcut sayfaları düzenleyerek URL'leri manuel olarak güncellemek olabilir. Web sitesi büyükse veya oldukça aktif bir bloga sahipse, manuel düzenleme muhtemelen pratik değildir. Sunucunuz MySQL sorgularını çalıştırmak için phpMyAdmin veya başka bir arayüz sağlıyorsa, bunu SQL sekmesindeki birkaç MySQL sorgusu ile kolayca yapabilirsiniz. Alternatif olarak, bunu komut satırından yapmak için Windows'u Özelleştir'in talimatlarını takip edebilirsiniz.
Bariz olanı belirtme riski altında , aşağıdaki sorgularda yourdomain.com
gerçek alan adınızla değiştirin . Ayrıca, WordPress' tablo önekini özelleştirdiyseniz, wp_
ilgili önekle değiştirin.
İlk olarak, gönderilerin ve sayfaların URL'lerini güncelleyin.
UPDATE wp_posts SET guid = replace(guid, 'https://yourdomain.com','https://yourdomain.com');
[GÜNCELLEME: Yorumlarda tartışıldığı gibi, kılavuz alanı düzenlenmemelidir.]
wp_postmeta
tablosunu da güncelleyin.
UPDATE wp_postmeta SET meta_value = replace(meta_value,'https://yourdomain.com','https://yourdomain.com');
Son olarak, gönderilerin veya sayfaların gerçek içeriğini güncelleyin. Bu, HTTPS'ye olan tüm geri bağlantıları güncelleyecektir.
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://yourdomain.com', 'https://yourdomain.com');
Bu sorguları çalıştırdıktan sonra, “Ayarlar” → “Kalıcı Bağlantılar”a giderek kalıcı bağlantılarınızı yenilemek isteyeceksiniz. Ayarı varsayılana geri döndürmeniz ve ardından orijinal olarak kullanmakta olduğunuz ayara geri döndürmeniz yeterlidir.
Artık web sitesindeki menüleri ve bağlantıları tıklayabilmelisiniz ve protokol HTTPS olarak kalmalıdır.
Karışık İçerik Uyarılarında Sorun Giderme
Kullanılan temaya ve eklentilere bağlı olarak, adres çubuğunda belirli kaynakların güvenli bir şekilde sunulmadığını belirten bir uyarı alabilirsiniz. Hatalar, kendi özel temanız veya eklentiniz tarafından eklenen varlıklarla ilişkilendiriliyorsa, HTTP
ile başlayan URL'leri sabit kodlamak yerine JavaScript ve CSS dosyalarını düzgün şekilde sıkıştırdığınızdan emin olun. Çoğu tarayıcı, hataya neden olan belirli istekleri göstermek için uyarıyı genişletmenize izin verir. Bunu yapamayan üçüncü taraf eklentileri düzeltmeye çalışacak SSL Güvensiz İçerik Düzeltici gibi ücretsiz bir eklenti de deneyebilirsiniz.
Bu noktada, web sitenizi ziyaret ederken URL çubuğunda yeşil asma kilidi görmelisiniz. WooCommerce veya WP eCommerce gibi bir e-ticaret eklentisi kullanmıyorsanız, işlem tamamdır! Eğer öyleyseniz, önemli bir son adım var.
E-Ticaret Eklentileriyle Çalışmak için Esnek SSL Alma
WordPress, eklentilerin trafiğin SSL ile şifrelenip şifrelenmediğini belirlemek için is_SSL()
adlı bir çekirdek işleve sahiptir. Yalnızca yukarıdaki yöntemle, şifreleme yalnızca CloudFlare ve istemci arasında olduğundan, bu işlev false
döndürür. PHP'nin etkileşimde bulunduğu trafik şifrelenmemiş olduğundan, bu işlevin denetlediği süper küresel (yani $_SERVER['HTTPS']
) kullanışlı olmaz. Bizim amacımız için, ilgili değişken $_SERVER['HTTP_X_FORWARDED_PROTO']
, ki bu yazı yazılırken WordPress tarafından tanınmaz. Bunu değiştirme talebi uzun süredir devam ediyor, ancak henüz çözülmedi.
Neyse ki , ücretsiz bir eklenti bunu sizin için hemen çözecektir, CloudFlare Esnek SSL. Eklentiyi kurun ve etkinleştirin. Bu tekniğin daha fazla güvenlik sağlamadığını unutmayın . CloudFlare ile web sitenizin sunucusu arasındaki trafik hala şifrelenmemiş durumda ve bu nedenle hala koklamaya karşı savunmasız.
Esnek SSL Tam SSL Değildir
CloudFlare'in “Evrensel SSL” girişimi, İnternet'i daha güvenli hale getirmek için ilginç bir girişimdir, ancak tartışmasız değildir. Birincil endişe, esnek SSL'nin trafiğin yolculuğunun ikinci yarısını (sunucunuza) şifrelememesi, ancak tarayıcının şu anda tam SSL ile ilişkilendirdiğimiz aynı yeşil asma kilidi göstermesidir. CloudFlare, blogunda aşağıdaki gerekçeyi sunar:
Son teknoloji şifrelemeye sahip olmak küçük bir blog için önemli görünmeyebilir, ancak İnternet'in varsayılan olarak şifrelenmiş geleceğini ilerletmek için çok önemlidir. İnternette şifreli olarak akan her bayt, görünüşte sıradan olsa da, web'i ele geçirmek, kısmak veya sansürlemek isteyenler için daha da zorlaşıyor. Başka bir deyişle, kişisel blogunuzun HTTPS üzerinden erişilebilir olmasını sağlamak, bir insan hakları kuruluşunun veya sosyal medya hizmetinin veya bağımsız gazetecinin dünya çapında erişilebilir olmasını daha olası kılar. Birlikte harika şeyler yapabiliriz.
Daha iyisi veya daha kötüsü için, esnek SSL burada ve İnternet'in uyum sağlaması gerekecek. Bu arada, web sitesi sahiplerine eğitim alma ve sorumlu kararlar verme yükü düşüyor.
HTTP İsteklerini HTTPS'ye Yönlendirme
Bir web sitesinin HTTPS üzerinde çalışmasını sağlamak, isteklerin gerçekten protokolü kullanmasını sağlamaz. Web siteniz bir süredir buralardaysa, kullanıcılar zaten HTTP ile yer imlerine eklemiş olabilir. Aşağıdaki snippet'i web sitenizin kök dizinindeki .htaccess
dosyasının en üstüne ekleyerek tüm HTTP isteklerini yeni protokole yönlendirebilirsiniz. Dosya yoksa, güvenle ekleyebilirsiniz.
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule (.*) https://yourdomain.com/$1 [R=301,L] </IfModule>
Bir .htaccess
dosyası zaten varsa, o dosyadaki # BEGIN WordPress
ve # END WordPress
satırları arasında hiçbir şeyi değiştirmemeye dikkat edin. Bu satırlar WordPress tarafından yönetilir ve kalıcı bağlantılar her yenilendiğinde, o bölümdeki içeriğin üzerine yazılır.
Tebrikler
Web sitenizi HTTPS'ye yükselterek web sitenizi geliştirdiniz, kullanıcıları korudunuz ve İnternet'in ilerlemesine katıldınız. Ve sana hiçbir şeye mal olmadı!