HTTPS'e geçince trafik düştü: 301, canonical ve Search Console

HTTPS'e geçmek bir sertifika işi değil, bir adres değişikliğidir. Arama motoru için http ve https iki ayrı adres kümesidir; yönlendirme, canonical ve site haritası aynı yöne bakmazsa sinyaller bölünür. Hangi katmanın nasıl hizalandığı ve Search Console tarafında ne yapılacağı.

DigiWSS Ekibi arama motoru, https, search console, seo

Kısa cevap: HTTPS'e geçmek bir adres değişikliğidir. Arama motoru için http:// ve https:// iki ayrı adres kümesidir. Üç katmanın aynı yöne bakması gerekir: her eski adresten yeni karşılığına 301 yönlendirmesi, sayfaların rel=canonical etiketi ve site haritasıyla iç bağlantılar. Bu üçü hizalanmazsa sinyaller bölünür, geçici bir düşüş yaşanır ve düşüş kendi kendine toparlanmaz.

Protokol değişikliği neden adres değişikliğidir

Bir insan için http:// ve https:// aynı siteyi gösterir. Arama motoru için göstermez: protokol, adresin ayrılmaz bir parçasıdır. Dolayısıyla sertifikayı kurup HTTPS'i yayına aldığınız anda siteniz ikiye katlanmış olur. Aynı içerik iki adreste erişilebilir durumdaysa, yıllar içinde biriken bağlantı ve tıklama sinyalleri de iki kümeye dağılır.

Geçişten sonra görülen düşüş genelde bundan çıkar, sertifikadan çıkmaz. Arama motorunun yeni adres kümesini taraması, eski adreslerin yerini aldığını anlaması ve sıralamayı yeni adrese taşıması zaman alır. Bu süreyi kısaltmanın yolu, her katmanda tek ve tutarlı bir cevap vermektir.

Üç katman şöyle çalışır. 301 yönlendirmesi sunucu düzeyinde “bu adres kalıcı olarak şuraya taşındı” der. rel=canonical sayfanın kendi içinden “benim asıl adresim şudur” der. Site haritası ve iç bağlantılar ise taramanın hangi adreslerden yürüyeceğini belirler. Üçü farklı şey söylerse arama motoru hangisine inanacağını kendi seçer ve seçimi sizin tercihinizle aynı olmayabilir.

Geçişte güncellenecek yerlerin tam listesi

Aşağıdaki tablo, “sertifikayı kurdum, bitti” sanılan yerde aslında kalan işi gösterir. Atlanan her satır bir belirti üretir.

Yer Ne değişir Atlanırsa ne olur
Şablondaki varlık adresleriStil, betik ve görsel adresleri https olurKarışık içerik uyarısı; stil ve betik engellenirse sayfa bozulur
Veritabanında gömülü adreslerİçerik alanlarındaki http bağlantı ve görselleriTek tek sayfalarda kilit kaybolur, sebebi bulunamaz
Canonical etiketleriHer sayfanın canonical değeri https olurSayfa kendi eski adresini işaret eder, yönlendirmeyle çelişir
Site haritasıBütün adresler https olarak yeniden üretilirTarayıcı eski adresleri gezer, yönlendirme bütçesi harcanır
robots.txt içindeki sitemap satırıSitemap adresi https olurHarita eski protokolde bulunur, yeni mülk boş görünür
İç bağlantılarMenü, gövde ve alt alanlardaki bağlantılarHer tıklama bir yönlendirme atlaması üretir, sayfa yavaşlar
Yapılandırılmış veri içindeki adreslerurl, logo, image ve sameAs değerleriŞema eski adresi bildirir, zengin sonuç eşleşmesi zayıflar
Search Console mülküAlan adı mülkü kurulur ya da https mülkü eklenirYeni adreslerin verisi hiç görünmez, düşüş ölçülemez
Analiz aracı ayarlarıVarsayılan site adresi ve hedef tanımlarıYönlendirme sonucu kaynak bilgisi kaybolabilir
Reklam ve e-posta şablonlarındaki bağlantılarKampanya ve bülten adresleri https olurÜcretli trafik fazladan atlama yapar, dönüşüm ölçümü bulanır
Dış servislerin webhook adresleriÖdeme, kargo ve form servislerinin çağırdığı uçlarBildirimler sessizce düşer; sipariş durumu güncellenmez

Search Console tarafı: hangi mülk türü ve hangi araç

Search Console'da iki mülk türü vardır ve geçişte seçim önemlidir. Alan adı (Domain) mülkü http ve https ile birlikte bütün alt alan adlarını kapsar, ancak YALNIZCA DNS doğrulamasıyla kurulur. URL-prefix mülkü ise tek protokol ve tek yol içindir ve DNS yöntemi kullanılamaz. Bu yüzden HTTPS'e geçerken alan adı mülkü kurmak, iki protokolü ayrı ayrı izleme zahmetini baştan ortadan kaldırır: tek mülkte eski ve yeni adres kümesini bir arada görürsünüz.

İkinci nokta bir yanlış anlaşılmayı düzeltir: Search Console'daki “Adres değişikliği” (Change of address) aracı ALAN ADI değişikliği içindir, protokol değişikliği için kullanılmaz. HTTPS'e geçtiğinizde bu aracı aramayın; yapılacak iş, HTTPS mülkünü eklemek ve site haritasını oraya göndermektir. Eski HTTP mülkünü hemen silmeyin – yönlendirmelerin ve eski adreslerin düşüşünü bir süre oradan izlemek işe yarar.

Adım adım: geçişi sırayla yapmak

  1. Sertifikayı kurun ve siteyi HTTPS üzerinden yönlendirme olmadan açılır hâle getirin. Yönlendirme eklemeden önce https adresinin tek başına doğru çalıştığını görün; aksi hâlde hatayı yönlendirmenin arkasında arayıp bulamazsınız.
  2. Karışık içeriği temizleyin. Şablondaki ve veritabanındaki http adreslerini düzeltin. Bu adımı geçişten önce bitirmek, yönlendirmeyi açtığınızda bir sürprizle karşılaşmamanızı sağlar.
  3. Canonical etiketlerini https yapın. İçerik yönetim sistemlerinin çoğunda bu, site adresi ayarını güncellemekle olur; elle yazılmış şablonlarda etiketi tek tek kontrol etmek gerekir.
  4. 301 yönlendirmesini tek kuralda kurun. Her adres KENDİ karşılığına gitmeli. Kural, yolu ve sorgu dizesini koruyarak yalnızca protokolü değiştirecek biçimde yazılır.
  5. İç bağlantıları ve site haritasını güncelleyin. Site haritasını yeniden üretin, robots.txt içindeki sitemap satırını https olarak yazın ve menüdeki sabit bağlantıları gözden geçirin.
  6. Search Console'da alan adı mülkünü kurun ya da https mülkünü ekleyin. Alan adı mülkü için DNS doğrulaması gerekir; kaydın yayılması bir iki gün sürebilir, bu yüzden bu adımı geçiş gününe bırakmayın.
  7. Site haritasını yeni mülke gönderin ve kapsam raporunu izleyin. İlk günlerde “yönlendirmeli” olarak işaretlenen eski adreslerin sayısı artar, sonra düşer. Bu beklenen davranıştır.
  8. Dış bağımlılıkları tek tek geçirin. Analiz aracı ayarları, reklam bağlantıları, e-posta şablonları ve ödeme veya kargo servislerinin webhook adresleri. Bu adım atlanırsa sorun aramada değil, siparişlerde çıkar.

Gerçek yönlendirme kuralları

Aşağıdaki örneklerde ornekfirma.com bir YER TUTUCUDUR; kendi alan adınızı yazmanız gerekir. Kuralların yapısı gerçektir.

# Apache, .htaccess dosyasinda
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://ornekfirma.com/$1 [R=301,L]
# nginx, 80 portunu dinleyen sunucu blogunda
server {
    listen 80;                                        # sifresiz istekleri karsilar
    server_name ornekfirma.com www.ornekfirma.com;    # ikisi de yer tutucudur
    return 301 https://$host$request_uri;             # yolu ve sorgu dizesini korur
}

Apache örneğinde RewriteCond %{HTTPS} off satırı kuralı yalnızca şifresiz isteklere uygular; bu olmadan kural kendi kendini tetikleyip döngüye girer. [R=301,L] işareti yönlendirmenin kalıcı olduğunu ve kural zincirinin orada durduğunu söyler. nginx örneğinde $host$request_uri yolu ve sorgu dizesini olduğu gibi taşır, yani her adres kendi karşılığına gider.

Yönlendirme zinciri: üç atlamayı bire indirmek

Geçişlerin en sessiz hatası budur. Kuralları ayrı ayrı eklerseniz şöyle bir zincir oluşur: http://www adresi https://www adresine, o da https:// köküne gider. Üç atlama demektir. Her atlama ek bir istek, ek bir gecikme ve tarama tarafında ek bir maliyettir; mobil bağlantıda bu fark ölçülebilir hâle gelir.

Doğrusu tek kuralda hem protokolü hem de www tercihini aynı anda çözmektir: şifresiz ya da yanlış ana makineyle gelen her istek, tek bir 301 ile doğru protokol ve doğru ana makine birleşiminin karşılığına gönderilir. Geçişten sonra bunu ölçmek kolaydır: bir adres denetçisiyle dört varyantı (www'li ve www'siz, http ve https) sırayla isteyip kaç atlama olduğunu sayın. Hedef, hepsinde bir atlamadır.

Yaygın hatalar

  • 301 yerine 302 kullanmak. 302 geçici taşınma demektir; arama motoru eski adresi bırakmaz ve sinyaller yeni adrese taşınmaz. Taşınma kalıcıysa kod 301 olmalıdır.
  • Bütün adresleri ana sayfaya yönlendirmek. Kolay görünür, pahalıya gelir: her iç sayfa ana sayfaya giderse o sayfaların sıralaması taşınmaz, silinmiş gibi davranılır. Her adres kendi karşılığına gitmelidir.
  • Canonical değerini http olarak bırakmak. Yönlendirme https der, sayfa http der. Bu çelişkide arama motoru kendi seçimini yapar ve eski adresi tercih edebilir; düşüş aylarca sürer.
  • Site haritasını güncellememek. Harita eski adresleri bildirmeye devam ederse tarayıcı sürekli yönlendirmeye çarpar; yeni adreslerin taranması gecikir.
  • robots.txt içindeki sitemap satırını eski protokolde bırakmak. Harita bulunur ama eski kümeyi gösterir. Yeni mülkte “gönderilen adres yok” görünür ve sebebi uzun süre fark edilmez.
  • Geçişten sonra karışık içerik uyarılarını görmezden gelmek. Kilit işareti olmayan bir sayfa, ziyaretçi için “güvenli değil” etiketiyle açılır. Form ve sepet sayfalarında bu doğrudan dönüşüm kaybıdır.
  • Düşüşü görüp panikle yönlendirmeyi geri almak. Geri alma düşüşü ikiye katlar: bu kez arama motoru ikinci bir adres değişikliğiyle uğraşır ve iki kümenin ikisi de güven kaybeder. Doğru hamle kuralları doğrulamak ve beklemektir.

Ne zaman uzmana bırakmalı

Küçük bir tanıtım sitesinde geçiş tek oturumda biter. İşin boyutu şu durumlarda değişir: sitede binlerce adres varsa ve bunların bir kısmı zaten yönlendirilmişse (eski bir adres yapısından gelen zincirler birikir), çok dilli ya da çok alan adlı bir yapı varsa, ödeme ve kargo servisleri sunucunuzu çağırıyorsa, ya da geçmişte kimin hangi yönlendirmeyi neden yazdığı bilinmiyorsa. Bu dördünün bir arada olduğu sitelerde geçiş bir yapılandırma işi değil, bir envanter işidir.

Geçişi ölçerek yapmak isterseniz SEO çalışmamız yönlendirme haritasını adres adres kurar, atlama sayısını ölçer ve geçiş sonrası kapsam raporunu takip eder. Sorularınızı iletişim sayfasından iletebilirsiniz.

Devamını okumak için

Sertifika tarafında kilit işareti hâlâ çıkmıyorsa SSL kurulumu ve karışık içerik yazısı hangi kaynağın engellendiğini tablo hâlinde veriyor. Aynı kuralda www tercihini de çözmek için www mi, www'suz mu yazısına bakın. Mülk kurulumu ve site haritası gönderimi için Search Console kurulumu ve site haritası yazısı sırayı anlatıyor. Geçişten sonra sayfalar hâlâ görünmüyorsa sitem Google'da çıkmıyor yazısı sebepleri sırayla eliyor. Tüm başlıklar blog sayfamızda, çalışma alanlarımız ana sayfamızda.

Bu yazıyla ilgili sık sorulan sorular

HTTPS geçişinden sonra trafik neden düşüyor?

Çünkü protokol adresin parçasıdır ve arama motoru için http ile https iki ayrı adres kümesidir. Yönlendirme, canonical ve site haritası aynı yöne bakmazsa sinyaller iki kümeye bölünür. Düşüş genelde geçicidir; üç katman hizalandıktan sonra yeni adresler eskilerin yerini alır.

301 mi 302 mi kullanmalıyım?

301. Taşınma kalıcı olduğu için kod 301 olmalıdır. 302 geçici taşınma anlamına gelir ve arama motoru eski adresi bırakmaz, sinyaller yeni adrese taşınmaz. Ayrıca her adres ana sayfaya değil kendi karşılığına yönlendirilmelidir.

Search Console içinde Adres değişikliği aracını kullanmam gerekir mi?

Hayır. Adres değişikliği aracı alan adı değişikliği içindir, protokol değişikliği için kullanılmaz. HTTPS'e geçerken yapılacak iş https mülkünü eklemek ve site haritasını oraya göndermektir. Eski http mülkünü hemen silmeyin; yönlendirmelerin düşüşünü bir süre oradan izlemek işe yarar.

Alan adı mülkü ile URL-prefix mülkü arasındaki fark nedir?

Alan adı mülkü http ve https ile birlikte tüm alt alan adlarını kapsar, ancak yalnızca DNS doğrulamasıyla kurulur. URL-prefix mülkü tek protokol ve tek yol içindir ve DNS yöntemi kullanılamaz. HTTPS'e geçerken alan adı mülkü kurmak iki protokolü ayrı ayrı izleme zahmetini ortadan kaldırır.

Yönlendirme zinciri neden sorun?

Kurallar ayrı ayrı eklenirse http www adresi https www adresine, o da köke gider; bu üç atlama demektir. Her atlama ek istek, ek gecikme ve tarama tarafında ek maliyettir. Doğrusu tek kuralda hem protokolü hem www tercihini çözmek ve dört varyantın hepsinde tek atlamaya inmektir.

Konuşalım

Yazıda anlatılanı işletmenizde uygulamak istiyorsanız adresinizi gönderin; ölçüp ne yapılması gerektiğini paylaşalım.