Arama motorları için, sitenin sayfa kopyalarına sahip olmaması önemlidir; çünkü bu durum, içerik sıralaması ve arama botlarının sayfaları algılamasında olumsuz etki yaratır. Siteyi barındırırken, aynı sayfanın farklı URL'lerle erişilebilir olup olmadığını kontrol etmek gerekir. Bu gibi durumlarda, 301 yönlendirme (kalıcı olarak taşındı) ile düzeltme yapılmalıdır. En yaygın örneklere bakalım.
1. www ön eki ile giriş yapılması durumunda yönlendirme ayarı, örneğin https://www.domain.tld adresine yapılan istekleri, www olmadan https://domain.tld adresine yönlendirme
if ($host ~* ^www.domain.tld$) {
rewrite ^(.*)$ https://<mark>domain.tld$1 permanent;
}
2. URL adresinin sonunda / olmadan yönlendirme ayarı, örneğin https://domain.tld/ adresine yapılan istekleri, / olmadan https://domain.tld adresine yönlendirme ve tüm diğer sayfalar için, örneğin https://domain.tld/my-page/ adresini https://domain.tld/my-page adresine yönlendirme
location ~ ^(.+)/$ {
return 301 $1$is_args$args;
}
3. Aynı sayfanın hem https://domain.tld/ hem de https://domain.tld/index.php adreslerinden erişilebilmesi gibi durumlar sıklıkla görülür. Aynı şekilde diğer sayfalar için de, örneğin https://domain.tld/my-page ve https://domain.tld/index.php/my-page adreslerinde erişim mümkündür. Tüm URL'lerden index.php'yi kaldırma
if ($request_uri ~* "^(.*/)index\.php(/?)(.*)") {
return 301 $1$3;
}
Bu ayarları, server {} bloğunda uygulamanız gereklidir. Değişiklikleri yaptıktan sonra nginx hizmetini şu komutla yeniden başlatın:
service nginx restart