Teknoloji

Opencart SSL Kurulumu

OpenCart SSL kurulumu, sertifikayı sunucuya yüklemekle bitmez. Mağazanın hem yönetim panelinden hem de yapılandırma dosyalarından HTTPS’e uygun biçimde ayarlanması gerekir; bu adım atlandığında sertifika geçerli olsa bile site karışık içerik uyarıları verir. Aşağıda SSL’in nasıl etkinleştirileceğini, hangi dosyalarda hangi değişikliklerin yapılacağını, yönlendirmenin doğru kurulumunu ve sonrasında karşılaşılan hataların çözümünü bulacaksınız.

Buradaki adımlar OpenCart 1.5, 2.x ve 3.x sürümlerinin yapılandırma yapısına göre anlatılmıştır. Farklı bir sürüm kullanıyorsanız dosya ve ayar adları değişebilir; işleme başlamadan önce sürümünüzü kontrol edin.

Opencart SSL Kurulumu

OpenCart’ta SSL Neden Gereklidir?

Bir e-ticaret sitesinde ziyaretçi adını, adresini, telefonunu ve ödeme bilgilerini forma girer. SSL olmadan bu veriler şifrelenmeden iletilir ve ağ üzerinde üçüncü kişiler tarafından okunabilir hâle gelir. OpenCart SSL kullanımının ilk gerekçesi budur.

Şifreli bağlantı, kullanıcı ile sunucu arasındaki trafiği okunamaz hâle getirir ve araya girme türü saldırıların etkisini azaltır. Yönetici paneline giriş yaparken kullanılan kullanıcı adı ve parolanın açık metin olarak iletilmemesi de mağaza sahibi açısından kritik bir korumadır. Sertifikanın çalışma mantığını SSL sertifikası nedir yazımızda ele aldık.

Güvenliğin ötesinde pratik nedenler de vardır. Tarayıcılar HTTPS kullanmayan sayfalarda, özellikle veri girişi yapılan adımlarda güvenlik uyarısı gösterir; bu uyarı e-ticaret sitelerinde kullanıcı güvenini ve sepet tamamlama oranlarını olumsuz etkileyebilir. Kredi kartı verisinin işlendiği ortamlarda geçerli olan PCI DSS gereklilikleri ve pek çok ödeme kuruluşunun entegrasyon şartları da HTTPS’i zorunlu tutar. Arama motorları şifreli bağlantıyı olumlu bir sinyal olarak değerlendirdiği için SEO tarafında da dolaylı fayda sağlar.

OpenCart SSL Kurulumu Öncesi Hazırlık

Panel ve dosya ayarlarına geçmeden önce sertifikanın sunucuda gerçekten aktif olduğundan emin olmak gerekir. Aksi hâlde OpenCart’ı HTTPS’e zorlamak, sitenin tamamen erişilemez hâle gelmesine yol açabilir.

Sertifika kurulumu genellikle hosting kontrol paneli üzerinden ya da sağlayıcının otomatik SSL özelliğiyle yapılır. Ücretsiz sertifikalar çoğu paylaşımlı hosting panelinde tek tıkla etkinleştirilebilirken, ticari sertifikalarda CSR oluşturma, doğrulama ve sertifika dosyalarının panele yüklenmesi adımları izlenir. Kurulumun ardından alan adınızı tarayıcıda https:// ön ekiyle açarak sertifikanın geçerli olduğunu doğrulayın.

  • Alan adının DNS A kaydının doğru sunucu IP adresine yöneldiğinden emin olun.
  • Sertifikanın hem alanadi.com hem www.alanadi.com sürümünü kapsadığını kontrol edin.
  • Sunucuda 443 portunun açık ve HTTPS trafiğine izin verir durumda olduğunu doğrulayın.
  • Değişikliklere başlamadan önce site dosyalarının ve veritabanının yedeğini alın.
  • FTP veya dosya yöneticisi erişim bilgilerinizin elinizde olduğundan emin olun.

Yedek almak özellikle önemlidir. OpenCart’ın yapılandırma dosyalarında yapılan hatalı bir düzenleme siteyi beyaz ekrana düşürebilir; elinizde çalışan bir kopya varsa geri dönüş birkaç dakika sürer.

OpenCart Yönetim Panelinden SSL Ayarları

Sertifika sunucuda aktif hâle geldikten sonra sıra OpenCart’ın kendi ayarlarına gelir. Panel üzerinden yapılan bu düzenleme, mağazanın hangi adımlarda şifreli bağlantı kullanacağını belirler.

Yönetim paneline giriş yaptıktan sonra “System > Settings” sayfasına gidin, mağazanızın yanındaki düzenleme butonuna tıklayın ve “Server” sekmesini açın. Burada yer alan “Use SSL” seçeneğini etkinleştirin. OpenCart sürümüne göre bu alan bir seçim düğmesi ya da açılır liste şeklinde görünebilir. Ayarı kaydettikten sonra panel üzerinden önbelleği ve tema önbelleğini temizlemek, eski HTTP bağlantılarının sayfalarda kalmasını önler.

Bu ayarın tek başına yeterli olmadığını unutmamak gerekir. OpenCart, mağaza ve panel adreslerini yapılandırma dosyalarındaki sabit değerlerden okur. Panelden SSL’i açtıktan sonra ilgili dosyalarda HTTPS tanımlarını güncellemezseniz tema dosyaları ve görseller HTTP üzerinden yüklenmeye devam eder.

config.php ve admin/config.php Dosyalarında SSL Tanımları

OpenCart’ın adres yapısı iki ayrı yapılandırma dosyasında tutulur: kök dizindeki config.php ve yönetim paneline ait admin/config.php. SSL’in tam olarak devreye girmesi için her iki dosyanın da düzenlenmesi gerekir.

Bu dosyaları FTP istemcisi veya hosting panelindeki dosya yöneticisi üzerinden açabilirsiniz. Kök dizindeki config.php içinde HTTP_SERVER ve HTTPS_SERVER sabitleri, admin/config.php dosyasında ise bunlara ek olarak HTTP_CATALOG ve HTTPS_CATALOG tanımları bulunur.

Dosya Sabit İşlevi
config.php HTTP_SERVER Mağaza ön yüzünün şifresiz temel adresini tanımlar
config.php HTTPS_SERVER Mağaza ön yüzünün şifreli temel adresini tanımlar
admin/config.php HTTP_SERVER ve HTTPS_SERVER Yönetim paneline erişim adresini belirler
admin/config.php HTTP_CATALOG ve HTTPS_CATALOG Panelin mağaza tarafına yaptığı çağrılarda kullanılacak adresi belirler

Burada kritik bir ayrıntı vardır. Yalnızca HTTPS_SERVER ve HTTPS_CATALOG tanımlarını güncellerseniz OpenCart varsayılan davranışını sürdürür ve yalnızca ödeme, hesap ve yönetim sayfalarını şifreler; ana sayfa, kategori ve ürün sayfaları HTTP üzerinden açılmaya devam eder. Tüm mağazanın HTTPS üzerinden çalışması için HTTP ile başlayan sabitlerdeki adresleri de https:// olarak güncellemek gerekir.

Adreslerin sonundaki eğik çizgiyi silmemeye ve alan adının www’lu veya www’suz sürümünü site genelinde tutarlı kullanmaya dikkat edin. Düzenlemeyi kaydettikten sonra siteyi ve yönetim panelini ayrı ayrı test edin. Panelde tema veya buton görselleri kaybolduysa büyük ihtimalle HTTPS_CATALOG tanımı güncellenmemiştir. Bir aksaklık yaşarsanız yedek dosyayı geri yükleyip değişikliği tek tek uygulayabilirsiniz.

HTTPS Zorunlu Yönlendirmesi Nasıl Yapılır?

Sertifika aktif olsa bile ziyaretçiler siteye HTTP üzerinden ulaşmaya devam edebilir. Bunu önlemek için sunucu seviyesinde tüm trafiğin şifreli sürüme aktarılması gerekir; Apache sunucularda bu işlem genellikle .htaccess dosyası üzerinden yapılır.

OpenCart kurulumlarında kök dizinde .htaccess.txt adında bir örnek dosya bulunur. Bu dosyanın adı .htaccess olarak değiştirildikten sonra yönlendirme kuralları eklenebilir. Kural, gelen isteğin şifreli olup olmadığını kontrol eder ve değilse kalıcı yönlendirmeyle HTTPS adresine aktarır.

  1. RewriteEngine On satırının etkin olduğundan emin olun.
  2. RewriteCond %{HTTPS} !=on koşulunu ekleyin.
  3. RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] satırıyla yönlendirmeyi tamamlayın.
  4. Nginx kullanıyorsanız aynı işlemi sunucu blokları içinde return 301 yönergesiyle tanımlayın.

Bazı hosting sağlayıcıları ve yük dengeleyiciler HTTPS bilgisini farklı bir başlıkta ilettiği için bu koşul her ortamda çalışmayabilir. Böyle durumlarda hosting panelindeki hazır yönlendirme seçeneğini kullanmak daha güvenlidir. Yönlendirmenin kalıcı olarak yapılması, arama motorlarının HTTPS sürümünü asıl adres kabul etmesini sağlar; adım adım anlatımı https yönlendirmesi destek makalemizde bulabilirsiniz. Kural eklendikten sonra hem www’lu hem www’suz adresleri ve bir iç sayfayı test ederek sonsuz döngü oluşmadığını doğrulayın.

OpenCart SSL Kurulumu Sonrası Karşılaşılan Hatalar

OpenCart SSL kurulumu tamamlandıktan sonra sitenin ilk denemede sorunsuz çalışmaması sık karşılaşılan bir durumdur. Hataların büyük kısmı yanlış adres tanımı, önbellek veya sabit kodlanmış HTTP bağlantılarından kaynaklanır.

En yaygın sorun karışık içerik uyarısıdır. HTTPS ile açılan bir sayfada görsel, CSS veya JavaScript dosyaları hâlâ HTTP üzerinden çağrılıyorsa tarayıcı, kaynağın türüne göre içeriği otomatik olarak HTTPS’e yükseltebilir ya da yüklenmesini engelleyebilir. Kaynağı bulmak için tarayıcının geliştirici konsolunu açıp uyarı veren dosyanın adresine bakmak yeterlidir. Çoğunlukla ürün açıklamalarına editör üzerinden eklenmiş görseller, slider modülüne girilmiş bağlantılar ya da tema dosyalarındaki sabit adresler sorumludur.

  • Sonsuz yönlendirme döngüsü: Hem .htaccess hem hosting panelinden aynı anda HTTPS yönlendirmesi tanımlanmışsa biri kaldırılmalıdır.
  • Panele giriş yapılamaması: Giriş formu güvensiz bir uç noktaya gönderim yaptığında tarayıcı isteği engeller ve sayfa giriş ekranına geri döner. admin/config.php içindeki adreslerde eksik veya fazla eğik çizgi, yanlış www kullanımı ya da güncellenmemiş bir HTTP tanımı bulunup bulunmadığını kontrol edin.
  • Ödeme adımında uyarı: Ödeme modülü ayarlarındaki dönüş adresleri HTTPS olarak güncellenmelidir.

Değişikliklerden sonra hâlâ eski davranış devam ediyorsa OpenCart panelindeki önbellek temizleme seçeneklerini kullanın ve tarayıcıyı gizli sekmede test edin. CDN veya önbellek eklentisi kullanıyorsanız onun önbelleğini de temizlemek gerekir.

Yukarıdakiler OpenCart yapılandırmasından kaynaklanan sorunlardır. Sertifikanın kendisiyle ilgili uyarılarla, örneğin alan adı eşleşmemesi veya süre dolması gibi durumlarla karşılaşırsanız çözümü mağaza ayarlarında değil sertifika tarafında aramak gerekir; hata kodlarının ne anlattığını SSL hataları rehberimizde bulabilirsiniz.

SSL Sonrası Yapılması Gereken Kontroller

OpenCart SSL kurulumu tamamlandıktan sonra hem mağazanın işleyişini hem arama motoru görünürlüğünü korumak için birkaç ek adım gerekir. Bu kontroller atlanırsa sıralama kayıpları veya ölçümleme sorunları yaşanabilir.

Öncelikle sitenin tüm kritik akışlarını uçtan uca test edin: ana sayfa, kategori ve ürün sayfaları, sepete ekleme, üyelik oluşturma ve ödeme adımı. Ardından arama motoru araçlarında HTTPS sürümünü doğrulanmış mülk olarak tanımlayın, site haritasını yeniden gönderin ve robots.txt içindeki site haritası adresini güncelleyin. Analitik ve reklam hesaplarında kayıtlı site adresini de HTTPS olarak değiştirin, aksi hâlde trafik verisi bölünebilir.

Son olarak sertifikanın geçerlilik süresini takip edin. Otomatik yenileme kullanan sistemlerde bile yenilemenin başarısız olduğu durumlar yaşanır ve süresi dolan bir sertifika, ziyaretçilere tam sayfa güvenlik uyarısı gösterilmesine neden olur. Yenileme tarihinden birkaç gün önce hatırlatma kurmak ve dönem dönem sertifika durumunu kontrol etmek, mağazanın kesintisiz çalışmasını sağlar. Sertifikanızı yenilemeniz veya kapsamı daha geniş bir ürüne geçmeniz gerekiyorsa SSL sertifikası seçeneklerini inceleyebilirsiniz.