Vaka Çalışması 2 dk okuma

Astro sitemap-index.xml 404 Sorunu ve Çözümü

Astro projelerinde sitemap-index.xml dosyasının production ortamında 404 hatası vermesi sık rastlanan ama çözümü net bir problemdir. Bu yazıda bu hatanın gerçek nedenini detaylarıyla inceliyoruz.

Astro sitemap-index.xml 404 Sorunu ve Çözümü

💡 TL;DR: Localhost’ta çalışan sitemap dosyanız Vercel/Netlify üzerinde 404 veriyorsa; sorun muhtemelen Astro’daki ‘trailingSlash’ kararsızlığından veya Vercel’in Clean URLs özelliğinden kaynaklanıyordur.

Astro projelerinde sitemap-index.xml dosyasının production ortamında 404 hatası vermesi ilk günden beri forumlarda çok sık rastlanan ama çözümü etrafta pek net anlatılmayan bir krizdir. Geçenlerde kendi projemi yayına alırken tam da bu duvara tosladım. Bu yazıda, bu hatanın gerçekte neden kaynaklandığını ve tekrar etmemesi için uyguladığım kesin çözümü anlatıyorum.

Hatanın Kaynağı: Static vs Hybrid Mode

Astro varsayılan olarak statik bir yapıdadır. Ancak sitemap üretimi bazen build sürecinin en sonunda gerçekleşir ve sunucu yapılandırmasıyla çakışabilir.

Adım 1: Yapılandırma Kontrolü

İlk olarak astro.config.mjs dosyanızda sitemap entegrasyonunun doğru tanımlandığından emin olun:

import sitemap from "@astrojs/sitemap";

export default defineConfig({
  site: "https://goldsword.dev", // Sondaki slash olmamalı
  integrations: [sitemap()],
});

Adım 2: Robots.txt Doğrulaması

Botlar sitemap’i bulamazsa, tarama bütçeniz boşa gider. public/robots.txt dosyanız şu şekilde görünmeli:

User-agent: *
Allow: /

Sitemap: https://goldsword.dev/sitemap-index.xml

Neden 404 Alıyorsunuz?

En yaygın neden, Trailing Slash (sondaki eğik çizgi) ayarlarıdır. Astro’da trailingSlash: 'always' veya 'never' ayarı, sitemap dosyasının fiziksel konumunu etkileyebilir.

Kritik Bilgi: Eğer sitenizi Vercel’de barındırıyorsanız, Vercel’in kendi “Clean URLs” özelliği sitemap dosyasını yanlış yönlendiriyor olabilir.

Kalıcı Çözüm Reçetesi

  1. Build Komutunu Güncelleyin: npm run build sonrası sitemap’in gerçekten dist/ klasörüne çıktığından emin olun.
  2. Absolute URL Kullanın: Şemalarınızda ve linklerinizde her zaman mutlak (absolute) URL tercih edin.
  3. Manual Check: Tarayıcıdan doğrudan /sitemap-index.xml adresine gittiğinizde XML çıktısını görmelisiniz.

Sonuç

Sitemap hataları SEO performansınızı doğrudan etkiler. Eğer tüm adımlara rağmen sorun devam ediyorsa, Astro’nun versiyon güncellemelerini ve entegrasyon ayarlarını tekrar gözden geçirin.

Teknik sorunlarla uğraşmak yerine işinize odaklanmak isterseniz, profesyonel destek alabilirsiniz. 👋

İlgili Yazılar