Eski domainden yeni domaine SEO dostu geçişi nasıl yaparım?
Kısa cevap
Eski alan adı DNS'te vService'in IP'sine gitmeye ve eski adın sertifikası vService'in Certificate alanında kalmaya devam eder; Location Redirection aksiyonu eski adla (HTTP Header Host) gelen her isteği 301 koduyla yeni alan adındaki aynı yola yönlendirir. Redirect Location'a yeni alan adı ile Path + query of the request değişkeni yazılır; böylece her sayfa kendi karşılığına gider. URL yapısı da değiştiyse sayfa bazlı yönlendirmeler Actions listesinde genel alan adı kuralının üstüne konur.
Sorun: Alan Adı Değişince Arama Sıralaması Kaybolabilir
Kurum yeni bir alan adına geçtiğinde eski adrese verilen bağlantılar, yer imleri ve arama motoru kayıtları eski adı göstermeye devam eder. Sıralamanın ve trafiğin yeni adrese taşınması için her eski sayfa kalıcı (301) olarak yeni alan adındaki karşılığına yönlendirilir; eski adreslerin hepsini ana sayfaya göndermek sayfa bazındaki değeri kaybettirir.
Çözüm: Dört Yöntem
Hangi yöntem seçilirse seçilsin geçiş boyunca şu ön koşullar korunur: eski ad ve www biçimi DNS'te vService'in IP'sine gider; HTTPS ile gelen eski bağlantılar için eski adları kapsayan sertifika vService'in Certificate alanında bulunur (yoksa önce yüklenir: Sertifikamı TR7'ye nasıl yüklerim; hangi formatlar destekleniyor?); eski http:// bağlantıları için vService'te 80 portlu bir frontend satırı vardır.
| Durumunuz | Uygun yöntem |
|---|---|
| URL yapısı aynı, yalnızca alan adı değişti | Yöntem 1: Tek kural, yolu koru |
| URL yapısı da değişti | Yöntem 2: Sayfa bazlı yönlendirmeler + genel kural |
| Eski ad ayrı bir vService'te karşılanacak | Yöntem 3: Ayrı vService + Always |
| Komut satırından | Yöntem 4: WEB-CLI |
Yöntem 1: Tek Kural: Alan Adını Değiştir, Yolu Koru Önerilen
- Nasıl çalışır Eski adla gelen her istek aynı yol ve sorguyla yeni alan adına 301 ile gider; HTTP ile gelen istek de tek yanıtla
https://hedefe ulaşır. - Nerede açılırLoad Balancer → Conditions · Load Balancer → Actions · vService → Details → Actions
- Gereksinim Eski ad DNS'te vService'in IP'sine gider; eski adın sertifikası vService'te
- vService tipi HTTP
Adım adım yapılandırma
Load Balancer → Conditions → Add tıklanır (nasıl eklenir).
Criteria = HTTP Header, Header Name = Request Host, Exact match, Case Insensitive işaretli, değer eski.com.
Add tıklanır. 1–3. adımlar www.eski.com için tekrarlanır.
Load Balancer → Actions → Add tıklanır.
Action Name girilir, Action Type = Location Redirection seçilir.
Redirect Code = 301: Moved Permanently (POST'un yöntemiyle taşınması gerekiyorsa 308); Redirect Location = https://www.yeni.com ve arkasına fx ile Path + query of the request; Conditions alanında iki koşul seçilip aralarındaki işleç or yapılır. İzleme için Hit Counter açılır.
Add tıklanır.
Load Balancer → Load Balancer vService List ekranında eski adı karşılayan HTTP vService seçilip Edit tıklanır.
Save tıklanır. Değişiklik açık bağlantılar kopmadan uygulanır; cluster'da varsayılan auto-sync ile eş cihaza da gönderilir (Manual Sync Mode açıksa Synchronize ile).
Doğrulama
curl -sI "http://eski.com/urun/5?x=1"; aynısı https://eski.com, http://www.eski.com ve https://www.eski.com için tekrarlanır.
Her biri tek 301 + Location: https://www.yeni.com/urun/5?x=1vService panosunun Action Hits sekmesinde aksiyonun hızı izlenir; arama motorları yeni adresleri dizine aldıkça eski ada gelen istekler azalır.
Yönlendirme sayısı zamanla düşerYöntem 2: Sayfa Bazlı Yönlendirmeler + Genel Kural
- Nasıl çalışır Yolu değişen sayfalar için ayrı yönlendirmeler tanımlanır ve Actions listesinde genel alan adı kuralının üstüne konur; aksiyonlar yukarıdan aşağı işlenir, ilk tetiklenen yönlendirme isteği bitirir.
- Nerede açılır vService → Details → Actions (sıra)
- Gereksinim Yöntem 1'deki genel kural
- vService tipi HTTP
Adım adım yapılandırma
Yolu değişen her sayfa için eski ad koşulu and Path koşulu ile çalışan bir Location redirection, çok sayıda sayfa için ise Mapping fonksiyonlu tek bir aksiyon tanımlanır (Belirli bir URL'yi başka bir URL'ye 301/302 ile nasıl yönlendiririm?). Hedefler https://www.yeni.com/… biçiminde tam adresle yazılır.
vService Edit ile açılır, Details → Actions alanı görüntülenir.
Sayfa bazlı aksiyonların kartları genel alan adı kuralının üstüne sürüklenir (Action'lar hangi sırayla çalışır; sırayı nasıl değiştiririm?).
Save tıklanır.
Doğrulama
Yapısı değişen bir sayfa (curl -sI https://eski.com/urun.php?id=5) ve değişmeyen bir sayfa denenir.
Özel hedef (https://www.yeni.com/urunler/5) · diğerleri aynı yolaYöntem 3: Ayrı vService + Always
- Nasıl çalışır Eski ad Virtual Hosting ile aynı IP ve portu paylaşan ayrı bir vService'e alınır; bu vService'e gelen bütün istekler hazır Always koşuluyla yeni alan adına yönlendirilir.
- Nerede açılır vService → Virtual Hosting · Load Balancer → Actions
- Gereksinim Aynı IP ve portu paylaşan bütün vService'lerde Virtual hosting listesi dolu
- vService tipi HTTP
Adım adım yapılandırma
Aynı IP ve portu kullanan mevcut vService Edit ile açılır.
Virtual Hosting listesine yalnızca yeni adlar yazılır (Tek bir public IP'nin arkasında birden fazla web sitesi yayınlayabilir miyim?).
Save tıklanır.
Load Balancer → Actions → Add tıklanır.
Action Name girilir, Action Type = Location Redirection seçilir; Redirect Code = 301: Moved Permanently, Redirect Location = https://www.yeni.com + Path + query of the request, Conditions = hazır Always koşulu.
Add tıklanır.
Load Balancer → Load Balancer vService List → Add tıklanır; HTTP vService formu açılır (nasıl eklenir).
Frontend satırında mevcut vService'le aynı IP, port ve şifreleme sınıfında bir protokol; Certificate alanında eski adların sertifikası; Virtual Hosting listesinde eski.com ve www.eski.com; Details → Actions alanında 5. adımdaki aksiyon seçilir.
Save tıklanır.
Doğrulama
curl -sI https://www.eski.com/hakkimizda
301 + Location: https://www.yeni.com/hakkimizdaYöntem 4: WEB-CLI
Adım adım yapılandırma
URL koşulunun değeri https://eski.com/urun/5?x=1 biçimindedir (şema, Host ve yol birlikte). Kalıp hem eski.com hem www.eski.com adını, HTTP ve HTTPS'i yakalar:
lb condition add criteria url query "^https?://(www\.)?eski\.com/" --content_placement regex --caseInsensitive true --name eski-alan| URL | Sonuç |
|---|---|
http://eski.com/urun/5?x=1, https://www.eski.com/a, HTTPS://WWW.ESKI.COM/A | Eşleşir |
https://eski.com.tr/a, https://www.eski.community/, https://api.eski.com/a, https://www.yeni.com/a | Eşleşmez |
https://eski.com:8443/a | Eşleşmez (standart dışı portta Host portu da taşır) |
Aksiyon koşulu adıyla değil kimliğiyle bağlar. lb condition add başarılı olunca çıktı vermez; kimlik, koşul listesinin id sütununda görülür:
lb condition list%PATHQ, Path + query of the request değişkenidir; --redirectCode her zaman yazılır (yazılmazsa komut satırının varsayılanı 300 kaydedilir):
lb action add type req_redirect_location name eski-alandan-yeniye redirectLoc "https://www.yeni.com%PATHQ" --redirectCode 301 --cond <koşul-kimliği>lb service show <vService>Çıktıdaki rules.0, rules.1 … satırları vService'teki aksiyonları sırasıyla gösterir. --rules.N o sıradaki aksiyonun yerine geçer; yeni aksiyon ilk boş sıraya yazılır.
vService'te iki aksiyon (0 ve 1) varsa yeni aksiyon 2. sıraya yazılır; hiç aksiyon yoksa --rules.0 kullanılır:
lb service update id <vService> --rules.2 eski-alandan-yeniyeDoğrulama
curl -sI "http://www.eski.com/urun/5?x=1"
301 + Location: https://www.yeni.com/urun/5?x=1Sık Yapılan Hatalar
- 302 kullanmak. Geçici yönlendirme arama motorlarına sıralamanın taşınmasını söylemez; kalıcı geçişte 301 (POST korunacaksa 308) seçilir.
- Her şeyi ana sayfaya yönlendirmek. Path + query of the request eklenmezse sayfaların karşılıkları kaybolur ve arama motorları eski sayfaları "bulunamadı" gibi değerlendirebilir.
- Eski sertifikayı erken kaldırmak. HTTPS ile gelen eski bağlantılar yönlendirmeyi almadan önce TLS el sıkışmasını tamamlar; eski adların sertifikası geçiş süresince vService'te kalır.
- Zincir yönlendirme kurmak.
http://eski.com→https://eski.com→https://www.yeni.comgibi adımlar yerine hedef doğrudanhttps://www.yeni.comyazılır; Location redirection frontend satırındaki HTTP → HTTPS yönlendirmesinden önce değerlendirildiği için istemci tek yanıt alır. - Yeni ad aynı vService'teyken geniş koşul yazmak. Host Includes
.comgibi bir koşulyeni.comadını da yakalar ve döngü oluşur; Exact match kullanılır. - Yönlendirmeyi erken kapatmak. Arama motorları ve eski bağlantılar için yönlendirme uzun süre (genellikle en az bir yıl) açık tutulur; Action Hits ile eski ada gelen trafik izlenir.
Dokümantasyonda nasıl yapılır
