Skip to content

feat: URL redirect mapping — old sitemap to new structure #9

@nazliintellica

Description

@nazliintellica

Amaç

Eski sitedeki URL'lerin yeni yapıya yönlendirilmesi. Kaldırılan, değiştirilen veya yeniden isimlendirilen sayfaların Google index'ini korumak ve kullanıcıları kırmamak için 301 redirect uygulanacak.

Arka Plan

Site yeniden yapılandırıldığında birçok URL değişti. Eski URL'lere gelen ziyaretçiler ve arama motoru botları 404 alıyor — bu hem SEO kaybı hem de kötü kullanıcı deneyimi demek.

Teknik Yaklaşım

GitHub Pages sunucu tarafı redirect desteklemediğinden Astro'nun yerleşik redirect sistemi kullanılacak (astro.config.mjs):

// astro.config.mjs
redirects: {
  '/eski-url': '/yeni-url',
  '/kaldirilan-sayfa': '/',
  // ...
}

Alternatif olarak her eski URL için <meta http-equiv="refresh"> içeren statik HTML sayfası üretilebilir.

Yapılacaklar

  • Eski sitemap URL listesi çıkarılacak
  • Yeni site URL yapısıyla karşılaştırılacak
  • Eşleştirme tablosu oluşturulacak (eski → yeni)
  • Kaldırılan sayfalar için uygun hedef belirlenmeli (ana sayfa veya ilgili bölüm)
  • astro.config.mjs'e redirect kuralları eklenecek
  • Google Search Console'da eski URL'ler "URL Inspection" ile kontrol edilecek
  • Redirect'ler test edilecek

Redirect Tablosu

Eski sitemap temin edildiğinde buraya eklenecek.

Eski URL Yeni URL Durum
Bekleniyor

Kabul Kriterleri

  • Tüm eski URL'ler 301 ile doğru hedefe yönlendiriliyor
  • Yönlendirme sonrası 404 sıfırlandı
  • Google Search Console'da redirect zincirleri yok
  • Ana sayfaya giden "catch-all" redirect değil, sayfa bazlı mapping yapıldı

Öncelik

patch — SEO ve kullanıcı deneyimi için kritik.

Notlar

  • Eski sitemap XML dosyası veya URL listesi temin edilmeli — bu olmadan mapping yapılamaz
  • Google Search Console'daki "404 sayfaları" raporu da kaynak olarak kullanılabilir
  • i18n (feat: multi-language support (i18n) #7) hayata geçince redirect'ler dil prefix'lerini de kapsayacak şekilde güncellenmeli

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions