Google’ın HTTP’den HTTPS’ye geçerken web sitelerinin sıralamalarını kaybetmemesini onayladıktan sonra, sitelerin çoğu SSL kurulumu yapıp HTTPS yönlendirmelerini yaptı. Wordpress HTTP’den HTTPS’ye geçiş işlemi aslında çok basit.
Kısa bir süre önce Google, Temmuz 2018’i HTTPS’nin son teslim tarihi olarak belirledi. Şirket yayıncıları, herhangi bir HTTP alanı için Chrome’un adres çubuğunda “güvenli değil” bir etiket göstereceğini söyledi.
Bu, HTTPS’ye geçmenin artık her zamankinden daha fazla önem taşıdığı anlamına geliyor.
Ben, temel WordPress kodlama becerilerine sahip olduğunuzu varsayacağım ve çoğu hosting sağlayıcıları tek bir tıklama ile bu özelliği sunduklarından, Wordpress HTTP’den HTTPS’ye geçiş konusunda cevaplanmayan sorular var.
WordPress Web Sitesi Yapısı: Genel Bakış
Başlamadan önce, burada WordPress web sitelerinin nasıl yapılandırıldığına ilişkin temel bir bakış sunacağım.
Her WordPress web sitesinin dosya yapısı şu şekildedir:
Ayrıca, web sitesi içeriğinin saklandığı bir veritabanı da vardır.
Taşıma işleminden önce, barındırma sağlayıcınızın yedekleme işlevselliği yoluyla web sitenizi yedeklemeniz gerekir. Bir yedekleme yaptırmanız önemlidir, böylece bir şeyler ters giderse web sitenizi geri yükleyebilirsiniz.
Bir yedekleme gerçekleştirmek için birkaç popüler barındırma sağlayıcılarından yararlı bağlantılar:
WordPress HTTP’den HTTPS’ye Geçiş Nedir?
Taşıma, web sitenize veya harici alanlara işaret eden HTTP kaynak bağlantısının tek bir örneğini HTTPS eşdeğeri ile değiştirme işlemidir.
HTTPS web sitesi, HTTP kaynağı yüklemeye çalıştığında karışık bir içerik sorununa neden olabilir. Bunu önlemek için, aşağıdaki web sitesi kaynaklarının hiçbirinin bir HTTP bitiş noktasına işaret etmediğinden emin olmalısınız:
- Resimler
- JavaScript dosyaları
- CSS dosyaları
- CSS / JavaScript dosyalarında kullanılan dahili URL’ler
- iframe kodları
- Videolar
- Ses
- Biçimlendirme eylemleri
- Yazı
Önemli: Yalnızca eklentilerinizi ve tema dosyalarınızı kontrol etmeniz gerektiğini unutmayın. Wp-admin ve wp-includes klasörlerinde çekirdek dosyalara asla dokunmayın. Zaten HTTPS uyumludurlar. Onları düzenlemek kesinlikle yasaktır. Bu klasörlerdeki dosyalardaki herhangi bir değişiklik, beklenmedik hatalara neden olabilir.
Göç sürecini başlatalım. (Aşağıdaki adımları gerçekleştirmek için Notpad ++, PhpStorm veya diğer kod düzenleyicilerini kullanabilirsiniz. ZendStudio kullanıyorum.)
Not: Taşıma işlemini her zaman hazırlama ortamınızda gerçekleştirmelisiniz (yani, staging.example.com), ardından her şeyi doğru yaptıklarından emin olduktan sonra uygulamaya geçmelisiniz.
1. Dosyalarda Arama ve Değiştirme
Başlamak için alan adınızın, sitenizin HTTP URL’lerini gösteren örneklerini arayın.
“Www” ve “www” URL kutuları olmadan regex’i kullanın ve http: \ / \ / (www \.)? Alanınız \ .com arayın.
(Alanadı.com’u gerçek alan adınızla değiştirin.) Sonunda aramayı yaptıktan sonra, alan adı HTTP işaret eden iki kaynak dosyası örneği olduğunu gördüm.
Barındırmada bir SSL sertifikası zaten yüklü olduğundan, tüm alan adı bağlantılarınızı güvenle tüm HTTPS eşdeğerleriyle değiştirebilirsiniz.
WordPress.org/plugins adresinde barındırılmayan özel geliştirilmiş eklentilere sahipseniz, Plugins klasörünüzde de aynı işlemi gerçekleştirmeniz gerekir.
En iyi uygulama, anasayfa URL’sini almak için WordPress’in yerleşik işlevlerini kullanmaktır. Bizim durumumuzda, get_home_url (). “/ Some2.js” olacaktır. Bu, doğru kaynak bağlantısının her zaman görüntülenmesini sağlar.
Özel temaları veya eklentileri kötü kodlarla üretilmiş olabilir, bu yüzden yalnızca en kötü durum senaryosunu işaret ediyorum.
Ardından, harici alanlara işaret eden HTTP kaynaklarına da dikkat etmeniz gerekir.
Bunu yapmak için, Eklentiler ve aktif tema klasörlerinizdeki (bizim durumumuzda “otomatik onarım”) dosyalarda http: // dizesini aramamız gerekir.
Tarayıcı ağacının sağ bölümünde, HTTP kaynaklarının tüm örneklerini görebilirsiniz.
Henüz hepsini HTTPS olarak değiştirmek için atlamayın! Bunun nedeni, kaynağın işaret ettiği harici HTTP etki alanının, bir SSL sertifikasının yüklü olmayışı ve bir HTTPS bağlantısını destekleyememesidir.
Neyse ki, örneğimizde bağlantı bir sertifikanın yüklü olduğu ve HTTPS bağlantılarını destekleyen Flickr.com’u işaret ediyor. Bu örnek için http: // ‘i https: // ile değiştirebiliriz.
Harici kaynaklar için, her bir örneği el ile gözden geçirmeniz gerekir.
Asla toplu değiştirme!
Dış etki alanının HTTPS bağlantısını destekleyip desteklemediğini kontrol etmeden toplu değiştirirseniz, web sitenizde bozuk kaynaklar veya görüntü sorunları olabilir ve harici kaynağı yüklerken hata oluşur.
2. Veritabanında Arama ve Değiştirme
Öncelikle, indirmek ve veritabanı aracını değiştirmek zorunda kalacaksınız.
Sunucunuza uzun rastgele bir klasör adı (ör. “Replace879846513134984451”) ile yükleyin çünkü biri kazayla bulursa güvenlik açığı oluşturur.
Bu durumda yine bir SSL sertifikası yüklendiğinden ve alan adınız HTTPS’yi desteklediğinden, alan adı HTTP örneklerinin tümünü HTTPS ile değiştirmeniz gerekir.
Http: \ / \ / (www \.)? Alanınız \ .com “www” (http://www.alaniniz.com) için ve (http://alanadiniz.com) URL durumlarda olmadan kullanıyorum.
Bu, yalnızca alan adınızı gösteren URL’lerin tüm HTTP durumlarını düzeltir.
Yazınızın içeriğinde halen harici bir HTTP etki alanına işaret eden resimler varsa, onları bulmak ve düzeltmek için Import External Images adlı eklentiyi kullanabilirsiniz.
Al düğmesini tıkladığınızda, harici web sitesinden sunucunuza resim indirilmeye başlanır ve harici resim URL’leri alan adı HTTPS olanları ile değiştirilir.
(Not: Sunucunun wp-içerik klasöründe olduğunuzdan ve izinlerin komut dosyalarının resim yüklemesini sağlamak için izin 775’e ayarlandığından emin olun, aksi halde başarısız olabilir.)
Bu süreç çok kaynak tüketiyor. Yükleme sırasında boş ekran sorunları ortaya çıkabilir; Hatta sunucunuzu alabilir.
Bu durumda, sunucunuzu max_exection_time ve memory_limit değerlerini artırabilirsiniz. Bu problem genellikle büyük web sitelerinde olur. Bazı durumlarda, bu sorunları çözmek için gelişmiş kodlama becerilerine ihtiyaç duyacaksınız.
Genel iyi bir uygulama olarak, her zaman bir medya yükleyicisi aracılığıyla dış görüntüleri sunucunuza yüklemenizi ve harici URL’leri kullanmamayı öneriyorum. Dışarıdaki görüntüler, onu barındıran alan süresi dolduğunda veya dosya silindiğinde bazen kopar.
Resimlerinizi düzeltebildiğinizi varsayarsak, iframe’ler, videolar ve sesler kalmış durumda.
Yapabileceğiniz ilk ve en kolay adım, YouTube, Vimeo, SoundCloud vb. Gibi bilinen tüm video / ses barındırma işlemleri için aynı arama ve değiştirme işlemini gerçekleştirmektir (bkz. Şekil 10).
HTTPS’yi desteklediklerinden http: \ / \ / (www \.)? Youtube \ .com’u https://www.youtube.com, http: \ / \ / (www \) ile güvenle değiştirebilirsiniz.? Vimeo \ .com ile https://www.vimeo.com vs.
Bilinen alanlar dışındaki kaynaklar için genellikle büyük dosyalar olduklarından bunları otomatik olarak içe aktarmanın bir yolu yoktur. Bulmak ve bunları el ile düzeltmek için özel SQL sorgusu gerçekleştirerek veritabanında olanları aramak gerekir.
Src = “http: //” içeren tüm yayınları çıkarmak için çalıştırabileceğiniz bir kod parçası.
global $wpdb; $results = $wpdb->get_results( "SELECT ID FROM ".$wpdb->posts." WHERE ( post_content LIKE '%src=\"http://%' OR post_content LIKE \"%src='http://%\" OR post_content LIKE '%src=http://%' ) AND post_status = 'publish' and post_type = IN('post','page') order by post_date desc", OBJECT ); foreach ( $results as $post ) { echo get_permalink($post->ID).' ';}
(Not: Özel mesaj türlerine göre çalıştırmak isterseniz, posta türlerini virgülle ayırarak IN (‘posta’, ‘sayfa’) listesine ekleyebilirsiniz. Örneğin, WooCommerce’da ayrıca “ürün “Ürün içeriğini taramak için.”
Bu sorguyu çalıştırdıktan sonra, HTTP kaynağı ve karışık içerik sorunu olan tüm yayınların bir listesini alırsınız.
Genel olarak, bitirdikten sonra, HTTP kaynaklarıyla herhangi bir örneği bırakmadığınızdan emin olmak için bu sorguyu kontrol edin ve çalıştırın.
Ayrıca, elle bir süre web sitesine göz atmak iyidir ve temiz olup olmadığını Google Chrome Konsolu aracılığıyla kontrol etmek iyidir.
Her şeyin doğru yapıldığından emin olduğunuzda son adım, HTTP URL’lerinden HTTPS’ye 301 yönlendirmeleri ayarlamaktır.
3. Yönlendirmeleri Uygulama
Sunucunuz Apache üzerinde çalışıyorsa, .htaccess dosyanıza koyabileceği kod aşağıdadır.
Bu adımı uygularken dikkatli olun – bir komutta yapılan herhangi bir hata web sitesini bozabilir.
Bu kodu WordPress yönlendirme kurallarının üzerine koyun.
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Alternatif olarak, Easy HTTPS Redirection eklentisini kullanabilirsiniz.
4. CDN Güncelleme
Bir CDN kullanıyorsanız, web sitenizi HTTPS sürümüne güncelleyebileceğiniz bir URL ayarı Google Analytics’e benzer olmalıdır.
Her bir CDN için taşıma farklıdır ve bunun nasıl yapılacağı hakkında ayrıntılı bilgi için CDN sağlayıcı belgelerinizi kontrol etmeniz veya destekle iletişime geçmeniz gerekir.
5. Google Analytics’te URL’yi değiştirme
Google Analytics “Web sitesi URL’si” ayarlarında Yönetici> Özellik> Mülk Ayarları ve Yönetici> Görünüm> Görünüm Ayarları bölümünde değişiklik yapmanız gerekir.
6. Web Sitesini Search Console’da yeniden gönder
Google, http://www.example.com ve https://www.example.com’u farklı web siteleri olarak kabul ettiğinden, web sitenizin HTTPS sürümünü Google Search Conole’a yeniden göndermeniz ve bu mülkün sahipliğini talep etmeniz gerekir.
Site haritanızı tekrar göndermeyi unutmayın.
Sonuç
Görüldüğü üzere Wordpress HTTP’den HTTPS’ye geçiş basit.
Küçük web siteleri için, bitmesi genellikle birkaç saat alır. Eski ve büyük web siteleri için taşımayı düzgün bir şekilde tamamlamak birkaç gün sürebilir.
İçerikleriniz eski ise, büyük olasılıkla HTTP URL’leri ve hatta flash içeriği olan eski iframe / ses verilerini içerir.
Taşıma işleminden sonra web sitenizi yakından izleyerek her şeyin düzgün çalışıp çalışmadığını ve hatasız olup olmadığını görmek için son adım olarak.
Umarım bu makale, zaman alıcı HTTPS geçişi sürecinde size yardımcı olacaktır.