Yönlendirme, bir URL’yi farklı bir URL’ye yönlendirme işlemidir.
Yönlendirme, hem kullanıcıları hem de arama motorlarını başlangıçta istediklerinden farklı bir URL’ye göndermenin bir yoludur. En sık kullanılan üç yönlendirme 301, 302 ve Meta Yenileme’dir.
301 yönlendirmesi, yeniden yönlendirilen sayfaya tam bağlantı eşitliğini (sıralama gücü) ileten kalıcı bir yönlendirmedir. 301, bu tür yeniden yönlendirme için HTTP durum kodunu ifade eder . Çoğu durumda, 301 yönlendirmesi, bir web sitesinde yönlendirmeleri uygulamak için en iyi yöntemdir.
Bir kaynağın URL’si geçici olarak değiştirildiğinde 302 yönlendirmelerini kullanın . Google’ın bazı çalışanları, 301’lerin ve 302’lerin benzer şekilde ele alınabileceği durumlar olduğunu belirttiler, ancak kanıtlarımız, arama motorlarının ve her türden tarayıcının tam kredi vermesini sağlamanın en güvenli yolunun, URL’leri kalıcı olarak yeniden yönlendirirken bir 301 kullanmak olduğunu gösteriyor. Bunun nedeni, teoride hem 302’lerin hem de 301’lerin her ikisinin de aynı miktarda bağlantı özniteliği iletebilmesine rağmen, bir 301’in Google’a daha güçlü bir standartlaştırma sinyali iletebileceği durumlar olmasıdır . Yönlendirmenin gerçekten geçici olduğu durumlar için 302 en uygun olabilir.
307 yönlendirmesi, 302 yönlendirmesinin HTTP 1.1 halefidir. Büyük tarayıcılar bazı durumlarda 302 gibi davranacak olsa da, hemen hemen tüm durumlar için 301 kullanmak en iyisidir. Bunun istisnası, içeriğin gerçekten yalnızca geçici olarak taşınması (örneğin bakım sırasında) VE sunucunun arama motorları tarafından 1.1 uyumlu olarak tanımlanmış olmasıdır. Arama motorlarının bir sayfayı uyumlu olarak belirleyip belirlemediğini belirlemek esasen imkansız olduğundan, geçici olarak taşınan içerik için genellikle 302 yönlendirmesi kullanmak en iyisidir.
Meta yenilemeleri, sunucu düzeyinden ziyade sayfa düzeyinde yürütülen bir yönlendirme türüdür. Genellikle daha yavaştırlar ve önerilen bir SEO tekniği değildirler . En yaygın olarak “Beş saniye içinde yeniden yönlendirilmezseniz, burayı tıklayın” metniyle birlikte beş saniyelik bir geri sayımla ilişkilendirilirler. Meta yenilemeleri bazı bağlantı eşitliğini geçer, ancak zayıf kullanılabilirlik ve geçirilen bağlantı eşitliği kaybı nedeniyle bir SEO taktiği olarak önerilmez.
Bir meta yenileme şöyle görünebilir:
<meta http-equiv="refresh" content="0; url=https://example.com/">
Bir URL’yi diğerine yönlendirmek yaygın bir uygulamadır. Bunu yaparken, SEO değerini korumak için en iyi uygulamaları gözlemlemek çok önemlidir.
Bunun ilk yaygın örneği basit bir senaryo ile gerçekleşir: kalıcı olarak başka bir adrese yönlendirmesi gereken bir URL.
Bunu yapmak için birden fazla seçenek vardır, ancak genel olarak 301 yönlendirmesi hem kullanıcılar hem de arama motorları için tercih edilir. 301’in sunulması, hem tarayıcılara hem de arama motoru botlarına sayfanın kalıcı olarak taşındığını gösterir. Arama motorları bunu, yalnızca sayfanın konumunun değiştirildiği değil, içeriğin veya güncellenmiş bir sürümünün yeni URL’de bulunabileceği anlamına gelir. Motorlar, orijinal sayfadan yeni URL’ye aşağıdaki gibi herhangi bir bağlantı ağırlığını taşıyacaktır:
Bir sayfayı bir URL’den diğerine taşırken, arama motorlarının 301’i keşfetmesi, tanıması ve yeni sayfaya önceki sayfanın sıralamasını ve güvenini vermesi biraz zaman alacaktır . Arama motoru örümcekleri verilen web sayfasını nadiren ziyaret ederse veya yeni URL düzgün bir şekilde çözülmezse, bu süreç daha uzun olabilir.
Yeniden yönlendirme için meta yenilemeler gibi diğer seçenekler, sıralamaları ve arama motoru değerini 301 yönlendirmesinin yapacağı kadar güvenilir bir şekilde geçemeyebilecekleri için zayıf ikameler olabilir.
Bir sitenin tamamı etki alanını değiştirdiğinde veya içerik bir etki alanından diğerine geçtiğinde içeriğin aktarılması daha karmaşık hale gelir. Spam gönderenlerin kötüye kullanımı ve arama motorlarının şüphesi nedeniyle, alanlar arasındaki 301’lerin düzgün bir şekilde taranması ve sayılması için bazen daha fazla zaman gerekir. Hareketli siteler hakkında daha fazla bilgi için bkz. SEO Dostu Alan Geçişi Elde Etme: Bilgi Grafiği .
Günümüzde çoğu modern CMS platformu, 301 ve 302 yönlendirmelerini kolayca işlemek için çözümler ve/veya eklentiler sunmaktadır. Örneğin, RankMath , temel bir özellik olarak yeniden yönlendirme sunan ücretsiz bir WordPress eklentisidir. Birçok barındırma ve CDN platformu, yönetici panellerinden kolay yeniden yönlendirme yönetimi de sunar.
Yönlendirmeleri uygulamanın yaygın bir yolu , Apache sunucularında çalışan bir .htaccess dosyasıdır . Aşağıda, yeniden yönlendirme için bazı yaygın .htaccess yönergelerini listeledik.
Yönlendirme 301 / http://www.example.com/
Örnek etki alanını yeni yönlendirme hedefinizle değiştirin. Bu 301, sitenizdeki her sayfayı hedef etki alanındaki ilgili URL’ye yönlendirecektir.
Yönlendirme 301 /oldpage/ http://www.example.com/newpage/
Bu yönlendirmeyi farklı etki alanlarında veya kendi sitenizde kullanabilirsiniz.
Daha esnek yeniden yönlendirme için Apache mod_rewrite’ı .htaccess dosyanızda da kullanabilirsiniz. Örneğin, www olmayan bir alt etki alanından www alt etki alanına yönlendirmek için kullanacağınız kod burada.
RewriteEngine On RewriteCond %{HTTP_HOST} ^DOMAIN.com [NC] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.DOMAIN.com/$1 [R=301,L]
Daha fazla .htaccess senaryosu için, Linchpin SEO ekibi iyi bir kaynak oluşturdu .
PHP kullanarak 301 yönlendirmesi uygulamaya bir örnek:
<?php header("Location: https://www.example.com/", true, 301); exit(); ?>
JavaScript kullanarak teknik olarak yönlendirmeler uygulayabilirsiniz, ancak SEO amaçları için önerilen bir yöntem değildir. Testler, Google’ın JavaScript yönlendirmelerini 301’ler olarak yorumlayabileceğini gösterse de, bu kesin değildir. JavaScript sunucu tarafında değil, istemci tarafında yürütüldüğünden, Google’ın yeniden yönlendirmeyi doğru şekilde dizine ekleme garantisi yoktur. Ve son olarak, yeniden yönlendirme için JavaScript kullanırken bir HTTP durum kodu bildirmenin bir yolu yoktur.
Tavsiye edilmemekle birlikte, aşağıda JavaScript’te bir yönlendirmeyi nasıl uygulayabileceğinize dair bir örnek verilmiştir:
<script type="text/javascript"> function redirect1(){ window.location = "http://www.example.com/new-url/" } setTimeout('redirect1()', 5000); </script>