Tüm barındırma hizmetlerinde 15% tasarruf edin

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın: Skills Başlayın
Bölüm
LiteSpeed ​​Barındırma Yönetim

Apache, Nginx ve Diğer Sistemler için URL’den index.html Kaldırma: Kapsamlı Bir Rehber

Temiz, profesyonel URL’ler modern web geliştirmenin temel taşlarıdır. Web siteniz URL’lerinin sonunda index.html gösteriyorsa — örneğin https://example.com/index.html — sadece estetik bir sorunla uğraşmıyorsunuz. Dağınık URL’ler SEO sıralamalarınızı olumsuz etkileyebilir, tıklama oranlarını azaltabilir ve sitenizi hem kullanıcılara hem de arama motoru tarayıcılarına eski görünmesini sağlayabilir. İyi haber? URL’lerinizden index.html kaldırmak basit bir işlemdir ve bu rehber size mevcut tüm yöntemlerde yol gösterecektir.

1. URL’lerden index.html Kaldırmanın Neden Önemli Olduğu

Teknik adımlara geçmeden önce, bunun web sitenizin performansı için neden önemli olduğunu anlamak değerlidir.

SEO Etkisi

Google gibi arama motorları https://example.com/ ve https://example.com/index.html öğelerini iki ayrı URL olarak değerlendirir. Bu, bir yinelenen içerik sorunu oluşturur — ana sayfa içeriğiniz iki farklı adres aracılığıyla erişilebilir olup, bu da PageRank’inizi zayıflatabilir ve tarayıcıları karıştırabilir. index.html olmayan tek bir kanonik URL’yi zorunlu kılarak, bağlantı değerini birleştirirsiniz ve arama motorlarına net bir sinyal gönderirsiniz.

Kullanıcı Deneyimi

URL’ler markanızın bir parçasıdır. https://example.com/about/ gibi temiz bir URL, https://example.com/about/index.html öğesinden çok daha kolay hatırlanır, paylaşılır ve güvenilirdir. Kullanıcılar, temiz ve kasıtlı görünen URL’lere tıklama, paylaşma ve geri dönme olasılığı daha yüksektir.

Profesyonel İtibar

URL’lerde dosya yapınızı açığa çıkarmak, kötü yapılandırılmış sunucuların bir işaretidir. index.html öğesini kaldırmak, web sitenizin profesyonelce yönetildiğini gösterir — hem ziyaretçiler hem de arama motorları için önemli bir güven faktörüdür.

> Pro İpucu: Web sitenizi düzgün yapılandırılmış bir barındırma ortamında çalıştırıyorsanız, bu sorunların çoğu sunucu düzeyinde minimum çabayla çözülebilir. VPS Hosting gibi platformlar, bu kılavuzda açıklanan konfigürasyonları tam olarak uygulamak için tam root erişimi sağlar.

2. Kök Nedenini Anlamak

Web sunucuları, bir kullanıcı bir dizine eriştiğinde otomatik olarak bir varsayılan belge sunacak şekilde yapılandırılır. Çoğu sunucu için bu varsayılan dosya index.html veya index.php dosyasıdır. Bir ziyaretçi https://example.com/ adresine gittiğinde, sunucu dahili olarak https://example.com/index.html dosyasını sunar — ve yapılandırmanıza bağlı olarak, bu dosya adını tarayıcının adres çubuğunda açığa çıkarabilir.

İşte adım adım ne olur:

  1. Kullanıcı https://example.com/ adresini talep eder
  2. Sunucu kök dizinde varsayılan bir dosya arar
  3. Sunucu index.html dosyasını bulur ve sunar
  4. Uygun yeniden yazma kuralları olmadan, URL https://example.com/index.html adresine güncellenebilir

Çözüm, index.html adresine yapılan istekleri kesintiye uğratan ve bunları kalıcı olarak (HTTP 301 aracılığıyla) temiz URL’ye yönlendiren URL yeniden yazma kuralları uygulamaktır. Bu, SEO değerini korur ve tutarlı bir kullanıcı deneyimi sağlar.

3. Yöntem 1: Apache Sunucularında .htaccess Kullanarak index.html Kaldırma

Apache, dünyada en yaygın kullanılan web sunucularından biridir ve .htaccess dosyası güçlü bir dizin düzeyinde yapılandırma mekanizması sağlar. Bu yöntem neredeyse tüm Apache tabanlı paylaşılan hosting, VPS ve özel sunucu ortamlarında çalışır.

Adım 1: .htaccess Dosyanızı Bulun veya Oluşturun

.htaccess dosyası web sitenizin kök dizininde bulunur (tipik olarak public_html/ veya www/). Buna şu yollarla erişebilirsiniz:

  • FTP istemcisi (FileZilla gibi)
  • Hosting kontrol panelinizde Dosya Yöneticisi (örneğin cPanel)
  • SSH terminali ve nano veya vim gibi bir metin editörü

Dosya mevcut değilse, yeni bir dosya oluşturun ve adını tam olarak .htaccess olarak adlandırın (başındaki nokta gereklidir).

> Önemli: .htaccess dosyası Unix tabanlı sistemlerde gizli bir dosyadır. FTP istemcinizin gizli dosyaları görüntülemek için ayarlandığından emin olun.

Adım 2: URL Yeniden Yazma Kurallarını Ekleyin

.htaccess dosyasını bir metin editöründe açın ve aşağıdaki bloğu ekleyin. Dosya zaten içerik içeriyorsa, bu satırları en üste veya mevcut bir RewriteEngine On bloğu içine ekleyin:

RewriteEngine On

# Remove index.html from URLs
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s([^.]+).html [NC]
RewriteRule ^ %1 [R=301,L]

# Optionally remove index.php as well
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}s([^.]+).php [NC]
RewriteRule ^ %1 [R=301,L]

Adım 3: Bu Kodun Ne Yaptığını Anlama

Her yönergeyi inceleyelim:

YönergeAçıklama
RewriteEngine OnApache’nin mod_rewrite modülünü etkinleştirir
RewriteCond %{THE_REQUEST}Ham HTTP istek satırını kontrol eder (işlenmiş URI değil)
^[A-Z]{3,}s([^.]+).html.html ile biten herhangi bir isteği eşleştirir ve yolu yakalar
[NC]Eşleştirmeyi büyük/küçük harfe duyarsız hale getirir
RewriteRule ^ %1 [R=301,L]Yakalanan yola (.html olmadan) kalıcı 301 yönlendirmesi ile yönlendirir

Burada %{THE_REQUEST} yerine %{REQUEST_URI} kullanmak kritiktir — orijinal tarayıcı isteği yerine dahili olarak yeniden yazılan URI’yi kontrol ederek yönlendirme döngülerini önler.

Adım 4: mod_rewrite’ın Etkin Olduğunu Doğrulayın

.htaccess yeniden yazmaları çalışması için Apache’nin mod_rewrite modülü etkin olmalıdır. Çoğu yönetilen hosting ortamında varsayılan olarak etkindir. Kendi kendini yöneten bir VPS veya özel sunucuda, bunu şu komutla etkinleştirebilirsiniz:

sudo a2enmod rewrite
sudo systemctl restart apache2

Ayrıca Apache yapılandırmanızda belge kök dizininiz için AllowOverride All ayarlandığından emin olun.

Adım 5: Kaydedin ve Test Edin

.htaccess dosyasını kaydedin ve web sitenizi hemen test edin. https://example.com/index.html adresine gidin — otomatik olarak https://example.com/ adresine 301 durum koduyla yönlendirilmelisiniz.

4. Yöntem 2: Nginx Server Block Yapılandırması Aracılığıyla index.html Kaldırma

Nginx, URL yeniden yazımını Apache’den farklı şekilde işler. Dizin başına .htaccess dosyaları yerine, tüm yapılandırma merkezi olarak server block dosyalarında yönetilir. Bu yaklaşım daha performanslı olmasına rağmen SSH erişimi ve sunucu düzeyinde izinler gerektirir.

> Not: SSH erişimi olmayan yönetilen bir barındırma planında iseniz, barındırma sağlayıcınızla iletişime geçin veya sunucu ortamınız üzerinde daha fazla kontrol için cPanel ile VPS‘ye yükseltmeyi düşünün.

Adım 1: Nginx Yapılandırma Dosyanıza Erişin

SSH aracılığıyla sunucunuza bağlanın ve web siteniz için Nginx yapılandırma dosyasını açın. Yapılandırma dosyaları genellikle /etc/nginx/sites-available/ konumunda bulunur:

sudo nano /etc/nginx/sites-available/your-domain.conf

Varsayılan yapılandırma dosyasını kullanıyorsanız:

sudo nano /etc/nginx/sites-available/default

Adım 2: Server Block’a Yeniden Yazma Kuralları Ekleyin

server {} bloğunuzu bulun ve aşağıdaki yönergeleri ekleyin:

server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/html;
    index index.html index.php;

    # Remove index.html from URLs with a 301 redirect
    if ($request_uri ~ ^(.*/)index.html$) {
        return 301 $1;
    }

    location / {
        try_files $uri $uri/ =404;
    }
}

Adım 3: Nginx Yapılandırmasını Anlama

Her bölümün yaptığı şey şu şekildedir:

  • if ($request_uri ~ ^(.*/)index.html$) — Bu koşul, normal ifade kullanarak /index.html ile biten herhangi bir URL ile eşleşir
  • return 301 $1 — Yakalanan yola (index.html olmayan dizin) kalıcı bir yönlendirme yayınlar
  • try_files $uri $uri/ =404 — Nginx’e dosya varsa sunmasını, dizini denemeyi veya 404 hatası döndürmesini söyler

Adım 4: Yapılandırmayı Test Edin ve Nginx’i Yeniden Başlatın

Yeniden başlatmadan önce, Nginx yapılandırmanızı söz dizimi hataları açısından her zaman test edin:

sudo nginx -t

Çıktı syntax is ok ve test is successful gösteriyorsa, Nginx’i yeniden başlatın:

sudo systemctl restart nginx

Adım 5: Gelişmiş Nginx Yeniden Yazma (Alternatif Yöntem)

Daha karmaşık senaryolar için, Nginx’in rewrite yönergesini kullanabilirsiniz:

location ~ ^(.*/)index.html$ {
    rewrite ^(.*/)index.html$ $1 permanent;
}

Bu, Nginx’in yerel yeniden yazma motorunu kullanarak aynı sonucu elde eder.

5. Method 3: Hardcoded HTML Linklerini Güncelleme

Sunucu tarafı yönlendirmeler dış istekleri işler, ancak HTML dosyalarınız index.html işaret eden hardcoded linkler içeriyorsa, bu linkler her tıklandığında gereksiz yönlendirmeleri tetikleyecektir. Bu, gecikme ekler ve ek HTTP istekleri oluşturur.

Hardcoded Linklerini Bulma ve Düzeltme

HTML, PHP ve şablon dosyalarınızda index.html referanslarını arayın ve bunları temiz yollar kullanacak şekilde güncelleyin:

Önce:

<a href="index.html">Home</a>
<a href="/about/index.html">About Us</a>
<a href="products/index.html">Products</a>

Sonra:

<a href="/">Home</a>
<a href="/about/">About Us</a>
<a href="/products/">Products</a>

Tüm Örnekleri Bulmak için Komut Satırını Kullanma

Sunucunuza SSH erişiminiz varsa, index.html referansları içeren tüm dosyaları hızlı bir şekilde bulabilirsiniz:

grep -r "index.html" /var/www/html/ --include="*.html" --include="*.php" -l

Bu komut index.html dizesini içeren tüm dosyaları listeler ve güncellenmesi gerekenleri tanımlamayı kolaylaştırır.

Sitemapları ve Canonical Etiketlerini Güncelleme

Şunları kontrol etmeyi unutmayın:

  • XML sitemap (sitemap.xml) — <loc> etiketlerinden index.html referanslarını kaldırın
  • HTML’deki Canonical etiketler <head><link rel="canonical"> temiz URL’ye işaret ettiğinden emin olun
  • robots.txt — Açık URL referanslarını güncelleyin

6. Method 4: cPanel’ın Yönlendirme Yöneticisini Kullanma

cPanel erişimine sahip bir Paylaşımlı Web Hosting planında iseniz, herhangi bir yapılandırma dosyasına dokunmadan grafik arayüz üzerinden yönlendirmeleri yapılandırabilirsiniz.

Adım 1: cPanel’e Giriş Yapın

cPanel panonuza https://yourdomain.com:2083 aracılığıyla veya hosting sağlayıcınızın müşteri alanı üzerinden erişin.

Adım 2: Yönlendirmelere Gidin

cPanel panosunda Domains bölümünü bulun ve Redirects seçeneğine tıklayın.

Adım 3: Yönlendirmeyi Oluşturun

Yönlendirme formunu doldurun:

  • Type: Permanent (301)
  • https?://www. — Açılır menüden etki alanınızı seçin
  • Redirects to: Temiz URL’nizi girin (örn. https://example.com/)

Alternatif olarak, cPanel’in File Manager özelliği, .htaccess dosyasını tarayıcı üzerinden doğrudan düzenlemenize olanak tanır; bu, paylaşımlı hosting kullanıcıları için en esnek yaklaşımdır.

> Yükseltme İpucu: Paylaşımlı hosting başlamak için harika olsa da, sunucu yapılandırmaları üzerinde ayrıntılı kontrol gerekiyorsa, size GUI’nin rahatlığıyla birlikte adanmış bir ortamın gücünü veren VPS Kontrol Panelleri‘ni düşünün.

7. Değişikliklerinizi Kapsamlı Şekilde Test Etme

Yukarıdaki yöntemlerden herhangi birini uyguladıktan sonra, kapsamlı test etme gereklidir. İşte sistematik bir yaklaşım:

Tarayıcı Testi

  1. Tarayıcınızı açın ve https://example.com/index.html adresine gidin
  2. URL’nin adres çubuğunda https://example.com/ olarak değiştiğini doğrulayın
  3. Sayfanın 200 OK durumu ile doğru şekilde yüklendiğini onaylayın (yönlendirmeden sonra)

HTTP Durum Doğrulaması için curl Kullanma

Yönlendirmeleri doğrulamanın en güvenilir yolu komut satırından curl kullanmaktır:

curl -I https://example.com/index.html

Şuna benzer bir çıktı görmelisiniz:

HTTP/1.1 301 Moved Permanently
Location: https://example.com/

Ardından son hedefin 200 döndürdüğünü doğrulayın:

curl -I https://example.com/

Beklenen çıktı:

HTTP/1.1 200 OK

Çevrimiçi Araçları Kullanma

Yönlendirmelerinizi doğrulamaya yardımcı olabilecek birkaç ücretsiz çevrimiçi araç vardır:

  • Google Search Console — Tarama hatalarını kontrol edin ve URL dizinlemesini doğrulayın
  • Redirect Checker (örneğin, httpstatus.io) — Tam yönlendirme zincirini izleyin
  • Screaming Frog SEO Spider — Kalan index.html referanslarını bulmak için tüm sitenizi tarayın

Yönlendirme Döngülerini Kontrol Etme

Yanlış yapılandırılmış .htaccess veya Nginx kuralı sonsuz yönlendirme döngüleri oluşturabilir ve tarayıcıların “Çok fazla yönlendirme” gibi bir hata göstermesine neden olabilir. Tam yönlendirme zincirini izlemek için her zaman curl -L ile test edin:

curl -L -I https://example.com/index.html

Zincir bir 200 OK yanıtında sonlanmazsa, çakışan koşullar için yeniden yazma kurallarınızı gözden geçirin.

8. Kaçınılması Gereken Yaygın Hatalar

Deneyimli geliştiriciler bile URL yeniden yazma yapılandırması sırasında hata yaparlar. İşte en yaygın tuzaklar:

❌ 301 Yerine 302 Yönlendirmelerini Kullanmak

Bir 302 yönlendirmesi geçicidir ve SEO değeri iletmez. Bağlantı öz sermayesinin kanonik URL’ye düzgün şekilde aktarılmasını sağlamak için index.html kaldırırken her zaman 301 (kalıcı) yönlendirmelerini kullanın.

❌ İç Bağlantıları Güncellemeyi Unutmak

Sunucu tarafı yönlendirmeler sorunu çözer, ancak HTML’nizde kodlanmış index.html bağlantılarını bırakmak, her iç navigasyonun gereksiz bir yönlendirmeyi tetiklemesi anlamına gelir. Semptomun değil, kaynağın düzeltilmesi gerekir.

❌ Düzenlemeden Önce .htaccess Yedeklemesi Almamak

.htaccess dosyası kritik sunucu davranışını kontrol eder. Bir söz dizimi hatası tüm web sitenizi çevrimdışı hale getirebilir. Değişiklik yapmadan önce her zaman bir yedek oluşturun:

cp .htaccess .htaccess.backup

❌ Kuralları Yanlış Dizine Uygulamak

.htaccess dosyanızın doğru kök dizinde olduğundan emin olun. Bunu bir alt dizine yerleştirmek, yalnızca o alt dizin içindeki URL’leri etkileyecektir.

❌ HTTPS vs HTTP’yi Göz Ardı Etmek

Siteniz SSL kullanıyorsa (kullanmalıdır — kullanmıyorsa, hemen bir SSL Sertifikası almayı düşünün), yönlendirme kurallarınızın karma içerik sorunlarını ve ek yönlendirme atlamalarını önlemek için hem HTTP hem de HTTPS varyantlarını hesaba katmasını sağlayın.

9. Sonuç

URL’lerinizden index.html kaldırmak, SEO’yu iyileştiren, kullanıcı deneyimini geliştiren ve ziyaretçilerinize daha profesyonel bir görüntü sunan küçük ama etkili bir optimizasyondur. İşte kapsadığımız konuların hızlı bir özeti:

YöntemEn İyi KullanımGerekli Olanlar
.htaccess yeniden yazma kurallarıApache sunucularıDosya erişimi (FTP/SSH/cPanel)
Nginx sunucu bloğu yapılandırmasıNginx sunucularıSSH + sudo erişimi
HTML bağlantılarını güncellemeTüm sunucu türleriKod/şablon erişimi
cPanel Yönlendirme YöneticisiPaylaşımlı hosting kullanıcılarıcPanel erişimi

Doğru yaklaşım, sunucu türünüze ve hosting ortamınıza bağlıdır. Paylaşımlı hosting üzerindeki çoğu kullanıcı için .htaccess yöntemi en basit ve en etkili olanıdır. VPS veya özel sunucuları olanlar için doğrudan sunucu yapılandırması daha fazla kontrol ve daha iyi performans sağlar.

Kurulumunuz ne olursa olsun, temel ilkeler aynı kalır: 301 kalıcı yönlendirmeler kullanın, dahili bağlantıları güncelleyin, curl veya tarayıcı araçlarıyla doğrulayın ve değişikliklerin doğru şekilde dizine alındığını doğrulamak için sitenizi Google Search Console‘de izleyin.

Bu ve diğer gelişmiş yapılandırmaları uygulamak için size esneklik sağlayan bir hosting ortamı arıyorsanız, maksimum kontrol için Özel Sunucuları keşfedin veya gücü kullanım kolaylığıyla dengeleyen yönetilen bir VPS çözümüyle başlayın. Temiz URL’ler, iyi optimize edilmiş bir web sitesinin sadece bir parçasıdır — ve doğru hosting temeli tüm farkı yaratır.